(Finsert_file_contents): Properly adjust undo list
[bpt/emacs.git] / src / ChangeLog
CommitLineData
6420e80c
AS
12008-07-24 Andreas Schwab <schwab@suse.de>
2
3 * fileio.c (Finsert_file_contents): Properly adjust undo list
4 after format conversion.
5
d1c38b57
JD
62008-07-24 Jan Djärv <jan.h.d@swipnet.se>
7
8 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
9 (menu_nav_ended): Remove.
10 (create_menus): Remove signal connect for menu_nav_ended.
11 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
12 create_menus.
13 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
14
597634cb
JR
152008-07-23 Jason Rumney <jasonr@gnu.org>
16
17 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
18 with opened font.
4b135503
JR
19 (w32font_open): Set font type to gdi.
20
21 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
597634cb 22
7c799cf5
DN
232008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
24
7a14f2a0
DN
25 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
26 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
27 defines it.
28 * unexec.c (ADDR_CORRECT): Define unconditionally.
29
30 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
31
f914a6bf
DN
32 * unexec.c: Remove code depending on !COFF and USG, the file is
33 not used for such systems.
34
268b24ee
DN
35 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
36 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
37 (LD_SWITCH_SYSTEM_1): Remove, update users.
38
911109b1
DN
39 * s/darwin.h (DATA_END):
40 * m/intel386.h (DATA_END):
41 * m/ibmrs6000.h (DATA_END):
42 * m/alpha.h (DATA_END): Remove, unused.
911109b1 43
77ccee09
DN
44 * config.in: Regenerate.
45 * s/ms-w32.h (subprocesses): Define unconditionally.
46 * s/template.h (subprocesses): Update comment.
47 * s/vms.h (subprocesses):
48 * s/usg5-4.h (subprocesses):
49 * s/hpux10-20.h (subprocesses):
50 * s/gnu-linux.h (subprocesses):
51 * s/cygwin.h (subprocesses):
52 * s/bsd-common.h (subprocesses):
53 * s/aix4-2.h (subprocesses):
54 * s/darwin.h (subprocesses): Do not define, defined by default now.
55
56 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
57 Remove all references.
58 (temacs): Add GNUStep specific ld flags.
59
7c799cf5
DN
60 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
61 similarly to what X does.
62
712b2de1
AR
632008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
64
65 * nsfns.m (x-list-fonts): Remove.
66 (syms_of_nsfns): Drop the x-list-fonts declaration.
67 * nsterm.m: Get rid of remaining "//" comments.
68
0d4e1b5f
CY
692008-07-22 Chong Yidong <cyd@stupidchicken.com>
70
71 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
72
73 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
74 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
75 (Fns_own_selection_internal, Fx_disown_selection_internal)
76 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
77
78 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
79 ... */' style of docstrings. Doc fixes.
80
952913d4
DN
812008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
82
0ecc3474 83 * terminfo.c (UP, BC, PC): Undo previous change.
0d4e1b5f 84
952913d4
DN
85 * nsfns.m: Rename ns prefixed functions/variables to the
86 corresponding x versions. Update references.
87
02d8b017
SM
882008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
89
90 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
91
11b8fe14
DN
922008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
93
02d8b017
SM
94 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
95 Remove forwarding functions.
cc98b6a0
DN
96 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
97 non-static.
98 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
99 non-static.
100 (ns_frame_parm_handlers): Use the new names.
101 (syms_of_nsfns): Move to the end of file.
102
1baa6236
DN
103 * nsterm.m (syms_of_nsterm): Move to the end of file.
104
11b8fe14
DN
105 * dispnew.c (init_display): Remove code for X10.
106
8dcaeba2
JR
1072008-07-22 Jason Rumney <jasonr@gnu.org>
108
02d8b017
SM
109 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
110 bare drive.
8dcaeba2 111
df2142db
AR
1122008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
113
114 * nsgui.h:
115 * nsfont.m:
116 * nsmenu.m:
117 * nsterm.m: Change PENDINGS to FIXME / TODO / XXX.
118
365bac35
AR
1192008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
120
121 * nsterm.m (syms_of_nsterm): Remove debugging println.
122
6a0f0f86
DR
1232008-07-22 David Reitter <david.reitter@gmail.com>
124
a3c83618 125 * nsfns.m (do_applescript, F_do_applescript): NS version of the
6a0f0f86
DR
126 Carbon implementation of the same functionality: execute arbitrary
127 AppleScript code.
128
51d5ef9f
AR
1292008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
130
a3c83618 131 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
51d5ef9f
AR
132 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
133 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
134 (Fx_display_mm_height, Fx_display_mm_width)
135 (Fx_display_backing_store, Fx_display_visual_class)
136 (Fx_display_save_under, Fx_open_connection)
137 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
138 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
139 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
140 (Fx_display_pixel_width, Fx_display_pixel_height)
141 (Fx_display_usable_bounds, Fx_display_planes)
142 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
143 ... */' style of docstrings.
144
6efac844
DN
1452008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
146
b8ff87cc
DN
147 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
148 on this platform.
149 (mips):
150 * m/iris4d.h (mips): Do not define.
151 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
152
92d1a7a3
DN
153 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
154
de08d1be
CY
155 * image.c:
156 * nsfns.m:
157 * nsselect.m:
158 * nsterm.h:
9e50ff0c
DN
159 * nsterm.m: Rename ns prefixed functions/variables to the
160 corresponding x versions. Update references.
161
ff486501
DN
162 * m/ibms390x.h (NO_REMAP): Do not undefine.
163
6efac844
DN
164 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
165
ea9de876
CY
1662008-07-21 Chong Yidong <cyd@stupidchicken.com>
167
168 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
169 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
170 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
171 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
172 (Fns_display_mm_height, Fns_display_mm_width)
173 (Fns_display_backing_store, Fns_display_visual_class)
174 (Fns_display_save_under, Fns_open_connection)
175 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
176 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
177 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
178 (Fns_display_pixel_width, Fns_display_pixel_height)
179 (Fns_display_usable_bounds, Fx_display_planes)
180 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
181
b42f4115 1822008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3965adab
CY
183
184 * print.c (print_object): Check print_depth before searching for
185 circularities.
186
c0894fb9
MA
1872008-07-21 Michael Albinus <michael.albinus@gmx.de>
188
189 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
190 only sprintf.
191
d90bfd1c
KH
1922008-07-21 Kenichi Handa <handa@m17n.org>
193
194 * ftfont.c (adjust_anchor): Check if DetalValue is not NULL.
195
8e2911c2
AS
1962008-07-20 Andreas Schwab <schwab@suse.de>
197
198 * syntax.c (find_start_pos, find_start_value)
199 (find_start_value_byte, find_start_begv, find_defun_start)
200 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer
201 positions.
202
98a01702
DN
2032008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
204
205 * s/sol2-3.h: Insert contents of s/sol2.h.
206 (LD_SWITCH_SYSTEM): Remove redundant definition.
207 * s/sol2.h: Remove, unused.
208
704a3a2d
AR
2092008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
210
211 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for
212 HSV,AHSV.
213
2142008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
e5e2baab
AR
215
216 * Makefile.in (ns_appdir): Fix typo in find command.
217
89f1e540
DN
2182008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
219
c788afce
DN
220 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
221
89f1e540
DN
222 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
223 added not supported anymore.
224
e5e2baab 225 * s/usg5-4-2.h (LIBS_SYSTEM):
89f1e540
DN
226 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
227
228 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
229 * s/lynxos.h (GETPGRP_NO_ARG):
230 * s/hpux10-20.h (NO_SIOCTL_H):
231 * s/gnu.h (GETPGRP_NO_ARG):
232 * s/gnu-linux.h (NO_SIOCTL_H):
233 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
234 * s/cygwin.h (GETPGRP_NO_ARG):
235 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
236 (C_DEBUG_SWITCH): Remove duplicate definition.
237
238 * m/ibms390.h: Remove boilerplate comments.
239
240 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
241
242 * process.c (HAVE_SERIAL): Consolidate ifdefs.
243 (wait_reading_process_output): Remove code for SunOS, platform not
244 supported anymore. Use SOLARIS2 instead of sun.
245
ed96cde8
AR
2462008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
247
248 * font.c (font_open_by_name): Under NS, default lface height to zero.
249 (font_open_for_lface): Under NS, set size based on frame fontsize.
250 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
251 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
252
2532008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
254
255 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
256 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
257 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
258 YES/NO.
259 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
260 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
261 * Makefile.in (clean): Clear out build destination dir.
262
5a2d7ab6
AR
2632008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
264
265 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
266 xterm, xselect.
267 * lisp.h: Remove declaration of hash_remove.
268 * nsgui.h: Remove redefinitions of hash_remove.
269 * fns.c (hash_remove): Rename to hash_remove_from_table.
270
c0230162
AR
2712008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
272
273 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
274 strdup() the family UTF8String before modifying it. Patch due to
275 Seiji Zenitani.
276
45d325c4
AR
2772008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
278
279 * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to
280 fix crash.
281 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
282 NS_FACE_BACKGROUND with 0 instead of nil.
283 * nsfont.m (nsfont_draw): Same.
284
b83f1cd0
CY
2852008-07-18 Chong Yidong <cyd@stupidchicken.com>
286
287 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
288
add4eecc
DN
2892008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
290
291 * puresize.h (BASE_PURESIZE): Increase to 1240000.
292
69955d31
YM
2932008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
294
295 * gtkutil.c: Include <config.h> instead of "config.h".
296
297 * lisp.h (Foverlay_buffer): Add EXFUN.
298
299 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
300 child process to complete child_setup. Undo 2005-09-21 change.
301
302 * s/darwin.h: Mention setsid after vfork.
303
08b3caa9 3042008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2d64e9bb
YM
305
306 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
307 Depend on macgui.h.
308
309 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
310 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
311
312 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
313 and f19.
314 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
315
316 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
317 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
318 Remove enumerators.
319
320 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
321 Check if FACE_FROM_ID returns NULL.
322
8d59c5ed
JR
3232008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
324
ba60bd44
JB
325 * w32inevt.c (change_frame_size): Remove extern declaration.
326 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
327 change_frame_size.
8d59c5ed 328
ba60bd44 3292008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
db94bf9c
AR
330
331 * getloadavg.c: Revert last change (2008-07-15).
332
ba60bd44 3332008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
06b62770
AR
334
335 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
336 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
337 from configure.
338
2749d28e
DN
3392008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
340
35ad0545
DN
341 * s/sol2.h:
342 * s/sol2-4.h: Reorganize conditionals.
343
2749d28e
DN
344 * ecrt0.c: Remove code depending on m68000, not used anymore.
345
346 * fns.c (hash_remove): Make static.
347 * lisp.h (hash_remove): Don't prototype.
348
349 * m/ibmrs6000.h:
350 * m/ibms390x.h:
351 * m/macppc.h: Remove boilerplate comments.
352
353 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
354 Solaris, which does not need them.
355
356 * m/vax.h: Remove comments about unsupported systems.
357
358 * s/darwin.h: Reorganize ifdefs.
359
ba60bd44
JB
3602008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
361
362 * config.in:
363 * dispextern.h:
364 * frame.c:
365 * image.c:
366 * nsfns.m:
367 * nsfont.m:
368 * nsgui.h:
369 * nsmenu.m:
370 * nsterm.h:
371 * nsterm.m:
372 * s/darwin.h:
373 * xdisp.c: Change most cases of PENDING to TODO, some to FIXME or XXX.
6fb5f7da 374
32cc3925
AS
3752008-07-17 Andreas Schwab <schwab@suse.de>
376
377 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
378
facfbbbd
SM
3792008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
380
381 Use SDATA. Follow coding convention of placing operators at
382 beginning of next line rather than end of previous line, and placing
383 spaces around infix operators.
384
385 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
386 in case it was defined already.
387 USE @GNUSTEP_MAKEFILES@ rather than envvars.
388 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
389 ns_default.
390 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
391 Lisp_Objects.
392 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
393 (ns_defined_color, ns_color_to_lisp): Declare.
394 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
395 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
396 it's accepted even with USE_LISP_UNION_TYPE.
397 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
398 (update_frame_tool_bar): Remove apparently obsolete tests for
399 non-integerness of f->tool_bar_lines.
400 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
401 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
402 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
403 (nsfont_open): Don't confuse NULL for Qnil.
404 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
405 * menu.h (find_and_call_menu_selection):
406 * menu.c (find_and_call_menu_selection): Use just int for vector size.
407 (find_and_return_menu_selection): Always return something.
408 * frame.h: Include dispextern.h for Display_Info.
409 (display_x_get_resource): Declare.
410
ba60bd44 4112008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
122e9f8f
AR
412
413 * syntax.c: Remove stdio.h include accidentally introduced in
414 Emacs.app commit.
415 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
416 NS_IMPL_COCOA.
417 * keyboard.c (handle_async_input, input_available_signal): Remove
418 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
419
0bcfd7d7
SM
4202008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
421
6882361b
SM
422 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
423 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
424 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
425 Use SDATA.
426
0bcfd7d7
SM
427 * keymap.c: Remove all NS-specific code.
428 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
429 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
430 where_is_preferred_modifier, return a different value depending on how
431 preferred is the binding.
432 (where_is_internal): Adjust accordingly.
433 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
434 Adjust to new preferred_sequence_p.
435 (syms_of_keymap): Declare `where-is-preferred-modifier'.
436 * keyboard.c (parse_solitary_modifier): Not static any more.
437 * keyboard.h (parse_solitary_modifier): Declare.
438
720f3147
AS
4392008-07-16 Andreas Schwab <schwab@suse.de>
440
441 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
442 of easymenu.
443
01e19fea
CY
4442008-07-16 Chong Yidong <cyd@stupidchicken.com>
445
446 * xdisp.c (move_it_in_display_line): Account for word wrap, so
447 that we don't move off the line.
448
4c89a3e0
SM
4492008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
450
451 * keyboard.c (Qsuper): Remove.
452 (parse_menu_item): Don't call where_is_internal specially for NS.
453
586b975c
DN
4542008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
455
3ec8ef33
DN
456 * s/gnu-linux.h: Remove boilerplate comments.
457
d4d080b6
DN
458 * m/alpha.h (__ELF__): Consolidate conditions.
459
7ab56cc4
DN
460 * m/m68k.h (linux): Use GNU_LINUX instead.
461 Remove boilerplate comments.
462
586b975c 463 * m/intel386.h: Undo reactoring from previous change.
7ab56cc4
DN
464 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
465 too, remove dead code.
466 (linux): Use GNU_LINUX instead.
586b975c 467
5cc9d48a
JR
4682008-07-16 Jason Rumney <jasonr@gnu.org>
469
4c89a3e0 470 * w32gui.h: Repeat 26 June changes lost by last change.
5cc9d48a 471
6b0273cd
DN
4722008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
473
132d0475
DN
474 * systty.h: Remove code for Aix on 386, unsupported platform.
475
476 * s/ms-w32.h: Remove boilerplate comments.
477 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
478
479 * s/gnu-linux.h (TERM): Remove support.
480 (HAVE_SYSVIPC): Remove, unused.
481 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
482 for this system.
483
484 * process.c: Remove support for IRIS, unused.
485 Remove support for TERM, not relevant anymore.
486
487 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
488 used with the definition.
489
490 * s/aix4-2.h (static): Do not undef.
491
492 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
493 only used on Aix.
494 (HAVE_SYSVIPC): Remove, unused.
495
496 * m/hp800.h (CANNOT_DUMP): Do not undef.
497
498 * m/alpha.h: Fix comment.
499
8111c2d8
DN
500 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
501 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
502 used by this configuration.
503 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
504 * unexec.c: Remove code depending on HPUX and
505 USG_SHARED_LIBRARIES, not used with this file. Remove code
506 depending on IRIS, unused. Remove if 0-ed code.
507
e9a57a88
DN
508 * s/template.h: Remove comments about static.
509
4c89a3e0
SM
510 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
511 Remove if 0-ed code.
c7607b94
DN
512 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
513 were the same as the default.
514 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
515 Remove boilerplate comments.
516 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
517 (HAVE_SYSVIPC): Remove, unused.
518 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
519
ff841b30
DN
520 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
521 Remove boilerplate comments.
522 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
523 Remove boilerplate comments.
524 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
525 Remove boilerplate comments.
526 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
527
586b975c
DN
528 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
529 USG systems which do not use DATA_SEG_BITS.
530 Refactor code. Remove boilerplate comments.
531
dc89925b 532 * m/ibms390.h:
dc89925b
DN
533 * m/m68k.h:
534 * s/bsd-common.h:
535 * s/cygwin.h:
536 * s/darwin.h:
537 * s/freebsd.h:
538 * s/gnu.h:
539 * s/msdos.h: Remove boilerplate comments.
540
96b72211
DN
541 * m/iris4d.h: Remove boilerplate comments and code for systems that
542 do not use this file.
543 (IRIS_4D): Remove, unused.
544
c3b5f109
DN
545 * m/mips.h: Remove boilerplate comments and code for systems that
546 do not use this file.
96b72211 547 (SIGN_EXTEND_CHAR):
c3b5f109
DN
548 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
549 * unexmips.c: Remove file, unused.
550
6b0273cd
DN
551 * editfns.c (Fuser_full_name): Replace the only use of
552 USER_FULL_NAME with its value.
553 * config.in: Regenerate.
554
ba60bd44 5552008-07-16 David Reitter <david.reitter@gmail.com>
6fbcfb6f 556
ba60bd44
JB
557 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
558 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6fbcfb6f 559
44ac2d3e
GM
5602008-07-16 Glenn Morris <rgm@gnu.org>
561
562 * emacs.c (system-type): Doc fix.
563
0a170079
SM
5642008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
565
566 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
567 If the cache doesn't work, let's fix it, rather than work around it.
568
ba60bd44 5692008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
a68fda4a
AR
570
571 * Makefile.in: Correct additions for nsfont.o in last commit.
572 * nsfont.m: New file (forgot last commit).
573
ba60bd44 5742008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
edfda783
AR
575
576 Changes and additions for NeXTstep windowing system (Cocoa and
577 GNUstep) support.
578
ba60bd44 579 * Makefile.in:
edfda783
AR
580 * config.in: Support defines and build commands for NS port.
581 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
582 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
583 * callproc.c (set_initial_environment): Initialize
584 Vprocess_environment under CANNOT_DUMP (fixes crash when
585 batch-compiling for bootstrap, due to Chris Hall).
586 * dispextern.h: Include nsgui.h and add needed typedefs under NS
587 windowing.
588 (struct face): Add synth_ital field.
589 * dispnew.c: Include nsterm.h when compiling under NS windowing.
590 (init_display): Initialize Vinitial_window_system to "ns" when so
591 compiled.
592 * emacs.c: Include GSConfig.h when compiling under GNUstep.
593 (display_arg): Use under NS.
594 (main): Under NS, allocate autorelease pool and handle command line
595 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
596 (standard_args): Add NS-specific args.
597 (shut_down_emacs): Shut down NS terminal if compiled under NS.
598 * font.c (DEFAULT_ENCODING): New variable.
599 (font_find_for_lface): Use it.
600 (syms_of_font): Load syms_of_nsfont under NS.
601 * font.h: Declare nsfont_driver when compiled under NS.
602 * fontset.c: When compiling under NS, include nsterm.h.
603 (fontset_from_font): Autoconstruct fontset under NS.
604 * frame.c (various): Under NS, include nsterm.h, add Qns window system
605 symbol, document and use it.
606 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
607 patch to fix crash due to different init order, due to Chris Hall and
608 Yamamoto Mitsuharu.
609 (do_switch_frame): When for_deletion under Cocoa, add
610 Fraise_frame(Qnil).
611 (x_set_frame_parameters): Ensure font attribute changes are picked up.
612 (x_get_arg): Allow "yes" and "no" as boolean values.
613 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
614 Qright under Cocoa.
615 (focus-follows-mouse): Default to 0 under NS.
616 * frame.h (enum output_method): Add output_ns.
617 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
618 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
619 (FRAME_WINDOW_P): NS-specific definition.
620 * fringe.c (max_used_fringe_bitmap): Make public.
621 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
622 (getloadavg): Use NeXT code under descendant OS's.
623 * image.c (includes and header section, x_create_bitmap_from_data)
624 (x_create_bitmap_from_file, free_bitmap_record, image_background)
625 (image_background_transparent, x_clear_image_1)
626 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
627 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
628 (x_to_xcolors, x_from_xcolors, x_disable_image)
629 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
630 other GUIs, including XPM support using code originally written for
631 Carbon GUI.
0a170079 632 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
edfda783
AR
633 using NS API.
634 (image_ascent): Use font metrics macros instead of direct struct field
635 access.
636 * keyboard.c (includes): Add nsterm.h when compiling under NS.
637 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
638 Also, handle NS as GTK for menu bar purposes.
639 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
640 toolkit where they differ.
641 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
642 use cachelist, still needed under NS.
6ddc6cca 643 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
edfda783
AR
644 (struct widget_value): Define it here for menu.c.
645 * keymap.c (includes): Include modifier internals.
646 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
647 NS.
648 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
649 support for preferring sequences using certain modifiers, specified by
650 the FIRSTONLY argument.
651 * lisp.h (hash_remove): Rename to avoid name clash when compiling
652 under NS GNUstep implementation.
653 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
654 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
655 * menu.c: Include nsterm.h under NS.
656 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
657 (free_menubar_widget_tree_value, update_submenu_strings)
658 (find_and_call_menu_selection): Treat NS as X and NT.
659 (find_and_return_menu_selection): New function, used for popup menus.
ba60bd44
JB
660 * nsgui.h:
661 * nsterm.h:
662 * nsfns.m:
663 * nsimage.m:
664 * nsmenu.m:
665 * nsselect.m:
edfda783
AR
666 * nsterm.m: New files.
667 * process.c (wait_reading_process_output): Under NS, call ns_select()
668 instead of plain select().
669 * syntax.c (char_quoted): Under NS, avoid a crash when called near
670 beginning of buffer.
671 * sysselect.h (init_process): Rename when compiling under Cocoa to
672 avoid name conflict.
673 * termhooks.h (display_info): Add ns_display_info to union.
674 * terminal.c (Fterminal_live_p): Add ns to terminal types.
675 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
676 COCOA environment.
677 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
678 unexec() signature. (Note, this will dump, but the resulting file
679 crashes; unexosx is used instead; keeping around for reference and
680 possible aid in getting dump working under GNUstep.)
681 * w32gui.h (button_type, widget_value): Remove definitions (now in
682 keyboard.h).
683 * window.c: Include nsterm.h when compiling under NS.
684 * xdisp.c (includes): Include nsterm.h when compiling under NS.
685 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
686 other GUI windowing systems.
687 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
688 GTK.
689 (x_consider_frame_title): Under NS, set icon type and frame
690 modified-state indicator; use ns_set_name_as_filename() when using
691 formatted title.
692 (update_window_cursor): Make public when compiling under NS.
693 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
694 (hourglass_atimer, Vhourglass_delay
695 * xfaces.c (header section, init_frame_faces, clear_font_table)
696 (defined_color, unload_color, x_face_list_fonts)
6ddc6cca
SM
697 (prepare_face_for_display): Add NS support parallel to other GUIs.
698 Emulate GCs like other non-X GUIs.
edfda783
AR
699 (split_font_name): Don't lowercase font name under NS.
700 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
701 under NS.
702 * s/darwin.h: Add support for compilation under NS.
703
1391cd54
JR
7042008-07-15 Jason Rumney <jasonr@gnu.org>
705
6ddc6cca
SM
706 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
707 (w32_show_hourglass): Rename from show_hourglass.
708 (w32_hide_hourglass): Rename from hide_hourglass.
709 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
710 (Vhourglass_delay): Declare extern.
711 (hourglass_started): Remove.
1391cd54 712
6ddc6cca
SM
713 * xdisp.c (Vhourglass_delay): Remove static.
714 (hourglass_started, start_hourglass, cancel_hourglass):
715 Don't include these versions on WINDOWSNT.
1391cd54 716
1885ab29
AR
7172008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
718
6ddc6cca 719 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
20d6dc02 720 variables (formerly in xfns.c).
1885ab29
AR
721 (show_hourglass, hide_hourglass): New prototypes (same).
722 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
723 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
20d6dc02 724 in xfns.c).
1885ab29
AR
725 (syms_of_xdisp): Declare/initialize display-hourglass,
726 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
727 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
20d6dc02 728 formerly in xfns.c.
1885ab29
AR
729 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
730 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
731 (start_hourglass, cancel_hourglass): Remove.
732 (show_hourglass, hide_hourglass): Remove prototypes and static
733 modifiers.
734 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
735 hourglass_atimer, hourglass_shown_p declaration/initialization.
736 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
737 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
738 (start_hourglass, cancel_hourglass): Remove.
739 (show_hourglass, hide_hourglass): Remove prototypes and static
740 modifiers.
741 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
742 hourglass_atimer, hourglass_shown_p declaration/initialization.
743 * w32fns.c (display_hourglass_p, Vhourglass_delay)
744 (DEFAULT_HOURGLASS_DELAY): Remove.
745 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
746 hourglass_shown_p declaration/initialization.
747
3faa984f
JR
7482008-07-14 Jason Rumney <jasonr@gnu.org>
749
6ddc6cca
SM
750 * w32fns.c (w32_get_arg): Remove wrapper function.
751 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
752 directly.
753 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3faa984f 754
2f73901f
KH
7552008-07-14 Kenichi Handa <handa@m17n.org>
756
757 * xfont.c (xfont_open): Add workaround for X's bug.
758
11da284d
KH
7592008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
760
761 * fontset.c: Include <stdio.h> unconditionally.
762
944cc4a8
MA
7632008-07-13 Michael Albinus <michael.albinus@gmx.de>
764
765 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
766 for filtering.
767
bdee2ef3
DN
7682008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
769
770 * s/vms.h: Use __GNUC__ instead of _GNUC_.
771
772 * m/macppc.h:
773 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
774
775 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
944cc4a8
MA
776 (SPECIAL_EMACS_INT):
777 * m/ia64.h (SPECIAL_EMACS_INT):
bdee2ef3
DN
778 * m/amdx86-64.h (SPECIAL_EMACS_INT):
779 * s/gnu.h (NLIST_STRUCT):
780 * aix4-2.h (X11R5_INHIBIT_I18N):
781 * s/gnu-linux.h (LINUX):
782 * s/msdos.h (HAVE_FACES):
783 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
784
944cc4a8 785 * systty.h:
bdee2ef3
DN
786 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
787 anymore.
788
bba104c1
DN
7892008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
790
791 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
792 always defined as int.
793
794 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
795 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
796 * s/gnu-linux.h (HAVE_WAIT_HEADER):
797 * s/freebsd.h (HAVE_WAIT_HEADER):
798 * s/bsd-common.h (HAVE_UNION_WAIT):
799 * s/aix4-2.h (HAVE_WAIT_HEADER):
800 * m/mips.h (HAVE_UNION_WAIT):
801 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
802 (COFF, static): Do not define, they are undefined later in the file.
803
804 * process.c (update_status): Don't use a union.
805 (status_convert):
806 (sigchld_handler): Use int instead of WAITTYPE.
807
e433031a
CY
8082008-07-12 Chong Yidong <cyd@stupidchicken.com>
809
810 * indent.c (Fvertical_motion): Restore hscroll before moving to
811 goal column.
812
3bfb4d48
DN
8132008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
814
815 * lisp.h: Remove left over code.
816
e7c9048f
AS
8172008-07-11 Andreas Schwab <schwab@suse.de>
818
7e770c85
AS
819 * lisp.h: Fix logic in last change.
820
e7c9048f
AS
821 * menu.h: New file.
822 * menu.c: Include it.
823 * xmenu.c: Likewise.
824 * Makefile.in: Update dependencies.
825
38aaf336
KH
8262008-07-11 Kenichi Handa <handa@m17n.org>
827
828 * fontset.c (fontset_from_font): Cancel the previous change.
829
6e5cb96f
DN
8302008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
831
832 * lisp.h:
833 * w32heap.c:
834 * emacs.c:
835 * alloc.c: Replace all references of NO_UNION_TYPE with
836 USE_LISP_UNION_TYPE.
837
838 * m/xtensa.h (NO_UNION_TYPE):
839 * m/vax.h (NO_UNION_TYPE):
840 * m/template.h (NO_UNION_TYPE):
841 * m/sparc.h (NO_UNION_TYPE):
842 * m/mips.h (NO_UNION_TYPE):
843 * m/macppc.h (NO_UNION_TYPE):
844 * m/m68k.h (NO_UNION_TYPE):
845 * m/iris4d.h (NO_UNION_TYPE):
846 * m/intel386.h (NO_UNION_TYPE):
847 * m/ibms390x.h (NO_UNION_TYPE):
848 * m/ibms390.h (NO_UNION_TYPE):
849 * m/ibmrs6000.h (NO_UNION_TYPE):
850 * m/ia64.h (NO_UNION_TYPE):
851 * m/hp800.h (NO_UNION_TYPE):
852 * m/arm.h (NO_UNION_TYPE):
853 * m/amdx86-64.h (NO_UNION_TYPE):
854 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
855 defining it the same.
856
e0f47a68
CY
8572008-07-10 Chong Yidong <cyd@stupidchicken.com>
858
ba60bd44 859 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
e0f47a68 860
c5e7567d
DN
8612008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
862
863 * src/fileio.c:
864 * src/sysdep.c
865 * src/systty.h:
866 * src/m/ibmrs6000.h:
867 * src/m/iris4d.h:
868 * src/s/aix4-2.h:
869 * src/s/freebsd.h:
870 * src/s/gnu-linux.h:
871 * src/s/hpux10-20.h:
872 * src/s/hpux11.h:
873 * src/s/netbsd.h:
874 * src/s/sol2-3.h:
875 * src/s/sol2-4.h:
876 * src/s/sol2.h:
877 * src/s/usg5-4.h:
878 * src/s/vms.h: Remove references to unused variables.
879
bb658864
AS
8802008-07-10 Andreas Schwab <schwab@suse.de>
881
882 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
883 pattern before matching the generic family.
884
3d3db608
DN
8852008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
886
a0ce9ab7 887 * unexec.c:
3460e0b9
DN
888 * s/vms.h:
889 * s/usg5-4-2.h:
890 * s/sol2-5.h:
891 * s/freebsd.h:
892 * s/darwin.h: Remove dead code.
893
ad76189a
DN
894 * m/template.h:
895 * m/sparc.h:
896 * m/mips.h:
897 * m/m68k.h:
898 * m/iris4d.h:
899 * m/intel386.h:
900 * m/ibms390x.h:
901 * m/ibms390.h:
902 * m/ia64.h:
903 * m/hp800.h:
904 * m/arm.h:
905 * m/amdx86-64.h: Remove dead code and references to unused
906 and compiler defined symbols.
907
d2b5bbda
DN
908 * unexmips.c:
909 * unexelf.c: Remove references to desupported systems.
910
40dde9d1
DN
911 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
912
21133394
DN
913 * m/powermac.h: Remove boilerplate comments.
914 (NO_REMAP): Remove unused definition.
915
3d3db608
DN
916 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
917 define them.
918
c8e0e16d
KH
9192008-07-10 Kenichi Handa <handa@m17n.org>
920
921 * xfont.c (xfont_open): Log the reason of failure.
922
3cba9369
SM
9232008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
924
925 * fontset.c (fontset_get_font_group):
926 * font.c (font_check_otf): Specify argument types.
927
73353585
KH
9282008-07-09 Kenichi Handa <handa@m17n.org>
929
0e17387a
KH
930 * coding.c (detect_coding_utf_8): Set detect_info->found only when
931 non-ASCII char is found.
932
73353585
KH
933 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
934 (reorder_font_vector): Change the arg preferred_family to font.
935 Prefer the spec matching with font.
936 (fontset_get_font_group): New function.
937 (fontset_find_font): Change the format of an element of a realized
938 fontset. Use fontset_get_font_group.
939 (fontset_font): Try the current fontset, the default fontset, the
940 fallbacks of the current fonset, and the fallbacks of the default
941 fontset in this order.
942 (face_for_char): Delete the shortcut to use the current font.
943 (fontset_from_font): Don't set fonts for Latin in the fontset.
944
945 * font.h (font_make_object, font_match_p): Adjust prototypes.
946
947 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
948
949 * font.c (font_make_object): New arg entity and pixelsize.
950 (font_check_otf_features, font_check_otf): New functions.
951 (font_match_p): Check :lang, :script, and :otf properties.
952
953 * xfont.c (xfont_open): Adjust it for the change of
954 font_make_object.
e5d05978 955 (xfont_text_extents): Fix initial setting of metrics.
73353585
KH
956
957 * ftfont.c (struct ftfont_info): New member index, delete member
958 fc_charset_idx. Make the member order compatible with struct
959 xftfont_info.
960 (fc_charset_table): Change charset names to registry names.
961 (ftfont_pattern_entity): Delete the args registry and
962 fc_charset_idx. Change the value of :font-entity property
963 to (FONTNAME . INDEX). Always set :registry property to
964 `iso10646-1'.
965 (struct ftfont_cache_data): New struct.
966 (ftfont_lookup_cache): New arg for_face.
967 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
968 (ftfont_driver): Set the member otf_capability.
969 (ftfont_get_charset): Adjust it for the change of
970 fc_charset_table.
971 (OTF_TAG_SYM): New macro.
972 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
973 for the change of fc_charset_table.
974 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
975 ftfont_pattern_entity. Add FC_INDEX to objset.
976 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
977 and ftfont_pattern_entity.
978 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
979 font_make_object, struct ftfont_info.
980 (ftfont_has_char): Use ftfont_get_fc_charset.
981 (ftfont_otf_features, ftfont_otf_capability): New functions.
982 (ftfont_shape): Use ftfont_get_otf.
e5d05978 983 (ftfont_text_extents): Fix initial setting of metrics.
73353585
KH
984
985 * xftfont.c (struct xftfont_info): New member ft_size. Make the
986 member order compatible with struct ftfont_info.
987 (xftfont_open): Add FC_CHARSET to the pattern. Set
988 xftfont_info->ft_size. Don't unlock the face. Check BDF
989 properties if appropriate.
990 (xftfont_close): Unlock the face.
991 (xftfont_anchor_point, xftfont_shape): Deleted.
992 (syms_of_xftfont): Don't set members anchor_point and shape of
993 xftfont_driver.
994
995 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
996 font_make_object.
997
998 * w32font.c (w32font_open): Adjust it for the change of
999 font_make_object.
1000 (w32font_open_internal): Don't set properties of font_object here.
1001
7f000038
CY
10022008-07-08 Chong Yidong <cyd@stupidchicken.com>
1003
830aab93
CY
1004 * macfns.c (x_create_tip_frame):
1005 * w32fns.c (x_create_tip_frame):
1006 * xfns.c (x_create_tip_frame): Pass parameter argument to
1007 face-set-after-frame-default.
1008
7f000038
CY
1009 * xfaces.c (Finternal_merge_in_global_face): Save merged
1010 attributes for the default face back into the face vector.
1011
85cf8992
AS
10122008-07-08 Andreas Schwab <schwab@suse.de>
1013
1014 * fontset.h: Declare fontset_from_font. Don't declare
1015 new_fontset_from_font and fontset_from_font_name.
1016 * xterm.c: Include "fontset.h".
1017 * Makefile.in (xterm.o): Update dependencies.
1018
4a00783e
GM
10192008-07-08 Glenn Morris <rgm@gnu.org>
1020
1021 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
1022 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
1023
4d2d5f5f
CY
10242008-07-07 Chong Yidong <cyd@stupidchicken.com>
1025
1026 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
1027 (x_set_frame_parameters): Don't bind it.
1028
dfe66c5b
JB
10292008-07-07 Juanma Barranquero <lekktu@gmail.com>
1030
1031 * w32fns.c (map_w32_filename): Declare extern.
1032
ec7e221c
JR
10332008-07-07 Jason Rumney <jasonr@gnu.org>
1034
dfe66c5b 1035 * w32term.c (WS_EX_LAYERED): Define if not already.
ec7e221c 1036
fe5d61c4
CY
10372008-07-06 Chong Yidong <cyd@stupidchicken.com>
1038
1039 * xfaces.c (set_font_frame_param): Don't try to set the font
1040 parameter if it is still unspecified in the lface.
1041
9204cb8b
CY
10422008-07-05 Chong Yidong <cyd@stupidchicken.com>
1043
0a143d3a
CY
1044 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
1045 face if it didn't already exist.
1046
9204cb8b
CY
1047 * xdisp.c (try_window_id): Give up if word-wrapping is on.
1048
6c95e70d
AS
10492008-07-05 Andreas Schwab <schwab@suse.de>
1050
dfe66c5b 1051 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6c95e70d 1052
59230395
CY
10532008-07-05 Chong Yidong <cyd@stupidchicken.com>
1054
1055 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
1056 word-wrapping.
1057 (IT_DISPLAYING_WHITESPACE): New macro.
1058 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
1059 when word-wrapping. Simplify word-wrapping logic. Use correct
1060 pixel positions when saving copies of the iterator.
1061 (display_line): Use proper wrap point if the last character on a
1062 line was preceded by whitespace.
1063
d7c664f3
SM
10642008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
1065
1066 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
1067
9ffc8a3a
KH
10682008-07-04 Kenichi Handa <handa@m17n.org>
1069
1070 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
1071
1072 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
1073
946598bf
JR
10742008-07-02 Jason Rumney <jasonr@gnu.org>
1075
d7c664f3
SM
1076 * xfns.c (syms_of_xfns): Only define x-select-font when both
1077 HAVE_FREETYPE and USE_GTK
946598bf 1078
d7c664f3
SM
1079 * xdisp.c (next_element_from_display_vector): Move assignment out
1080 of if statement.
946598bf 1081
6cf29fe8
JR
10822008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
1083
d7c664f3 1084 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6cf29fe8 1085
d7c664f3
SM
1086 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
1087 (syms_of_fileio): Initialize and export them.
1088 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6cf29fe8 1089
d7c664f3
SM
1090 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
1091 (Fsystem_move_file_to_trash): New function.
1092 (syms_of_w32fns): Export it to lisp.
6cf29fe8 1093
79ca7db1
JR
10942008-07-01 Jason Rumney <jasonr@gnu.org>
1095
d7c664f3
SM
1096 * w32font.c (w32font_text_extents): Don't count overhang as part
1097 of width.
79ca7db1 1098
c2786a3d 10992008-06-30 Miles Bader <miles@gnu.org>
c4f4682b
MB
1100
1101 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
1102 Add `avoid_cursor_p' field.
1103
1104 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
1105 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
1106 (append_glyph, append_composite_glyph, produce_image_glyph)
c2786a3d
JB
1107 (append_stretch_glyph): Initialize avoid_cursor_p.
1108 (get_it_property): Rename from `get_line_height_property'.
c4f4682b
MB
1109 (x_produce_glyphs): Use get_it_property.
1110 (handle_line_prefix, push_display_prop): New functions.
1111 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
c2786a3d
JB
1112 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
1113 New variables.
c4f4682b
MB
1114 (syms_of_xdisp): Initialize them.
1115
7d7ad10e
KH
11162008-06-30 Kenichi Handa <handa@m17n.org>
1117
1118 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
1119 XftDefaultSubstitute (they are called in XftFontMatch).
1120 (xftfont_open): Fix args to ftfont_font_format.
1121
1122 * ftfont.c (fc_charset_table): New member lang.
1123 (ftfont_resolve_generic_family): New arg pattern.
1124 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
1125 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
1126 (ftfont_open): Fix args to ftfont_font_format.
1127 (ftfont_font_format): New arg filename.
1128
44b754c7
CY
11292008-06-30 Chong Yidong <cyd@stupidchicken.com>
1130
1131 * xfaces.c (Finternal_merge_in_global_face): If default face was
1132 modified, realize it again. Update the font face attribute.
1133
a4521b03
JR
11342008-06-29 Jason Rumney <jasonr@gnu.org>
1135
c2786a3d 1136 * w32term.c (x_set_frame_alpha): Fix logic.
a4521b03 1137
fe44f009
KH
11382008-06-29 Kenichi Handa <handa@m17n.org>
1139
1140 * fontset.c (Finternal_char_font): Return font-object instead of
1141 font-name.
1142
c2786a3d 1143 * composite.c (get_composition_id): Fix the width calculation for TAB.
fe44f009 1144
baed8445
SM
11452008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
1146
1147 * indent.c (Fvertical_motion): Properly handle float column arg.
1148
8b61a891
JR
11492008-06-28 Jason Rumney <jasonr@gnu.org>
1150
baed8445
SM
1151 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
1152 (pfnSetLayeredWindowAttributes): New function pointer.
1153 (w32_initialize): Initialize it when supported.
1154 (x_set_frame_alpha): New function.
8b61a891 1155
baed8445
SM
1156 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
1157 (w32_frame_parm_handlers): Set alpha handler.
8b61a891 1158
baed8445 1159 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8b61a891 1160
57016d37
JR
11612008-06-27 Jason Rumney <jasonr@gnu.org>
1162
baed8445
SM
1163 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
1164 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
1165 (w32_to_x_charset, x_to_w32_charset)
1166 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
1167 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
1168 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
1169 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
1170 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
1171 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
1172 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
1173 (Qw32_charset_unicode): Remove.
1174 (syms_of_w32fns): Update for above changes.
1175
1176 * w32font.c (w32_to_x_charset, x_to_w32_charset)
1177 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
1178 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
1179 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
1180 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
1181 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
1182 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
1183 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
1184 (syms_of_w32font): Update for above changes.
57016d37 1185
d6bf1bdb
DN
11862008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
1187
1188 * s/usg5-4.h: Fix previous change: keep the correct branch of a
1189 removed #if.
9fa1c445 1190 (USG_SHARED_LIBRARIES): Remove duplicate definition.
d6bf1bdb 1191
43db14bb
JB
11922008-06-26 Juanma Barranquero <lekktu@gmail.com>
1193 Eli Zaretskii <eliz@gnu.org>
1194
1195 * makefile.w32-in (LOCAL_FLAGS):
1196 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
1197
1198 * sysdep.c (_spawnlp, _getpid):
1199 Declare with explicit _cdecl instead of _CRTAPI1.
1200
1201 * editfns.c (Fget_internal_run_time):
1202 Check for WINDOWSNT with #ifdef, not #if.
1203
c35f9821
JR
12042008-06-26 Jason Rumney <jasonr@gnu.org>
1205
43db14bb 1206 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
c35f9821 1207
57016d37 1208 * w32term.c (x_draw_glyph_string_foreground)
43db14bb
JB
1209 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
1210 Use FONT_HANDLE macro.
1211 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
c35f9821 1212
57016d37 1213 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
43db14bb 1214 (uniscribe_encode_char): Use FONT_HANDLE macro.
c35f9821 1215
43db14bb
JB
1216 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
1217 (w32font_text_extents): Use precast w32_font.
1218 (w32font_close): Free cached metrics.
1219 (w32font_open_internal): Allocate space for name on stack.
c35f9821 1220
1f8ad719
CY
12212008-06-26 Chong Yidong <cyd@stupidchicken.com>
1222
1223 * xdisp.c (extend_face_to_end_of_line): Fix last change.
1224
97e71655
JR
12252008-06-26 Jason Rumney <jasonr@gnu.org>
1226
43db14bb
JB
1227 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
1228 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
97e71655 1229
c9fc02c7
JB
12302008-06-26 Juanma Barranquero <lekktu@gmail.com>
1231
1232 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
1233
1b5defe6
JR
12342008-06-26 Jason Rumney <jasonr@gnu.org>
1235
c9fc02c7 1236 * w32bdf.c, w32bdf.h: Remove obsolete files.
1b5defe6 1237
c9fc02c7 1238 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
1b5defe6 1239
c9fc02c7
JB
1240 * w32gui.h: Don't include w32bdf.h.
1241 (XCharStruct, enum w32_char_font_type, W32FontStruct):
1242 Remove obsolete font support.
1b5defe6 1243
c9fc02c7
JB
1244 * w32font.h (struct w32font_info): Remove compat_w32_font.
1245 Add hfont member.
1246 (FONT_COMPAT): Remove obsolete macro.
1b5defe6 1247
ba60bd44 1248 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
c9fc02c7 1249 (w32font_encode_char, w32font_text_extents): Use new hfont member.
ba60bd44 1250 (w32font_open_internal): Remove compat code. Set new hfont member.
c9fc02c7 1251 (Fx_select_font): Use new hfont member.
1b5defe6 1252
57016d37 1253 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
c9fc02c7 1254 (uniscribe_encode_char): Use new hfont member.
1b5defe6 1255
57016d37 1256 * w32term.c (x_draw_glyph_string_foreground)
c9fc02c7
JB
1257 (x_draw_composite_glyph_string_foreground): Use new hfont member.
1258 (x_draw_glyph_string): Use metrics in w32font_info.
1b5defe6 1259
1fc66bca
KH
12602008-06-26 Kenichi Handa <handa@m17n.org>
1261
1262 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
1263
f2a77c3a
DN
12642008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
1265
1266 * unexnext.c:
1267 * m/ews4800.h:
1268 * m/hp9000s300.h:
1269 * m/ibm370aix.h:
1270 * m/mips-siemens.h:
1271 * m/ncr386.h:
1272 * m/next.h:
1273 * m/pmax.h:
1274 * m/powerpcle.h:
1275 * m/tandem-s2.h:
1276 * s/386bsd.h:
1277 * s/bsd386.h:
1278 * s/bsd4-1.h:
1279 * s/bsd4-2.h:
1280 * s/bsdos2-1.h:
1281 * s/bsdos2.h:
1282 * s/bsdos3.h:
1283 * s/bsdos4.h:
1284 * s/nextstep.h:
1285 * s/ultrix4-3.h:
1286 * s/usg5-0.h:
1287 * s/usg5-2-2.h:
1288 * s/usg5-2.h:
1289 * s/usg5-4-3.h:
1290 * s/ux4800.h:
1291 * s/uxpds.h:
1292 * s/uxpv.h: Remove support for obsolete systems.
1293 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
1294 Remove, insert contents in s/hpux-10.20.h
1295 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
1296 Remove, insert contents in s/aix-4.2.h
1297 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
1298 * s/bsd4-3.h: Rename to ..
1299 * s/bsd-common.h: ... this.
1300 * src/data.c:
1301 * src/doc.c:
1302 * src/ecrt0.c:
1303 * src/emacs.c:
1304 * src/fileio.c:
1305 * src/floatfns.c:
1306 * src/keyboard.c:
1307 * src/mem-limits.h:
1308 * src/print.c:
1309 * src/process.c:
1310 * src/sysdep.c:
1311 * src/syssignal.h:
1312 * src/systty.h:
1313 * src/syswait.h:
1314 * src/term.c:
1315 * src/unexec.c:
1316 * src/unexelf.c:
1317 * src/unexhp9k800.c:
1318 * src/m/hp800.h:
1319 * src/m/ibmrs6000.h:
1320 * src/m/mips.h:
1321 * src/m/vax.h:
1322 * src/s/darwin.h:
1323 * src/s/freebsd.h:
1324 * src/s/gnu.h:
1325 * src/s/ms-w32.h:
1326 * src/s/msdos.h:
1327 * src/s/netbsd.h:
1328 * src/s/template.h: Remove references to obsolete variables.
1329
1330 * Makefile.in: Add dependencies for all unexec files.
1331 (admindir): Remove unused variable.
1332 (UNEXEC_SRC): Remove references.
1333
bd02793a
CY
13342008-06-25 Chong Yidong <cyd@stupidchicken.com>
1335
1336 * xfns.c (x_default_font_parameter): If Xft is available, first
1337 try Monospace-12 for the default font.
1338
ccedd259
JR
13392008-06-25 Jason Rumney <jasonr@gnu.org>
1340
c9fc02c7 1341 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
ccedd259 1342
fbe062b7
SM
13432008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
1344
603a0937
SM
1345 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
1346
fbe062b7
SM
1347 * buffer.c (syms_of_buffer): Remove default-word-wrap.
1348
69785ad0
JB
13492008-06-25 Juanma Barranquero <lekktu@gmail.com>
1350
1351 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
1352 <scroll-conservatively>: Fix typo in docstring.
1353
1354 * xselect.c (Fx_send_client_event): Doc fix.
1355
249e6f76
KH
13562008-06-25 Kenichi Handa <handa@m17n.org>
1357
34e97272
KH
1358 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
1359
1360 * font.c (font_parse_fcname): Remove unused variables.
69785ad0
JB
1361 (font_sort_entites): Delete the arg SPEC. Caller changed.
1362 Fix for the case of ! best_only.
34e97272
KH
1363 (font_delete_unmatched): Check DPI and AVGWIDTH too.
1364
249e6f76
KH
1365 * lisp.h (Fstring_to_unibyte): EXFUN it.
1366
69785ad0 1367 * character.h (str_to_unibyte): Extern it.
249e6f76
KH
1368
1369 * character.c (str_to_unibyte): New function.
1370
1371 * fns.c (Fstring_to_unibyte): New function.
1372 (syms_of_fns): Defsubr it.
1373
65c108e4
KH
13742008-06-24 Kenichi Handa <handa@m17n.org>
1375
1376 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
1377 DPI too.
1378 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
1379
4c3f18fe
AS
13802008-06-24 Andreas Schwab <schwab@suse.de>
1381
69785ad0 1382 * Makefile.in (${lispsource}loaddefs.el): Rename from
4c3f18fe 1383 ../lisp/loaddefs.el.
fd13748d
AS
1384 (bootstrap-clean): Do what distclean does but don't remove
1385 Makefile.
1386 (distclean): Depend on bootstrap-clean and remove Makefile.
4c3f18fe 1387
faa6190f
CY
13882008-06-24 Chong Yidong <cyd@stupidchicken.com>
1389
1390 * buffer.h (struct buffer): New member word_wrap.
1391
1392 * buffer.c (syms_of_buffer): New variables default-word-wrap and
1393 word-wrap.
1394 (init_buffer_once): Initialize them.
1395
1396 * dispextern.h (struct it): Replace bool truncate_lines_p with a
1397 line_wrap enum possessing three possible values.
1398
1399 * termopts.h: Replace truncate_partial_width_windows with
1400 Vtruncate_partial_width_windows.
1401
1402 * dispnew.c (direct_output_for_insert): Avoid direct output when
1403 inserting a space with word wrap on.
1404
1405 * indent.c (compute_motion): Obey integer values of
1406 truncate-partial-width-windows.
1407
1408 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
1409 replacing truncate_partial_width_windows.
1410 (init_iterator): If Vtruncate_partial_width_windows is an integer,
1411 truncate only if the window width is below that integer.
ba60bd44 1412 (start_display, resize_mini_window, produce_stretch_glyph)
faa6190f
CY
1413 (display_string, move_it_in_display_line_to): Use line_wrap.
1414 (back_to_previous_visible_line_start, reseat_1): Reset
1415 string_from_display_prop_p.
1416 (display_line): Extend default face to end of line when wrapping.
1417
14182008-06-24 Kim F. Storm <storm@cua.dk>
1419
1420 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
1421 to wrap continued lines at word boundaries.
1422
c3bb5465
JR
14232008-06-24 Jason Rumney <jasonr@gnu.org>
1424
69785ad0
JB
1425 * font.c (Ffont_face_attributes): Multiply pixel size before point
1426 conversion to avoid multiplying rounding error.
c3bb5465 1427
0b07ad98
JR
14282008-06-23 Jason Rumney <jasonr@gnu.org>
1429
f245f2c6
JB
1430 * w32term.c (x_draw_glyph_string_background)
1431 (x_draw_glyph_string): Remove old bdf font code.
0b07ad98 1432
69785ad0 1433 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
0b07ad98 1434
22459668
KH
14352008-06-22 Kenichi Handa <handa@m17n.org>
1436
1437 * font.c (font_find_for_lface): Try the adstyle specified in
1438 the property of LFACE_FONT of LFACE (if any).
1439
d925a426 14402008-06-21 Seiji Zenitani <zenitani@mac.com>
f245f2c6 1441 Ryo Yoshitake <ryo@shiftmode.net>
d925a426
SM
1442
1443 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
1444
b4945b95
SM
14452008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
1446
1447 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
1448 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
1449 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
1450 (witness-emacs): Remove.
1451 (lisp, shortlisp): Move loaddefs.el earlier.
1452 (mostlyclean): Forget about witness-emacs.
1453
64124279
GM
14542008-06-22 Glenn Morris <rgm@gnu.org>
1455
1456 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
36565815 1457 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
64124279 1458
768efd84
SM
14592008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1460
1461 * Makefile.in (PRECOMP): Remove.
1462 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
1463 (witness-emacs): Run `compile-first'.
1464 (.el.elc): Use the new compile-onefile target.
1465
808dd567
KH
14662008-06-21 Kenichi Handa <handa@m17n.org>
1467
1468 * xftfont.c (xftfont_open): Handle QCembolden only when
1469 FC_EMBOLDEN is defined.
1470
0de59eae
AS
14712008-06-21 Andreas Schwab <schwab@suse.de>
1472
1473 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
58e8833b 1474 (.el.elc): Likewise.
0de59eae 1475
fb38e9c9
MB
14762008-06-21 Miles Bader <miles@gnu.org>
1477
1478 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
1479 build dir, not the lisp source dir.
1480
fc46d219
SM
14812008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
1482
1483 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
1484 (bootstrapclean): Remove.
1485 (.el.elc): New rule.
1486 (PRECOMP): New var.
1487 (../lisp/subdirs.el): Remove.
1488 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
1489 (witness-emacs): New target.
1490 (mostlyclean): Remove witness-emacs as well.
1491 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
1492 Add witness-emacs dependency.
1493
eaf1f6e7
CY
14942008-06-20 Chong Yidong <cyd@stupidchicken.com>
1495
1496 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
1497 defined by the font.
1498
49f6eb95
SM
14992008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1500
1501 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
1502 (bootstrap-clean): New target that keeps TAGS around.
1503 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
1504 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
1505
4c100a01
JR
15062008-06-20 Jason Rumney <jasonr@gnu.org>
1507
49f6eb95
SM
1508 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
1509 Remove obsolete font code.
db61a7f8 1510
49f6eb95
SM
1511 * w32font.c (font_matches_spec): Use csb bitfield from font signature
1512 to determine language support.
4c100a01 1513
759d3f32
SM
15142008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1515
1516 * sysdep.c (cfsetspeed): New fun extracted from the code.
1517 (cfmakeraw): Move before first use.
1518
25241b4d
SM
15192008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
1520
1521 * sysdep.c (cfmakeraw): Provide fallback implementation.
1522 (serial_configure): Provide fallback implementation of cfsetspeed.
1523
d7afccca
KH
15242008-06-20 Kenichi Handa <handa@m17n.org>
1525
dc2226d0
KH
1526 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
1527 the pattern.
1528
9b9cd864
KH
1529 * fontset.c (fontset_from_font): Copy font_spec before changing
1530 the elements.
1531
d7afccca
KH
1532 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
1533
770e2e6e
SM
15342008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
1535
1536 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
1537 for explicit `font' parameters.
1538
1539 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
1540
22e64f7c
KH
15412008-06-19 Kenichi Handa <handa@m17n.org>
1542
1543 * frame.c: Include <ctype.h>.
1544 (x_set_font_backend): Allow spacing characters in the X resource
1545 for FontBackend.
1546
27129af9
SM
15472008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
1548
1549 * w32fns.c, xfns.c (Qfont_param): New var.
1550 (syms_of_w32fns): Initialize it.
22e64f7c
KH
1551 (x_default_font_parameter): Record explicit `font' into
1552 `font-parameter'.
27129af9 1553
d26424c5
KH
15542008-06-18 Kenichi Handa <handa@m17n.org>
1555
1556 * font.c (font_parse_xlfd): Fix previous change.
1557 (font_parse_fcname): Don't use :fc-unknown-spec.
1558 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
1559 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
1560 (font_add_log): Prepend the driver name to the resulting fonts.
1561
1562 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
1563 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
1564 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
1565
1566 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
1567 (QCembolden): New variables.
1568 (syms_of_xftfont): DEFSYM them.
1569 (xftfont_open): Call XftFontMatch. Don't trust the result of
1570 XftTextExtents8 if the pixel_size is less than 5.
1571
51cf11be
AS
15722008-06-18 Andreas Schwab <schwab@suse.de>
1573
f245f2c6 1574 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
51cf11be
AS
1575 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
1576
07d9ba9b
JR
15772008-06-18 Jason Rumney <jasonr@gnu.org>
1578
27129af9 1579 * w32font.c (w32font_list, w32font_match): Add logging.
07d9ba9b 1580
27129af9 1581 * w32uniscribe (uniscribe_list, uniscribe_match): Add logging.
07d9ba9b 1582
0c36bc4e
CY
15832008-06-17 Chong Yidong <cyd@stupidchicken.com>
1584
1585 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
1586 unknown-spec list. For known key symbols, intern using correct
1587 symbol name.
0c36bc4e 1588
70d6ecc6
KH
15892008-06-17 Kenichi Handa <handa@m17n.org>
1590
1591 * xfaces.c (realize_default_face): If the frame is not on window
1592 system, set the fontset of face to nil.
1593
821bc4db
KH
15942008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1595
f245f2c6 1596 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
821bc4db 1597
3554e566
JB
15982008-06-16 Juanma Barranquero <lekktu@gmail.com>
1599
1600 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
1601 (build_font_name_from_vector): Delete externs.
1602
1603 * xfaces.c (struct font_name): Don't declare.
1604
93eed26b
SM
16052008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
1606
1607 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
1608
d756bcd0
CY
16092008-06-16 Chong Yidong <cyd@stupidchicken.com>
1610
1611 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
1612
7a18a178
JB
16132008-06-16 Juanma Barranquero <lekktu@gmail.com>
1614
1615 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 1616 (Ffont_face_attributes): Doc fix.
7a18a178 1617
6f568955
AS
16182008-06-16 Andreas Schwab <schwab@suse.de>
1619
1620 * font.c (Ffont_face_attributes): Fix definition.
1621
3ef8c1b4
JR
16222008-06-16 Jason Rumney <jasonr@gnu.org>
1623
93eed26b 1624 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 1625
93eed26b
SM
1626 * font.c (font_style_symbolic_from_value): Remove.
1627 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 1628
93eed26b
SM
1629 * w32font.c (w32_to_fc_weight): New function.
1630 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 1631
5e634ec9
KH
16322008-06-16 Kenichi Handa <handa@m17n.org>
1633
1634 * font.c (font_check_object): Delete it.
1635 (font_clear_cache): Check if a font-object is alive.
1636 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
1637 font-object to nil.
1638 (font_close_object): Don't check FONT_CLOSE_OBJECT.
1639 (font_at): Don't call font_check_object.
2babb359 1640 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 1641
6409a955
KY
16422008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
1643
1644 * puresize.h (BASE_PURESIZE): Increase to 1230000.
1645
ce4eaddb
CY
16462008-06-16 Chong Yidong <cyd@stupidchicken.com>
1647
1648 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
1649
523dbe64
CY
16502008-06-15 Chong Yidong <cyd@stupidchicken.com>
1651
54b2ab27 1652 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
1653 (font_unparse_fcname): Handle data in family and foundry indices
1654 as symbols, not strings.
1655 (font_unparse_gtkname, Ffont_face_attributes): New functions.
1656
54b2ab27 1657 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
1658
1659 * font.h (font_unparse_gtkname): Add prototype.
1660
9f296082
KH
16612008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
1662
54b2ab27 1663 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 1664
3306c6dc
AS
16652008-06-15 Andreas Schwab <schwab@suse.de>
1666
1667 * font.c (font_update_drivers): Fix crash when no drivers match.
1668
a099c27a
SM
16692008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
1670
1671 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
1672 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
1673
a8aa344d
SM
16742008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
1675
1676 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
1677
a879ee6f
SM
16782008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
1679
1680 * process.c (Fserial_process_configure, Fprocess_send_eof):
1681 Use EQ to compare Lisp_Objects.
1682
6fe9826d
JR
16832008-06-13 Jason Rumney <jasonr@gnu.org>
1684
a879ee6f 1685 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 1686
a879ee6f
SM
1687 * w32font.c (logfont_to_fcname): New function.
1688 (Fx_select_font): New font dialog function compatible with
1689 GTK/fontconfig version.
6fe9826d 1690
a879ee6f
SM
1691 * font.c (font_style_symbolic_from_value): New function.
1692 (font_style_symbolic): Use it.
6fe9826d 1693
a879ee6f 1694 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 1695
17ab8f5d
JB
16962008-06-13 Juanma Barranquero <lekktu@gmail.com>
1697
1698 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
1699 <font-width-table>: Fix typos in docstrings.
1700
d888760c
GM
17012008-06-13 Daniel Engeler <engeler@gmail.com>
1702
1703 These changes add serial port access.
1704 * process.c: Add HAVE_SERIAL.
1705 (Fdelete_process, Fprocess_status, Fset_process_buffer)
1706 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
1707 (list_processes_1, select_wrapper, Fstop_process)
1708 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
1709 (status_notify): Modify to handle serial processes.
1710 [HAVE_SERIAL] (Fserial_process_configure)
1711 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
1712 New functions.
1713 * process.h (struct Lisp_Process): Add `type'.
1714 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
1715 New functions.
1716 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
1717 serial ports.
1718 (serial_open, serial_configure) New functions.
1719 * w32.h: Add FILE_SERIAL.
1720 (struct _child_process): Add ovl_read, ovl_write.
1721
f4cc0153
KH
17222008-06-13 Kenichi Handa <handa@m17n.org>
1723
1724 * dispextern.h (enum lface_attribute_index): New member
1725 LFACE_FOUNDRY_INDEX.
1726
1727 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 1728 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 1729 style symbols.
7a18e381 1730 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
1731 order of font-driver to scores.
1732 (font_list_entities): Don't check alternate_familes here.
1733 (font_clear_prop): Handle foundry.
1734 (font_update_lface): Don't parse "foundry-family" form here.
1735 Handle FONT_FOUNDRY_INDEX.
1736 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 1737 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 1738 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 1739 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
1740 (free_font_driver_list): Delete it.
1741 (font_update_drivers): Preserve the order of backends.
1742 (syms_of_font): Setting of sort_shift_bits adjusted for the change
1743 of font_score and font_sort_entites.
1744 (font_update_sort_order): Likewise.
1745
1746 * xfaces.c (LFACE_FOUNDRY): New macro.
1747 (check_lface_attrs): Check foundry.
7a18e381 1748 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
1749 (merge_face_vectors): Check foundry.
1750 (merge_face_ref): Likewise.
1751 (Finternal_set_lisp_face_attribute): Likewise.
1752 (x_update_menu_appearance): Likewise.
1753 (Finternal_get_lisp_face_attribute): Likewise.
1754 (lface_hash): Likewise.
1755 (lface_same_font_attributes_p): Likewise.
1756 (x_supports_face_attributes_p): Likewise.
1757 (tty_supports_face_attributes_p): Likewise.
1758 (Finternal_set_alternative_font_family_alist): Intern strings.
1759 (Finternal_set_alternative_font_registry_alist): Downcase strings.
1760 (realize_default_face): Set LFACE_FOUNDRY (lface).
1761
1762 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
1763 font-driver at first.
1764
1765 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
1766
d434fef5 17672008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
1768
1769 * lread.c (Fload): Use xfree, not free on saved_doc_string.
1770
9c5e177e
JM
17712008-06-12 Jim Meyering <meyering@redhat.com>
1772
d434fef5 1773 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
1774 * unexmacosx.c (unexec_free): Ignore a NULL argument.
1775
2afc21f5
SM
17762008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
1777
1778 * character.h (CHAR_TO_BYTE_SAFE): New macro.
1779 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
1780 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
1781 (WEAK_ALIAS): Simplify.
1782 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
1783 when searching a unibyte buffer.
1784
76c0de62
CY
17852008-06-12 Chong Yidong <cyd@stupidchicken.com>
1786
1787 * xfns.c (Fx_select_font): Rename from x-font-dialog.
1788
0500dcc9
JB
17892008-06-12 Juanma Barranquero <lekktu@gmail.com>
1790
1791 * w32font.c: Include ctype.h.
1792
f42adef6
JR
17932008-06-11 Jason Rumney <jasonr@gnu.org>
1794
2afc21f5
SM
1795 * w32font.c (w32font_encode_char): Detect missing glyphs that are
1796 misreported as space.
1797 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
1798 as aliases for registry iso10646-1.
f42adef6 1799
4b7cdc0e
SM
18002008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
1801
1802 * buffer.c (clone_per_buffer_values): Skip `name'.
1803
cc02ebe1
CY
18042008-06-11 Chong Yidong <cyd@stupidchicken.com>
1805
1806 * font.c (font_parse_fcname): Fix last change; accept decimal
1807 points in font size.
1808
351ccb76
JR
18092008-06-10 Jason Rumney <jasonr@gnu.org>
1810
0500dcc9
JB
1811 * w32uniscribe.c (add_opentype_font_name_to_list):
1812 Skip non unicode fonts.
351ccb76 1813
f473ed6f
CY
18142008-06-10 Chong Yidong <cyd@stupidchicken.com>
1815
1816 * xfns.c (Fx_font_dialog): New function.
1817
5d6333d5 1818 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
1819 xg_file_response_callback.
1820 (pop_down_dialog): Rename from pop_down_file_dialog.
1821 (xg_get_file_name): Callers changed.
1822 (xg_get_font_name): New function.
1823
5d6333d5 1824 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 1825
2a3bd2e1
SM
18262008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1827
1828 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
1829 x_underline_minimum_display_offset.
1830 (syms_of_xdisp): Declare it here rather than in xterm.c.
1831 * dispextern.h (underline_minimum_offset): Declare it.
1832 * w32term.c (x_draw_glyph_string): Use it.
1833 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
1834 (syms_of_xterm): Don't declare it any more.
1835 (x_draw_glyph_string): Adjust to the new name.
1836
d5dc6163
SM
18372008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
1838
1839 * xterm.c (x_underline_minimum_display_offset): New var.
1840 (x_draw_glyph_string): Use it.
1841 (syms_of_xterm): Declare it.
1842
0abdd197
CY
18432008-06-10 Chong Yidong <cyd@stupidchicken.com>
1844
1845 * font.c (font_parse_fcname): Accept GTK-style font names too.
1846
a1562258
SM
18472008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
1848
928b5acc
SM
1849 * dired.c (file_name_completion): Don't return t if the match is exact
1850 but with different capitalization.
1851 * minibuf.c (Ftry_completion): Simplify.
1852
a1562258
SM
1853 * window.c (Vwindow_point_insertion_type): New var.
1854 (set_window_buffer): Use it.
1855 (syms_of_window): Init and export it to Lisp.
1856
9552dbd1
KH
18572008-06-10 Kenichi Handa <handa@m17n.org>
1858
1859 * font.h (font_intern_prop): Prototype adjusted.
1860
1861 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
1862 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
1863 Adjust for the change of font_intern_prop.
9552dbd1 1864
a1562258
SM
1865 * ftfont.c (ftfont_pattern_entity):
1866 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
1867 (w32_registry):
1868 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
1869 the change of font_intern_prop.
1870
8993ad2e
JB
18712008-06-09 Juanma Barranquero <lekktu@gmail.com>
1872
1873 * w32menu.c (digest_single_submenu): Declare extern.
1874
0c2258fc
JR
18752008-06-09 Jason Rumney <jasonr@gnu.org>
1876
a1562258 1877 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 1878
a1562258
SM
1879 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
1880 (parse_single_submenu): Remove.
1881 (digest_single_submenu): Remove.
1882 (syms_of_w32menu): Don't initialise variables that have moved
1883 to menu.c.
1884 (set_frame_menubar): Sync with version in xmenu.c.
1885 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 1886
8993ad2e
JB
1887 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
1888 Make static again.
0c2258fc 1889
02246cb8
JR
18902008-06-09 Jason Rumney <jasonr@gnu.org>
1891
8993ad2e
JB
1892 Changes to w32 files related to the move of common menu code
1893 to menu.c on 2008-06-08 by Chong Yidong.
1894
1895 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
1896 defs to w32gui.h.
1897 (single_keymap_panes, push_menu_item, push_menu_pane):
1898 Make globally visible.
1899
d434fef5
JB
1900 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
1901 (local_free, malloc_widget_value, free_widget_value)
1902 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
1903 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
1904 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 1905 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 1906 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
1907 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
1908 (init_menu_items, finish_menu_items, discard_menu_items)
1909 (grow_menu_items, push_submenu_start, push_submenu_end)
1910 (push_left_right_boundary, push_menu_pane, push_menu_item)
1911 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 1912 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
1913 (update_submenu_strings): Remove functions.
1914 (xmalloc_widget_value): Remove and declare extern.
1915
1916 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
1917 (OBJ1): Build it.
1918
1919 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
1920 (local_heap, local_alloc, local_free, malloc_widget_value)
1921 (free_widget_value): Define here.
02246cb8 1922
9e1bb909
KH
19232008-06-09 Kenichi Handa <handa@m17n.org>
1924
366664ad
KH
1925 * font.h (Qascii_0): Extern it.
1926
9e1bb909
KH
1927 * font.c (Qascii_0): New variable.
1928 (syms_of_font): DEFSYM it.
1929 (font_open_by_name): If the registry "iso8859-1" fails, try also
1930 "ascii-0".
1931
1932 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
1933
b2ee479e
KH
19342008-06-08 Kenichi Handa <handa@m17n.org>
1935
8f440b79 1936 * .gdbinit (xfont): New command.
b2ee479e 1937
01ef9d36
AS
19382008-06-08 Andreas Schwab <schwab@suse.de>
1939
a4240420
AS
1940 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
1941 * Makefile.in (menu.o): Update dependencies.
1942
0181bf66 1943 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
1944 * emacs.c (main): Always call syms_of_menu.
1945 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
1946
c07cbae6
CY
19472008-06-08 Chong Yidong <cyd@stupidchicken.com>
1948
1949 * Makefile.in: Compile menu.c.
1950
1951 * lisp.h: Declare syms_of_menu.
1952
1953 * emacs.c (main): Call syms_of_menu.
1954
1955 * keyboard.h: Relocate platform-independent menu definitions from
1956 xmenu.c.
1957
1958 * menu.c: New file. Relocate platform-independent menu
904d8c69 1959 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
1960
1961 * xmenu.c: Remove platform-independent menu definitions.
1962 (menu_items menu_items_inuse, menu_items_allocated)
1963 (menu_items_used, menu_items_n_panes)
1964 (menu_items_submenu_depth): Move to keyboard.h.
1965 (init_menu_items, finish_menu_items, unuse_menu_items)
1966 (discard_menu_items, restore_menu_items, save_menu_items)
1967 (grow_menu_items, push_submenu_start, push_submenu_end)
1968 (push_left_right_boundary, push_menu_pane, push_menu_item)
1969 (keymap_panes, single_keymap_panes, single_menu_item)
1970 (list_of_panes, list_of_items, find_and_call_menu_selection)
1971 (xmalloc_widget_value, free_menubar_widget_value_tree)
1972 (parse_single_submenu, digest_single_submenu)
1973 (update_submenu_strings): Move to menu.c.
1974
4958ed94
SM
19752008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
1976
1977 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
1978
408b8ab4
MB
19792008-06-06 Miles Bader <miles@gnu.org>
1980
1981 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
1982 face, not frame default.
1983
87478b52
SM
19842008-06-05 Martin Rudalics <rudalics@gmx.at>
1985
1986 * window.c (pop_up_windows, pop_up_frames)
1987 (display_buffer_reuse_frames, Vpop_up_frame_function)
1988 (Vdisplay_buffer_function, Veven_window_heights)
1989 (Vspecial_display_buffer_names, Vspecial_display_regexps)
1990 (Vspecial_display_function, Vsame_window_buffer_names)
1991 (Vsame_window_regexps, split_height_threshold)
1992 (Vsplit_window_preferred_function): Move those vars to window.el.
1993 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
1994 (Fdisplay_buffer): Move those functions to window.el.
1995 (syms_of_window): Remove corresponding declarations.
1996 (display_buffer): New function.
1997 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
1998 * dispnew.c (Flast_nonminibuf_frame): New function.
1999 * buffer.c (Fpop_to_buffer): Move to window.el.
2000
9e0e0d77
SM
20012008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
2002
2003 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
2004
4a485df8
KH
20052008-06-05 Kenichi Handa <handa@m17n.org>
2006
2007 * coding.c (detect_coding): Fix previous change.
2008 (detect_coding_system): Likewise.
2009
8ba31f36
SM
20102008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
2011
c0dc8f64
SM
2012 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
2013
8ba31f36
SM
2014 * keymap.c (Vminibuffer_local_filename_must_match_map):
2015 Rename from Vminibuffer_local_must_match_filename_map.
2016 (syms_of_keymap):
2017 * minibuf.c (Fcompleting_read): Adjust accordingly.
2018 * commands.h: Rename declaration as well.
2019
7740d2c7
KH
20202008-06-05 Kenichi Handa <handa@m17n.org>
2021
e7438ece
KH
2022 * font.c (Ffont_spec): Don't use font_parse_family_registry for
2023 family name.
2024 (Ffont_put): Likewise.
2025
2026 * fontset.c (fontset_find_font): Call font_open_for_lface with the
2027 current font-spec.
2028
7740d2c7
KH
2029 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
2030 is unspecified.
2031
2032 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
2033 are the same as those of default face, realize a new fontset from
2034 default->fontset.
9e0e0d77 2035 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 2036
c876b227
SM
20372008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
2038
2039 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
2040 (move_it_in_display_line): New wrapper.
2041
2042 * window.c (window_scroll_pixel_based_preserve_x)
2043 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
2044 (window_scroll_pixel_based, window_scroll_line_based):
2045 Use them to preserve column positions.
2046 (syms_of_window): Initialize them.
2047
2048 * indent.c (Fvertical_motion): Extend first arg to allow passing an
2049 (HPOS . VPOS) pair.
2050
2051 * dispextern.h (move_it_in_display_line): Declare.
2052
927abf37
JB
20532008-06-05 Juanma Barranquero <lekktu@gmail.com>
2054
2055 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
2056 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
2057 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
2058
9d14503e
JB
20592008-06-04 Juanma Barranquero <lekktu@gmail.com>
2060
2061 * window.c (Fset_window_parameter): Doc fix.
2062 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
2063
e6841c3b
JB
20642008-06-04 Joakim Verona <joakim@verona.se>
2065
2066 * window.h (struct window): Add new member window_parameters.
2067
2068 * window.c (Fwindow_parameters, Fwindow_parameter)
2069 (Fset_window_parameter): New defuns.
2070 (syms_of_window): Defsubr the new defuns.
2071 (make_window): Initialize window_parameters to nil.
2072
4ba50634
JPW
20732008-06-04 John Paul Wallington <jpw@pobox.com>
2074
2075 * eval.c (Fdefmacro): Doc fix.
2076
c0e16b14
KH
20772008-06-04 Kenichi Handa <handa@m17n.org>
2078
2079 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 2080 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
2081 (detect_coding_system): Fix handling of coding->head_ascii.
2082
0615d903
AS
20832008-06-03 Andreas Schwab <schwab@suse.de>
2084
2085 * font.c (font_prop_validate_spacing): Fix last change.
2086
8a1816bb
KH
20872008-06-03 Kenichi Handa <handa@m17n.org>
2088
eea9c5c4
KH
2089 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
2090 (font_parse_fcname): Fix handling of unknown key.
2091
2092 * xfont.c (xfont_list): Try an alias.
2093
8a1816bb
KH
2094 * charset.c (char_charset): Return NULL if the arg charset_list is
2095 specified and C doesn't belong to any of them.
2096
2f593f4c 20972008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
2098
2099 * font.c (font_pixel_size): Don't take cdr of an integer.
2100
c2cd06e6
JM
21012008-06-02 Jim Meyering <meyering@redhat.com>
2102
70fdbb46
JM
2103 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
2104 * alloc.c (xfree): Return right away for a NULL arg.
2105 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
2106 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
2107 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
2108 (create_apple_event_from_drag_ref, cfstring_create_normalized):
2109 Likewise.
70fdbb46
JM
2110 * doprnt.c (doprnt1): Likewise.
2111 * frame.c (frame): Likewise.
2112 * keyboard.c (wipe_kboard): Likewise.
1f204af3 2113 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
2114 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
2115 * term.c (tty_default_color_capabilities, maybe_fatal)
2116 (delete_tty): Likewise.
2117 * w16select.c (string): Likewise.
2118 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
2119 * w32bdf.c (w32_free_bdf_font): Likewise.
2120 * w32fns.c (w32_unload_font): Likewise.
2121 * w32font.c (w32font_close): Likewise.
2122 * window.c (size_window): Likewise.
2123 * xselect.c (receive_incremental_selection): Likewise.
2124 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
2125 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
2126 * w32.c (stat): Likewise.
2127
2f593f4c 2128 Remove useless if-before-free tests.
70fdbb46
JM
2129 * editfns.c (Fset_time_zone_rule): Likewise.
2130 * lread.c (nosuffix): Likewise.
2131 * ralloc.c (get_bloc): Likewise.
2132 * regex.c (reg_free): Likewise.
2133 * xftfont.c (xftfont_open, xftfont_close): Likewise.
2134 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
2135 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 2136
4fc1984a
KH
21372008-06-02 Kenichi Handa <handa@m17n.org>
2138
1d1e1245
KH
2139 * font.c (font_find_for_lface): Handle float font size.
2140 (font_open_for_lface): Likewise.
2141
4fc1984a
KH
2142 * xfaces.c (x_supports_face_attributes_p): Check face->font before
2143 comparing the properties.
2144
aee986fd
JR
21452008-06-01 Jason Rumney <jasonr@gnu.org>
2146
e6841c3b
JB
2147 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
2148 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
2149 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
2150 Don't add empty script list.
2151 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 2152
60a3d7ee
DN
21532008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
2154
aee986fd 2155 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
2156 ".." has been used elsewhere in the file for a long time.
2157 (LIBXT_STATIC): Remove conditional based on unused variable.
2158
f2cec7a9
MB
21592008-06-01 Miles Bader <miles@gnu.org>
2160
2161 * xfaces.c (Vface_remapping_alist): New variable.
2162 (syms_of_xfaces): Initialize it.
2163 (enum named_merge_point_kind): New type.
2164 (struct named_merge_point): Add `named_merge_point_kind' field.
2165 (push_named_merge_point): Make cycle detection respect different
2166 named-merge-point kinds.
c876b227 2167 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
2168 Remove face-name alias resolution.
2169 (lface_from_face_name): New definition using
2170 `lface_from_face_name_no_resolve'.
c876b227 2171 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
2172 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
2173 (get_lface_attributes): New definition that layers face-remapping on
2174 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
2175 (lookup_basic_face): New function.
2176 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
2177 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
2178 `get_lface_attributes'.
2179 (face_at_buffer_position): Use `lookup_basic_face' to lookup
2180 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
2181 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
2182
2183 * xdisp.c (init_iterator): Pass base_face_id through
2184 `lookup_basic_face' when we actually use it as a face-id.
2185 (handle_single_display_prop): Use `lookup_basic_face' to lookup
2186 DEFAULT_FACE_ID.
2187
2188 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
2189 lookup the initial face-id.
2190
2191 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
2192
518c0b83
JB
21932008-06-01 Juanma Barranquero <lekktu@gmail.com>
2194
2195 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
2196 (Fremove_text_properties): Fix typos in docstrings.
2197
719b3d63
KH
21982008-05-31 Kenichi Handa <handa@m17n.org>
2199
e4c93315
KH
2200 * font.c (font_list_entities): Fix the car part of data to be
2201 stored in the cache.
2202
719b3d63
KH
2203 * ftfont.c (ftfont_font_format): Don't use strcasestr.
2204
d0827857
SM
22052008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2206
2207 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
2208 Add a `test' argument so another predicate than `equal' can be used.
2209 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
2210 (map_char_table): Remove unused vars `c' and `i'.
2211 * lisp.h (Foptimize_char_table): Adjust declaration.
2212 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
2213
a266686a
KH
22142008-05-30 Kenichi Handa <handa@m17n.org>
2215
d0827857 2216 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
2217 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
2218 defined.
2219
fd9440c5
SM
22202008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
2221
2222 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
2223 (Fmake_variable_frame_local): Disallow mixing buffer-local and
2224 frame-local settings for the same variable.
2225
fd2ae9b2
KH
22262008-05-30 Kenichi Handa <handa@m17n.org>
2227
9e0e0d77 2228 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
2229 (syms_of_fontset): Delete defsubr of Sfont_info.
2230
2231 * font.c (font_style_to_value, font_score): Delete casting of the
2232 args to xstcasecmp.
2233 (register_font_driver): Increment num_font_drivers only when
2234 registering the driver globally.
9e0e0d77 2235 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
2236 (syms_of_font): Defsubr Sfont_info.
2237
eaf11618
KH
22382008-05-29 Kenichi Handa <handa@m17n.org>
2239
2240 * coding.h (enum define_coding_utf8_arg_index): New enum.
2241 (enum coding_attr_index): Change coding_attr_utf_16_bom to
2242 coding_attr_utf_bom.
fd9440c5
SM
2243 (enum utf_bom_type): Rename from utf_16_bom_type.
2244 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
2245 (struct coding_system): Add utf_8_bom in `spec' union.
2246
2247 * coding.c (CODING_UTF_8_BOM): New macro.
2248 (enum coding_category): Delete coding_category_utf_8, add
2249 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
2250 coding_category_utf_8_sig.
2251 (CATEGORY_MASK_UTF_8): Delete it.
2252 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
2253 (CATEGORY_MASK_UTF_8_SIG): New macros.
2254 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
2255 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
2256 CATEGORY_MASK_UTF_8_SIG.
2257 (CATEGORY_MASK_UTF_8): New macro.
2258 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
2259 (detect_coding_utf_8): Check BOM.
2260 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 2261 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
2262 (encode_coding_utf_16): Likewise.
2263 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
2264 (detect_coding, detect_coding_system): Handle utf-8-auto.
2265 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
2266 (syms_of_coding): Fix setting up of Vcoding_category_table.
2267
891bd142
SM
22682008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
2269
2270 * process.c (Faccept_process_output): If `millisec' is non-nil,
2271 `seconds' default to 0.
2272 (wait_reading_process_output): Also return non-nil if we read output
2273 from a non-running process.
2274
1519d52e
JR
22752008-05-29 Jason Rumney <jasonr@gnu.org>
2276
fd9440c5
SM
2277 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
2278 `raster' specified.
2279 (add_font_entity_to_list): Allow non-opentype truetype fonts back
2280 in the uniscribe backend, but disallow any font that has no
2281 unicode subrange support.
1519d52e 2282
d5ab09cd
JB
22832008-05-29 Juanma Barranquero <lekktu@gmail.com>
2284
2285 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
2286 Fix typos in docstrings.
2287
a4eec626
KH
22882008-05-29 Kenichi Handa <handa@m17n.org>
2289
2290 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 2291 (Fx_family_fonts): Set frame correctly.
a4eec626 2292
a6e0b7e5
JR
22932008-05-28 Jason Rumney <jasonr@gnu.org>
2294
d5ab09cd 2295 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 2296
6b3d752c
SM
22972008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
2298
2299 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
2300 calling build_annotations.
2301
c3f9fba8
JB
23022008-05-28 Juanma Barranquero <lekktu@gmail.com>
2303
2304 * coding.c (Fdecode_coding_region, Fencode_coding_region)
2305 (Fencode_coding_string):
2306 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
2307 <latin-extra-code-table>: Fix typos in docstrings.
2308 (syms_of_coding) <coding-system-alist>: Doc fix.
2309 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
2310
00c670e1
KH
23112008-05-28 Kenichi Handa <handa@m17n.org>
2312
b75d7f28
KH
2313 * fontset.c (Ffont_info): Don't call font_close_object.
2314
2315 * font.c (font_parse_family_registry): Use Ffont_put to validate
2316 foundry and family.
2317 (font_delete_unmatched): Don't check spacing.
2318 (font_list_entities): Add spacing to the spec to list fonts.
2319
2320 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 2321 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 2322
00c670e1
KH
2323 * coding.c (encode_coding_raw_text): Fix previous change.
2324 (encode_coding_object): When the dst_object is a buffer and is
2325 different from src_object, move gap to PT.
2326
45feca91
CY
23272008-05-27 Chong Yidong <cyd@stupidchicken.com>
2328
c3f9fba8 2329 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 2330
5dd5d9eb
SM
23312008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2332
01d45367
SM
2333 * coding.c (encode_coding_raw_text): Set coding->produced_char for
2334 all branches. Compute it differently.
2335
5dd5d9eb
SM
2336 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
2337
9c623c85
JB
23382008-05-27 Juanma Barranquero <lekktu@gmail.com>
2339
2340 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
2341 into "else if () ... else ...".
2342
943f2093
JR
23432008-05-27 Jason Rumney <jasonr@gnu.org>
2344
5dd5d9eb
SM
2345 * w32font.c (w32font_open_internal): Determine if glyph indices
2346 are likely to work here.
943f2093 2347
7385fe74
CY
23482008-05-27 Chong Yidong <cyd@stupidchicken.com>
2349
2350 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
2351 draw overlap glyphs with appropriate highlighting.
2352
4f64a164
KH
23532008-05-27 Kenichi Handa <handa@m17n.org>
2354
2355 * xfont.c (xfont_open): Fix calculation of font->average_width.
2356
1fb5aad7
SM
23572008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
2358
2359 * casefiddle.c (casify_object): Try to guess better whether the
2360 argument is a byte or a char.
2361
f8eb1603
AS
23622008-05-26 Andreas Schwab <schwab@suse.de>
2363
1fb5aad7
SM
2364 * xselect.c (x_reply_selection_request): Properly handle format == 32.
2365 Always send multiples of format size.
5a9c35e5 2366
f8eb1603
AS
2367 * xterm.c (x_set_frame_alpha): Fix type mismatch.
2368
ba93d684
JR
23692008-05-26 Jason Rumney <jasonr@gnu.org>
2370
1fb5aad7
SM
2371 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
2372 (compute_metrics): Don't set failure if we just cleared the cache.
2373 (w32_weight_table): Remove unused variable.
2374 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
2375 backwards compatibility.
ba93d684 2376
505ecc49
KH
23772008-05-25 Kenichi Handa <handa@m17n.org>
2378
1fb5aad7
SM
2379 * w32term.c (x_draw_glyph_string):
2380 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
2381
2382 * xfaces.c: Delete unused function prototypes.
2383 (xstrlwr, font_frame): Delete them.
2384 (clear_face_cache): Delete unused variable.
2385
1fb5aad7
SM
2386 * xftfont.c (xftfont_open): Delete unused variable.
2387 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
2388
2389 * ftxfont.c (ftxfont_open): Delete unused variable.
2390
2391 * fontset.c (face_for_char): Optimize for the case of no charset
2392 property.
2393
2394 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
2395 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
2396 (otf_open, font_otf_capability, generate_otf_features)
2397 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 2398 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
2399 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
2400 (syms_of_font): Codes for accessing above commented out.
2401
f481eb31
EZ
24022008-05-24 Eli Zaretskii <eliz@gnu.org>
2403
2404 * w32proc.c: Include dispextern.h.
2405
2406 * w32.c: Include dispextern.h.
2407
20746fe4
JB
24082008-05-23 Juanma Barranquero <lekktu@gmail.com>
2409
2410 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
2411 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
2412 Fix typos in docstrings.
2413
e7150846
JR
24142008-05-23 Jason Rumney <jasonr@gnu.org>
2415
20746fe4 2416 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 2417
dbf46ba6
KH
24182008-05-23 Kenichi Handa <handa@m17n.org>
2419
6c652beb
KH
2420 * charset.c (Qemacs, charset_emacs): New variables.
2421 (char_charset): Fix for non-Unicode characters.
2422 (syms_of_charset): Define charset_emacs.
2423
baf4d3b3 2424 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
2425 s->underline_thickness and s->underline_position. Be sure to draw
2426 underline within the current line area.
baf4d3b3
KH
2427
2428 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 2429 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 2430 underline within the current line area.
baf4d3b3 2431
dbf46ba6
KH
2432 * fontset.c: Delete unused variables and add casting for char *
2433 throughout the file.
2434 (fontset_font): Try the fallback fonts of the current fontset
2435 before consulting the default fontset.
2436
2437 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
2438
9e0e0d77 2439 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 2440
3b780338
JR
24412008-05-22 Jason Rumney <jasonr@gnu.org>
2442
20746fe4 2443 * font.c: Don't include strings.h.
577eba22 2444
9e0e0d77 2445 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 2446
20746fe4
JB
2447 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
2448 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
2449 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
2450 to call xstrcasecmp.
05131107 2451
b1722a46 2452 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 2453
b1722a46 2454 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 2455
b1722a46 2456 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 2457
b1722a46 2458 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 2459
a30e1957
KH
24602008-05-22 Kenichi Handa <handa@m17n.org>
2461
20746fe4 2462 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 2463
20746fe4 2464 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
2465 change of font_style_table.
2466
a30e1957
KH
2467 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
2468 two args.
2469
2470 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
2471 two args.
2472
631248e5
SM
24732008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
2474
2475 * minibuf.c (keys_of_minibuf): Delete.
2476 * lisp.h (keys_of_minibuf): Delete.
2477 * emacs.c (main): Don't call keys_of_minibuf.
2478
318548be
KH
24792008-05-22 Kenichi Handa <handa@m17n.org>
2480
631248e5 2481 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
2482 ftfont_list_generic_family. Return a single family for each
2483 generic family.
2484 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
2485 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
2486 Call font_add_log.
318548be
KH
2487 (ftfont_match): Call font_add_log.
2488
2489 * font.h (Ffont_xlfd_name): EXFUN adjusted.
2490 (FONT_DEBUG): Define it.
2491 (font_add_log): Extern it.
631248e5 2492 (font_assert): Rename from xassert.
318548be
KH
2493
2494 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
2495 (xfont_list_family): Call font_add_log.
2496 (xfont_match): Likewise.
631248e5 2497 (memq_no_quit): Delete.
318548be
KH
2498
2499 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
2500 call of Ffont_xlfd_name.
2501
2502 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 2503 (swidth_table): Move to font.c.
318548be
KH
2504
2505 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 2506 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
2507 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
2508 New variables.
631248e5
SM
2509 (struct table_entry): Move from xfaces.c and modified.
2510 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 2511 contents adjusted for the change of struct table_entry.
20746fe4 2512 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 2513 format change of font_style_table.
318548be
KH
2514 (font_parse_family_registry): Don't overwrite existing foundry and
2515 family of font_spec.
2516 (font_score): Fix calculation of diff for sizes.
2517 (font_sort_entites): Call font_add_log.
2518 (font_delete_unmatched): Return a newly created list.
2519 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
2520 (font_matching_entity, font_open_entity, font_close_entity):
2521 Call font_add_log.
318548be 2522 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 2523 (Finternal_set_font_style_table): Delete.
318548be
KH
2524 (BUILD_STYLE_TABLE): New macro.
2525 (build_style_table): New function.
2526 (Vfont_log, font_log_env_checked): New variables.
2527 (font_add_log): New function.
2528 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
2529 Declare Lisp variables "font-weight-table", "font-slant-table",
2530 "font-width-table", and "font-log". Initialize font_style_table.
2531
6aac1c03
DN
25322008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
2533
bcc850aa 2534 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 2535
7950790f
GM
25362008-05-21 Seiji Zenitani <zenitani@mac.com>
2537 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 2538
7950790f 2539 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 2540 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 2541 (x_set_alpha): New function.
a2979e8e 2542
7950790f 2543 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 2544
7950790f
GM
2545 * xfns.c (x-create-frame, Qalpha):
2546 Initialize the frame parameter `alpha'.
b9fb2c45
GM
2547 * xterm.c (OPAQUE, OPACITY): New.
2548 (x_set_frame_alpha): New function.
2549 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 2550
7950790f
GM
2551 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
2552 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 2553
5c2a72d9
JR
25542008-05-20 Jason Rumney <jasonr@gnu.org>
2555
20746fe4
JB
2556 * w32font.c (add_font_entity_to_list): Don't add non-opentype
2557 truetype fonts to opentype list.
5c2a72d9 2558
eb152aa9
JB
25592008-05-20 Juanma Barranquero <lekktu@gmail.com>
2560
2561 * fontset.c (Ffontset_info): Doc fix.
2562 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
2563 <ignore-relative-composition>: Fix typos in docstrings.
2564
2565 * font.c (syms-of-font) <font-encoding-alist>:
2566 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
2567 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
2568 (Ffont_otf_alternates): Doc fixes.
2569
ad00e1a3
KH
25702008-05-20 Kenichi Handa <handa@m17n.org>
2571
2572 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
2573 font.h through out the file.
9e0e0d77 2574 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 2575 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
2576 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
2577
2578 * emacs.c (main): Call syms_of_font unconditionally.
2579
2580 * font.h (find_font_encoding): Extern it.
2581
9e0e0d77 2582 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
2583 fontset.c.
2584 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
2585 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
2586 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
2587 only when HAVE_WINDOW_SYSTEM is defined.
2588 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
2589 when HAVE_WINDOW_SYSTEM is defined.
2590
9e0e0d77
SM
2591 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
2592 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
2593
2594 * xfaces.c: Include font.h unconditionally.
2595 (merge_face_ref, merge_face_vectors)
2596 (Finternal_set_lisp_face_attribute): Cancel the previous change.
2597
40a69fac
SM
25982008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
2599
2600 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
2601 indirect_variable.
2602 * eval.c (lisp_indirect_variable): New fun.
2603 (Fuser_variable_p): Use it.
2604
8c2dccbf
SM
26052008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
2606
ad97b375
SM
2607 * lisp.h (indirect_variable):
2608 * data.c (indirect_variable, let_shadows_buffer_binding_p):
2609 Use Lisp_Symbol pointers rather than Lisp_Object.
2610 Adjust callers.
2611 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
2612 To this end, change calling-convention.
2613
8c2dccbf
SM
2614 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
2615 if some non-hidden buffers are selected by string&pred.
2616
ad97b375
SM
26172008-05-19 Chong Yidong <cyd@stupidchicken.com>
2618
2619 * process.c (wait_reading_process_output): Always check status
2620 when in batch mode.
2621
25b81df4
KH
26222008-05-19 Kenichi Handa <handa@m17n.org>
2623
2624 * font.c (font_list_entities): Fix handling of cache.
2625 (font_matching_entity): Likewise.
2626
8c2dccbf 2627 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 2628 (ft_face_cache): New variable.
1f204af3 2629 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 2630 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
2631 (fc_charset_table): New variable.
2632 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
2633 . FC_CHARSET_IDX) as :font-entity property in the font entity.
2634 Callers changed.
dde8403f 2635 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
2636 (ftfont_spec_pattern): New argument fc_charset_idx.
2637 Check registry more rigidly. Change callers.
a2979e8e 2638 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
2639 change of :font-entity property of the font.
2640
a2979e8e 2641 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
2642 property of the font.
2643
d4a1d553
JB
26442008-05-18 Juanma Barranquero <lekktu@gmail.com>
2645
2646 * coding.c (Fcoding_system_p): Rename argument to match docstring.
2647 (Funencodable_char_position, Fcheck_coding_systems_region)
2648 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
2649 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
2650 (Ffind_operation_coding_system, Fset_coding_system_priority)
2651 (Fcoding_system_eol_type): Doc fixes.
2652
07cfc4e7
GM
26532008-05-17 Glenn Morris <rgm@gnu.org>
2654
2655 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
2656
1cab27d2
EZ
26572008-05-16 Eli Zaretskii <eliz@gnu.org>
2658
2659 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
2660 and st_gid.
2661
dde8403f 2662 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
2663 HAVE_WINDOW_SYSTEM is not defined.
2664
2665 * xfaces.c (merge_face_ref, merge_face_vectors)
2666 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
2667 HAVE_WINDOW_SYSTEM is defined.
2668 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
2669
86b89713
SM
26702008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
2671
2672 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
2673
6750bd93
YM
26742008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2675
62867b11 2676 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 2677
79f105c9
KH
26782008-05-15 Kenichi Handa <handa@m17n.org>
2679
2680 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
2681 preference.
2682
6b33da9f
GM
26832008-05-15 Glenn Morris <rgm@gnu.org>
2684
2685 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
2686
d0e4433b
CY
26872008-05-15 Chong Yidong <cyd@stupidchicken.com>
2688
2689 * fns.c (init_fns): Don't initialize weak_hash_tables here.
2690 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
2691
2692 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
2693
5f2d79e0
KH
26942008-05-15 Kenichi Handa <handa@m17n.org>
2695
fd8a1cae
KH
2696 * ftfont.c (ftfont_list): Downcase family name to check generic
2697 families.
2698
2699 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
2700 font-spec for QCfont value.
2701
5f2d79e0
KH
2702 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
2703 buffer. Check the return value of it.
2704
e5e29349
JR
27052008-05-14 Jason Rumney <jasonr@gnu.org>
2706
2707 * w32term.c (w32_get_glyph_overhangs): Remove.
2708 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
2709
1f09f444
KH
27102008-05-14 Kenichi Handa <handa@m17n.org>
2711
2712 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
2713 (font_clear_cache): Check if the cached vector of entities is nil
2714 or not.
1f09f444 2715
ecae6af9 27162008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
2717
2718 * emacs.c (main_thread): Conditionalize on
2719 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2720 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
2721
2722 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
2723 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
2724 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
2725
c6b278e7
KH
27262008-05-14 Kenichi Handa <handa@m17n.org>
2727
2728 * coding.c (detect_coding_iso_2022): Ignore a coding category that
2729 has no corresponding coding system.
2730
27312008-05-14 Jason Rumney <jasonr@gnu.org>
2732
2733 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
2734
2735 * w32font.h (w32font_open_internal): Update declaration.
2736
2737 * w32font.c (w32font_open_internal): Change last argument from
2738 w32font_info struct to font object. Fill in font object from
2739 font_entity. Get Outline metrics if possible. Use them to
2740 calculate underline position and thickness. Use xlfd name as name
2741 property. Don't set codepage.
2742 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 2743 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
2744 (w32font_draw): Use s->font.
2745 (clear_cached_metrics): Don't clear non-existent blocks.
2746
2747 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
2748 font was not found.
a879ee6f 2749 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
2750
2751 * w32uniscribe.c (uniscribe_open): Pass font_object to
2752 w32font_open_internal.
2753
27542008-05-14 Kenichi Handa <handa@m17n.org>
2755
2756 These changes are to delete all legacy font-handling codes, and
2757 make Emacs use only font-backends.
2758
2759 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
2760 (frame.o, image.o, print.o): Depend on $(FONTSRC).
2761
2762 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
2763
2764 * charset.h (Vcharset_non_preferred_head)
2765 (Vcurrent_iso639_language): Extern them.
2766
2767 * charset.c (Vcharset_non_preferred_head): New variable.
2768 (Vcurrent_iso639_language): New variable.
2769 (syms_of_charset): Declare it as a Lisp variable.
2770 (char_charset): Don't check non preferred charsets. As a last
2771 resort, return charset_unicode.
2772 (Fset_charset_priority): Update Vcharset_non_preferred_head.
2773
2774 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
2775 conditionals. Don't check enable_font_backend. Delete all codes
2776 used only when USE_FONT_BACKEND is not defined.
2777
2778 * dispextern.h (struct glyph_string): Change type of `font' to
2779 `struct font *'.
2780 (struct glyph_string): New member underline_position and
2781 underline_thickness.
2782 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
2783 (struct face): Change type of `font' to `struct font *'. Remove
2784 members `font_name', `font_info_id'.
2785 (per_char_metric, encode_char): Delete externs.
2786 (calc_pixel_width_or_height): Adjust the prototype.
2787
2788 * emacs.c (enable_font_backend): Delete extern.
2789 (main): Don't set enable_font_backend. Don't check the command
2790 line argument "-disable-font-backend".
2791
2792 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
2793 (enum font_property_index): New members FONT_DPI_INDEX,
2794 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
2795 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
2796 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
2797 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
2798 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
2799 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
2800 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
2801 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
2802 (struct font_spec, struct font_entity): New structs.
2803 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
2804 (struct font): Many members from old "struct font_info" moved to
2805 here. Members font and entity deleted.
2806 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
2807 the new font-related objects.
2808 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
2809 (CHECK_FONT_GET_OBJECT): Likewise.
2810 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
2811 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
2812 (struct font_driver): New members case_sensitive anc check. Type
2813 of the member list and open changed.
2814 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
2815 (font_symbolic_width, font_find_object, font_get_spec)
2816 (font_set_lface_from_name): Delete extern.
20746fe4 2817 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
2818
2819 * font.c: Include <strings.h>.
2820 (enable_font_backend): Delete it.
2821 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
2822 (CHECK_VALIDATE_FONT_SPEC): Delete it.
2823 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
2824 (null_string): Delete it.
2825 (null_vector): Make it static.
2826 (font_family_alist): Delete it.
2827 (Qnormal): Extern it.
2828 (QCextra, QClanguage): Delete it.
1f204af3 2829 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
2830 (font_make_spec, font_make_entity, font_make_object)
2831 (font_intern_prop): Renamed from intern_downcase. Don't downcase
2832 the string. Callers changed.
2833 (font_pixel_size): Adjusted for the format change of font-related
2834 objects.
2835 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
2836 (font_style_to_value, font_style_symbolic): New function.
2837 (build_font_family_alist): Delete it.
2838 (font_registry_charsets): Use Fassoc_string instead of
2839 assq_no_quit.
2840 (font_prop_validate_symbol): Don't return null_string.
2841 (font_prop_validate_style): Adjusted for the change of
2842 style-related values in a font vector.
20746fe4 2843 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
2844 QCantialias, add entries for QCavgwidth.
2845 (get_font_prop_index): Delete the 2nd argument FROM.
2846 (font_prop_validate): Arguments changed.
2847 (font_put_extra): Adjusted for the change of font-related objects.
2848 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
2849 (font_parse_fcname, font_unparse_fcname)
2850 (font_prepare_composition): Likewise.
2851 (font_parse_family_registry): Renamed from font_merge_old_spec.
2852 (otf_open): Delete the 1st arg entity.
2853 (font_otf_capability): Adjusted for the above change.
2854 (font_score): New arg alternate_families. Adjusted for the change
2855 of font-related objects.
2856 (font_sort_entites): New arg best_only.
2857 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
2858 Delete them.
2859 (font_match_p): Check alternate families.
2860 (font_find_object): Delete it.
2861 (font_check_object): New function.
c3f9fba8 2862 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
2863 (font_delete_unmatched): New arg.
2864 (font_list_entities): Call font_driver->list with a spec that
2865 doesn't specify style-related properties.
2866 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 2867 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
2868 (font_close_object, font_has_char, font_encode_char)
2869 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
2870 (font_spec_from_name, font_clear_prop, font_update_lface):
2871 New functions.
2872 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
2873 (font_prepare_for_face, font_done_for_face, font_open_by_name)
2874 (font_at): Adjusted for the change of font-related objects.
2875 (font_range): New function.
2876 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 2877 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
2878 (Fcopy_font_spec, Fmerge_font_spec): New function.
2879 (Ffont_family_list): Renamed from list-families.
2880 (Finternal_set_font_style_table): Arguments changed.
2881 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
2882 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
2883 change of font-related objects.
c3f9fba8 2884 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 2885
3554e566 2886 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
2887 struct font.
2888 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
2889 (enum FONT_SPEC_INDEX): Delete it.
2890 (font_info, list_fonts_func, load_font_func, query_font_func)
2891 (set_frame_fontset_func, find_ccl_program_func)
2892 (get_font_repertory_func, new_fontset_from_font_name): Delete
2893 externs.
2894 (fontset_from_font_name): Extern it.
2895 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
2896 (FONT_INFO_FROM_FACE): Deleted.
2897 (face_for_font): Adjust prototype.
2898
2899 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
2900 conditionals. Don't check enable_font_backend. Delete all codes
2901 used only when USE_FONT_BACKEND is not defined.
2902 (get_font_info_func, list_font_func, load_font_func)
2903 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
2904 (get_font_repertory_func): Delete them.
2905 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
2906 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
2907 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
2908 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
2909 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
2910 (fontset_compare_rfontdef): New function.
2911 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
2912 ront-defs by qsort. Adjusted for the change of font-group vector.
2913 (load_font_get_repertory): Deleted.
2914 (fontset_find_font): Use new macros to ref/set elements of
2915 font-def and rfont-def.
2916 (fontset_font): Fix the timing of remembering that no font for C.
2917 (free_face_fontset): Do nothing if the face has no fontset.
2918 (face_suitable_for_char_p): Use new macros to ref/set elements of
2919 rfont-def.
2920 (face_for_char): Likewise. Call face_for_char with font_object.
2921 (fs_load_font): Delete. Delete #pragma surrounding it.
2922 (fs_query_fontset): Use strcasecmp instead of strcmp.
2923 (generate_ascii_font_name): Adjusted for the format change of
2924 font-spec.
2925 (Fset_fontset_font): Likewise. Use new macros to set elements of
2926 font-def.
2927 (Fnew_fontset): Use font_unparse_xlfd to generate
2928 FONTSET_ASCII (fontset).
2929 (new_fontset_from_font_name): Deleted.
2930 (fontset_from_font): Renamed from new_fontset_from_font. Check if
2931 a fontset is already created for the font. FIx updating of
2932 Vfontset_alias_alist.
2933 (fontset_ascii_font): Deleted.
2934 (Ffont_info): Adjusted for the format change of font-spec.
2935 (Finternal_char_font): Likewise.
2936 (Ffontset_info): Likewise.
2937 (syms_of_fontset): Don't check load_font_func.
2938
2939 * fns.c (internal_equal): Handle PREV_FONT.
2940
2941 * frame.h: Delete USE_FONT_BACKEND conditional.
2942
2943 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
2944 conditionals. Don't check enable_font_backend. Delete all codes
2945 used only when USE_FONT_BACKEND is not defined.
2946 (x_set_font): Call x_new_font, not x_new_fontset2.
2947 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
2948 already set for the frame.
2949
2950 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
2951 a font-entity by font_make_entity. Use font_intern_prop instead
2952 of intern_downcase. Use FONT_SET_STYLE to set a style-related
2953 font property. If a font is scalable, set avgwidth property to 0.
2954 Set font-entity property by font_put_extra.
2955 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
2956 (ffont_driver): Adjusted for the change of struct font_driver.
2957 (ftfont_spec_pattern): New function.
2958 (ftfont_list): Return a list, not vector.
2959 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
2960 (ftfont_list_family): Don't downcase names.
2961 (ftfont_free_entity): Deleted.
2962 (ftfont_open): Return a font-ojbect. Adjusted for the change of
2963 struct font. Get underline_thickness and underline_position from
2964 font property. Don't update dpyinfo->smallest_font_height and
2965 dpyinfo->smallest_char_width.
2966 (ftfont_close): Don't free `struct font'.
2967 (ftfont_has_char): Adjusted for the format change of font-entity.
2968 (ftfont_encode_char, ftfont_text_extents): Likewise.
2969
2970 * ftxfont.c (ftxfont_list): Return a list, not vector.
2971 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
2972 struct font. Get underline_thickness and underline_position from
2973 font property. Don't update dpyinfo->smallest_font_height and
2974 dpyinfo->smallest_char_width.
2975 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
2976 (ftxfont_draw): Adjusted for the change of struct font.
2977
2978 * image.c (image_ascent): Don't include "charset.h". Include
2979 "character.h" and "font.h".
2980
2981 * lisp.h (enum pvec_type): New member PREV_FONT.
2982 (Fassoc_string): EXFUN it.
2983
2984 * print.c: Include font.h.
2985 (print_object): Handle font-related objects.
2986
2987 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
2988 conditionals. Don't check enable_font_backend. Delete all codes
2989 used only when USE_FONT_BACKEND is not defined.
2990 (handle_auto_composed_prop): Do nothing if it->f is not on a
2991 window system. Check how many following characters can be
2992 displayed by the same font.
2993 (calc_pixel_width_or_height): Type of the 4th arg is changed to
2994 'struct font *'.
2995 (get_char_face_and_encoding): Assign the whole encoding task to
2996 the `encode-char' method of a font driver.
2997 (fill_composite_glyph_string): Adjusted for the change of `struct
2998 face' and `struct glyph_string'.
2999 (fill_glyph_string): Likewise.
3000 (get_per_char_metric): Arguments changed.
3001 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
3002 and `struct glyph_string'.
3003 (produce_stretch_glyph, calc_line_height_property)
3004 (x_produce_glyphs): Likewise.
3005
3006 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
3007 conditionals. Don't check enable_font_backend. Delete all codes
3008 used only when USE_FONT_BACKEND is not defined. Use
3009 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
3010 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
3011 (Qp): Extern them.
3012 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
3013 Deleted.
3014 (struct font_name): Deleted.
3015 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
3016 (compare_fonts_by_sort_order): New function.
3017 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
3018 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
3019 Deleted.
3020 (Fx_family_fonts): Use font_list_entities, and sort fonts by
3021 compare_fonts_by_sort_order.
3022 (Fx_font_family_list): Call Ffont_family_list.
3023 (face_numeric_value, face_numeric_weight, face_numeric_slant)
3024 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
3025 (face_symbolic_slant, face_symbolic_swidth)
3026 (split_font_name_into_vector, build_font_name_from_vector)
3027 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
3028 (font_rescale_ratio, split_font_name, build_font_name)
3029 (free_font_names, sort_fonts, x_face_list_fonts)
3030 (face_font_available_p, sorted_font_list, cmp_font_names)
3031 (font_list_1, concat_font_list, font_list, remove_duplicates):
3032 Deleted.
3033 (Fx_list_fonts): Use Ffont_list.
3034 (LFACE_AVGWIDTH): Deleted.
3035 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
3036 by FONTP.
3037 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3038 (set_lface_from_font_name): Delete it.
3039 (set_lface_from_font): Renamed from
3040 set_lface_from_font_and_fontset. Caller changed. Don't set
3041 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
3042 for face.
c3f9fba8
JB
3043 (merge_face_vectors): Copy font-spec if necessary.
3044 Clear properties of the font-spec if necessary.
c6b278e7
KH
3045 (merge_face_ref): Clear properties of the font-spec if necessary.
3046 (Finternal_set_lisp_face_attribute): Likewise.
3047 (set_font_frame_param): Use font_load_for_lface to load a
3048 font-object, and call Fmodify_frame_parameters with it.
3049 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
3050 font name by Ffont_xlfd_name.
3051 (Finternal_lisp_face_attribute_values): Don't check QCweight,
3052 QCslant, and QCwidth.
3053 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
3054 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
3055 Compare fonts by EQ.
3056 (lookup_non_ascii_face): Deleted.
3057 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
3058 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
3059 Check atomic font properties by case insensitive.
c6b278e7
KH
3060 (realize_non_ascii_face): Set face->overstrike correctly.
3061 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
3062 (dump_realized_face): Get font name from
3063 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
3064
3065 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
3066 conditionals. Don't check enable_font_backend. Delete all codes
3067 used only when USE_FONT_BACKEND is not defined.
3068 (xic_create_xfontset): Original code deleted and renamed from
3069 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
3070 (x_make_gc): Don't set GCFont in GCs.
3071 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
3072 opened by "fixed".
3073 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
3074 find_ccl_program_func, query_font_func, set_frame_fontset_func,
3075 get_font_repertory_func.
3076
3077 * xfont.c: Include <stdlib.h> and "ccl.h".
3078 (struct xfont_info): New structure.
3079 (xfont_query_font): Deleted.
3080 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
3081 moved from xterm.c.
3082 (xfont_driver): Adjusted for the change of struct font_driver.
3083 (compare_font_names): New function.
3084 (xfont_list_pattern): Sort font names case insensitively. Make
3085 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
3086 (xfont_list): Return a list, not vector.
3087 (xfont_match): If the font doesn't have QCname property, generate
3088 a name from the other font properties.
3089 (xfont_open): Return a font-ojbect. Adjusted for the change of
3090 struct font. Get underline_thickness and underline_position from
3091 font property. Don't update dpyinfo->smallest_font_height and
3092 dpyinfo->smallest_char_width.
3093 (xfont_close): Don't free struct font.
3094 (xfont_prepare_face): Adjusted for the change of struct font.
3095 (xfont_done_face): Deleted.
3096 (xfont_has_char): Adjusted for the change of struct font.
3097 (xfont_encode_char, xfont_draw): Likewise.
3098 (xfont_check): New function.
3099
3100 * xftfont.c (xftfont_list): Adjusted for the change of `list'
3101 callback function.
3102 (xftfont_match): Adjusted for the fontmat change of font-entity.
3103 (xftfont_open): Adjusted for the format change of font-entity and
3104 font-object. Adjusted for the change of struct font. Return a
3105 font-object. Don't update dpyinfo->smallest_font_height and
3106 dpyinfo->smallest_char_width.
3107 (xftfont_close): Block input while calling XftFontClose.
3108 (xftfont_prepare_face): Don't block input while calling
3109 xftfont_get_colors. Adjusted for the change of struct font.
3110 (xftfont_shape): Return value of error case fixed.
3111
3112 * xrdb.c (x_load_resources): Don't setup a fontset resource.
3113
3114 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
3115 conditionals.
3116 (FONT_WIDTH): Return (f)->max_width.
3117 (struct x_display_info): Delete member `font'.
3118 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
3119 (x_find_ccl_program, x_get_font_repertory): Delete externs.
3120 (struct x_output): Change type of `font' to `struct font *'.
3121
3122 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
3123 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 3124 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
3125 (x_per_char_metric, x_encode_char): Deleted.
3126 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
3127 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 3128 `struct face'.
c6b278e7
KH
3129 (x_draw_glyph_string_foreground)
3130 (x_draw_composite_glyph_string_foreground): Likewise.
3131 (x_draw_glyph_string): Likewise. Use font->underline_position and
3132 font->underline_thickness.
3133 (x_new_font): Renamed from x_new_fontset2.
3134 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
3135 (x_check_font): Call `check' method of a font driver.
3136 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
3137 (x_query_font, x_get_font_repertory): Deleted.
3138 (x_find_ccl_program): Renamed and moved to xfont.c.
3139 (x_redisplay_interface): Adjusted for the change of `struct
3140 redisplay_interface'.
3141
3142 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
3143 conditionals. Don't check enable_font_backend. Delete all codes
3144 used only when USE_FONT_BACKEND is not defined. Surround non-used
3145 code by "#ifdef OLD_FONT" and "endif".
3146 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
3147
3148 * w32font.h (struct w32font_info): New member.
3149 (FONT_COMPAT): New macro.
3150 (w32font_open_internal): Prototype adjusted.
3151
3152 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
3153 OLD_FONT" and "endif".
3154
3155 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
3156 conditionals. Don't check enable_font_backend. Delete all codes
3157 used only when USE_FONT_BACKEND is not defined.
3158 (w32font_open): Return a font-object. Make a font-object by
3159 font_make_object. Adjusted for the change of struct w32font_info.
3160 (w32font_close): Don't free struct font. Adjusted for the change
3161 of struct w32font_info.
3162 (w32font_encode_char, w32font_text_extents, w32font_draw):
3163 Adjusted for the change of struct w32font_info.
3164 (w32font_draw): Likewise.
3165 (w32font_list_internal): Return a list, not vector.
3166 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 3167 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
3168 (add_font_name_to_list): Don't downcase names.
3169 (w32_enumfont_pattern_entity): Make a font-entity by
3170 font_make_entity. Adjusted for the format change of font-entity.
3171 Use FONT_SET_STYLE to set a style-related font property. If a
3172 font is scalable, set avgwidth property to 0. Set font-entity
3173 property by font_put_extra.
c3f9fba8 3174 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
3175 (w32_weight_table, w32_decode_weight): New variables.
3176 (w32_encode_weight): New function.
3177 (fill_in_logfont): Adjusted for the format change of font-spec.
3178 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
3179 weight value.
3180 (w32font_driver): Adjusted for the change of struct font_driver.
3181
3182 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
f245f2c6 3183 conditionals. Don't check enable_font_backend. Surround non-used
c6b278e7
KH
3184 code by "#ifdef OLD_FONT" and "endif".
3185 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
3186 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
3187
3188 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
3189 conditionals. Don't check enable_font_backend. Delete all codes
3190 used only when USE_FONT_BACKEND is not defined. Surround non-used
3191 code by "#ifdef OLD_FONT" and "endif".
3192
3193 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
3194 (uniscribe_open): Return value changed to font-object.
3195 Adjusted for the format change of font-object.
3196 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
3197 (add_opentype_font_name_to_list): Don't downcase names.
3198 (uniscribe_font_driver): Adjusted for the change of struct
3199 font_driver.
3200
f9d4c199
CY
32012008-05-13 Chong Yidong <cyd@stupidchicken.com>
3202
3203 * dispnew.c (update_frame_1): Check if tty output is still valid
3204 before flushing it.
3205
44f249c0
JD
32062008-05-13 Jan Djärv <jan.h.d@swipnet.se>
3207
3208 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
3209 to Gtk+ menus.
3210
01bb4018
SM
32112008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
3212
3271a8f5
SM
3213 * dired.c (file_name_completion): Tweak the code so as to always do it
3214 in a single pass. Tighten the scope of some variables.
3215
01bb4018
SM
3216 * dired.c (Qdefault_directory): New var.
3217 (file_name_completion): Use it instead of Fexpand_file_name.
3218 (syms_of_dired): Initialize it.
3219
728bb8e0
SM
32202008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
3221
3222 * fileio.c (double_dollars): Remove dead code.
3223
ed4c17bb
EZ
32242008-05-10 Eli Zaretskii <eliz@gnu.org>
3225
6c5665e9
EZ
3226 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
3227 Mention w32-get-true-file-attributes in doc string.
3228
ed4c17bb
EZ
3229 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
3230
71e1f69d
GM
32312008-05-09 Glenn Morris <rgm@gnu.org>
3232
3233 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
3234 2008-04-23.
3235
ee7a2e7a
EZ
32362008-05-09 Eli Zaretskii <eliz@gnu.org>
3237
8aaaec6b
EZ
3238 Support for reporting owner and group of each file on MS-Windows:
3239 * dired.c (stat_uname, stat_gname): New functions, with special
3240 implementation for w32.
3241 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
3242
ee7a2e7a
EZ
3243 * w32.c: Rename the_passwd_* to dflt_passwd_*.
3244 (dflt_group_name): New static variable.
728bb8e0 3245 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
3246 (init_user_info): Init dflt_group fields. Get user's group name
3247 from LookupAccountSid.
8aaaec6b
EZ
3248 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
3249 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
3250 New initialization states.
3251 (globals_of_w32): Initialize them to zero. Initialize the default
3252 group name to "None".
3253 (GetFileSecurity_Name): New global var, the name of the function
3254 to call for GetFileSecurity.
3255 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
3256 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
3257 (get_file_security, get_security_descriptor_owner)
3258 (get_security_descriptor_group, is_valid_sid)
3259 (get_file_security_desc, get_rid, get_name_and_id)
3260 (get_file_owner_and_group): New functions.
3261 (stat): Use get_file_security_desc and get_file_owner_and_group to
3262 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
3263 high 32 bits of file's size, now that st_size is 64-bit wide.
3264 Fix test when to get true file attributes.
8aaaec6b
EZ
3265 (init_user_info): Use get_rid instead of equivalent inline code.
3266 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 3267
b199c436
CY
32682008-05-09 Chong Yidong <cyd@stupidchicken.com>
3269
3270 * image.c (png_load): Use correct bit-depth for setting background
3271 color.
3272
86914123
EZ
32732008-05-08 Eli Zaretskii <eliz@gnu.org>
3274
3275 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
3276 epa-hook.elc.
3277
67b5d7de
JB
32782008-05-08 Juanma Barranquero <lekktu@gmail.com>
3279
3280 * font.c (Ffont_match_p): Don't use `iff' in docstring.
3281
1a111394
DN
32822008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
3283
3284 * macfns.c (Fx_create_frame): Make a copy of frame parameters
3285 because the original parameters are in pure storage now.
3286 (mac_window): Remove unused params. Update callers.
3287
6d77fa95
SM
32882008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
3289
7a3d90dc
SM
3290 * lread.c (substitute_object_recurse): Use lower-level primitives.
3291 Don't signal errors when traversing sub-char-tables.
3292 Don't loop over all the possible characters when traversing char-tables.
3293
6d77fa95
SM
3294 * print.c (print_preprocess): Add sub-char-tables to the print-table,
3295 just like we do in print.c.
3296
140eb764
SM
32972008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
3298
3299 * minibuf.c (Ftry_completion): Remove code left over from when we used
3300 scmp instead of Fcompare_strings.
3301
e9184ccb
JB
33022008-05-04 Juanma Barranquero <lekktu@gmail.com>
3303
3304 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
3305
0e9378b3
YM
33062008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3307
3308 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
3309 Create bitmap context in native byte order.
3310
f67e15be
MB
3311 * macterm.c (XDrawLine)
3312 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
3313 context in native byte order.
064032d0 3314
f67e15be 33152008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
3316
3317 * config.in: Regenerate.
3318
3319 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
3320 New definitions for Image I/O support.
3321 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
3322 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
3323 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3324 (mac_data_provider_release_data, image_load_image_io)
3325 [USE_MAC_IMAGE_IO]: New functions.
3326 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
3327 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
3328 (init_image_func_pointer) [MAC_OSX]: Remove function.
3329 (image_load_quartz2d) [MAC_OSX]: Check availability of
3330 CGImageCreateWithPNGDataProvider at compile time.
3331 Use lowercase `false' for boolean constant.
3332 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
3333 Use image_load_image_io.
3334 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
3335 Don't check MyCGImageCreateWithPNGDataProvider.
3336 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
3337 Don't call init_image_func_pointer.
3338
3339 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
3340
3341 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
3342 Make variable non-static.
3343 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
3344 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
3345
3346 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
3347 (RED_FROM_ULONG): Mask off higher bits.
3348 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
3349
3350 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
3351 Include AvailabilityMacros.h.
3352 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
3353 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
3354
c6bff69e
SM
33552008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
3356
3357 * chartab.c (Fset_char_table_range): If range is t, really set all
3358 chars to that value.
3359
7412d429
EZ
33602008-05-03 Eli Zaretskii <eliz@gnu.org>
3361
3362 * dired.c (Ffile_attributes): Don't allow the device number become
3363 negative.
3364
f83bbfac
DU
33652008-05-02 Daiki Ueno <ueno@unixuser.org>
3366
5a81d3d7 3367 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 3368
2e3148e2
JL
33692008-05-02 Juri Linkov <juri@jurta.org>
3370
3371 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
3372 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
3373 DEFAULT argument as a list of default values in docstrings.
2e3148e2 3374
923fb88c
CY
33752008-05-01 Chong Yidong <cyd@stupidchicken.com>
3376
3377 * puresize.h (BASE_PURESIZE): Increase to 1210000.
3378
047aaeb9
MR
33792008-05-01 Martin Rudalics <rudalics@gmx.at>
3380
3381 * dispnew.c (change_frame_size_1): Preserve small windows when
3382 shrinking frames by calling set_window_height|width with third
3383 arg 2.
3384
3385 * window.h (struct window): Replace field too_small_ok by field
3386 resize_proportionally.
3387
3388 * window.c (make_window): Initialize resize_proportionally.
3389 (enlarge_window): Temporarily set resize_proportionally to make
3390 sure that shrink_windows does scale the window proportionally.
3391 (shrink_windows): When window has resize_proportionally set try
3392 to shrink it proportionally by stealing from other windows.
3393 (struct saved_window, Fset_window_configuration)
3394 (compare_window_configurations): Handle resize_proportionally.
3395 (WINDOW_TOTAL_SIZE): New macro.
3396 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 3397 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
3398 window-min-height|width are handled by window_min_size_2 now.
3399 (size_window, Fsplit_window, enlarge_window)
3400 (adjust_window_trailing_edge, grow_mini_window): Don't call
3401 check_min_window_sizes.
c6bff69e
SM
3402 (window_min_size_2, window_min_size_1, window_min_size):
3403 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 3404 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
3405 (adjust_window_trailing_edge, grow_mini_window):
3406 Adjust arguments of window_min_size... functions.
047aaeb9
MR
3407 (shrink_windows): Argument min_size removed. New argument
3408 safe_p allows shrinking windows to their safe minimum sizes.
3409 Calculate minimum size and decide whether a window shall be
3410 deleted for each window individually.
3411 (size_window): When nodelete_p equals 2, tell shrink_windows to
3412 delete windows only if their new minimum size is no more safe.
3413 (shrink_window_lowest_first): Call window_min_size_1 to make
3414 sure to preserve modeline of bottom-most window when resizing
3415 the minibuffer.
3416 (Fset_window_configuration, Fcurrent_window_configuration)
3417 (compare_window_configurations): Do not handle
3418 window-min-height|width any more.
3419 (syms_of_window): Clarify window-min-height|width doc-strings.
3420
2a54a229
SM
34212008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
3422
3423 * dired.c (file_name_completion): Fix up the encoding/decoding issue
3424 some more. Copy some of the code from Ftry_completions.
3425 Remove special case code that dates back to initial revision when the
3426 slash was only added when necessary and that can't trigger nowadays.
3427
384bc634
KH
34282008-04-27 Kenichi Handa <handa@m17n.org>
3429
3430 * font.c (font_prop_validate): Signal `error' instead of `font'.
3431
2c2279c6
JR
34322008-04-29 Jason Rumney <jasonr@gnu.org>
3433
3434 * w32fns.c (Fw32_battery_status): New defun.
3435 (syms_of_w32fns): Defsubr it.
3436
fb4a622a
AS
34372008-04-28 Andreas Schwab <schwab@suse.de>
3438
3439 * dired.c (file_name_completion): Fix another mixing of encoded
3440 and decoded names.
3441
23f250f4
JB
34422008-04-28 Juanma Barranquero <lekktu@gmail.com>
3443
3444 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
3445
d8d30dff
JB
34462008-04-27 Juanma Barranquero <lekktu@gmail.com>
3447
3448 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
3449
ea6104a8
AS
34502008-04-27 Andreas Schwab <schwab@suse.de>
3451
9c691c00
AS
3452 * dired.c (file_name_completion): Fix inappropriate mixing of
3453 encoded and decoded names.
3454
ec1bf773
AS
3455 * xterm.c (XTread_socket): Fix use of uninitialized variable.
3456
ea6104a8
AS
3457 * puresize.h (BASE_PURESIZE): Increase to 1200000.
3458
01388a3d
EZ
34592008-04-26 Eli Zaretskii <eliz@gnu.org>
3460
3461 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
3462 2008-03-31, it's not needed anymore with `struct stat' definition
3463 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
3464 for the same reasons.
3465
175aea10 34662008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
3467
3468 * m/sparc.h: Additional redefinitions for GNU/Linux.
3469
1289aeb8
YM
34702008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3471
3472 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
3473 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
3474 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
3475 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
3476 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3477 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
3478 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3479 Likewise.
3480
3481 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 3482 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
3483 (mac_ax_number_of_characters): Add externs.
3484 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
3485 [USE_MAC_TSM]: Likewise.
3486 (mac_handle_text_input_event) [MAC_OSX]:
3487 Handle kEventTextInputOffsetToPos for no active input area case.
3488 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3489 (mac_handle_document_access_event)
3490 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
3491 (install_application_handler) [MAC_OSX]: Register handlers for
3492 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
3493 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3494 Register mac_handle_document_access_event.
3495
3496 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
3497 Make functions non-static.
3498
dbd50d4b
SM
34992008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
3500
3501 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
3502 (read_file_name_completion_ignore_case, insert_default_directory)
3503 (Qdefault_directory): Move to minibuffer.el.
3504 (Fread_file_name): Call the new `read-file-name' instead.
3505
9ea37b9d 35062008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
3507
3508 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
3509 Make function non-static.
3510 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
3511 Remove function.
3512 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3513 Move to mactoolbox.c.
3514 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
3515
3516 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
3517 (mac_rect_make): New macro.
3518
3519 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
3520 instead of float.
3521 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3522 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
3523 (XSetBackground) [USE_CG_DRAWING]: Likewise.
3524 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
3525 CGRectMake.
3526 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
3527 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
3528 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
3529 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3530 instead of WindowRef in argument type.
3531 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
3532 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
3533 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
3534 instead of DISPLAY. All uses changed.
3535 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
3536 (x_calc_absolute_position): Simplify so as not to use
3537 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
3538
3539 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
3540 instead of WindowRef in argument type.
3541 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
3542 [TARGET_API_MAC_CARBON]: Remove externs.
3543 (create_apple_event, mac_event_parameters_to_lisp)
3544 [TARGET_API_MAC_CARBON]: Add externs.
3545
d8d30dff 3546 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
3547 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
3548 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
3549 is clicked.
3550 (x_activate_menubar): Remove extern for saved_menu_event_location.
3551 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
3552 Move from mac.c.
3553
9ea37b9d 35542008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
3555
3556 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
3557 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
3558
9ea37b9d 35592008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
3560
3561 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
3562 attributes only for local files.
3563
3564 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 3565 default to Qlocal.
bd735631 3566
88970542
JL
35672008-04-22 Juri Linkov <juri@jurta.org>
3568
3569 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
3570 read-buffer-to-switch instead of using the letter "B".
3571
92ec67e3
SM
35722008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
3573
3574 * fileio.c (Qdefault_directory): New variable.
3575 (Fread_file_name): Use it to pass `dir' to the completion functions.
3576
a32b2382
CY
35772008-04-20 Chong Yidong <cyd@stupidchicken.com>
3578
2a2e8de7 3579 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 3580
6c8b4f07
SM
35812008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
3582
ece5f847
SM
3583 * keyboard.c (Vpre_help_message): Remove.
3584 (show_help_echo): Remove default C code.
3585
6c8b4f07
SM
3586 * dired.c (directory_files_internal, file_name_completion):
3587 Only call ENCODE_FILE if the string is indeed decoded.
3588
73d798d5
SM
35892008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3590
3591 * Makefile.in (TOOLKIT_DEFINES): Remove.
3592 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
3593
d8d30dff 35942008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
3595
3596 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
3597 (mactoolbox.o): New target.
3598
3599 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
3600 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
3601
3602 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
3603 Use mac_set_frame_window_background instead of XSetWindowBackground.
3604 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
3605 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
3606 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
3607 instead of SetWindowTitleWithCFString.
3608 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
3609 Move function to mactoolbox.c.
3610 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
3611 Use mac_set_window_modified instead of SetWindowModified.
3612 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
3613 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
3614 (Fx_focus_frame): Use mac_front_non_floating_window instead of
3615 FrontNonFloatingWindow. Use mac_activate_window instead of
3616 ActivateWindow. Use mac_active_non_floating_window instead of
3617 ActiveNonFloatingWindow.
3618 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
3619 Use mac_show_hourglass and mac_hide_hourglass.
3620 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
3621 instead of GetGlobalMouse.
3622 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
3623 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
3624 Use mac_bring_window_to_front instead of BringToFront.
3625 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
3626 mactoolbox.c.
3627 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
3628 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
3629 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
3630 mactoolbox.c.
3631
3632 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
3633 (XtPointer): Move typedef from macmenu.c.
3634 (enum button_type): Move enum from macmenu.c.
3635 (widget_value): Move typedef from macmenu.c.
3636 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
3637 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3638 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3639 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3640 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3641 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3642 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3643 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
3644 (Selection): Move typedef from macselect.c.
3645 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
3646 macterm.c.
3647 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
3648 (mac_is_window_collapsed, mac_bring_window_to_front)
3649 (mac_send_window_behind, mac_hide_window, mac_show_window)
3650 (mac_collapse_window, mac_front_non_floating_window)
3651 (mac_active_non_floating_window, mac_activate_window)
3652 (mac_move_window_structure, mac_move_window, mac_size_window)
3653 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
3654
3655 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
3656 (enum mac_menu_kind): Move enum to mactoolbox.c.
3657 (min_menu_id): Move variable to mactoolbox.c.
3658 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
3659 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
3660 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
3661 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
3662 [TARGET_API_MAC_CARBON]: Likewise.
3663 (XtPointer): Move typedef to macgui.h.
3664 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
3665 (widget_value): Move typedef to macgui.h.
3666 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
3667 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
3668 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
3669 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
3670 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
3671 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
3672 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
3673 (popup_activated_flag): Make variable non-static.
3674 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
3675 (add_menu_item, fill_menu, dispose_menus):
3676 Move functions to mactoolbox.c.
3677 (restore_show_help_function, menu_target_item_handler)
3678 (install_menu_target_item_handler, mac_handle_dialog_event)
3679 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
3680 [TARGET_API_MAC_CARBON]: Likewise.
3681 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
3682 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3683 (find_and_call_menu_selection, name_is_separator): Make function
3684 non-static.
3685 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
3686 to mactoolbox.c.
3687 (set_frame_menubar): Don't call install_menu_quit_handler.
3688 (menu_item_selection): New variable.
3689 (mac_menu_show): Use create_and_show_popup_menu.
3690 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
3691 selection but set variable menu_item_selection. All uses changed.
3692 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
3693 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 3694
d02fe47d
MB
3695 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
3696 (Selection): Move typedef to macgui.h.
3697 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
3698 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
3699 Make variables non-static.
3700 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3701 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
3702 Make functions non-static.
3703 (Vmac_service_selection) [MAC_OSX]: Likewise.
3704 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
3705 (mac_valid_selection_target_p, mac_clear_selection)
3706 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3707 (mac_put_selection_value, mac_selection_has_target_p)
3708 (mac_get_selection_value, mac_get_selection_target_list)
3709 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
3710 Move functions to mactoolbox.c.
3711 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
3712 Likewise.
3713 (copy_scrap_flavor_data, mac_handle_service_event)
3714 (install_service_handler) [MAC_OSX]: Likewise.
3715 (syms_of_macselect) <Vmac_dnd_known_types>:
3716 Use mac_dnd_default_known_types.
463f55ee 3717
d02fe47d
MB
3718 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
3719 Move to mactoolbox.c.
3720 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
3721 (Fx_selection_owner_p): Add EXFUN.
3722 (install_window_handler, remove_window_handler, XSetWindowBackground):
3723 Remove externs.
3724 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
3725 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
3726 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
3727 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
3728 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
3729 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
3730 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
3731 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
3732 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
3733 (create_and_show_popup_menu, mac_get_selection_from_symbol)
3734 (mac_valid_selection_target_p, mac_clear_selection)
3735 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
3736 (mac_put_selection_value, mac_selection_has_target_p)
3737 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
3738 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
3739 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
3740 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
3741 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
3742 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
3743 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
3744 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
3745 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 3746
d02fe47d 3747 * mactoolbox.c: New file.
af253914 3748
d8d30dff 37492008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 3750
d02fe47d 3751 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 3752
8ee085a4
SM
37532008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
3754
73d798d5
SM
3755 * character.c (Fmultibyte_char_to_unibyte):
3756 Return latin1 chars unchanged.
5556875b 3757
8ee085a4
SM
3758 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
3759 relocated if it points to `name'.
3760
5dff5999
KH
37612008-04-17 Kenichi Handa <handa@m17n.org>
3762
3763 * data.c (Faset): Allow setting a multibyte character in an
3764 ASCII-only unibyte string.
3765
3766 * lisp.h (STRING_SET_MULTIBYTE): New macro.
3767
a51f4969
SM
37682008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
3769
3770 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
3771 done in config.h.
3772
add553ac
JB
37732008-04-16 Juanma Barranquero <lekktu@gmail.com>
3774
3775 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
3776 (Fchar_direction): Add usage in the docstring.
3777
8ad7b280
CY
37782008-04-15 Chong Yidong <cyd@stupidchicken.com>
3779
3780 * keyboard.c (read_key_sequence): Remove always-true checks.
3781
e157d7ba
JR
37822008-04-14 Jason Rumney <jasonr@gnu.org>
3783
3784 * w32font.c (w32font_open_internal): Set max_bounds.descent in
3785 compatibility struct, for better underline positioning.
3786
9ec3aaef 37872008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
3788
3789 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
3790 string.
3791
36c08864
DN
37922008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
3793
3794 * m/hp800.h (XUINT, XSET): Remove.
3795
f5acc071
JB
37962008-04-12 Juanma Barranquero <lekktu@gmail.com>
3797
3798 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
3799 previous change.
3800
5b5a2ea1
SM
38012008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
3802
3803 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
3804 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
3805
492d9fd6
SM
38062008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3807
3808 * keymap.h (map_keymap_canonical): Declare.
3809 * xmenu.c (single_keymap_panes): Use it.
3810
dd60787c
GM
38112008-04-11 Glenn Morris <rgm@gnu.org>
3812
3813 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
3814 set the target's value to that of the alias.
3815
c23b5410
SM
38162008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
3817
3818 * term.c (set_tty_color_mode): Left over typo.
3819
e89b536d
MA
38202008-04-10 Michael Albinus <michael.albinus@gmx.de>
3821
3822 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 3823 only after check for file name handler functions. Signal, when
e89b536d
MA
3824 native functionality is not supported.
3825 (syms_of_fileio): Declare it unconditionally.
3826
40a339c8
JR
38272008-04-10 Jason Rumney <jasonr@gnu.org>
3828
31403b24
JR
3829 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
3830 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
3831
40a339c8
JR
3832 * w32.c (logon_network_drive): Also logon to remote drives that
3833 are mapped to drive letters.
3834
96a7394f
GM
38352008-04-10 Glenn Morris <rgm@gnu.org>
3836
3837 * xdisp.c (truncate-partial-width-windows): Doc fix.
3838
34b67b0f
SM
38392008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
3840
3841 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
3842 Move functions to minibuffer.el.
3843 (syms_of_fileio): Don't declare them.
3844
c025fb0a
SM
38452008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3846
ba5ff07b
SM
3847 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
3848 (syms_of_minibuf): Remove its initialization.
3849
c025fb0a
SM
3850 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
3851
7a6a86ad
JB
38522008-04-09 Juanma Barranquero <lekktu@gmail.com>
3853
3854 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
3855
cf907d69
JR
38562008-04-09 Jason Rumney <jasonr@gnu.org>
3857
3dc94c30
JR
3858 * makefile.w32-in (distclean): Delete makefile too.
3859 (maintainer-clean): New target.
3860
8d28646b
JR
3861 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
3862
cf907d69
JR
3863 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
3864 for new font backend and composite cases.
3865
ef5eb925
JD
38662008-04-09 Jan Djärv <jan.h.d@swipnet.se>
3867
3868 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
3869 Most of the code moved to run_timers.
3870 (do_pending_atimers): Call run_timers.
3871 (run_timers): New function.
3872
cf907d69
JR
3873 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
3874 run atimers.
ef5eb925
JD
3875
3876 * process.c (wait_reading_process_output): The same as above.
3877
9b2cd403
SM
38782008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3879
32bae13c
SM
3880 * minibuf.c (last_exact_completion): Remove variable.
3881 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
3882 (complete_and_exit_1, complete_and_exit_2)
3883 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
3884 (Fdisplay_completion_list, display_completion_list_1)
3885 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
3886 (Fexit_minibuffer, Fminibuffer_message): Move functions to
3887 minibuffer.el.
32bae13c
SM
3888 (syms_of_minibuf): Remove corresponding initializations.
3889
5c4cc82a
SM
3890 * keyboard.c (Qdeactivate_mark): New var.
3891 (command_loop_1): Use it to call `deactivate-mark'.
3892 (syms_of_keyboard): Initialize it.
3893
9b2cd403
SM
3894 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
3895 to another frame.
3896 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
3897 Don't call set_tty_color_mode.
3898 (store_frame_param): Reset previous_frame rather than call
3899 set_tty_color_mode.
3900 * term.c (set_tty_color_mode): Rewrite.
3901 * dispextern.h (set_tty_color_mode): New type.
3902 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
3903
84cb7b45
SM
39042008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
3905
3906 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
3907 for generic chars, which do not exist any more in emacs-unicode.
3908
3ed051d4
MA
39092008-04-08 Michael Albinus <michael.albinus@gmx.de>
3910
3911 * coding.c (detect_coding_emacs_mule)
3912 (Ffind_operation_coding_system): Fix typo.
3913
58c3ea42
JR
39142008-04-08 Jason Rumney <jasonr@gnu.org>
3915
3bf8d230
JR
3916 * w32uniscribe.c (SNAME): Extract only symbol name.
3917
56a70cca
JR
3918 * w32font.h (struct w32_metric_cache): New struct.
3919 (w32font_info): Use it.
3920 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
3921 (CACHE_BLOCKSIZE): New constants.
3ed051d4 3922
58c3ea42
JR
3923 * w32font.c (Qja, Qko, Qzh): New symbols.
3924 (syms_of_w32font): Initialise them.
3925 (font_matches_spec): Use them to filter by language.
3926 (recompute_cached_metrics): Remove function.
3927 (compute_metrics, clear_cached_metrics): New functions.
3928 (w32font_encode_char): Use them to manage metric cache.
3929 (w32font_text_extents): Cache metrics for all glyphs on demand.
3930 Delay converting glyph indices to WORD until needed.
3931 (w32font_open_internal): Initialize metric cache to empty.
3932 (registry_to_w32_charset): Charset should always be a symbol.
3933 (fill_in_logfont, list_all_matching_fonts): Family should
3934 always be a symbol.
3935
0ce24b2d
JR
39362008-04-06 Jason Rumney <jasonr@gnu.org>
3937
3938 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
3939 Give up if glyph indices not supported. Use uniscribe obtained
3940 ABC widths for individual metrics. Map glyph clusters back to
3941 characters using fClusterStart flag. Return number of glyphs
3942 produced, not chars processed.
b7655e0c 3943 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 3944
5bc6ddff 39452008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 3946
fbf57abb
JB
3947 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
3948 Use SetMenuItemHierarchicalMenu.
56613f06 3949
5bc6ddff 39502008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 3951
5bc6ddff
MB
3952 * image.c (pbm_load): Allow color values up to 65535.
3953 Throw an error if max_color_idx is outside the supported range.
3954 Report an error when image size is invalid.
3955 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 3956
5bc6ddff 39572008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 3958
5bc6ddff
MB
3959 * w32.c (readdir): If FindFirstFile/FindNextFile return in
3960 cFileName a file name that includes `?' characters, use the 8+3
3961 alias in cAlternateFileName instead.
5ed6ba5b 3962
5bc6ddff 39632008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 3964
5bc6ddff
MB
3965 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
3966 append "CCL: Quitted" when the CCL program is quitted.
3967 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 3968
5bc6ddff 3969 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 3970
c36e15db
CY
39712008-04-05 Chong Yidong <cyd@stupidchicken.com>
3972
9605d567
CY
3973 * search.c (compile_pattern_1): Treat non-nil and non-string of
3974 search-spaces-regexp as nil.
3975
c36e15db
CY
3976 * minibuf.c (Fassoc_string): Tweak docstring.
3977
40beb147
EZ
39782008-04-05 Eli Zaretskii <eliz@gnu.org>
3979
3980 * dired.c (Ffile_attributes): Support inode numbers wider than 32
3981 bits. Remove ugly WINDOWSNT-specific kludge introduced on
3982 2008-03-14 to force inode be positive.
3983
3984 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
3985 _S_* ones, since we now use our own sys/stat.h.
3986 (stat, fstat): Don't mangle the inode number.
aa08d1ff 3987 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 3988
4591d6cb
SM
39892008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
3990
d4417eb0
SM
3991 * frame.h (struct frame): Give one more bit to `visible' since we use
3992 values larger than 1 to indicate obscured frames on ttys.
3993
00f7c5ed
SM
3994 * keymap.c (Qkeymap_canonicalize): New var.
3995 (Fmap_keymap_internal): New fun.
3996 (describe_map): Use keymap-canonicalize.
3997
4591d6cb
SM
3998 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
3999 (Fundo_boundary): Set them.
4000 (syms_of_undo): Initialize them.
4001 (record_point): Use them instead of last_point_position*.
4002 (last_undo_buffer): Change type.
4003
3187540e
JR
40042008-04-04 Jason Rumney <jasonr@gnu.org>
4005
0ce24b2d
JR
4006 * w32font.c (w32font_text_extents): Use font's ascent and descent.
4007 (recompute_cached_metrics): Don't set ascent and descent per char.
4008
3187540e 4009 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 4010 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 4011 Rearrange loop for counting features.
3187540e 4012
f1a6b216
SM
40132008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
4014
4015 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
4016 buffer with byte-size of source buffer.
4017
1d8dcf63
CY
40182008-04-03 Chong Yidong <cyd@stupidchicken.com>
4019
4020 * callint.c (Fcall_interactively): Handle temporary region even
4021 when shift-select-mode is off.
4022
6b8aa22a
JR
40232008-04-03 Jason Rumney <jasonr@gnu.org>
4024
4025 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
4026
2f3cbb32
KH
40272008-04-03 Kenichi Handa <handa@m17n.org>
4028
4029 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
4030 (CATEGORY_MASK_UTF_16): Likewise.
4031 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
4032 binary file.
4033 (detect_coding): Add null-byte detection for a binary file.
4034 (detect_coding_system): Likewise.
4035
43f4f91c
JR
40362008-04-03 Jason Rumney <jasonr@gnu.org>
4037
0c1b4ae2
JR
4038 * w32uniscribe.c: New file.
4039
4040 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
4041
4042 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
4043
4044 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
4045 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
4046 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
4047 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
4048 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
4049 (Qphonetic): New symbols.
4050 (syms_of_w32font): Initialize them.
4051 (font_supported_scripts): Use them.
4052 (w32font_list_family): List all charsets.
4053 (w32font_text_extents, recompute_cached_metrics): Fix metric
4054 calculations.
4055 (w32_enumfont_pattern_entity): Make full_type a DWORD.
4056 Give opentype fonts their own format.
4057 (font_matches_spec): New arguments backend and logfont.
4058 Handle :otf spec for uniscribe backend.
4059 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
4060 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 4061
0c1b4ae2
JR
4062 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
4063 font backend.
4064 (globals_of_w32fns): Initialize uniscribe font backend.
4065
fbf57abb 4066 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
4067 dependencies.
4068 (w32uniscribe.$(O)): New file to build.
4069 (FONT_OBJ): Include w32uniscribe.$(O).
4070 (LIBS): Add uniscribe libraries.
4071
43f4f91c
JR
4072 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
4073
75043a7d
CY
40742008-04-02 Chong Yidong <cyd@stupidchicken.com>
4075
4076 * callint.c (Vshift_select_mode): New var.
4077 (Finteractive): Document new ^ spec.
4078 (Fcall_interactively): Call handle-shift-selection if the ^ spec
4079 is present.
4080
4081 * keyboard.c (Vthis_command_keys_shift_translated): New var.
4082 (command_loop_1): Avoid running the direct display versions of
4083 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
4084 (read_key_sequence): Set Vthis_command_keys_shift_translated if
4085 shift-translation takes place.
4086
4087 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
4088 avoid clobbering by define-minor-mode.
4089
4090 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
4091 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
4092
4093 * syntax.c (Fforward_word): Add ^ interactive spec.
4094
4095 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
4096 (Fscroll_right): Add ^ interactive spec.
4097
b2b7f29e
SM
40982008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
4099
a432c0a6
SM
4100 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
4101
994b75e0
SM
4102 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
4103
b2b7f29e
SM
4104 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
4105
e99c7806
JL
41062008-03-31 Juri Linkov <juri@jurta.org>
4107
4108 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
4109
1c9c1270
JD
41102008-03-30 Jan Djärv <jan.h.d@swipnet.se>
4111
4112 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 4113 (xg_resize_outer_widget): Remove.
1c9c1270
JD
4114 (x_wm_size_hint_off): Fix indentation.
4115 (xg_frame_set_char_size): Call flush_and_sync after
4116 gtk_window_resize.
4117 (x_wm_set_size_hint): Pass NULL as geometry window to
4118 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
4119 Add menu bar and tool bar height to base height.
4120 (xg_update_frame_menubar, free_frame_menubar)
4121 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
4122 (update_frame_tool_bar, free_frame_tool_bar):
4123 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 4124
90b3fc84
MA
41252008-03-30 Michael Albinus <michael.albinus@gmx.de>
4126
4127 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
4128 (Fdbus_call_method): New parameter TIMEOUT.
4129 (dbus-send-signal): Optimize UNGCPRO call.
4130
7ae6d1d1
JL
41312008-03-29 Juri Linkov <juri@jurta.org>
4132
4133 * window.c (Fdisplay_buffer): Move call to
4134 Vsplit_window_preferred_function out of conditions that check
4135 if window is eligible for vertical splitting.
4136 When Vsplit_window_preferred_function is non-nil, call it and use
4137 its non-nil return value as window. Otherwise, continue doing
4138 vertical splitting using Fsplit_window with arg horflag=nil.
4139 (syms_of_window) <Vsplit_window_preferred_function>: Change the
4140 default value from `split-window' to nil.
4141
f03f8f2c
JL
41422008-03-29 Juri Linkov <juri@jurta.org>
4143
4144 * callint.c (Fcall_interactively): Revert 2008-03-16 change
4145 for interactive code letters 'b' and 'B'.
4146
6d557778
EZ
41472008-03-29 Eli Zaretskii <eliz@gnu.org>
4148
4149 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
4150 multibyte string.
4151
58555d81
SM
41522008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
4153
4154 * keyboard.c (pending_funcalls): New var.
4155 (timer_check): Run it.
4156 (syms_of_keyboard): Initialize it.
4157 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
4158 (Vdelete_terminal_functions): New vars.
4159 (syms_of_terminal): Initialize them.
4160 (Fdelete_terminal): Run delete-terminal-functions.
4161 * xdisp.c (safe_eval): Rewrite.
4162 (safe_call2): New fun.
4163 * frame.c (Qdelete_frame_functions): New var.
4164 (syms_of_frame): Initialize it.
4165 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
4166 * lisp.h (safe_call2, pending_funcalls): Declare.
4167
4c92f429
AS
41682008-03-28 Andreas Schwab <schwab@suse.de>
4169
4170 * indent.c (Fmove_to_column): Move declaration before statements.
4171
a1567c45
SM
41722008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
4173
2806a183
SM
4174 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
4175 (struct frame): Use bit fields for boolean vars.
4176
eef60308
SM
4177 * process.c (server_accept_connection): Simplify naming.
4178 (emacs_get_tty_pgrp): Use SDATA.
4179
a1567c45
SM
4180 * coding.c (decode_coding_object): Fix last change.
4181
30076589
JR
41822008-03-27 Jason Rumney <jasonr@gnu.org>
4183
4184 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
4185
880820fe
KH
41862008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
4187
4188 * charset.c (Fdefine_charset_internal): Change the way of
4189 registering charsets in Vcharset_order_list.
4190 (syms_of_charset): Make the charset `eight-bit' supplementary.
4191
3cf8cdfb
CY
41922008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
4193
4194 * regex.c (EXTEND_BUFFER): Change order of pointer addition
4195 operations, to avoid having the difference between pointers
4196 overflow.
4197
ef6f5c0e
SM
41982008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
4199
80e3db56
SM
4200 * indent.c (check_display_width): New fun.
4201 (scan_for_column): Use it.
4202
c397dc7a
SM
4203 * data.c (syms_of_data): Mark most-positive-fixnum and
4204 most-negative-fixnum as constants.
4205
bf6b4d58
SM
4206 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
4207
ef6f5c0e
SM
4208 * indent.c (scan_for_column): Extract from current_column_1.
4209 Merge with the same code from Fmove_to_column.
4210 (current_column_1, Fmove_to_column): Use it.
4211
72d5003d
SM
42122008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
4213
12270607
SM
4214 * keymap.c (map_keymap_internal): New fun.
4215 (map_keymap): Use it.
4216 (Fmap_keymap_internal): New fun.
4217 (Fmap_keymap): Remove left-out test from before make_save_value.
4218
a10cca6c
SM
4219 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
4220
d7b10f4c
SM
4221 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
4222 Use XCAR/XCDR.
4223
5431bd6a
SM
4224 * process.h (struct Lisp_Process): Remove filter_multibyte.
4225 * process.c (QCfilter_multibyte): Remove.
4226 (setup_process_coding_systems): Don't use filter_multibyte.
4227 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
4228 (read_process_output): Don't adjust multibyteness to filter_multibyte.
4229 (Fset_process_filter_multibyte): Change the coding-system to
4230 approximate the previous behavior.
4231 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
4232 coding-system.
4233
72d5003d
SM
4234 * coding.c (decode_coding_object): When not decoding into a buffer,
4235 obey the coding system's preference of (uni|multi)byte.
4236
438eba3c
SM
42372008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
4238
4239 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
4240 every char is changed and has a different byte-length.
4241 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
4242 Fix int -> EMACS_INT.
4243
9ec3aaef 42442008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 4245
438eba3c 4246 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
4247 strings. Check for NULL `interface' or `member'.
4248
b07103dc
EZ
42492008-03-22 Eli Zaretskii <eliz@gnu.org>
4250
4251 * w32.c (readdir): If FindFirstFile/FindNextFile return in
4252 cFileName a file name that includes `?' characters, use the 8+3
4253 alias in cAlternateFileName instead.
4254
5371d722
SM
42552008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
4256
4257 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
4258
6ba7f443
SM
42592008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4260
4261 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
4262 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
4263 work on current_buffer only instead (that was already the case
4264 for some of the code anyway).
4265 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
4266 (temp_set_point, temp_set_point_both): Use EMACS_INT.
4267 (SET_PT, SET_PT_BOTH): Adjust.
4268 * intervals.h (set_point, temp_set_point, set_point_both)
4269 (temp_set_point_both): Remove redundant declarations.
4270
bf1c0f27
SM
42712008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
4272
4273 * fileio.c (Finsert_file_contents):
4274 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
4275 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
4276 when buffer != current_buffer anyway.
4277
acab783e
AS
42782008-03-20 Andreas Schwab <schwab@suse.de>
4279
4280 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
4281 as default.
4282
d148e14d
JR
42832008-03-19 Jason Rumney <jasonr@gnu.org>
4284
4285 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
4286 (syms_of_w32fns): Initialize them.
4287 (HOURGLASS_ID): New constant.
4288 (x_window_to_frame): Don't check hourglass_window.
4289 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
4290 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
4291 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
4292 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
4293 Only change the cursor if hourglass is not active.
4294 (Fx_create_frame): Initialize frame's current_cursor.
4295 (hourglass_atimer): Remove.
4296 (hourglass_started): New function.
4297 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
4298 (show_hourglass): Adapt to w32, changing argument to frame.
4299
4300 * w32term.h (struct w32_output): Remove hourglass_window.
4301 Add current_cursor.
4302
4303 * eval.c (call_debugger, Fsignal):
4304 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
4305 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
4306 (Fexecute_extended_command, cancel_hourglass_unwind):
4307 * minibuf.c (read_minibuf):
4308 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 4309
a5c54077
JB
43102008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
4311
4312 * window.c (run_funs): New fun.
4313 (run_window_configuration_change_hook): Use it to run the buffer-local
4314 and the global part of the hook.
4315
4316 * xdisp.c (format_mode_line_unwind_data): Add window argument.
4317 (unwind_format_mode_line): Restore selected window.
4318 (x_consider_frame_title, Fformat_mode_line): Set selected window.
4319
f9f3238f
SM
43202008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
4321
253c3c82
SM
4322 * editfns.c (Fchar_equal): Check they are valid characters.
4323
f9f3238f
SM
4324 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
4325
065a118d
AS
43262008-03-17 Andreas Schwab <schwab@suse.de>
4327
0b8be006
AS
4328 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
4329 against a charset.
4330
065a118d
AS
4331 * lisp.h (Fbuffer_list): Declare.
4332
880820fe 43332008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
4334
4335 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
4336 handlebox_widget is != 0.
4337
6206d6c2
JL
43382008-03-16 Juri Linkov <juri@jurta.org>
4339
4340 * callint.c (Fcall_interactively): For interactive code letters
4341 'b' and 'B' put the buffer list into the list of default "future"
4342 values of the minibuffer.
4343
f5020181
AS
43442008-03-16 Andreas Schwab <schwab@suse.de>
4345
a864f6d6
AS
4346 * keyboard.c (read_key_sequence): Fix downcasing of letters with
4347 modifiers.
4348
f5020181
AS
4349 * regex.c (re_match_2_internal): Correct matching of a charset
4350 against latin-1 characters.
4351
03f244e2
KH
43522008-03-16 Kenichi Handa <handa@m17n.org>
4353
4354 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
4355 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
4356 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
4357 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
4358 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
4359 CHAR_STRING_ADVANCE.
4360 (produce_chars): Fix for the case that the source and the
4361 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
4362 instead of CHAR_STRING_ADVANCE.
4363 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
4364 STRING_CHAR_ADVANCE.
4365
0e2501ed
AS
43662008-03-15 Andreas Schwab <schwab@suse.de>
4367
4368 * regex.c (re_match_2_internal): Correct matching of eight bit
4369 characters in unibyte strings.
4370
7723e095
MR
43712008-03-15 Martin Rudalics <rudalics@gmx.at>
4372
4373 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
4374 at end of range when it coincides with the end of the buffer.
4375
f507f365
EZ
43762008-03-14 Eli Zaretskii <eliz@gnu.org>
4377
294f1153
EZ
4378 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
4379
f507f365
EZ
4380 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
4381
64f0809d
JR
43822008-03-14 Jason Rumney <jasonr@gnu.org>
4383
956ae531
JR
4384 * editfns.c (initial_tz): New variable.
4385 (syms_of_editfns): Initialize it.
4386 (Fset_time_zone_rule): Set it when first called.
4387 Use it when TZSTRING is nil.
4388
64f0809d
JR
4389 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
4390 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
4391 (monitor_from_point_fn, get_monitor_info_fn): New globals.
4392 (globals_of_w32fns): Initialize them.
4393 (compute_tip_xy): Use them to position tooltips.
4394
21a4ff8e
GM
43952008-03-14 Glenn Morris <rgm@gnu.org>
4396
4397 * emacs.c (main): Revert previous change.
4398 (standard_args): Revert -internal-script back to -scriptload,
4399 and remove the long-option form.
4400
a09a5b5b
GM
44012008-03-13 Glenn Morris <rgm@gnu.org>
4402
4403 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
4404 Remove option -enable-font-backend.
4405
1c55ebd1
SM
44062008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
4407
4408 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
4409
880820fe 44102008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
4411
4412 * xterm.c (x_connection_closed): For GTK: If this is the last
4413 terminal just exit without closing the display.
4414
7145be81
JR
44152008-03-11 Jason Rumney <jasonr@gnu.org>
4416
4417 * w32font.c (w32font_full_name): Use floor to round.
4418
e6201af3 44192008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
4420
4421 * sound.c (alsa_configure): Declare vol at beginning of block.
4422
e6201af3 4423 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 4424
390b81fa 44252008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 4426
56388398
MB
4427 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
4428 size of resulting string.
af0ad939 4429
390b81fa 44302008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 4431
56388398 4432 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 4433
390b81fa 44342008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 4435
56388398
MB
4436 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
4437 Don't pretend as if characters with display property haven't been
4438 consumed for string-replacing-string case.
acd37560 4439
223ed6db
KS
44402008-03-08 Kim F. Storm <storm@cua.dk>
4441
4442 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
4443 (get_next_display_element, next_element_from_string)
4444 (next_element_from_ellipsis, next_element_from_buffer): Use it.
4445
28545f7c
AS
44462008-03-08 Andreas Schwab <schwab@suse.de>
4447
4448 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
4449
c960bff8
JR
44502008-03-06 Jason Rumney <jasonr@gnu.org>
4451
290afd83
JB
4452 * w32font.c (w32_registry): Take font_type argument. Use ANSI
4453 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
4454 font_type is truetype.
4455 (w32font_coverage_ok): New function.
4456 (add_font_entity_to_list): Use it to filter unsuitable fonts.
4457
87b8ce92
KH
44582008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
4459
4460 * lread.c (Fread_char): Resolve modifiers.
4461 (Fread_char_exclusive): Likewise.
4462
4463 * character.c (char_resolve_modifier_mask): New function.
4464 (char_string): Use char_resolve_modifier_mask.
4465 (Fchar_resolve_modifiers): New function.
4466 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
4467 function.
4468
cefd56f6
JR
44692008-03-04 Jason Rumney <jasonr@gnu.org>
4470
4471 * makefile.w32-in: Always include w32font.c in the build.
4472 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
4473
03bd3c1f
AS
44742008-03-04 Andreas Schwab <schwab@suse.de>
4475
4476 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
4477 (versionclean): Likewise.
4478
6f69e89b
JB
44792008-03-04 Juanma Barranquero <lekktu@gmail.com>
4480
4481 * .cvsignore: Add oo.
4482
f4a3cc44
AS
44832008-03-03 Andreas Schwab <schwab@suse.de>
4484
4485 * coding.c (decode_coding_object): Inhibit gap shrinking while
4486 decoding in place.
4487
73f838ad
DN
44882008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
4489
4490 * w32term.c: Remove unused include "gnu.h".
6f69e89b 4491 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
4492
4493 * gnu.h: Rename to ...
4494 * emacs-icon.h: ... this.
4495 * xterm.c: Use emacs-icon.h instead of gnu.h.
4496 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
4497
ce9c1f06
JB
44982008-03-03 Juanma Barranquero <lekktu@gmail.com>
4499
4500 * w32font.c: Include math.h.
4501
34fd2d28
JR
45022008-03-03 Jason Rumney <jasonr@gnu.org>
4503
54efdcd1
JR
4504 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
4505 Compute options separately.
4506 (w32font_open_internal): Set glyph_idx before caching metrics.
4507
ce9c1f06
JB
4508 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
4509 Define if system headers don't.
4510 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
4511 (w32font_encode_char): Don't declare here.
4512
4513 * w32font.c (Quniscribe, QCformat): New symbols.
4514 (syms_of_w32font): Define them.
4515 (w32font_has_char): Indicate uncertainty.
ce9c1f06 4516 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 4517 (recompute_cached_metrics): New function.
ce9c1f06
JB
4518 (w32font_open_internal): Use it. Set font to use glyph points
4519 initially. Set format based on type of font.
34fd2d28 4520 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
4521 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
4522 on it. Set format based on information available here.
34fd2d28
JR
4523 (add_font_entity_to_list): Identify backend based on opentype_only.
4524
14daee73
AS
45252008-03-02 Andreas Schwab <schwab@suse.de>
4526
f907fb2e
AS
4527 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
4528
ce9c1f06
JB
4529 * coding.c (decode_coding_big5, produce_chars):
4530 Fix typos in last change.
14daee73 4531
c9cc6462
DN
45322008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
4533
4534 * gnu.h: New icon.
4535
119852e7
KH
45362008-03-02 Kenichi Handa <handa@m17n.org>
4537
4538 * coding.c (decode_coding_utf_8): When eol-type of CODING is
4539 `dos', don't decode '\r' if that is the last in the source.
4540 (decode_coding_utf_16, decode_coding_emacs_mule)
4541 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4542 (decode_coding_raw_text, decode_coding_charset): Likewise.
4543 (produce_chars): Don't decode EOL here. Use EMACS_INT.
4544
a823468b
JR
45452008-03-01 Jason Rumney <jasonr@gnu.org>
4546
4547 * w32font.c (w32font_full_name): Report point size for scalable fonts.
4548
4ddc7e30
KS
45492008-03-01 Kim F. Storm <storm@cua.dk>
4550
4551 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
4552
67997c79
JR
45532008-03-01 Jason Rumney <jasonr@gnu.org>
4554
4555 * w32font.c (w32font_full_name): New function.
4556 (w32font_open_internal): Use it.
4557
3f4e9c35
KS
45582008-03-01 Kim F. Storm <storm@cua.dk>
4559
4560 * dispnew.c (line_draw_cost): Fix invalid glyph check.
4561
f3b9e479
JR
45622008-03-01 Jason Rumney <jasonr@gnu.org>
4563
4564 * font.c (font_unparse_fcname): Increase len when style is a symbol.
4565
880820fe 45662008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
4567
4568 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
4569 xg_frame_resized when the event is for the edit widget.
4570
4571 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
4572
4573 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
4574 set_char_size.
4575 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
4576 operations on widgets here. Just set frame size if needed.
4577 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
4578 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
4579 (x_wm_set_size_hint): Set size hints on the edit widget only, not
4580 the whole frame.
4581 (xg_create_tool_bar): Move attachement of the tool bar to
4582 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
4583 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
4584
6c8acaa1
JR
45852008-03-01 Jason Rumney <jasonr@gnu.org>
4586
4587 * w32fns.c (w32_msg_pump): Disable debug code.
4588
51fb064b 45892008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 4590
51fb064b 4591 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 4592
60221a33
CY
45932008-02-29 Chong Yidong <cyd@stupidchicken.com>
4594
4595 * xdisp.c (next_overlay_string): Don't set
4596 overlay_strings_at_end_processed_p if we're currently reading from
4597 a display string.
4598
10cbc34f
SM
45992008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
4600
4601 * xdisp.c (get_overlay_strings_1): Fix typo.
4602
73c0054e
CY
46032008-02-29 Chong Yidong <cyd@stupidchicken.com>
4604
4605 * xdisp.c (get_overlay_strings_1): Add missing argument type.
4606
ec1c4354
KH
46072008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
4608
55082642
KH
4609 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
4610
ec1c4354
KH
4611 * xdisp.c (display_mode_element): Cancel the previous change.
4612 (decode_mode_spec): Likewise.
ee548a94
KH
4613 (handle_auto_composed_prop): Don't make composition if it->string
4614 is a string.
ec1c4354 4615
b6d898a2
KS
46162008-02-27 Kim F. Storm <storm@cua.dk>
4617
4618 * lisp.h (GLYPH): Change type from int to struct with separate char
4619 and face_id members.
4620 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
4621 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
4622 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
4623 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
4624 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
4625 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
4626 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
4627 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
4628 handle new Lisp glyph code encoding, either an integer or a cons.
4629
4630 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
4631 (GLYPH_ALIAS): Delete.
4632 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
4633 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
4634 (GLYPH_FROM_CHAR): Replace macro by ...
4635 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
4636
4637 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
4638 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
4639 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
4640 (GLYPH_INVALID_P): New macro.
4641 (spec_glyph_lookup_face): Update prototype.
4642
4643 * dispnew.c (line_draw_cost): Adapt to new glyph type.
4644 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
4645 new glyph code encoding.
4646 (spec_glyph_lookup_face): No return value; update passed glyph instead.
4647 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
4648
4649 * xdisp.c (get_next_display_element, next_element_from_display_vector):
4650 Adapt to new glyph type and new glyph code encoding.
4651
4652 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
4653
4654 * indent.c (current_column, current_column_1, Fmove_to_column)
4655 (compute_motion): Adapt to new glyph code encoding.
4656
4657 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
4658
af2080a2
CY
46592008-02-27 Chong Yidong <cyd@stupidchicken.com>
4660
4661 * process.c (wait_reading_process_output): Check for window
4662 changes caused by timers.
880820fe 4663 Suggested by Johan Bockgård.
af2080a2 4664
253ed25e
GM
46652008-02-27 Glenn Morris <rgm@gnu.org>
4666
4667 * emacs.c (USAGE1): Add `--disable-font-backend'.
4668
18a9f8d9
SM
46692008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
4670
4671 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
4672 is made to the buffer.
4673
0f8b27ea
SM
46742008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
4675
4676 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
4677 (face_at_string_position):
4678 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
4679 (face_at_string_position):
4680 * xdisp.c (display_string, next_overlay_change):
4681 * buffer.h (overlays_at):
4682 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
4683 Update callers.
4684
4e7c53ca
CY
46852008-02-26 Chong Yidong <cyd@stupidchicken.com>
4686
4687 * editfns.c (Fformat): Doc fix.
4688
51c01100
JB
46892008-02-26 Juanma Barranquero <lekktu@gmail.com>
4690
4691 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
4692 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
4693 (Ffont_otf_alternates, Fquery_font): Doc fixes.
4694
13cda5f9
SM
46952008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4696
4697 * buffer.c (Fbuffer_swap_text): New function.
4698 (syms_of_buffer): Defsubr it.
4699
8018d430
CY
47002008-02-25 Chong Yidong <cyd@stupidchicken.com>
4701
4702 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
4703
9bde1a21
JR
47042008-02-25 Jason Rumney <jasonr@gnu.org>
4705
4706 * w32font.c (w32font_draw): Draw one character at a time when padding.
4707
eeca6f6f
SM
47082008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
4709
4710 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
4711 Handle a nil arg. Use run_window_configuration_change_hook.
4712 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
4713 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
4714 Use run_window_configuration_change_hook.
4715
ec1c4354
KH
47162008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4717
4718 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
4719 1-pixel width.
4720
ae185452
KH
47212008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
4722
4723 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
4724 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
4725 if the glyph in the font is zero pixel with.
4726
4727 * dispextern.h (struct glyph_string): New member padding_p.
4728
4729 * w32font.c (w32font_draw): Pay attention to s->padding_p.
4730
4731 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
4732
4733 * xfont.c (xfont_draw): Pay attention to s->padding_p.
4734
4735 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
4736
eeca6f6f 4737 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 4738
ffe832ea 47392008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 4740
ffe832ea 4741 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 4742
06045130
SM
47432008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
4744
4745 Allow fine-grained image-cache flushing.
4746 * dispextern.h (struct image): Add `dependencies' field.
4747 (clear_image_caches): Change arg to Lisp_Object.
4748 * image.c (make_image): Initialize `dependencies' field.
4749 (clear_image_cache): Change arg to allow fine-grained flushing.
4750 Perform the flush even if image-cache-eviction-delay is nil.
4751 (clear_image_caches): Change arg to Lisp_Object.
4752 (Fclear_image_cache): Expand meaning of the argument.
4753 (mark_image): Mark `dependencies' field.
4754 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
4755 (lface_hash): Use XHASH rather than XFASTINT.
4756 (face_at_buffer_position): Fix int -> EMACS_INT position.
4757 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
4758 (select_frame_for_redisplay): Remove code duplication.
4759 (redisplay_internal): Adapt arg to call to clear_image_caches.
4760
9d2818d6
DN
47612008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
4762
4763 * s/vms4-0.h:
4764 * s/vms4-2.h:
4765 * s/vms4-4.h:
4766 * s/vms5-5.h: Remove, unused.
4767
4768 * s/irix5-2.h:
4769 * s/irix6-0.h:
4770 * s/riscos5.h:
4771 * s/mach-bsd4-3.h:
2a2e8de7 4772 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
4773
4774 * Makefile.in:
4775 * filelock.c:
4776 * unexmips.c:
4777 * m/hp9000s300.h:
4778 * m/iris4d.h:
4779 * s/aix3-1.h:
4780 * s/hpux.h:
4781 * s/msdos.h:
4782 * s/usg5-0.h:
4783 * s/usg5-2-2.h:
4784 * s/usg5-2.h:
4785 * s/usg5-3.h: Remove references to obsolete variables.
4786
4787 * s/irix5-0.h: Remove, move all the contents ...
4788 * s/irix6-5.h: ... here. Simplify.
4789 * config.in: Regenerate.
4790
2a36efcf
JR
47912008-02-24 Jason Rumney <jasonr@gnu.org>
4792
c5ad7a3d 4793 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
4794 manually when cleartype is in use.
4795 (x_draw_glyph_string_foreground): Draw text transparently when
4796 cleartype is in use.
4797
2a36efcf
JR
4798 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
4799 a font into it unless we have to.
4800
b03f96dc 48012008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 4802
b03f96dc
MB
4803 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
4804 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 4805
b03f96dc 48062008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 4807
b03f96dc 4808 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 4809
b03f96dc 48102008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 4811
b03f96dc 4812 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 4813
b03f96dc 48142008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 4815
b03f96dc 4816 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 4817
d5958163
CY
48182008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
4819
4820 * xterm.c (x_set_offset): Don't change the gravity if
4821 CHANGE_GRAVITY is -1.
4822
9997701e
CY
48232008-02-23 Chong Yidong <cyd@stupidchicken.com>
4824
4825 * fileio.c (auto_save_error_occurred): New var.
4826 (auto_save_error): Set it.
4827 (Fdo_auto_save): Don't overwrite the error message if an auto-save
4828 error occurred.
4829
9d95a291
EZ
48302008-02-23 Eli Zaretskii <eliz@gnu.org>
4831
4832 * w32.c (globals_of_w32): Add initializations for
4833 g_b_init_get_sid_sub_authority and
4834 g_b_init_get_sid_sub_authority_count.
4835
43d1af23
SM
48362008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
4837
43a1d19b
SM
4838 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
4839 (font_parse_xlfd): Use them for sanity check.
608c3307 4840 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 4841
354884c4
SM
4842 Consolidate the image_cache to the terminal struct.
4843 * termhooks.h (P_): Remove redundant def.
4844 (struct terminal): New field `image_cache'.
4845 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
4846 of FRAME_X_IMAGE_CACHE.
4847 * xterm.h (struct x_display_info): Remove image_cache field.
4848 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4849 * w32term.h (struct w32_display_info): Remove image_cache field.
4850 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4851 * macterm.h (struct mac_display_info): Remove image_cache field.
4852 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
4853 * xterm.c (x_term_init):
4854 * w32term.c (w32_term_init):
4855 * macterm.c (mac_term_init): Set the image_cache in the terminal.
4856 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
4857 Remove declarations.
4858 (clear_image_caches, mark_image_cache): New declarations.
4859 * xfaces.c (clear_face_cache):
4860 * xdisp.c (redisplay_internal): Use clear_image_caches.
4861 * image.c (clear_image_cache): Don't check that a frame is on
4862 a window-system before checking if it shares the same cache.
4863 (clear_image_caches): New function.
4864 (Fclear_image_cache): Use it.
4865 (mark_image): Move from allo.c.
4866 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
4867 * alloc.c (mark_image, mark_image_cache): Move to image.c.
4868 (mark_object): Don't call mark_image_cache for frames.
4869 (mark_terminals): Call mark_image_cache.
4870
c2e42690
SM
4871 * lisp.h (Fdelete_terminal): Declare.
4872
43d1af23
SM
4873 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
4874 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
4875 wrong_type_argument.
4876
cc8d1311
KH
48772008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
4878
4879 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 4880 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 4881
6bd92640
SM
48822008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
4883
4884 * xterm.c (x_connection_closed): Consolidate identical tests.
4885 (x_delete_terminal): Don't crash if called via x_connection_closed.
4886
a73b5627
KH
48872008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
4888
4889 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 4890 (display_mode_element): Adjust for the above change.
a73b5627 4891
1b511542
SM
48922008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
4893
4894 * callint.c (Fcall_interactively): Use AREF.
4895
81aefea4
SM
48962008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
4897
4898 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
4899
880820fe 49002008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
4901
4902 * xfns.c (Fx_show_tip): Set string to " " if empty.
4903
a2b84f35
DN
49042008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
4905
4906 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
4907 with Qt.
4908
43c0454d
KH
49092008-02-17 Kenichi Handa <handa@m17n.org>
4910
4911 * ftfont.c (ftfont_shape): Return Lispy number.
4912
4913 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
4914 for GCs.
4915 (Finternal_set_font_selection_order): Call font_update_sort_order
4916 only when enable_font_backend is set.
4917 (realize_x_face): Set face->font_info to that of default face only
4918 when enable_font_backend is set.
4919
4920 * xdisp.c (handle_composition_prop): Set it->c to the fist
4921 characte of the composed region.
4922 (fill_composite_glyph_string): Set base_face->font_info to
4923 s->font_info. Get a face for ascii from base_face->ascii_face.
4924 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
4925 with a face already decided.
4926 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
4927 non-negative.
978bef9a
JB
4928 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
4929 call font_prepare_composition unconditionally.
43c0454d 4930
978bef9a 4931 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
4932
4933 * xterm.h (struct x_display_info): New member font.
4934
4935 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
4936 (x_set_mouse_face_gc, x_new_font): Likewise.
4937 (x_term_init): Setup display_info->font.
4938 (x_delete_terminal): Free display_info->font.
4939
4940 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
4941
4942 * ftxfont.c (ftxfont_default_fid): Delete it.
4943 (ftxfont_open): Set xfont->fid to 0.
978bef9a 4944 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
4945 font-driver.
4946
4947 * xftfont.c (xftfont_default_fid): Delete it.
4948 (xftfont_open): Set xfont->fid to 0.
4949
4950 * fontset.c (FONTSET_OBJLIST): New macro.
4951 (fontset_find_font): Update font-object list of the fontset.
4952 (free_realized_fontset): New function.
4953 (free_face_fontset): Call free_realized_fontset.
4954 (Ffont_info): Call font_close_object only when enable_font_backend
4955 is set.
4956
4957 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
4958 [HAVE_NTGUI]: Include w32term.h.
4959 [MAC_OS]: Include macterm.ch.
4960 (font_otf_ValueRecord): Use make_number.
4961 (font_finish_cache): Fix handling of reference count.
4962 (font_clear_cache): Update num_fonts.
4963 (font_open_entity): Update smallest_char_width and
4964 smallest_font_height of the frame.
4965 (font_close_object): Update num_fonts.
4966 (Fclear_font_cache): Fix finding the target cache data.
4967
be617367
GM
49682008-02-16 Glenn Morris <rgm@gnu.org>
4969
4970 * fontset.c (Finternal_char_font): Fix compilation warning.
4971
2930d117
EZ
49722008-02-16 Eli Zaretskii <eliz@gnu.org>
4973
634d3003
EZ
4974 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
4975 instead of char arrays. Enlarge the size of array passed to
4976 get_token_information.
4977
2930d117
EZ
4978 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
4979 warnings.
4980
79214046
DN
49812008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
4982
4983 * .gdbinit: Don't set `args', it breaks gdb --args.
4984
7f5d2c72
SM
49852008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
4986
4987 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
4988 within a narrowed buffer.
4989
6edacc43
KH
49902008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
4991
b270d6af
JB
4992 * coding.c (decode_coding_object, encode_coding_object):
4993 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 4994
174105f7
SM
49952008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
4996
b270d6af
JB
4997 * coding.c (coding_set_destination): Use BEG_BYTE rather than
4998 hardcoding 1.
13818c30
SM
4999 (detect_coding_system):
5000 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
5001 (string_char_to_byte, string_byte_to_char, insert_from_gap):
5002 * insdel.c (insert_from_gap):
5003 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
5004 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
5005 (string_to_multibyte):
5006 * character.c (chars_in_text, multibyte_chars_in_text):
5007 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
5008
f1c99628
SM
5009 * character.h (FETCH_STRING_CHAR_ADVANCE)
5010 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
5011 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
5012 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
5013
7927d8e3
SM
5014 * casefiddle.c (casify_region): Only call after-change and composition
5015 functions on the part of the region that was changed.
5016
adf6a429 5017 * keyboard.c (read_avail_input):
174105f7
SM
5018 * frame.c (Fdelete_frame): Call Fdelete_terminal.
5019
3ee24aec
SM
50202008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
5021
5022 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
5023 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
5024
4ed4b975
JB
50252008-02-11 Juanma Barranquero <lekktu@gmail.com>
5026
5027 * w32menu.c (push_submenu_start, push_submenu_end)
5028 (push_left_right_boundary, push_menu_pane, push_menu_item):
5029 * keyboard.c (read_key_sequence): Don't pass args with side effects
5030 to AREF, it fails when compiling with -DENABLE_CHECKING.
5031
79e3bfb8
KH
50322008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
5033
4ed4b975
JB
5034 * Makefile.in (${lispsource}international/charprop.el):
5035 Delete this target.
6e76043f 5036
79e3bfb8
KH
5037 * search.c (boyer_moore): Fix incorrect synching of the trunk and
5038 emacs-unicode-2.
5039
5b8de9c5
SM
50402008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
5041
5042 * terminal.c (Fdelete_terminal): Clean up the `force' path.
5043
eac1939a
SM
50442008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
5045
c53956fe
SM
5046 * frame.c (Qnoelisp): New symbol.
5047 (syms_of_frame): Initialize it.
5048 (Fdelete_frame): Use it to distinguish a mere `force' passed from
5049 someharmles Elisp code, from a strong `force' from x_connection_closed.
5050 * frame.h (Qnoelisp): Declare.
5051 * xterm.c (x_connection_closed): Pass `noelisp'.
5052
eac1939a
SM
5053 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
5054 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
5055 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
5056 rather than `int' for the type of `type'.
5057
13f6772b
DN
50582008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
5059
5060 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
5061
5062 * Makefile.in (GNUC): Remove support for gcc-1.x.
5063
e8455367
RS
50642008-02-10 Richard Stallman <rms@gnu.org>
5065
5066 * lisp.h (ASET): Use AREF, not ASLOT.
5067
4b75ffab
SM
50682008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
5069
5070 * lisp.h (ASET): Check bounds.
5071
d224e8c2
GM
50722008-02-10 Glenn Morris <rgm@gnu.org>
5073
5074 * buffer.c (mode-name): Doc fix.
5075
4624371d
DN
50762008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
5077
290afd83
JB
5078 * Makefile.in:
5079 * emacs.c:
5080 * gmalloc.c:
5081 * keyboard.c:
5082 * lisp.h:
5083 * m/ibm370aix.h:
5084 * process.c:
5085 * regex.c:
5086 * s/hpux.h:
5087 * sysdep.c:
5088 * sysselect.h:
5089 * systty.h:
5090 * unexec.c:
5091 * w32term.c:
5092 * xsmfns.c:
5093 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
5094
5095 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
5096
5097 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
5098 nothing else needs it anymore.
5099
274ec34b
EZ
51002008-02-09 Eli Zaretskii <eliz@gnu.org>
5101
5102 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
5103 instead of unibyte_char_to_multibyte.
5104
deeaffe1
DN
51052008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
5106
5107 * s/gnu-linux.h: Remove commented out code.
5108
4ed4b975 5109 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
5110
5111 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 5112 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 5113 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
5114 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
5115 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
5116
68b587a6
SM
51172008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
5118
9141ca5e
SM
5119 * keymap.c (Fkey_description): Move side effect outside of macro call.
5120
dfae5f9a 5121 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
5122 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
5123
ff7a2223
SM
5124 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
5125 (syms_of_fontset): Use ASET.
5126
68b587a6
SM
5127 * fns.c (concat): Move side effect outside of macro call.
5128 (hash_clear): Use ASET.
5129
a31787b1
RS
51302008-02-08 Richard Stallman <rms@gnu.org>
5131
5132 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
5133 If FORCE, and frame has a surrogate minibuffer for another frame,
5134 delete the other frame first.
5135
987be29b 51362008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
5137
5138 * xterm.c (x_detect_focus_change): Handle embed client message.
5139 (handle_one_xevent): Ditto.
5140 (handle_one_xevent): If embedded and we get a button press/release,
5141 request focus.
5142 (xembed_set_info, xembed_send_message): New functions.
5143 (x_make_frame_visible): Call xembed_set_info if embedded.
5144 (x_make_frame_invisible): Call xembed_set_info if embedded.
5145 (x_term_init): Initialize Xatom_XEMBED.
5146 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
5147 (x_iconify_frame): Ditto.
5148
5149 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
5150 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
5151 (enum xembed_modifier, enum xembed_accelerator): New.
5152 (xembed_set_info, xembed_send_message): Declare.
5153 (FRAME_X_EMBEDDED_P): New.
5154
5155 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
5156 gtk_plug_new.
5157
5158 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
5159 window ID of a frame.
5160 (x_window): Reparent frame if embedded.
5161 (Fx_create_frame): Don't set border width if embedded.
5162
1f204af3 5163 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
5164 (standard_args): Ditto.
5165
880820fe 51662008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
5167
5168 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
5169
92413ef3
JD
51702008-02-07 Jim Meyering <meyering@redhat.com>
5171
6f69e89b 5172 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
5173 The latter provokes a warning from gcc about the empty else, when
5174 followed by ";". Also, without that trailing semicolon, it would
5175 silently swallow up any following statement.
c3f9fba8 5176 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
5177 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
5178 * buffer.h (DECODE_POSITION): Likewise.
5179 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
5180 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
5181 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
5182 (FETCH_CHAR_ADVANCE): Likewise.
5183 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 5184
03fa5713
GM
51852008-02-07 Jim Meyering <meyering@redhat.com>
5186
5187 * lread.c [lint]: Don't include <sys/inode.h>.
5188
3ae565b3
SM
51892008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
5190
5191 * xselect.c (x_handle_dnd_message):
5192 * xmenu.c (digest_single_submenu, xmenu_show):
5193 * xdisp.c (with_echo_area_buffer_unwind_data)
5194 (format_mode_line_unwind_data, unwind_format_mode_line)
5195 (display_menu_bar):
5196 * eval.c (Ffetch_bytecode):
5197 * doc.c (store_function_docstring):
5198 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
5199 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
5200 * buffer.c (add_overlay_mod_hooklist): Use ASET.
5201
146b6e55
KH
52022008-02-07 Kenichi Handa <handa@m17n.org>
5203
5204 * ftxfont.c (ftxfont_open): Don't set
5205 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
5206
5207 * ftfont.c (ftfont_open): Fix previous change.
5208
46a923ac
JR
52092008-02-06 Jason Rumney <jasonr@gnu.org>
5210
5211 * w32font.c (w32font_text_extents): Fill in lbearing metric.
5212 Use cached metrics for ASCII characters.
3ae565b3
SM
5213 (w32font_open_internal): Don't set font's owning_frame.
5214 Cache metrics for ASCII characters.
46a923ac
JR
5215
5216 * w32font.h (struct w32font_info): Add ascii_metrics.
5217 Remove owning_frame.
5218
da7d7c21
KH
52192008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
5220
5221 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
5222 to negative value.
5223
5224 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
5225
3ae565b3 5226 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
5227
5228 * charset.c (syms_of_charset): Set QCtest and Qeq.
5229
c62c8ddb
SM
52302008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
5231
ca319910
SM
5232 * process.c (Fstart_process):
5233 * callproc.c (Fcall_process): Handle the case where
5234 Funhandled_file_name_directory returns nil.
5235
76860cbb
SM
5236 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
5237 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
5238 * font.c (check_gstring): Use them and AREF to access the vector before
5239 we know it's really a gstring.
5240 (Ffont_shape_text): Fix typo.
5241 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 5242
15139d67
SM
5243 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
5244 Declare.
5245
c62c8ddb
SM
5246 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
5247
04b65d2b
JR
52482008-02-05 Jason Rumney <jasonr@gnu.org>
5249
5250 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
5251 Set smallest_font_height and smallest_char_width in display info.
5252
fccaebfd
KH
52532008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
5254
5255 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
5256
e7d7fd8c
MB
52572008-02-05 Miles Bader <miles@gnu.org>
5258
5259 * xfaces.c (get_lface_attributes, merge_named_face)
5260 (lookup_named_face, lookup_derived_face, realize_named_face):
5261 Revert 2008-02-01 change by cyd@stupidchicken.com.
5262
3d4448a8
KH
52632008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
5264
5265 * fontset.c (Ffontset_info): Handle the case of inhibitting the
5266 fallback fonts.
15139d67 5267 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 5268
5ace1ec1
JR
52692008-02-04 Jason Rumney <jasonr@gnu.org>
5270
5271 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
5272 set full_name.
e3a77b22 5273 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 5274
ffe42183
JR
52752008-02-03 Jason Rumney <jasonr@gnu.org>
5276
5277 * makefile.w32-in (OBJ1): Include font.o here.
5278 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
5279
526dc3b3
JR
52802008-02-02 Jason Rumney <jasonr@gnu.org>
5281
a0fece35 5282 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 5283
af805c82
JR
52842008-02-01 Jason Rumney <jasonr@gnu.org>
5285
5286 * s/cygwin.h: Define VIRT_ADDR_VARIES.
5287
5288 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
5289
7f6519c5
AS
52902008-02-01 Andreas Schwab <schwab@suse.de>
5291
1f45f627 5292 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 5293 ../lisp/language/myanmar.el.
7f6519c5 5294
26f8aa27
CY
52952008-02-01 Chong Yidong <cyd@stupidchicken.com>
5296
1f45f627 5297 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
5298 (merge_named_face, lookup_named_face, lookup_derived_face)
5299 (realize_named_face): Call lface_from_face_name directly, and use
5300 the fact that merge_face_vectors does not alter its FROM argument.
5301
73acf815 53022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5303
5304 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 5305 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 5306
73acf815 53072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5308
5309 * fontset.c (reorder_font_vector): Exclude nil elements from the
5310 font group. Don't try multiple fonts.
15139d67 5311 (fontset_font): Adjust for the above change.
aca7a3d2
MB
5312 (Finternal_char_font): Return nil if the found font doesn't
5313 contain the character ch.
5314
4c4475a8 5315 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 5316
73acf815 53172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5318
5319 * font.h (FONTP): Make it return 1 also for a font-object.
5320
5321 * .gdbinit (xfontset): New function.
5322
5323 * font.c (font_find_for_lface): Check if the character C is
5324 supported or not only for the first font.
5325
5326 * fontset.c (reorder_font_vector): Fix typo.
5327 (fontset_find_font): Don't add a font-spec specifying a script.
5328 Use 0 (not Qt) for the indication of empty font-group. Change the
5329 format of RFONT-DEF. Return Qt if no font in the font-group
5330 support the character.
15139d67 5331 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 5332 found the character, remember that.
15139d67 5333 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
5334 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
5335 no font for the target.
15139d67 5336 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 5337
73acf815 53382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5339
5340 * font.c (font_load_for_face): Handle the case that the font in
5341 face->lface is a string.
5342
73acf815 53432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5344
1f45f627 5345 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 5346
73acf815 53472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5348
5349 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
5350 Fix previous change. If the frame is not on a window system,
5351 signal an error.
5352
73acf815 53532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5354
4c4475a8
GM
5355 * coding.c (decode_coding_object, encode_coding_object): Adjust
5356 marker positions after conversion.
aca7a3d2
MB
5357
5358 * lisp.h (struct Lisp_Marker): New member need_adjustment.
5359
73acf815 53602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5361
5362 * font.c (font_find_for_lface): Fix the handling of the return
5363 value of font_has_char.
5364 (Ffont_shape_text): Fix previous change.
5365
5366 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
5367 (fontset_ref_and_range): Delete it.
5368 (fontset_find_font): Call char_table_ref_and_range instead of
5369 FONTSET_REF_AND_RANGE.
5370 (make_fontset): Don't setup font groups of Latin here.
5371 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
5372 (new_fontset_from_font): Make the specified font the default for
5373 all Latin characters.
5374
73acf815 53752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5376
5377 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
5378 is on a window system before accessing the fontset of the frame.
5379
73acf815 53802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5381
1f45f627 5382 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
5383
5384 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
5385 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
5386
5387 * font.c (Ffont_shape_text): If the font driver doesn't have a
5388 shaper function, make zero-width glyphs to have at least one-pixel
5389 width. Fix setting of `to' field of glyphs.
5390
73acf815 53912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5392
5393 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
5394 glyphs.
5395
1f45f627 5396 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 5397
73acf815 53982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5399
5400 * composite.c (syms_of_composite): Fix docstring of
5401 auto-composition-function.
5402
5403 * font.h (LGLYPH_SIZE): New macro.
5404
5405 * font.c (Ffont_fill_gstring): Stop filling when a character not
5406 supported by the font is found.
5407 (Ffont_shape_text): When a shape callback function returns nil,
5408 try at most two more times with larger gstring.
15139d67 5409 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
5410
5411 * xdisp.c (handle_auto_composed_prop): Change the argument to
5412 auto-composition-function.
5413
5414 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
5415 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
5416 Lispy glyph and store it in the lgstring.
5417
5418 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
5419
5420 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
5421
73acf815 54222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5423
5424 * font.c (Ffont_shape_text): Avoid unnecessary composition.
5425
5426 * fontset.c (Vfont_encoding_charset_alist): New variable.
5427 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
5428 (reorder_font_vector, fontset_find_font): Optimize for the case of
5429 no need of reordering.
aca7a3d2
MB
5430 (face_for_char): Map the charset property by
5431 Vfont_encoding_charset_alist.
5432
73acf815 54332008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5434
5435 * w32font.c (logfonts_match): Don't check adstyle here.
5436 (font_matches_spec): Check here against physical font instead.
5437 (add_font_entity_to_list): Avoid some substitutions.
5438
5439 * font.c (font_parse_fcname): Default weight and slant to normal.
5440 (font_score): Prefer normal fonts if weight or slant unspecified.
5441 (font_score) [WINDOWSNT]: Scale weight difference down to closer
5442 match freetype scores.
5443
73acf815 54442008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5445
5446 * w32font.c (w32font_text_extents): Don't use the frame stored in the
5447 font, as it may have been deleted.
5448 (w32_enumfont_pattern_entity): Map generic family to adstyle using
5449 most common hyphenless variation.
5450 (logfonts_match): Check generic family.
5451 (font_matches_spec): Don't check generic family here.
5452 (fill_in_logfont): Set generic family based on adstyle.
5453
5454 * w32font.h (w32font_get_cache): Update declaration.
5455
73acf815 54562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5457
5458 * ftfont.c (ftfont_get_cache): Adjust the argument type.
5459
15139d67 5460 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 5461 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
5462 with the old drivers.
5463
5464 * w32font.c (w32font_get_cache): Adjust the argument type.
5465
5466 * xfont.c (xfont_get_cache): Adjust the argument type.
5467
5468 * font.h (struct font_driver): Change argument type of get_cache.
5469
5470 * xftfont.c (xftfont_start_for_frame): Delete prototype.
5471
5472 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 5473 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 5474 (font_clear_cache): New function.
4c4475a8 5475 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 5476 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
5477
5478 * fontset.c (fontset_find_font): Fix previous change.
5479
73acf815 54802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5481
5482 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
5483 dpyinfo->font_table.
5484 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 5485 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
5486
5487 * font.c (font_at): Handle the case that the arg C is negative.
5488 Handle the unibyte case.
5489 (Ffont_at): Call font_at with the arg C -1.
5490
5491 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
5492 the position here, and call font_at with the arg C -1.
5493 Don't check the range of the existing composition at the point.
aca7a3d2 5494
73acf815 54952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5496
15139d67 5497 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 5498 Change caller.
4c4475a8
GM
5499 (load_font_get_repertory, fontset_find_font): Assume that
5500 font_spec is always a font-spec object.
aca7a3d2
MB
5501 (Fset_fontset_font): Always store a font-spec object in a fontset.
5502
5503 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
5504 instead of get_property_and_range.
5505
73acf815 55062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5507
5508 * xftfont.c (struct xftfont_info): Delete the member ft_face.
5509 (xftfont_open): Don't keep locking face.
5510 (xftfont_close): Don't unlock face.
4c4475a8 5511 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
5512
5513 * fontset.c (fontset_find_font): Don't prefer a font of
5514 supplementary charset.
5515
73acf815 55162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5517
1f45f627
GM
5518 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
5519 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
5520 (OTF_TAG_STR): Terminate by '\0'.
5521 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
5522 listing to the script specified in that property. Fix arg to
5523 OTF_check_features.
5524
73acf815 55252008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5526
5527 * w32font.h: New file.
5528
5529 * w32font.c: Include it.
5530 (struct w32font_info): Add owning_frame field. Move to w32font.h.
5531 (w32font_open): Set owning_frame.
5532 (w32font_text_extents): Use owning_frame.
5533 (struct font_callback_data): Add opentype_only field.
5534 (add_font_entity_to_list): Use it to filter fonts.
5535 Don't check against full name.
5536 (w32font_list_internal): New function.
5537 (w32font_list): Use it.
5538 (w32font_match_internal): New function.
5539 (w32font_match): Use it.
5540 (w32font_open_internal): New function.
5541 (w32font_open): Use it.
5542 (w32font_get_cache, w32font_close, w32font_has_char)
5543 (w32font_encode_char, w32font_text_extents, w32font_draw):
5544 Make non-static.
5545
5546 * makefile.w32-in (w32font.o): Depend on w32font.h.
5547
73acf815 55482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5549
5550 * charset.c (Fdefine_charset_internal): Record a supplementary
5551 charset at the tail of Vcharset_order_list.
5552
5553 * font.c (Ffont_shape_text): Fix the return value.
5554
5555 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
5556
5557 * xdisp.c (handle_auto_composed_prop): Fix previous change.
5558
73acf815 55592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5560
5561 * ftfont.c (struct OpenTypeSpec): New struct.
5562 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
5563 (ftfont_get_open_type_spec): New function.
5564 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
5565
15139d67 5566 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 5567
73acf815 55682008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5569
5570 * w32font.c (add_font_entity_to_list): Compare only the beginning
5571 of full name.
5572
73acf815 55732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5574
15139d67
SM
5575 * xdisp.c (handle_auto_composed_prop): Simplify the code.
5576 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 5577
73acf815 55782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5579
5580 * font.c (font_gstring_produce): Delete it.
5581
15139d67
SM
5582 * composite.h (COMPOSITION_METHOD):
5583 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 5584
73acf815 55852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5586
15139d67 5587 * xfont.c (Qx): Delete.
aca7a3d2
MB
5588 (syms_of_xfont): Don't initialize Qx.
5589
15139d67
SM
5590 * composite.h (enum composition_method):
5591 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 5592
73acf815 55932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5594
5595 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
5596 (choose_face_font): Accept new form of font-spec.
5597
5598 * frame.h (font_driver_list): Declare it unconditionally.
5599 (struct frame): Define members font_driver_list and font_data_list
5600 unconditionally.
5601
5602 * fontset.c: Include "font.h" unconditionally.
15139d67 5603 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
5604 (Fset_fontset_font): Accept a font-spec object.
5605
5606 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
5607 PIXEL_SIZE part a wild card.
5608
5609 * dispextern.h (struct glyph_string): Define members clip and
5610 num_clips unconditionally.
5611 (struct face): Define members font_info and extra unconditionally.
5612
5613 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
5614 ftfont_info only when HAVE_LIBOTF is defined.
5615
73acf815 56162008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5617
5618 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
5619 and end.
5620
73acf815 56212008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5622
5623 * w32font.c (w32font_driver): Add new fields.
5624
73acf815 56252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 5626
aca7a3d2
MB
5627 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
5628 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
5629 (LIBES): Add @M17N_FLT_CFLAGS@.
5630
5631 * composite.c (compose_text): Don't treat the new style
5632 composition specially.
5633
5634 * emacs.c (main): Call syms_of_font unconditionally.
5635
5636 * font.h (FONT_ENTITY_NOT_LOADABLE)
5637 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 5638 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 5639 (struct font_driver): New member shape.
1f45f627 5640 (font_registry_charsets): Extern it.
4c4475a8 5641 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
5642 (font_otf_capability, font_drive_otf): Delete their externs.
5643
5644 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
5645 (font_charset_alist, font_registry_charsets): Move from xfont.c
5646 and rename.
aca7a3d2
MB
5647 (font_prop_validate_otf): New function.
5648 (font_property_table): Register it for QCotf.
5649 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 5650 (font_drive_otf): Delete.
1f45f627 5651 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
5652 lispy gstring.
5653 (font_find_for_lface): New arg C.
15139d67 5654 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
5655 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
5656 lispy gstring.
aca7a3d2
MB
5657 (Ffont_shape_text): New function.
5658 (Fopen_font): If the font size is not given, use 12-pixel.
5659 (Ffont_at): New arg STRING.
15139d67
SM
5660 (syms_of_font): Initalize font_charset_alist.
5661 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
5662 conditionally.
5663
5664 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
5665 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
5666 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
5667 Adjust for the change of RFONT-DEF.
15139d67 5668 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
5669
5670 * ftfont.h: New file.
5671
5672 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
5673 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
5674 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5675 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
5676 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 5677 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
5678 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
5679 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
5680 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 5681 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
5682 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
5683 (otf_gstring, gstring, m17n_flt_initialized): New variables.
5684
15139d67
SM
5685 * w32term.c (x_draw_composite_glyph_string_foreground):
5686 Adjust for the change of lispy gstring.
aca7a3d2 5687
15139d67 5688 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 5689 lispy gstring. Call a function for auto-composition with the
15139d67
SM
5690 third arg it->window.
5691 (fill_composite_glyph_string): Adjust for the change of lispy string.
5692 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 5693
15139d67 5694 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
5695 font_find_for_lface.
5696
1f45f627
GM
5697 * xfont.c (x_font_charset_alist): Move to font.c and rename.
5698 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
5699 (syms_of_xfont): Don't handle x_font_charset_alist.
5700
5701 * xftfont.c: Include "ftfont.h".
15139d67 5702 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
5703 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
5704 (xftfont_close) [HAVE_LIBOTF]: Close otf.
5705 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
5706 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
5707 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 5708
15139d67 5709 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
5710 the change of lispy gstring.
5711
73acf815 57122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5713
5714 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
5715
73acf815 57162008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5717
5718 * w32font.c (w32font_draw): Fill background manually.
5719
73acf815 57202008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5721
5722 * font.c (Qfontp): Remove unused symbol.
5723 (QCantialias): New symbol.
5724 (syms_of_font): Define it.
5725 (font_property_table): Set a validator for QCantialias.
5726
15139d67
SM
5727 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
5728 Define if not already.
aca7a3d2
MB
5729 (QCfamily): Share with xfaces.c.
5730 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 5731 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
5732 (w32_antialias_type, lispy_antialias_type): New functions.
5733 (w32_enumfont_pattern_entity): New arg requested_font.
5734 Set antialias parameter if non-default was requested.
5735 (fill_in_logfont): Fill in lfQuality if :antialias specified.
5736
73acf815 57372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5738
5739 * lread.c (read1): Undo the previous change.
5740
73acf815 57412008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
5742
5743 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 5744 USE_FONT_BACKEND is defined.
aca7a3d2 5745
73acf815 57462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5747
5748 * font.h (struct font_bitmap): New member bits_per_pixel.
5749 (struct font_driver): New members start_for_frame and end_for_frame.
5750 (struct font_data_list): New struct.
5751 (font_put_frame_data, font_get_frame_data): Extern them.
5752
5753 * frame.h (struct frame): New member font_data_list.
5754
5755 * font.c (font_update_drivers): Call driver->start_for_frame and
5756 driver->end_for_frame at proper timings.
5757 (font_put_frame_data, font_get_frame_data): New functions.
5758 (Ffont_spec): Add usage in the docstring.
5759
5760 * frame.c (make_frame): Initialize f->font_data_list to NULL.
5761 (Fdelete_frame): Call font_update_drivers.
5762
5763 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 5764 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
5765 (xftfont_get_xft_draw): New function.
5766 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
5767 (xftfont_end_for_frame): New function.
5768 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
5769
15139d67 5770 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 5771 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
5772 (struct ftxfont_frame_data): New struct.
5773 (ftxfont_draw_bitmap): New arg gc_fore and flush.
5774 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 5775 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
5776 (ftxfont_end_for_frame): New function.
5777 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
5778
5779 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
5780
73acf815 57812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5782
5783 * xselect.c (Vselection_coding_system)
5784 (Vnext_selection_coding_system): Delete them.
5785 (syms_of_xselect): Don't declare selection-coding-system and
5786 next-selection-coding-system. They are declared in select.el.
5787
73acf815 57882008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5789
5790 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
5791
5792 * w32fns.c: Include imm.h.
5793 (get_composition_string_fn, get_ime_context_fn): New optional
5794 system functions.
5795 (globals_of_w32fns): Load them from imm32.dll.
5796 (ignore_ime_char): New flag.
5797 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
5798 WM_IME_ENDCOMPOSITION messages.
5799
5800 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
5801 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
5802
73acf815 58032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5804
5805 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
5806 (READCHAR_REPORT_MULTIBYTE): New macro.
5807 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
5808 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
5809 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
5810 source.
5811
73acf815 58122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5813
5814 * xfaces.c (face_for_overlay_string): Call lookup_face with
5815 correct arguments (fix of synching with the trunk).
5816
73acf815 58172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5818
4c4475a8
GM
5819 * font.c (font_prop_validate_symbol, font_prop_validate_style)
5820 (font_prop_validate_non_neg, font_prop_validate_spacing):
5821 Delete argument prop_index.
15139d67
SM
5822 (font_property_table): Change arguments to validater. Change Callers.
5823 (font_lispy_object): Delete.
aca7a3d2
MB
5824 (font_at): Use font_find_object instead fo font_lispy_object.
5825
73acf815 58262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
5827
5828 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
5829 and file names.
5830
73acf815 58312008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5832
5833 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
5834 (font_matches_spec): Remove debug output.
5835 (add_font_entity_to_list): Avoid using substituted fonts.
5836
73acf815 58372008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5838
5839 * doc.c (Fsnarf_documentation):
5840 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
5841
73acf815 58422008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5843
290afd83 5844 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
5845 HAVE_WINDOW_SYSTEM is defined.
5846
73acf815 58472008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5848
5849 Fix up multi-tty merge.
5850
5851 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
5852 and indentation.
5853
5854 * xfaces.c (free_realized_face, clear_face_gcs):
5855 Include font_done_for_face in the input_blocked section, just in case.
5856
5857 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
5858 (get_char_face_and_encoding): Undo last change and remove the *other*
5859 duplicate definition (i.e. keep the one that's better scoped and that
5860 includes code for the font-backend).
5861
5862 * terminal.c (create_terminal): Default keyboard_coding to
5863 `no-conversion' and terminal_coding to `undecided'.
5864
5865 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
5866
5867 * fontset.c (free_realized_fontsets): Check that the table entry does
5868 contain a fontset before trying to compare it to `base'.
5869
5870 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
5871 syms_of_charset, and syms_of_coding earlier because init_window_once
5872 now needs Vcoding_system_hash_table to be setup.
5873
5874 * coding.h (default_buffer_file_coding): Remove.
5875
5876 * coding.c (default_buffer_file_coding): Remove.
5877 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
5878 than ->symbol, and use the terminal-local coding system.
5879 (syms_of_coding): Don't setup the coding-systems that are not
5880 terminal-local.
5881 (Fdefine_coding_system_internal): Use XCAR/XCDR.
5882
5883 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
5884 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
5885
5886 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
5887 in chartab.c and were re-added here by mistake.
5888 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
5889
5890 * doc.c (Fsnarf_documentation):
5891 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
5892 src to etc.
5893
5894 * ChangeLog.10: Add mistakenly removed entry.
5895
73acf815 58962008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
5897
5898 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
5899
73acf815 59002008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5901
5902 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
5903 Add extra args to FACE_FOR_CHAR.
5904
73acf815 59052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5906
5907 * keymap.c (where_is_internal_1): If key is a cons, store the copy
5908 in sequence.
5909
4c4475a8
GM
5910 * chartab.c (map_sub_char_table, map_char_table): If the range
5911 contains just one character, call the function with that character
5912 even if the depth is not 3.
aca7a3d2 5913
73acf815 59142008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5915
5916 * w32font.c (w32font_text_extents): Calculate metrics for the
5917 whole string.
5918
73acf815 59192008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5920
5921 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
5922
73acf815 59232008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5924
5925 * w32term.c (x_set_glyph_string_clipping): Use
5926 get_glyph_string_clip_rects.
4c4475a8
GM
5927 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5928 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5929
5930 * w32font.c (w32font_draw): Do clipping here.
5931
73acf815 59322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5933
1f45f627 5934 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
5935 glyph_string.
5936
5937 * xterm.c (x_set_glyph_string_clipping): Use
5938 get_glyph_string_clip_rects.
4c4475a8
GM
5939 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
5940 Adjust for the change of struct glyph_string.
aca7a3d2
MB
5941
5942 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
5943 the resulting clip(s}.
1f45f627 5944 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
5945 row->clip temporarily.
5946 (expose_window): Redraw rows overlapping the exposed area.
5947
5948 * dispextern.h (struct glyph_row): New member clip.
5949 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
5950 clip_height, new member clip, and num_clips.
5951
73acf815 59522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5953
5954 * data.c (Fchar_or_string_p): Fix docstring.
5955
73acf815 59562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5957
5958 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
5959 create a temporal XftDraw object.
5960
73acf815 59612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5962
5963 * font.c (Ffontp): Fix docstring.
5964
5965 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
5966 strong evidence of ISO-2022.
5967
73acf815 59682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5969
5970 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
5971 SYNTAX_ENTRY_FOLLOW_PARENT.
5972
73acf815 59732008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
5974
5975 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
5976 its type.
5977 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
5978 Update to the new type of weak_hash_tables and next_weak.
5979
5980 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
5981 a plain C pointer to Lisp_Hash_Table.
5982
5983 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
5984 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
5985 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
5986 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
5987 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
5988 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
5989 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
5990 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
5991 (GC_EQ): Remove since they've been identical to their non-GC_
5992 alter-egos ever since the markbit was eradicated.
5993
290afd83
JB
5994 * alloc.c:
5995 * buffer.c:
5996 * buffer.h:
5997 * data.c:
5998 * fileio.c:
5999 * filelock.c:
6000 * fns.c:
6001 * frame.h:
6002 * lisp.h:
6003 * macterm.c:
6004 * print.c:
6005 * process.c:
6006 * w32fns.c:
6007 * w32menu.c:
6008 * w32term.c:
6009 * xfns.c:
6010 * xmenu.c:
6011 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 6012
73acf815 60132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6014
6015 * chartab.c (map_sub_char_table): Make it work for the top-level
6016 char-table. Fix handling of parent char-table.
c5ad7a3d 6017 (map_char_table): Adjust for the above change.
aca7a3d2 6018
73acf815 60192008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6020
6021 * w32font.c (Qgdi): Rename from Qw32.
6022
73acf815 60232008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6024
6025 * w32bdf.c (get_quoted_string): Make function static.
6026
73acf815 60272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6028
6029 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
6030 bigger ascent and descent than those of the font, use them as
6031 font's ascent and descent.
6032
73acf815 60332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6034
6035 * Makefile.in (${lispsource}international/charprop.el): Move this
6036 target within "#ifdef HAVE_UNIDATA" and "#endif".
6037
73acf815 60382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6039
6040 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
6041 (shortlisp): Add ../lisp/language/tai-viet.el.
6042
1f45f627 60432008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
6044
6045 * Makefile.in (${lispsource}international/charprop.el): Depend on
6046 temacs${EXEEXT}.
6047
73acf815 60482008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6049
6050 * w32font.c (w32font_close): Delete the GDI font object.
6051
6f69e89b 6052 * w32menu.c: Include character.h.
aca7a3d2
MB
6053
6054 * w32proc.c: Likewise.
6055
6056 * w32select.c: Likewise.
6057
6f69e89b 6058 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 6059
73acf815 60602008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6061
6062 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
6063
6064 * w32menu.c (syms_of_w32menu): Likewise.
6065
6066 * w32proc.c (syms_of_ntproc): Likewise.
6067
6068 * w32select.c (syms_of_w32select): Likewise.
6069
6070 * w32term.c (syms_of_w32term): Likewise.
6071
73acf815 60722008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6073
6074 * w32font.c (w32font_draw): Delete brush after using it.
6075
73acf815 60762008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6077
6078 * w32font.c (w32font_open): Don't set font_idx.
6079 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
6080 to font settings.
6081 (w32font_draw): Fill background explicitly.
6082
73acf815 60832008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6084
6085 * w32term.c (w32_initialize): Don't call w32font_initialize.
6086
6087 * w32font.c (w32font_info): Remove subranges.
6088 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
6089 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
6090 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
6091 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
6092 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
6093 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
6094 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
6095 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
6096 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
6097 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
6098 New symbols.
6099 (font_callback_data): New struct.
6100 (w32font_list, w32font_match): Use it.
6101 (w32font_open): Don't populate subranges.
6102 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
6103 (w32font_encode_char): Always return unicode code-point as-is.
6104 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
6105 GetGlyphOutline. Never look up by glyph index. Avoid looping
6106 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 6107 glyph index version.
1f204af3 6108 (set_fonts_frame): Remove.
aca7a3d2 6109 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
6110 set frame parameter. Use backward compatible fake foundries.
6111 Save generic family in extra slot under QCfamily. Make width slot
6112 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
6113 binary subranges.
6114 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 6115 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
6116 unwanted fonts.
6117 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
6118 (w32_registry): Default to iso10646_1.
6119 (fill_in_logfont): Use dpi from extra slot. Don't bother with
6120 string font registries. Don't fill in font name if it is a generic
6121 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
6122 extra info to fill pitch, family and charset fields.
6123 (list_all_matching_fonts): Use font_callback_data struct.
6124 (unicode_range_for_char): Remove.
6125 (font_supported_scripts): New function.
6126 (w32font_initialize): Remove.
6127 (syms_of_w32font): Update which symbols are defined.
6128
73acf815 61292008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6130
6131 * font.c (font_pixel_size): Reverse assq_no_quit args.
6132
6133 * w32term.h (FONT_WIDTH): Report max width, not average.
6134 (FONT_MAX_WIDTH): Remove.
6135 (FONT_AVG_WIDTH): New macro.
6136
6137 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
6138 redefinition of FONT_WIDTH.
6139
6140 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
6141 (w32_cache_char_metrics): Use FONT_WIDTH.
6142
6143 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
6144
73acf815 61452008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6146
6147 * w32font.c (w32font_open): Make lfHeight negative.
6148
6149 * w32fns.c (x_default_font_parameter): Use new style font name.
6150 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
6151
73acf815 61522008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6153
6154 * w32font.c (QCsubranges): New symbol.
6155 (w32font_open, w32font_has_char): Get subranges from subproperty
6156 of extra.
6157 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
6158 (syms_of_w32font): Define :subranges symbol.
6159
6160 * font.c (font_put_extra): Expose externally.
6161
1f45f627 6162 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
6163
6164 * font.c (Ffont_get): Use font driver to determine otf capability.
6165 (adjust_anchor): Check if driver defines anchor_point before using.
6166
6167 * w32font.c (w32font_open): Handle size, height and pixel_size better.
6168 (w32font_draw): Use options.
6169 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
6170 Fix detection of truetype fonts.
6171 (registry_to_w32_charset): Handle charsets other than iso8859-1
6172 expressed as lisp symbols.
6173 (w32_registry): Express charset as lisp symbol.
6174 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 6175 Don't set width here. Set quality to default.
aca7a3d2
MB
6176
6177 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
6178 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
6179
6180 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
6181 Remove redundant loop and allocation.
6182
6183 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 6184 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
6185 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
6186
6187 * xdisp.c (fill_composite_glyph_string): Make the first arg to
6188 STORE_XCHARB a valid l-value.
6189
6190 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
6191 calculations for non-Truetype fonts.
6192 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
6193 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
6194 Remove redundant code.
aca7a3d2
MB
6195 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
6196
6197 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
6198 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
6199
6200 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
6201 (x_to_w32_charset, w32_to_x_charset): Expose externally.
6202
6203 * w32font.c: New file for w32 font backend.
6204
73acf815 62052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6206
6207 * term.c: Don't include "buffer.h" twice.
6208
73acf815 62092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6210
6211 * character.c (Funibyte_string): New function.
6212 (syms_of_character): Defsubr it.
6213
73acf815 62142008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6215
6216 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
6217 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
6218 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
6219 (x_draw_glyph_string, x_draw_glyph_string_foreground)
6220 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
6221 (x_free_frame_resources): Sync with xterm.c.
6222
73acf815 62232008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6224
6225 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
6226 char-table size.
6227
73acf815 62282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6229
c3f9fba8 6230 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 6231
73acf815 62322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6233
6234 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
6235 font_otf_gpos, add font_drive_otf.
6236
6237 * fontset.c (fontset_find_font): Pay attention to font size
6238 specified for a font.
6239 (reorder_font_vector): Check contents of font_def.
6240
6241 * font.c (struct otf_list): Delete it.
6f69e89b 6242 (otf_list): Make it a lisp variable.
aca7a3d2 6243 (otf_open): Use lispy otf_list.
1f45f627 6244 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 6245 (check_otf_features): New function.
c3f9fba8
JB
6246 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6247 New functions.
aca7a3d2
MB
6248 (font_drive_otf): New function merging font_otf_gsub and
6249 font_otf_gpos.
6250 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 6251 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
6252 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
6253 Ffont_otf_gpos.
6254 (syms_of_font): Staticpro otf_list. Delete defsubr of
6255 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
6256
1f45f627 6257 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
6258 font_open_for_lface.
6259
6260 * font.h (font_open_for_lface): Adjust prototype.
6261 (struct font_driver): Delete members otf_gsub and otf_gpos, add
6262 member otf_drive.
6263 (font_otf_gsub, font_otf_gpos): Delete externs.
6264 (font_drive_otf): Extern it.
6265
73acf815 62662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6267
6268 * font.c (font_at): If the window W is not on a window system,
6269 return Qnil.
6270
4c4475a8
GM
6271 * coding.c (produce_chars, encode_coding): Don't call
6272 insert_from_gap if no characters to produce.
aca7a3d2 6273
73acf815 62742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6275
6276 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
6277 Fclear_face_cache.
6278
6279 * xfaces.c (face_for_font): Check also face->font==font->font.font.
6280
73acf815 62812008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6282
6283 * emacs.c (main): Change default value of `enable_font_backend' to 1.
6284 Parse "--disable-font-backend" option.
6285 (standard_args): Add "--disable-font-backend" option.
6286
73acf815 62872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6288
6289 * fontset.c (fontset_find_font): New function.
6290 (fontset_font): Use fontset_find_font.
6291 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
6292 Register the specified font for all Latin characters.
6293 (new_fontset_from_font): Register the specified font for all Latin
6294 characters.
6295 (dump_fontset): For a realized fontset, include the base fontset
6296 name in the returned vector.
6297
73acf815 62982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6299
6300 * character.h (CHAR_STRING): Cast C to unsigned on calling
6301 char_string.
6302
6303 * character.c (char_string): Type of arg C changed to unsigned.
6304 Signal an error if C is an invalid character code.
6305
4c4475a8
GM
6306 * editfns.c (general_insert_function, Fchar_to_string):
6307 Use CHARACTERP, not INTEGERP.
aca7a3d2 6308
73acf815 63092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6310
6311 * character.h (MIN_MULTIBYTE_LEADING_CODE)
6312 (MAX_MULTIBYTE_LEADING_CODE): New macros.
6313
6314 * regex.c (analyse_first): Fix for multibyte characters in "case
6315 charset:" and "case categoryspec:".
6316
73acf815 63172008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6318
6319 * Makefile.in (LIBES): Move standard libraries to the end.
6320
73acf815 63212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6322
6323 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
6324 nonzero, don't shrink the buffer nextb.
6325
6326 * buffer.h (struct buffer_text): New member inhibit_shrinking.
6327
6328 * coding.c (coding_alloc_by_making_gap): New arg offset.
6329 (alloc_destination): Call coding_alloc_by_making_gap with the arg
6330 offset.
6331 (decode_coding_iso_2022): Update coding->safe_charsets.
6332 (decode_coding_gap): Temporarily set
6333 current_buffer->text->inhibit_shrinking to 1.
6334
73acf815 63352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6336
6337 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
6338 indexing into elements of s->cmp and s->char2b.
6339
73acf815 63402008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
6341
6342 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
6343
73acf815 63442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6345
6346 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
6347 target_multibyte instead of multibyte.
6348 (re_match_2_internal): Call bcmp_translate with target_multibyte.
6349 (bcmp_translate): Change the argument name from multibyte to
6350 target_multibyte.
6351
73acf815 63522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6353
6354 These changes are to compile a regexp into a pattern that can be
6355 used both for multibyte and unibyte targets.
6356
6357 * Makefile.in (search.o): Depend on charset.h.
6358
6359 * character.c (multibyte_char_to_unibyte_safe): New function.
6360
6361 * search.c: Include "charset.h".
6362 (compile_pattern_1): Delete argument multibyte. Don't set
6363 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
6364 (compile_pattern): Don't compare cp->buf.target_multibyte.
6365 Compare cp->buf.charset_unibyte.
6366 (compile_pattern): Set cp->buf.target_multibyte.
6367
6368 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
6369
6370 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
6371
6372 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 6373 multibyte. Change callers.
aca7a3d2 6374 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
6375 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
6376 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
6377 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
6378 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
6379 (regex_compile): Make the compiled pattern usable both for
6380 multibyte and unibyte targets.
6381 (analyse_first): Make the fastmap usable both for multibyte and
6382 unibyte targets.
1f45f627 6383 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
6384 (re_match_2_internal): Pay attention to the case that the
6385 multibyteness of bufp and target may be different.
6386
73acf815 63872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6388
6389 * xdisp.c (x_produce_glyphs): When a font is not found, make the
6390 empty box occupy at least one column width.
6391
73acf815 63922008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6393
6394 * Makefile.in: Remove redundant HAVE_XFT clause.
6395
73acf815 63962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6397
6398 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
6399
73acf815 64002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6401
6402 * fontset.c (Finternal_char_font): Fix for the case of POSITION
6403 being nil.
6404
73acf815 64052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6406
6407 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
6408
73acf815 64092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6410
6411 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
6412
73acf815 64132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6414
6415 * search.c (simple_search): Fix previous change.
6416
73acf815 64172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6418
6419 * xftfont.c (ftfont_font_format): Extern declaration.
6420
6421 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
6422
6423 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
6424 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
6425
6426 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
6427 (ftfont_font_format): Fix previous change.
6428
6429 * font.h (Ffont_xlfd_name): EXFUN it.
6430
6431 * font.c (font_parse_xlfd): Fix the array size of `f'.
6432 (register_font_driver): Use EQ to compare driver->type.
6433
6434 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
6435 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
6436 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
6437
73acf815 64382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6439
4c4475a8
GM
6440 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
6441 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 6442
73acf815 64432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6444
6445 * xfont.c (xfont_open): Set font->format.
6446
6447 * xftfont.c (xftfont_open): Set font->format.
6448
6449 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
6450 (ftfont_list): Include FC_FONTFORMAT in FcObject.
6451 (ftfont_open): Set font->format.
6452 (ftfont_font_format): New function.
6453
6454 * font.h (struct font): New memeber format.
6455
6456 * font.c (Qopentype): New variable.
6457 (syms_of_font): Defsym it.
6458 (Fquery_font): Change the format of the last element of the return
6459 value.
6460
73acf815 64612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6462
6463 * xfns.c (xic_create_xfontset): Try the default fontset name as a
6464 last resort.
6465
73acf815 64662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6467
6468 * coding.c (detect_coding_charset): Fix detection of multi-byte
6469 charset.
6470
73acf815 64712008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
6472
6473 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
6474
73acf815 64752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6476
6477 * xdisp.c (get_next_display_element): Set it->face_id for the
6478 first component of a composition.
1f45f627 6479 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 6480
73acf815 64812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6482
6483 * fontset.c (Qlatin): New variable.
6484 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 6485 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 6486
73acf815 64872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6488
6489 * font.c (font_unparse_fcname): Pay attention to the case that
6490 some of font property is a null string.
6491
73acf815 64922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6493
6494 * term.c: Include "composite.h".
6495 (encode_terminal_code): Output all components of composition.
6496 Check the size of encode_terminal_src.
424c157f 6497 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
6498 (append_composite_glyph, produce_composite_glyph): New functions.
6499
6500 * xdisp.c (x_produce_glyphs): In handling composition, if a font
6501 is not found, get font_info from the current ascii face.
6502
73acf815 65032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6504
6505 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
6506 buffer-file-name to Qnil before calling insert_from_buffer.
6507
6508 * font.c (font_unparse_fcname): Pay attention to the case that
6509 foundry is a null string.
6510
73acf815 65112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6512
6513 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
6514
6515 * font.c (Qunicode_sip): New variable.
6516 (syms_of_font): Declare it as a Lisp symbol.
6517
6518 * font.h (Qunicode_sip): Extern it.
6519
73acf815 65202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6521
1f45f627 6522 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
6523
6524 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 6525 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
6526 the first elememnt of allocated memory.
6527
1f45f627 6528 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
6529
6530 * xdisp.c (handle_composition_prop): Set it->c to the first
6531 non-TAB component.
1f45f627
GM
6532 (fill_composite_glyph_string): Change argument.
6533 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
6534 (x_produce_glyphs): Fix handling of left/right padding.
6535
73acf815 65362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6537
6538 * coding.c (detect_coding_system): Fix for handling off
6539 inhibit_iso_escape_detection. Fix for the case that no coding
6540 system is defined for a specific coding category.
6541
73acf815 65422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6543
1f45f627 6544 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
6545
6546 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
6547 opening a font.
6548
6549 * fileio.c (Finsert_file_contents): On recovering a file, assume
6550 Unix-like eol.
6551 (choose_write_coding_system): On auto-saving a file, force
6552 Unix-like eol.
6553
6554 * coding.c (setup_coding_system): Fix setting of
6555 coding->common_flags based on eol_type.
6556 (coding_inherit_eol_type): If PARENT is not nil, be sure to
6557 inherit from it.
6558
73acf815 65592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6560
1f45f627 6561 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 6562
73acf815 65632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6564
1f45f627 6565 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
6566 (ftfont_list): Don't check :name property.
6567 (ftfont_match): New function.
6568 (ftfont_pattern_entity): If the pattern doesn't contain
6569 FC_SPACING, don't assuce FC_MONO.
6570
6571 * font.h (struct font_driver): New member `match'.
1f45f627 6572 (font_update_drivers): Adjust prototype.
aca7a3d2 6573
4c4475a8
GM
6574 * font.c (font_parse_fcname, font_parse_name): Don't change :name
6575 property of FONT.
aca7a3d2
MB
6576 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
6577 them unconditionally.
6578 (font_matching_entity): New function.
6579 (font_open_by_name): Try font_matching_entity if exact match is
6580 not found.
6581 (font_update_drivers): Delete the arg FONT. Return a list of
6582 actually used backends. Don't free faces, font caches here.
6583 Don't store data in frame parameters. Don't call x_set_font.
6584 (Ffont_spec): Store :name property as is.
6585 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
6586 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
6587 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
6588 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
6589 Call font->driver->otf_gsub instead of font_otf_gsub.
6590
6591 * frame.c (x_set_font_backend): Do more works that were done in
6592 font_update_drivers before.
6593
6594 * xfont.c (xfont_match): New function.
6595 (xfont_driver): Set xfont_driver.match to xfont_match.
6596 (xfont_draw): Set font in GC if necessary.
6597
6598 * ftxfont.c (ftxfont_match): New function.
6599 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
6600
6601 * xftfont.c (xftfont_match): New function.
6602 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
6603
73acf815 66042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6605
6606 * font.h (struct font): New member scalable.
6607 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 6608 (font_otf_gsub): Adjust prototype.
aca7a3d2 6609
1f45f627
GM
6610 * font.c (font_otf_capability): Fix handling of the default langsys.
6611 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
6612 Check the contents of SPEC.
6613 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
6614 (check_gstring): New function.
6615 (REPLACEMENT_CHARACTER): New macro.
6616 (font_otf_gsub): New arg alternate_subst. Be sure to set all
6617 glyph codes of GSTRING.
6618 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
6619 (font_prepare_composition): Set cmp->glyph_len.
6620 (font_open_entity): Set font->scalable.
6621 (Ffont_get): Handle :otf property.
6622 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
6623 functions.
6624 (Fquery_font): Use font->font.full_name.
6625 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
6626 Sfont_otf_alternates.
6627
6628 * ftfont.c (ftfont_open): Set font->font.full_name and
6629 font->font.name properly. Fix calculation of font->font.height
6630 and font->min_width.
6631
6632 * ftxfont.c (ftxfont_create_gcs): New function.
6633 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
6634 (ftxfont_draw_backgrond): Fix filling region.
6635 (ftxfont_default_fid): New function.
6636 (ftxfont_open): Set xfotn->fid to the return value of
6637 ftxfont_default_fid.
6638 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
6639 (ftxfont_done_face): Free only GCs that are created by
6640 ftxfont_create_gcs.
6641 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
6642
6643 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
6644 Clip to src->width, etc (not src->clip_XXX).
6645
6646 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
6647 FontBackend frame parameter.
6648
73acf815 66492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6650
6651 * font.h (struct font_driver_list): New member `on'.
6652 (Fclear_font_cache): EXFUN it.
6653 (font_update_drivers): Extern it.
6654
6655 * font.c (font_unparse_fcname): Fix typo (swidth->width).
6656 (font_list_entities): Check driver_list->on.
6657 (register_font_driver): Initalize `on' member to 0.
6658 (font_update_drivers): New function.
6659 (Fclear_font_cache): Check driver_list->on.
6660
6661 * frame.h (Qfont_backend): Extern it.
6662 (x_set_font_backend): Extern it.
6663
6664 * frame.c (Qfont_backend): New variable.
6665 (frame_parms): New element for font-backend.
6666 (x_set_font_backend): New function.
6667
6668 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
6669 FontBackend frame parameter.
6670 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
6671 x_set_font_backend.
6672
6673 * xfont.c (xfont_list): Don't try listing by :name property if the
6674 name is not for XLFD.
6675
73acf815 66762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6677
6678 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
6679 (LGLYPH_SET_TO): New macros.
6680 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
6681 element of G is vector or not.
6682 (font_at): Extern it.
6683
6684 * font.c: Include window.h.
6685 (font_lispy_object): New function.
6686 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
6687 end of valid glyph.
6688 (font_close_object): Fix getting (struct font *).
6689 (font_at): New function.
6690 (Ffont_get): If FONT is a font-object, get entity from it.
6691 (Ffont_make_gstring): Initialize elements of glyphs with nil.
6692 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
6693 range check.
6694 (Ffont_at): New function.
6695 (syms_of_font): Defsubr Sfont_at.
6696
6697 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 6698 before the entry for Qcomposition.
1f45f627 6699 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
6700 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
6701 the font in gstring.
6702 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
6703 LGLYPH_FORM (g) to detect the end of valid glyph.
6704 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
6705 we are composing with gstring.
6706
6707 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
6708 Check if adjustment is vector or not.
6709
6710 * Makefile.in (font.o): Make it depends on window.h.
6711
73acf815 67122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6713
6714 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
6715 adjustment is vector or not.
6716
73acf815 67172008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
6718
6719 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
6720
73acf815 67212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6722
6723 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
6724 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
6725 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
6726
1f45f627 6727 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 6728 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
6729 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
6730 LGLYPH format.
aca7a3d2 6731
1f45f627 6732 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
6733 the change of LGLYPH format.
6734
73acf815 67352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6736
6737 * ftfont.c (ftfont_list): Fix typo.
1f45f627 6738 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 6739
880820fe 67402008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6741
6742 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
6743
6744 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
6745 xftface_info is non-NULL.
6746
880820fe 67472008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 6748
1f45f627 6749 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 6750
73acf815 67512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6752
6753 * ftfont.c (ftfont_list): Pay attention to the case that
6754 FC_CAPABILITY is not defined.
6755
73acf815 67562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6757
6758 * xftfont.c (xftfont_open): Set charset related members to -1.
6759
1f45f627
GM
6760 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
6761 QCname.
aca7a3d2
MB
6762 (ftfont_open): Set charset related members to -1.
6763
6764 * fontset.c (Votf_script_alist): New variable.
6765 (syms_of_fontset): Initialize it.
6766 (fontset_font): Delete unused variable.
6767
6768 * fontset.h (Votf_script_alist): Extern it.
6769
1f45f627 6770 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
6771
6772 * font.h (font_close_object, font_merge_old_spec): Extern them.
6773
73acf815 67742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6775
6776 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
6777 (syms_of_font): Initialize them.
6778 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
6779 (font_prop_validate_type): Delete.
6780 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
6781 Change caller.
6782 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
6783 (font_prop_validate_extra): Delete.
aca7a3d2
MB
6784 (font_prop_validate_spacing): New function.
6785 (font_property_table): Add elements for all known properties.
1f45f627
GM
6786 (get_font_prop_index): Rename from check_font_prop_name. New
6787 argument FROM. Change caller.
aca7a3d2 6788 (font_prop_validate): Validate all known properties.
1f45f627 6789 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
6790 (font_expand_wildcards): Make it static. Fix the way of shrinking
6791 the possible range.
1f45f627 6792 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 6793 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 6794 Change caller.
aca7a3d2 6795 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
6796 (font_parse_fcname): Delete argument merge. Fix parsing of point
6797 size. Don't validate properties values here. Change caller.
6798 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
6799 (font_open_by_name): Delete unused variable.
6800 (Ffont_spec): Likewise. Validate property values.
6801 (Ffont_match_p): New function.
6802
6803 * font.h (QCscalable): Extern it.
1f45f627 6804 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 6805
1f45f627 6806 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 6807
1f45f627 6808 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
6809 (xfont_list_pattern): New function.
6810 (xfont_list): Use xfont_list_pattern.
6811
73acf815 68122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6813
6814 * font.h (Flist_fonts): EXFUN it.
6815
73acf815 68162008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6817
6818 * w32term.c (w32_initialize): Add back smoothing_type and
6819 smoothing_enabled definitions.
6820
73acf815 68212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6822
6823 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
6824 s->face->font on determining underline position.
6825
73acf815 68262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6827
6828 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
6829 (font_has_char): Accept font-object too.
6830 (font_find_for_lface): Try at first with a size specified in face.
6831
73acf815 68322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6833
6834 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
6835 font_open_by_name.
6836
73acf815 68372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6838
6839 * font.h (QCspacing, QCdpi): Extern them.
6840 (enum font_spacing): New enum.
6841 (FONT_PIXEL_SIZE_QUANTUM): New macro.
6842
6843 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
6844 (QCspacing, QCdpi): New variables.
6845 (syms_of_font): Initialize them.
6846 (font_pixel_size): New function.
6847 (font_put_extra): New function.
6848 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
6849 in FONT_EXTRA.
e9184ccb
JB
6850 (font_parse_fcname): Handle enumenrated values (e.g. bold).
6851 Fix handling font size. Add QCname property that contains only
aca7a3d2 6852 unknown properties.
1f45f627 6853 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 6854 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
6855 (font_sort_entites, font_list_entities, font_find_for_lface)
6856 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 6857 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
6858
6859 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
6860 include weight in listing pattern, instead check weight of each
6861 listed font. Don't include scalable in pattern. Pay attention to
6862 FONT_PIXEL_SIZE_QUANTUM.
6863
73acf815 68642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6865
aca7a3d2 6866 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 6867 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
6868 (font_list_entities): Handle float size correctly.
6869 (font_open_by_name): Prefer `normal' property values if the name
6870 doesn't specify them.
6871
6872 * fontset.c (Finternal_char_font): Use font_get_name, not
6873 Ffont_xlfd_name.
6874
6875 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
6876 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
6877 pattern. Don't force scalable.
6878
6879 * xftfont.c (xftfont_open): For generating a name, start from
6880 96-byte buffer.
6881
880820fe 68822008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
6883
6884 * frame.h (x_new_fontset2): Fix prototype.
6885
73acf815 68862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6887
1f45f627 6888 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
6889 (font_match_p, font_get_spec, font_parse_fcname)
6890 (font_unparse_fcname): Extern them.
1f45f627 6891 (font_get_name): Adjust prototype.
aca7a3d2
MB
6892
6893 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
6894 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
6895 (font_expand_wildcards): Fix handling ENCODING field. Avoid
6896 unnecessary checks for weight, slant, and swidth.
6897 (font_parse_fcname): New function.
6898 (font_unparse_fcname): New function.
6899 (font_parse_name): New function.
6900 (font_match_p): New function.
1f45f627 6901 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
6902 (font_get_spec): New function.
6903 (Qunspecified, Qignore_defface): Don't extern them.
6904 (font_find_for_lface): Assume that LFACE is fully specified.
6905 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
6906 object, use it for FACE.
6907 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
6908 driver->parse_name.
6909 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
6910
1f45f627
GM
6911 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
6912 prototype.
aca7a3d2 6913
1f45f627
GM
6914 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
6915 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
6916 make_fontset.
6917
1f45f627 6918 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 6919
1f45f627 6920 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
6921 of x_new_fontset2.
6922
6923 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
6924 (Qsans__serif): New variables.
6925 (ftfont_generic_family_list): New variable.
6926 (syms_of_ftfont): Initialize the above variables.
1f45f627 6927 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
6928 (ftfont_list_generic_family): New function.
6929 (ftfont_parse_name): Delete this function.
1f45f627 6930 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
6931 (ftfont_list_family): Fix args to FcObjectSetBuild.
6932
6933 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
6934 object in attrs[LFACE_FONT_INDEX].
6935 (set_lface_from_font_name): Cancel all changes for font-backend.
6936 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
6937 function.
6938 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
6939 font object in QCfont attribute.
6940 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
6941 (realize_default_face) [USE_FONT_BACKEND]: Call
6942 set_lface_from_font_and_fontset.
6943
6944 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
6945 "fixed", and signal error here if no suitable font was found.
6946
6947 * xfont.c (xfont_parse_name): Delete this function.
6948
6949 * xftfont.c (xftfont_open): Change coding style of error
6950 handling. Generate fontconfig's fontname pattern.
6951
6952 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
6953 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
6954
6955 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
6956 Both args FONTSET and FONT_OBJECT must be existing ones.
6957
73acf815 69582008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
6959
6960 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
6961
73acf815 69622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6963
6964 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
6965
6966 * font.h (struct font): Fix typo.
6967
6968 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
6969 XLFD_XXX_INDEX.
6970 (enum xlfd_field_mask): New enum.
1f45f627 6971 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
6972 are followed by non-digits, return a symbol.
6973 (font_expand_wildcards): New function.
6974 (font_parse_xlfd): Fix wildcard handling.
6975 (Ffont_spec): If :name is specified, reflect the info in the other
6976 properties.
6977
6978 * ftfont.c (ftfont_pattern_entity): Fix typo.
6979 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
6980 locale.
6981
73acf815 69822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6983
6984 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
6985
1f45f627 6986 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
6987 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
6988 registry doesn't specify encoding part.
6989 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
6990 (font_open_by_name): At first try parsing the name.
6991 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
6992 as Lisp symbols.
6993
6994 * fontset.c (reorder_font_vector): Pay attention to the case that
6995 the 3rd element of font_def is nil.
6996 (fontset_font): For the default fontset, append one more fontset
6997 elements for a script-based font specification. Don't add script
6998 attribute on finding a font.
6999 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
7000 font name.
7001 (fontset_ascii_font): If a font can't be opened, return nil.
7002
1f45f627 7003 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
7004 (ftfont_pattern_entity): New function.
7005 (ftfont_get_cache): Assume that freetype_font_cache is already
7006 initialized.
7007 (ftfont_list): Handle the case that a file is specified in font
7008 name. Use ftfont_pattern_entity to generate entities.
7009 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
7010 (syms_of_ftfont): Initialize freetype_font_cache.
7011
7012 * xftfont.c (xftfont_open): Make the font name fontconfig's
7013 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
7014 (xftfont_close): Free font->font.name if not NULL.
7015
7016 * xfont.c (xfont_list): If script is specified for a font, return
7017 null_vector.
7018 (xfont_list_family): Declare argument type.
7019
7020 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
7021 name, set LFACE_FONT (lface) to nil.
7022
7023 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
7024 return Qnil.
7025
73acf815 70262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7027
1f45f627 7028 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
7029 (standard_args): Add "-enable-font-backend".
7030
73acf815 70312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7032
7033 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
7034 (struct xftdraw_list, xftdraw_list): Delete them.
7035 (register_xftdraw, check_xftdraw): Delete them.
7036 (xftfont_prepare_face): Don't call register_xftdraw.
7037 (xftfont_done_face): Don't call check_xftdraw.
7038 (xftfont_draw): Get backroudn color only when with_background is
7039 nonzero.
7040
7041 * xfont.c (xfont_encode_char): Fix calculation of char2b.
7042
73acf815 70432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7044
7045 These changes are for the new font handling codes.
7046
7047 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
7048 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
7049 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
7050 (FONTSRC, FONTOBJ): New variables.
7051 (obj): Add $(FONTOBJ).
7052 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
7053 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
7054 @LIBOTF_LIBS@.
7055 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 7056 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 7057
1f45f627 7058 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
7059
7060 * character.h (Vscript_representative_chars): Extern it.
7061
7062 * character.c (Vscript_representative_chars): New variable.
7063 (syms_of_character): Declare it as a Lisp variable.
7064
7065 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
7066 enable_font_backend is nonzero, accept the composition method
7067 COMPOSITION_WITH_GLYPH_STRING.
7068
7069 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
7070 enumeration COMPOSITION_WITH_GLYPH_STRING.
7071
aca7a3d2
MB
7072 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
7073 members clip_x, clip_y, clip_width, and clip_height.
7074 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
7075
7076 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
7077 --enable-font-backend. Call syms_of_font.
7078
7079 * fns.c (assoc_no_quit): New function.
7080
7081 * fontset.h (FONT_INFO_FROM_FACE): New macro.
7082 (face_for_font, new_fontset_from_font)
7083 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
7084
7085 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
7086 (fontset_font, fontset_ascii, face_for_char)
7087 (make_fontset_for_ascii_face, Ffont_info)
7088 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
7089 is nonzero, use font-backend mechanism.
7090 (find_font_encoding): Make it non-static.
7091 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
7092 New functions.
7093
7094 * frame.h (struct frame): New members resx and resy.
7095 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
7096 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
7097
7098 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 7099 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
7100
7101 * lisp.h (assoc_no_quit): Extern it.
7102
7103 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
7104 Through out the file, use FONT_INFO_FROM_FACE instead of
7105 FONT_INFO_FROM_ID, use get_per_char_metric instead of
7106 rif->per_char_metric.
7107 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
7108 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
7109 (get_glyph_face_and_encoding, fill_composite_glyph_string)
7110 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
7111 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
7112 nonzero, use font-backend mechanism.
7113 (get_per_char_metric): New function.
7114
7115 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
7116 (set_lface_from_font_name)
7117 (set_font_frame_param, free_realized_face)
7118 (prepare_face_for_display, clear_face_gcs)
7119 (Finternal_set_font_selection_order, realize_x_face)
7120 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
7121 font-backend mechanism.
1f45f627 7122 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
7123 (load_face_font) [USE_FONT_BACKEND]: Abort.
7124 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 7125 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
7126
7127 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
7128 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
7129 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
7130 nonzero, register all available font drivers. Call
7131 x_default_font_parameter for deciding a font.
7132 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
7133
7134 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
7135 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
7136 (x_set_glyph_string_clipping_exactly)
7137 (x_compute_glyph_string_overhangs)
7138 (x_draw_glyph_string_foreground)
7139 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
7140 (x_free_frame_resources) [USE_FONT_BACKEND]: If
7141 enable_font_backend is nonzero, use font-backend mechanism.
7142 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
7143
73acf815 71442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7145
fcb314b2 7146 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
7147 system_eol_type.
7148 (syms_of_coding): Initialize system_eol_type.
7149
fcb314b2
GM
7150 * process.c (Fset_process_coding_system): Inherit system's eol
7151 format if necessary.
aca7a3d2 7152
73acf815 71532008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7154
7155 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
7156
73acf815 71572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7158
7159 * coding.c (decode_eol): Pay attention to buffer relocation in
7160 del_range_2.
7161 (decode_coding): Call decode_eol before restoring undo_list.
7162
73acf815 71632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7164
7165 * charset.c (Fdefine_charset_internal): Fix setting of
7166 emacs_mule_bytes.
7167
73acf815 71682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7169
7170 * keyboard.c (read_char): Check if C is a character or not before
7171 looking up Vkeyboard_translate_table.
7172
73acf815 71732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7174
7175 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
7176 condition to terminate the loop.
7177
73acf815 71782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7179
7180 * coding.c (produce_composition): Compare charbuf[i] instead of
7181 args[i] against 0.
7182 (Fterminal_coding_system): Use EQ to compare Lisp objects.
7183
73acf815 71842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7185
7186 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
7187 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
7188 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
7189 detect_coding.
7190 (emacs_mule_char): Handle old style (Emacs 20) component character
7191 of a composition.
4c4475a8
GM
7192 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
7193 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
7194 composition rule.
aca7a3d2
MB
7195 (decode_coding_emacs_mule): Handle invalid bytes correctly.
7196
73acf815 71972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7198
7199 * coding.c (encode_coding_ccl): Allocate destination dynamically
7200 when necessary.
7201
73acf815 72022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7203
7204 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
7205 the loop. When quitted, show a proper error message.
7206
73acf815 72072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7208
aca7a3d2
MB
7209 * xterm.c (x_set_glyph_string_clipping_exactly): Set
7210 src->clip_head and src->clip_tail temporarily instead of src->hl.
7211
7212 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
7213 character sequence.
7214 (Fccl_execute_on_string): Use ASET, not XSET.
7215
73acf815 72162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7217
1f45f627 7218 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 7219
73acf815 72202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7221
7222 * coding.c (decode_coding): Fix the condition of terminating the
7223 decoding loop.
7224
73acf815 72252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7226
7227 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 7228 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 7229
73acf815 72302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7231
7232 * charset.c (map_charset_chars): Fix for ascii-compatible charset
7233 made by a mapping table.
7234
73acf815 72352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7236
7237 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
7238 not.
7239 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
7240 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
7241
7242 * xterm.c (x_draw_composite_glyph_string_foreground): Check
7243 s->face is NULL or not.
7244
73acf815 72452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7246
7247 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
7248 (x_draw_glyph_string): Fix drawing of right_overhang and
7249 left_overhang around/on cursor.
7250
1f45f627 7251 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 7252
73acf815 72532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7254
7255 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
7256
73acf815 72572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7258
4c4475a8
GM
7259 * coding.c (Fdefine_coding_system_internal)
7260 (Fdefine_coding_system_alias): Avoid a duplicated element in
7261 Vcoding_system_alist.
aca7a3d2 7262
73acf815 72632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7264
7265 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
7266
fcb314b2 7267 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
7268 (syms_of_coding): Intern and staticpro it.
7269 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 7270 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
7271
7272 * coding.h (CODING_SYSTEM_P): If ID is not available, call
7273 Fcoding_system_p.
7274 (CHECK_CODING_SYSTEM): If ID is not available, call
7275 Fcheck_coding_system.
4c4475a8
GM
7276 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
7277 Try also Fcheck_coding_system.
aca7a3d2 7278
73acf815 72792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7280
aca7a3d2
MB
7281 * coding.c (code_conversion_restore): GCPRO arg.
7282
73acf815 72832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7284
7285 * character.c (lisp_string_width): Check multibyteness of STRING.
7286
73acf815 72872008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7288
7289 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
7290 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
7291 (decode_mac_font_name): Use decode_coding_c_string instead of
7292 decode_coding.
7293 (x_load_font): Initialize fontp->fontset to -1. Set
7294 fontp->encoding_type.
7295
73acf815 72962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7297
7298 * search.c (search_buffer): Give up BM search on case-fold-search
7299 if one of a target character has a case-equivalence of different
7300 byte length even if that target charcter is an ASCII.
1f45f627
GM
7301 (simple_search): Fix calculation of byte length of matched text.
7302 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 7303
73acf815 73042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7305
7306 * coding.c (decode_coding): Fix handling of invalid bytes.
7307
73acf815 73082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7309
7310 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
7311 Unicode characters.
7312
73acf815 73132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7314
7315 * coding.c (encode_coding_object): If a pre-write-conversion
7316 function makes a new buffer, kill it.
7317
73acf815 73182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7319
7320 * coding.c (QCascii_compatible_p): New variable.
7321 (syms_of_coding): Initialize it.
4c4475a8
GM
7322 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
7323 calling string_char.
aca7a3d2
MB
7324 (record_conversion_result): Add `default:' case.
7325 (coding_charset_list): Delete unused variable `coding_type'.
7326 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
7327 property in the plist of the coding system.
7328 (Fcoding_system_put): Check QCascii_compatible_p.
7329
73acf815 73302008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7331
7332 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
7333 removed calculation of frame `f', as it's now used.
7334
73acf815 73352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7336
1f45f627 7337 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
7338 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
7339 (UNIDATA): New variable.
7340 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
7341 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
7342 $(RUN_TEMACS) unconditionally.
7343
73acf815 73442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7345
1f45f627 7346 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
7347 (admindir): New variable.
7348 ($(lispsource)international/charprop.el): New target.
7349
73acf815 73502008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 7351
1f45f627 7352 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
7353 (syms_of_character): Remove its initialization.
7354
73acf815 73552008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
7356
7357 * w32select.c (validate_coding_system)
7358 (setup_windows_coding_system): New functions.
7359 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
7360 setup_windows_coding_system.
7361 (setup_config, Fw32_get_clipboard_data): Use
7362 validate_coding_system.
7363 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 7364 where signals are allowed.
aca7a3d2
MB
7365
7366 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
7367 (Fcheck_coding_system): Add declarations.
7368
73acf815 73692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7370
1f45f627 7371 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 7372
73acf815 73732008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7374
7375 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
7376 string as the second argument for x_new_fontset.
7377
73acf815 73782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7379
7380 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
7381 (encode_coding_object): Use safe_call instead of call2.
7382
73acf815 73832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7384
1f45f627 7385 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
7386
7387 * Makefile.in (lisp): Include charprop.el.
7388
73acf815 73892008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
7390
7391 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
7392 Not sure if it's unnecessary.
7393
73acf815 73942008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7395
7396 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
7397 some possibly unnecessary fontset checking code that crashed
1f45f627 7398 when creating a new frame.
aca7a3d2 7399
73acf815 74002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7401
7402 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
7403 lookup_face.
7404
7405 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
7406
1f45f627 7407 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 7408
73acf815 74092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7410
73acf815 7411 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
7412 (coding_charset_list): New function.
7413
7414 * coding.h (coding_charset_list): Extern it.
7415
73acf815 74162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7417
7418 * fontset.c (Fset_fontset_font): Call find_font_encoding with
7419 concatenation of family and registry.
7420
73acf815 74212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7422
7423 * character.h (BYTE8_STRING): Fix typo.
7424
7425 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
7426 string to multibyte (sync to HEAD).
7427
7428 * casefiddle.c (casify_region): Handle changes in byte-length
7429 using replace_range_2 (sync to HEAD).
7430
73acf815 74312008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7432
7433 * chartab.c (map_char_table): GCPRO table and arg.
7434
73acf815 74352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7436
7437 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
7438 already at limit.
7439
73acf815 74402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7441
7442 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
7443 instead of fast_c_string_match_ignore_case.
1f45f627 7444 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 7445 fast_string_match_ignore_case instead of
1f45f627 7446 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 7447
73acf815 74482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7449
7450 * xdisp.c (get_next_display_element): In unibyte case, decide to
7451 display in octal form by checking a chacter by
7452 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
7453
1f45f627 7454 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
7455
7456 * character.c (unibyte_has_multibyte_table): New variable.
7457
7458 * character.h (unibyte_has_multibyte_table): Extern it.
7459 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
7460
73acf815 74612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7462
7463 * coding.c (encode_coding_iso_2022): Fix handling of charset
7464 annotation.
7465
73acf815 74662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7467
7468 * coding.c (setup_coding_system): If coding_system is nil, use
7469 Qundecided.
7470 (Fterminal_coding_system): Return nil if terminal coding system is
7471 `undecided'.
7472 (syms_of_coding): Define coding-system `undecided' here. Setup
7473 terminal_coding as `undecided'.
7474
73acf815 74752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7476
7477 * xdisp.c (message_dolog, set_message_1): Call
7478 unibyte_char_to_multibyte with arg type int.
7479
aca7a3d2
MB
7480 * lread.c (read1): Fix reading of a char-table.
7481
7482 * print.c (print_object): Include sub char-table in cicularities
7483 detection.
7484
73acf815 74852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7486
7487 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 7488 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 7489
73acf815 74902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7491
7492 * fileio.c (report_file_error): Make a unibyte string from
7493 strerror (errorno).
7494 (Fsubstitute_in_file_name): Fix the arg to
7495 unibyte_char_to_multibyte. It is evaluated twice.
7496
73acf815 74972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7498
7499 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
7500
73acf815 75012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7502
7503 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
7504 BOM is not found.
4c4475a8
GM
7505 (detect_coding, detect_coding_system): Optimization for ISO-2022
7506 when no 8-bit data is found.
aca7a3d2 7507
73acf815 75082008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7509
7510 * w32fns.c (x_to_w32_font): Update to use new coding struct.
7511
73acf815 75122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7513
4c4475a8
GM
7514 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
7515 CHARS.
aca7a3d2 7516
73acf815 75172008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
7518
7519 * macterm.c (mac_encode_char): Add charset argument and update
7520 to use encoding_type.
2a2e8de7 7521 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
7522 switch to pure fontset.
7523 (decode_mac_font_name): Temporarily remove decoding.
7524 (x_font_name_to_mac_font_name): Temporarily remove encoding.
7525 (x_load_font): Temporarily remove encoding.
aca7a3d2 7526
73acf815 75272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7528
7529 * xfaces.c (Fface_font): If frame is not on a window system,
7530 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
7531 refer to face->font.
7532 (split_font_name_into_vector, build_font_name_from_vector)
7533 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
7534 whne HAVE_WINDOW_SYSTEM is defined.
7535
73acf815 75362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7537
7538 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
7539 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 7540 cmp->glyph_len is zero.
aca7a3d2 7541
1f45f627 7542 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
7543 (Ffontset_info): Make it backward compatible. New arg ALL.
7544
73acf815 75452008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
7546
7547 * process.c (read_process_output): Grow decoding_buf when needed;
7548 this could cause a crash in allocate_string and compact_small_strings.
7549
73acf815 75502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7551
1f45f627 7552 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 7553
73acf815 75542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7555
7556 * coding.c (setup_coding_system): Set coding->common_flags
7557 correctly for raw-text.
7558 (consume_chars): On encoding unibyte text by raw-text, don't check
7559 multibyte form.
1f45f627 7560 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
7561
7562 * fileio.c (e_write): Short cut for the case of no encoding.
7563
73acf815 75642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7565
4c4475a8
GM
7566 * coding.c (detect_coding, detect_coding_system): Delete unused
7567 variables.
aca7a3d2 7568
73acf815 75692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7570
7571 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
7572 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
7573
73acf815 75742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7575
7576 * coding.c (Ffind_coding_systems_region_internal): Include
7577 raw-text and no-conversion in the result.
7578
73acf815 75792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7580
1f45f627 7581 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
7582 (load_font_get_repertory): Delete unnecessary check of ENCODING of
7583 FONT_DEF.
7584 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 7585 (set_fontset_font): Change argument.
aca7a3d2
MB
7586 (Fset_fontset_font): Fix for the case that TARGET is a script
7587 name and charset name.
7588 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
7589
73acf815 75902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7591
1f45f627
GM
7592 * fontset.c (fontset_font): Rename from fontset_face. Change return
7593 value.
4c4475a8
GM
7594 (face_suitable_for_char_p, face_for_char): Adjust for the change
7595 of fontset_font.
aca7a3d2
MB
7596 (make_fontset_for_ascii_face): Fix setting of the fontset element
7597 for ASCII.
7598 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
7599 to get a font name.
1f45f627 7600 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 7601
fcb314b2 7602 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
7603
7604 * character.h (LEADING_CODE_LATIN_1_MIN)
7605 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
7606
73acf815 76072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7608
fcb314b2 7609 * editfns.c (check_translation): New function.
aca7a3d2
MB
7610 (Ftranslate_region_internal): Handle M:N mapping.
7611
73acf815 76122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7613
7614 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
7615
73acf815 76162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7617
7618 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
7619 goto invalid_code.
7620 (decode_coding_iso_2022): Fix handling of invalid designation.
7621
7622 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
7623 after calling code_conversion_save.
7624
73acf815 76252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7626
7627 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
7628
7629 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
7630
7631 * fontset.c: Include "intervals.h".
7632 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
7633 (free_face_fontset, new_fontset_from_font_name): Fix
7634 Lisp_Object/int mixup.
aca7a3d2
MB
7635
7636 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
7637
7638 * coding.c: Add many prototypes for static functions.
7639 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 7640 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
7641 (Funencodable_char_position, Fcheck_coding_systems_region): Call
7642 get_translation_table with max_lookup NULL.
aca7a3d2 7643
73acf815 76442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7645
7646 * coding.c (get_translation_table): Declare it as Lisp_Object.
7647 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
7648 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
7649 instead of CHAR_TABLE_REF.
aca7a3d2 7650
73acf815 76512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7652
1f45f627 7653 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
7654 annotation data format.
7655 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 7656 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 7657 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 7658 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
7659 (decode_coding_ccl, decode_coding_charset): Pay attention to
7660 coding->charbuf_used.
aca7a3d2
MB
7661 (get_translation): New function.
7662 (produce_chars): New arguments translation_table and last_block.
7663 Translate characters here. Return number of carryover chars.
1f45f627
GM
7664 Change caller.
7665 (produce_composition): New argument pos. Change caller.
7666 Adjust for the change of annotation data format.
aca7a3d2
MB
7667 (produce_charset, produce_annotation): Likewise.
7668 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
7669 (consume_chars): New arg translation_table. Change caller.
7670 (translate_chars): Delete.
7671 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 7672
73acf815 76732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7674
7675 * search.c (simple_search): Fix setting this_pos_byte in backward
7676 search.
7677
7678 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
7679 byte sequence.
7680 (detect_coding_ccl): Fix setting of the variable valids.
7681
73acf815 76822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7683
7684 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
7685
7686 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
7687
1f45f627 7688 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
7689 Ftranslate_region. Accept a char-table in TABLE.
7690 (syms_of_editfns): Defsubr Stranslate_region_internal.
7691
7692 * xfaces.c (set_lface_from_font_name): If a font is specified for
7693 a frame, generate a fontset from the font.
7694 (build_scalable_font_name): If the scalable font is requested for
7695 a specific size, don't change that size.
7696 (try_font_list): Try a scalable font also in the case that a
1f45f627 7697 pattern string is specified.
aca7a3d2 7698
73acf815 76992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7700
7701 * xfaces.c (Fface_font): New optional arg CHARACTER.
7702
73acf815 77032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7704
7705 * charset.h (CHARSET_OFFSET): New macro.
7706
73acf815 77072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7708
7709 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
7710
7711 * fontset.c (fontset_face): Handle the case that repertory is a
7712 char-table.
7713 (find_font_encoding): Return nil for unknown encoding.
7714 (Fset_fontset_font): Ignore a font of unknown encoding.
7715
73acf815 77162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7717
1f45f627 7718 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
7719
7720 * fontset.c (fontset_face): Handle fallback fonts correctly.
7721 (Ffontset_info): Return infomation about fallback fonts.
7722
73acf815 77232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7724
7725 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 7726 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
7727 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
7728 the case that it is nil.
7729 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 7730 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
7731
7732 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
7733 subset or superset.
7734
73acf815 77352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7736
7737 * emacs.c (main): Call init_charset after syms_of_XXX.
7738
1f45f627 7739 * charset.c (Vcharset_map_directory): Delete.
1f204af3 7740 (Vcharset_map_path): New variable.
aca7a3d2
MB
7741 (load_charset_map_from_file): Use Vcharset_map_path instead.
7742 (init_charset): Initialize Vcharset_map_path.
7743 (syms_of_charset): Delete declaration of "charset-map-directory",
7744 add declaration of "charset-map-path".
7745
73acf815 77462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7747
4c4475a8
GM
7748 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
7749 ASCII only string.
aca7a3d2
MB
7750
7751 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
7752
7753 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 7754 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 7755
73acf815 77562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7757
7758 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
7759
7760 * coding.c (QCmnemonic, QCdefalut_char)
7761 (QCdecode_translation_table, QCencode_translation_table)
7762 (QCpost_read_conversion, QCpre_write_conversion): New variables.
7763 (get_translation_table): Return a list of translation tables if
7764 necessary.
7765 (decode_coding): Call get_translation_table with ENCODEP 0.
7766 (char_encodable_p): If translation_table is non-nil, always call
7767 translate_char.
7768 (Fdefine_coding_system_internal): Accept list of translation
7769 tables as :encode-translation-table and :decode-translation-table.
7770 (Fcoding_system_put): New function.
7771 (syms_of_coding): Declare new symbols. Defsubr
7772 Scoding_system_put.
4c4475a8
GM
7773 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
7774 typically JISX0212.
aca7a3d2
MB
7775
7776 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
7777 when the charset is superset type.
7778
7779 * character.c (translate_char): Accept list of translation tables.
7780
73acf815 77812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7782
1f45f627 7783 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
7784 (CODING_ATTR_TRANS_TBL): New macro.
7785
7786 * coding.c (get_translation_table): New function.
7787 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
7788 (decode_coding, encode_coding): Utilize get_translation_table.
7789 (char_encodable_p, Funencodable_char_position): Translate char if
7790 necessary.
7791 (Ffind_coding_systems_region_internal)
7792 (Fcheck_coding_systems_region): Setup translation table for encode
7793 in a coding system attribute vector in advance.
aca7a3d2
MB
7794 (Fdefine_coding_system_internal): Allow a symbol as translation
7795 table. For shift-jis type coding system, allow 4th charset.
7796
73acf815 77972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7798
7799 * coding.c (decode_coding_sjis): Check the first byte rigidly.
7800
7801 * xdisp.c (get_next_display_element): Pass -1 as POS to
7802 FACE_FOR_CHAR if displaying a C-string.
7803
73acf815 78042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7805
7806 * composite.c (get_composition_id): Handle xoff and yoff in a
7807 composition rule.
7808
7809 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
7810 (struct composition): New member lbearing and rbearing.
7811
7812 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
7813 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 7814 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
7815
7816 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
7817 composition glyph.
7818
73acf815 78192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7820
7821 * print.c: Include charset.h.
7822 (Vprint_charset_text_property): New variable.
7823 (Qdefault): Extern it.
7824 (PRINT_STRING_NON_CHARSET_FOUND)
7825 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
7826 (print_check_string_result): New variable.
7827 (print_check_string_charset_prop): New function.
7828 (print_prune_charset_plist): New variable.
7829 (print_prune_string_charset): New function.
7830 (print_object): Call print_prune_string_charset if
7831 Vprint_charset_text_property is not t.
7832 (print_interval): Print nothing if itnerval->plist is nil.
7833 (syms_of_print): Declare Vprint_charset_text_property as a lisp
7834 variable. Init and staticpro print_prune_charset_plist.
7835
73acf815 78362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7837
7838 * fontset.c (new_fontset_from_font_name): Use the specified font
7839 for all characters in the new fontset.
7840
7841 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7842 OBJECT args.
7843
7844 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
7845 OBJECT args for composition too.
7846
7847 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
7848 OBJECT args.
7849
73acf815 78502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7851
7852 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
7853
1f45f627 7854 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 7855 FONT_DEF format.
1f45f627 7856 (fontset_face): New arg id. Change caller.
aca7a3d2 7857 (face_for_char): New args pos and object.
1f204af3 7858 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
7859 (fs_query_fontset): Check NAME by Fassoc too.
7860 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 7861 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 7862
1f45f627 7863 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 7864
4c4475a8
GM
7865 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
7866 (append_space, extend_face_to_end_of_line)
7867 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
7868 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
7869
7870 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
7871 POS and OBJECT args.
7872
7873 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
7874 POS and OBJECT args.
7875
73acf815 78762008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7877
7878 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
7879 of GlobalAlloc'ed memory.
7880
73acf815 78812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7882
7883 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
7884
7885 * charset.h (charset_table_used): Delete extern.
7886
7887 * charset.c (charset_table_used): Make it static.
7888 (map_charset_chars): Fix args to c_function with.
7889
7890 * chartab.c (map_sub_char_table_for_charset): Fix args to
7891 c_function with.
7892
7893 * coding.h (enum coding_result_code): Delete
7894 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
7895
7896 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 7897 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
7898 (Vlast_code_conversion_error): New variables.
7899 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
7900 (ONE_MORE_BYTE): Record error if any instead of signaling an
7901 error. If non-ASCII multibyte char is found, return the negative
7902 value of the code. All callers changed to check it.
7903 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
7904 (record_conversion_result): New function. Change all codes setting
7905 coding->result to call this function.
4c4475a8
GM
7906 (detect_coding_utf_8, decode_coding_utf_8)
7907 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
7908 Don't use the local variable incomplete.
aca7a3d2 7909 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
7910 (decode_coding): Fix of flushing out unprocessed data.
7911 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 7912 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
7913
7914 * fontset.c (set_fontset_font): Fix args.
7915
7916 * lisp.h (CHARACTERBITS): Define as 22.
7917
7918 * process.c (send_process): Be sure to set coding->src_multibyte.
7919
7920 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
7921
73acf815 79222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7923
7924 * xdisp.c (handle_auto_composed_prop): Give limit to
7925 Fnext_single_char_property_change.
7926
73acf815 79272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7928
424c157f 7929 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 7930 table weak.
aca7a3d2
MB
7931
7932 * fontset.c (Fset_fontset_font): Fix docstring.
7933
7934 * lisp.h (detect_coding_system): Adjust prototype.
7935
7936 * fileio.c (kill_workbuf_unwind): Delete this function.
7937 (Finsert_file_contents): Adjust the call of detect_coding_system.
7938 Get conversion_buffer by code_conversion_save. Use the macor
7939 CODING_MAY_REQUIRE_DECODING. After decoding, update
7940 coding_system.
7941
7942 * coding.h (make_conversion_work_buffer): Delete extern.
7943 (code_conversion_save): Extern it.
7944
7945 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 7946 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
7947 (decode_coding_utf_8): Don't do eol converion.
7948 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 7949 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
7950 (decode_coding_emacs_mule, decode_coding_iso_2022)
7951 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
7952 Don't do eol converion.
aca7a3d2
MB
7953 (adjust_coding_eol_type): Return a new coding system.
7954 (detect_coding): Don't detect eol. Fix for utf-16 detection.
7955 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
7956 each change.
7957 (decode_coding): Pay attention to undo_list. Do eol convesion for
7958 all types of coding-systems (if necessary).
7959 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 7960 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
7961 Vcode_conversion_reused_work_buf.
7962 (Vcode_conversion_workbuf_name): New variable.
7963 (reused_workbuf_in_use): New variable.
7964 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 7965 (code_conversion_restore): Change argument to cons.
1f45f627
GM
7966 (code_conversion_save): Delete the argument BUFFER. Change callers.
7967 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
7968 Fix for utf-16 detection.
7969 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 7970 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
7971 reused_workbuf_in_use.
7972
73acf815 79732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7974
7975 * keymap.c (store_in_keymap): Pay attention to the case that idx
7976 is a cons specifying a character range.
7977
73acf815 79782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7979
7980 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
7981 HANDLED_RECOMPUTE_PROPS.
7982
7983 * coding.c (Fdefine_coding_system_internal): Fix checking of
7984 ascii compatibility.
7985
73acf815 79862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7987
1f45f627 7988 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
7989 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
7990
7991 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
7992 Resync charset_list to Vemacs_mule_charset_list.
7993
7994 * keymap.c (store_in_keymap): Pay attention to the case that idx
7995 is a cons specifying a character range.
7996
73acf815 79972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7998
7999 * composite.c (update_compositions): Bind inhibit-read-only, etc
8000 to t before calling remove-list-of-text-properties.
8001
8002 * print.c (print_object): Always print ASCII chars as is.
8003
73acf815 80042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8005
1f45f627 8006 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 8007
4c4475a8
GM
8008 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
8009 is a char table.
aca7a3d2 8010
73acf815 80112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8012
1f45f627 8013 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 8014
73acf815 80152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8016
8017 * xfaces.c (set_lface_from_font_name): Fix for the case that
8018 FONTNAME is not fontset name.
8019
73acf815 80202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8021
8022 * fns.c (base64_encode_1): Fix previous change.
8023
73acf815 80242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8025
8026 * fontset.c (set_fontset_font): New function.
8027 (Fset_fontset_font): If a font is specified for a charset, use
8028 map_charset_chars to store the font spec in a fontset.
8029
73acf815 80302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8031
1f204af3 8032 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
8033 (make_fontset): Don't create a fallback fontset here.
8034 (free_face_fontset): Free a fallback fontset (if any) too.
8035 (n_auto_fontsets): Delete this variable.
8036 (auto_fontset_alist): New variable.
8037 (new_fontset_from_font_name): Check auto_fontset_alist.
8038 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
8039 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
8040 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
8041 Defsubr Sfontset_list_all.
8042
73acf815 80432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8044
8045 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
8046
73acf815 80472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8048
8049 * fontset.c (Fnew_fontset): Check NAME more rigidly.
8050
73acf815 80512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8052
8053 * editfns.c (Fgoto_char): Fix docstring.
8054
73acf815 80552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8056
8057 * insdel.c (insert_from_gap): Adjust intervals correctly.
8058
73acf815 80592008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
8060
8061 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
8062 (pfnGetFontUnicodeRanges): New dynamically loaded function.
8063 (w32_initialize): Try to load it.
8064 (x_get_font_repertory): Use it if available.
8065 (w32_encode_char): Add shortcut for unicode output.
8066
8067 * w32fns.c (w32_load_system_font): Default charset to -1.
8068 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 8069 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
8070 or wildcard charsets.
8071 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
8072 (w32_codepage_for_font): Return CP_UNICODE for unicode.
8073 (w32_to_x_font): Match charset to real charset.
8074 (enum_font_cb2): Always list unicode versions.
8075
8076 * makefile.w32-in (temacs): Increase EMHEAP.
8077
73acf815 80782008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
8079
8080 * w32term.c (w32_encode_char): New charset parameter.
8081 font_info.encoding becomes encoding_type.
1f45f627 8082 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
8083 (x_new_font): Return quickly if font already set.
8084 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
8085 Use new fs_query_fontset. Try new_fontset_from_font_name.
8086 Use fontset_name for return value.
aca7a3d2
MB
8087
8088 * w32term.h: Declare x_get_font_repertory.
8089
8090 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 8091 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
8092 of encode_coding.
8093 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
8094 decode_coding.
8095
8096 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
8097 of x_new_fontset.
8098 (w32_load_system_font): Initialize charset as unicode.
8099 font_info.encoding becomes encoding_type.
1f45f627
GM
8100 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
8101 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
8102 (syms_of_w32fns): Set get_font_repertory_func.
8103
1f45f627 8104 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 8105 from term.c.
1f45f627 8106 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
8107 encode_coding_object in place of encode_coding.
8108
8109 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
8110 encoding becomes encoding_type.
8111
8112 * term.c (terminal_encode_buffer): Make externally visible.
8113
8114 * makefile.w32-in: Add character.h dependancies.
8115 (character.o, chartab.o): New targets.
8116
73acf815 81172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8118
8119 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 8120 CODING_ID_EOL_TYPE.
aca7a3d2 8121
73acf815 81222008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
8123
8124 * coding.c (produce_chars): Revert last change.
8125
73acf815 81262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8127
8128 * charset.h (charset_unicode): Extern it.
8129
8130 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 8131 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 8132 arg MULTIBYTE.
1f45f627 8133 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
8134 change of find_charsets_in_text.
8135 (Fsplit_char): Fix doc. Never return unknown.
8136
8137 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
8138
8139 * coding.c (Fdefine_coding_system_alias): Update
8140 Vcoding_system_list.
8141
8142 * fontset.c (load_font_get_repertory): Pay attention to the case
8143 that ENCODING of a font is specified by a char-table.
8144
8145 * xterm.c (x_get_font_repertory): Handle the case that the
8146 encoding of font is other than Unicode.
8147
73acf815 81482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8149
8150 * term.c (encode_terminal_code): Don't handle glyph-table. Check
8151 if a character is encodable by the terminal coding system. If
8152 not, produces proper number of `?'s. Update
8153 terminal_encode_buffer and terminal_encode_buf_size if necessary.
8154 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
8155
73acf815 81562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8157
8158 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
8159 variables.
1f45f627 8160 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
8161 characters at once. Store the result of encoding in
8162 terminal_encode_buffer.
4c4475a8
GM
8163 (write_glyphs, insert_glyphs): Adjust for the change of
8164 encode_terminal_code.
aca7a3d2
MB
8165 (term_init): Initialize terminal_encode_buffer and
8166 terminal_encode_buf_size.
8167
8168 * coding.c (consume_chars): If coding->src_object is nil, don't
8169 check annotation.
8170
73acf815 81712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8172
8173 * character.c (char_string): Use ASCII_CHAR_P instead of
8174 SINGLE_BYTE_CHAR_P.
8175
73acf815 81762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8177
8178 * xdisp.c (handle_auto_composed_prop): Check if the last
8179 characters of auto-composed region is newly composed with the
8180 following characters.
8181 (handle_composition_prop): Fix checking of point being inside
8182 composition.
8183
73acf815 81842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8185
8186 * fns.c (concat): Don't change multibyteness of the result by
8187 concatenating an 8-bit character.
8188
8189 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
8190 multibyteness of the result when newelt is an 8-bit character.
8191
73acf815 81922008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8193
8194 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
8195 EMACS_INT.
8196
8197 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
8198
8199 * xfaces.c (face_numeric_value): Declare dim size_t.
8200 (Finternal_lisp_face_equal_p): Remove unused f.
8201
8202 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
8203 (MATRIX_ROW): Remove unused vars.
8204 (draw_glyphs, x_insert_glyphs, fast_find_position)
8205 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
8206 byte/char counts.
8207
8208 * regex.c (regex_compile): Remove unused var.
8209
8210 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
8211
8212 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
8213 (Faccessible_keymaps, where_is_internal): Remove unused vars.
8214
8215 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
8216
8217 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
8218
8219 * fileio.c (Fwrite_region): Remove unused var.
8220
8221 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
8222 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
8223
8224 * composite.c (Fremove_list_of_text_properties): Declare.
8225
1f45f627
GM
8226 * coding.c (inhibit_pre_post_conversion): Remove (unused).
8227 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
8228 (coding_inherit_eol_type): Remove unused attrs.
8229 (detect_coding): Cast arg of detect_eol.
8230
8231 * charset.c (syms_of_charset): Remove unused var p.
8232 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
8233 byte/char counts.
8234
8235 * casetab.c (set_case_table): Remove unused var.
8236
8237 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 8238 unused vars.
aca7a3d2 8239
73acf815 82402008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8241
8242 * xterm.c (x_bitmap_mask): Declare.
8243
73acf815 82442008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8245
8246 * xterm.c (x_term_init): Fix type error.
8247
8248 * lisp.h: Add Funibyte_char_to_multibyte.
8249
8250 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
8251 (Fset_coding_system_priority): Doc fix.
8252
aca7a3d2
MB
8253 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
8254
8255 * indent.c (check_composition): Make start and end EMACS_INT.
8256
8257 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
8258
8259 * xdisp.c (handle_composition_prop, check_point_in_composition):
8260 Make buffer positions EMACS_INT.
8261
8262 * composite.c (find_composition, run_composition_function)
8263 (update_compositions, Ffind_composition_internal): Make buffer
8264 positions EMACS_INT.
8265
8266 * composite.h (find_composition, update_compositions): Make
8267 position args EMACS_INT.
8268
1f45f627 8269 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
8270
8271 * intervals.c (get_property_and_range):
8272 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
8273
8274 * unexalpha.c: Don't include varargs.h.
8275
73acf815 82762008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8277
8278 * coding.h (ENCODE_UTF_8): New.
8279
8280 * Makefile.in (gtkutil.o): Depend on coding.h.
8281
8282 * coding.c (Fset_coding_system_priority): Doc fix.
8283
73acf815 82842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8285
8286 * fileio.c (Finsert_file_contents): Call setup_coding_system in
8287 the case of auto saving.
8288
73acf815 82892008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 8290
4c4475a8
GM
8291 * chartab.c (map_char_table, map_char_table_for_charset): Protect
8292 `range' from GC.
aca7a3d2 8293
73acf815 82942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8295
8296 * coding.c (decode_coding_sjis): Check bytes more rigidly.
8297
73acf815 82982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8299
1f45f627 8300 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
8301 (Fwrite_region): Set Vlast_coding_system_used to the return value
8302 of choose_write_coding_system.
8303
73acf815 83042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8305
8306 * charset.c (Fset_charset_priority): Pay attention to duplicated
8307 arguments.
8308
8309 * coding.c (QCcategory): New variable.
8310 (syms_of_coding): Defsym it. Set all elements of
8311 Vcoding_category_table and their symbol values.
8312 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
8313 coding-category-XXX, and coding-category-list.
8314 (Fdefine_coding_system_internal): Add category in the plist.
8315
73acf815 83162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8317
8318 * callproc.c (Fcall_process): Handle carryover correctly.
8319
1f45f627 8320 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
8321 (raw_text_coding_system): Check NILP (coding_system).
8322 (coding_inherit_eol_type): Check NILP (coding_system) and
8323 NILP (parent).
8324 (consume_chars): Fix for the case of raw-text.
8325
8326 * process.c (read_process_output): Handle carryover correctly.
8327
73acf815 83282008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8329
8330 * regex.c (re_search_2): Fix last change.
8331
73acf815 83322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8333
8334 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
8335 target_multibyte. Even in a unibyte case, return a converted
8336 multibyte char.
8337 (GET_CHAR_AFTER): New macro.
8338 (PATFETCH): Translate via multibyte char.
8339 (HANDLE_UNIBYTE_RANGE): Delete this macro.
8340 (SETUP_MULTIBYTE_RANGE): New macro.
8341 (regex_compile): Setup compiled code so that its multibyteness
8342 matches that of a target. Fix the handling of "[X-YZ]" using
8343 SETUP_MULTIBYTE_RANGE.
8344 (analyse_first) <charset>: For filling fastmap for all multibyte
8345 characters, don't check by BASE_LEADING_CODE_P.
8346 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
8347 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 8348 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
8349 (TARGET_CHAR_AND_LENGTH): Delete this macro.
8350 (TRANSLATE_VIA_MULTIBYTE): New macro.
8351 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
8352 It is the same as RE_MULTIBYTE_P (bufp) now.
8353 <exactn>: Translate via multibyte.
8354 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
8355 translate it.
8356 <charset, charset_not>: Fetch a character by
8357 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
8358 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
8359 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
8360 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
8361 by GET_CHAR_AFTER.
c5ad7a3d 8362 (bcmp_translate): Likewise.
aca7a3d2
MB
8363
8364 * search.c (compile_pattern): Check the member target_multibyte,
8365 not the member multibyte of buf.
8366
8367 * lread.c (read1): While reading a string, set force_singlebyte
8368 and force_multibyte correctly.
8369
4c4475a8
GM
8370 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
8371 up of unibyte_to_multibyte_table.
aca7a3d2 8372
73acf815 83732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8374
8375 * coding.c (setup_coding_system): If coding has
8376 post-read-conversion or pre-write-conversion, set
8377 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
8378 respectively.
8379 (decode_coding_gap): Run post-read-conversion if any.
8380
8381 * fileio.c (Finsert_file_contents): Even if we read into a
8382 unibyte buffer, check if we must decode the result or not.
8383
73acf815 83842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8385
8386 * coding.c (make_conversion_work_buffer): Change the work buffer
8387 name to the same one as that of Emacs 21.
8388
73acf815 83892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8390
1f45f627 8391 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
8392 (code_conversion_restore): Don't extern it.
8393
8394 * coding.c (detected_mask): Delete unused variable.
8395 (decode_coding_iso_2022): Pay attention to the byte sequence of
8396 CTEXT extended segment, and retain those bytes as is.
8397 (decode_coding_ccl): Delete unused variable `valids'.
8398 (setup_coding_system): Delete unused variable `category'.
8399 (consume_chars): Delete unused variable `category'. Make it work
8400 for non-multibyte case.
1f45f627 8401 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
8402 (saved_coding): Delete unused variable.
8403 (code_conversion_restore): Don't check saved_coding->destination.
8404 (code_conversion_save): New function.
8405 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
8406 instead of record_unwind_protect.
1f45f627 8407 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 8408 (detect_coding_system): Delete unused variable `mask'.
1f45f627 8409 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
8410
8411 * fileio.c (kill_workbuf_unwind): New function.
8412 (Finsert_file_contents): On replacing, call
8413 make_conversion_work_buffer with correct args, and call
8414 record_unwind_protect with the first arg kill_workbuf_unwind.
8415
8416 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
8417
73acf815 84182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8419
1f45f627 8420 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
8421 (fontset_add): Fix for the case that TO is less than TO1.
8422 (Ffontset_info): Don't use fallback fontset on checking the
8423 default fontset.
8424 (dump_fontset): New function for debugging.
8425
8426 * coding.c (Fdefine_coding_system_internal): Fix for the case that
8427 coding_type is Qcharset.
8428
73acf815 84292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8430
8431 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
8432 (map_char_table): Don't inherit the value from the parent on
1f45f627 8433 initializing VAL. Adjust for the above change.
aca7a3d2 8434
73acf815 84352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8436
8437 * coding.c (Qsignature, Qendian): Delete these variables.
8438 (syms_of_coding): Don't initialize them.
8439 (CATEGORY_MASK_UTF_16_AUTO): New macro.
8440 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
8441 detect_info->found.
8442 (decode_coding_utf_16): Don't detect BOM here.
8443 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
8444 is NOT utf_16_without_bom.
8445 (setup_coding_system): For a coding system of type utf-16, check
8446 if the attribute :endian is Qbig or not (not nil or not), and set
8447 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
8448 (detect_coding): If coding type is utf-16 and BOM detection is
8449 required, detect it.
8450 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 8451 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 8452
73acf815 84532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8454
8455 * coding.c (coding_set_source): Fix for the case that the current
8456 buffer is different from coding->src_object.
8457 (decode_coding_object): Don't use the conversion work buffer if
8458 DST_OBJECT is a buffer.
8459
73acf815 84602008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8461
8462 * lread.c (read_emacs_mule_char) [len==2]: Index
8463 emacs_mule_charset correctly.
8464
73acf815 84652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8466
8467 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
8468 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 8469 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
8470 treated specially.)
8471 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
8472 (detected_mask): Remove Big5 bits.
8473
73acf815 84742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8475
8476 The following changes are to make the font rescaling facility
8477 compatible with Emacs 21.
8478
1f45f627 8479 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
8480 Vface_resizing_fonts.
8481 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 8482 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
8483 (split_font_name): Set font->rescale_ratio.
8484 (better_font_p): Pay attention to font->rescale_ratio.
8485 (build_scalable_font_name): Likewise. Change RESX, and RESY
8486 fields.
1f45f627 8487 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 8488
73acf815 84892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8490
8491 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
8492 (Qutf_16_le): Remove these variables.
8493 (syms_of_coding): Don't DEFSYM them.
8494 (decode_coding_utf_16): Fix handling of BOM.
8495 (encode_coding_utf_16): Fix handling of BOM.
8496
73acf815 84972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8498
8499 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 8500 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 8501
73acf815 85022008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8503
8504 * coding.c (Fcheck_coding_systems_region): Fix type errors.
8505
73acf815 85062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8507
8508 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8509 and fix C types.
8510
73acf815 85112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8512
8513 * xdisp.c (SKIP_GLYPHS): New macro.
8514 (set_cursor_from_row): Pay attention to string display properties.
8515
8516 * category.c (copy_category_entry): Fix for the case that RANGE
8517 is an integer.
8518
8519 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
8520
1f45f627 8521 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 8522
73acf815 85232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8524
8525 * charset.c (Fcharset_id_internal): New function.
8526 (syms_of_charset): Defsubr it.
8527
8528 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
8529 with the last arg charset_list acquired from coding.
8530 (Fdefine_coding_system_internal): For ccl-based coding system, fix
8531 the attribute coding_attr_ccl_valids.
8532
8533 * coding.h (enum define_coding_ccl_arg_index): Set the first
8534 member coding_arg_ccl_decoder to coding_arg_max.
8535
1f45f627 8536 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
8537
8538 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
8539 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
8540 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
8541 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
8542 last arg Qnil.
aca7a3d2 8543
73acf815 85442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8545
8546 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
8547 call encode_char.
8548
1f45f627 8549 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 8550
73acf815 85512008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8552
1f45f627 8553 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 8554
73acf815 85552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8556
8557 * dispextern.h (check_face_attributes, generate_ascii_font_name)
8558 (font_name_registry): Don't extern them.
1f45f627 8559 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
8560
8561 * fontset.h (Qfontset): Don't extern it.
8562 (new_fontset_from_font_name): Extern it.
8563
8564 * fontset.c: Give 8 extra slots to fontset objects.
8565 (Qfontset_info): New variable.
8566 (syms_of_fontset): Defsym it.
8567 (FONTSET_FALLBACK): New macro.
8568 (fontset_face): Try also the default fontset.
1f45f627
GM
8569 (make_fontset): Realize a fallback fontset from the default fontset.
8570 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
8571 using split_font_name_into_vector and build_font_name_from_vector.
8572 (Fset_fontset_font): Access the elements of font_spec by enum
8573 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
8574 name by using split_font_name_into_vector.
8575 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
8576 generate a proper font name from the fontset name. Update
8577 Vfontset_alias_alist.
8578 (n_auto_fontsets): New variable.
8579 (new_fontset_from_font_name): New function.
8580 (Ffont_info): Store the information about fonts generated from the
1f45f627 8581 default fontset in the first extra slot of the returned char-table.
aca7a3d2 8582
1f45f627
GM
8583 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
8584 (font_name_registry): Delete function.
aca7a3d2
MB
8585 (split_font_name_into_vector): New function.
8586 (build_font_name_from_vector): New function.
1f45f627 8587 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
8588 (choose_face_font): If we are choosing an ASCII font, and ATTRS
8589 specifies an explicit font name, return the name as is. Make a
8590 list of registy names.
8591
1f45f627 8592 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
8593 of x_new_fontset.
8594 (Fx_create_frame): Don't call x_new_fontset here. Just use
8595 x_list_fonts to check the existence of fonts.
8596
1f45f627 8597 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
8598
8599 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
8600 string. Use new_fontset_from_font_name to create a fontset from a
8601 font name.
8602
1c8658b9
GM
86032008-02-01 Kenichi Handa <handa@m17n.org>
8604
8605 * syntax.c (Vfind_word_boundary_function_table): New name for
8606 Vnext_word_boundary_function_table.
8607 (find-word-boundary-function-table): New name for
8608 next-word-boundary-function-table.
8609
73acf815 86102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8611
8612 * Makefile.in: Fix some dependencies.
8613
8614 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
8615 set it to nil before returning.
8616
8617 * composite.c (update_compositions): Fix type error.
8618
8619 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
8620
73acf815 86212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8622
8623 * xterm.c (x_new_font): Optimize for the case that the font is
8624 already set for the frame.
8625
73acf815 86262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8627
8628 * chartab.c (char_table_ascii): Check if the char table contents
8629 is sub-char-table or not.
4c4475a8
GM
8630 (char_table_set, char_table_set_range): Fix argument to
8631 char_table_ascii.
aca7a3d2
MB
8632
8633 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
8634 (detect_coding_utf_8, detect_coding_utf_16)
8635 (detect_coding_emacs_mule, detect_coding_iso_2022)
8636 (detect_coding_sjis, detect_coding_big5)
8637 (detect_coding_ccl, detect_coding_charset): Change argument MASK
8638 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 8639 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
8640 (MAX_ANNOTATION_LENGTH): New macro.
8641 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
8642 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
8643 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 8644 (ADD_CHARSET_DATA): New macro.
1f45f627 8645 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
8646 (decode_coding_emacs_mule, decode_coding_iso_2022)
8647 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
8648 Produce charset annotation data in coding->charbuf.
8649 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
8650 to charset annotation data in coding->charbuf.
8651 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
8652 coding->common_flags if the coding system is iso-2022 based and
8653 uses designation.
1f45f627 8654 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
8655 (produce_charset): New function.
8656 (produce_annotation): Handle charset annotation.
8657 (handle_composition_annotation, handle_charset_annotation): New
8658 functions.
8659 (consume_chars): Handle charset annotation. Utilize the above two
8660 functions.
8661 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
8662 buffer, get the deleted text as a string and set
8663 coding->src_object to that string.
8664 (detect_coding, detect_coding_system): Use the new struct
8665 coding_detection_info.
8666
8667 * coding.h (struct coding_detection_info): New structure.
1f45f627 8668 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
8669 (CODING_ANNOTATE_CHARSET_MASK): New macro.
8670
73acf815 86712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8672
8673 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
8674
73acf815 86752008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8676
1f45f627 8677 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
8678 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
8679 to new local and nullify apropos_accumulate before returning.
8680 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
8681
73acf815 86822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8683
8684 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
8685 correctly.
8686
73acf815 86872008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8688
8689 * fns.c (Flanginfo): Call synchronize_system_time_locale.
8690
73acf815 86912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8692
8693 The following changes are to make character composition happen
8694 automatically on displaying.
8695
2a2e8de7 8696 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 8697
1f45f627
GM
8698 * composite.h (Qauto_composed, Vauto_composition_function)
8699 (Qauto_composition_function): Extern them.
aca7a3d2 8700
1f45f627
GM
8701 * composite.c (Vcomposition_function_table)
8702 (Qcomposition_function_table): Delete variables.
8703 (Qauto_composed, Vauto_composition_function)
8704 (Qauto_composition_function): New variables.
aca7a3d2
MB
8705 (run_composition_function): Don't call
8706 compose-chars-after-function.
8707 (update_compositions): Clear `auto-composed' text property.
8708 (compose_chars_in_text): Delete this function.
8709 (syms_of_composite): Staticpro Qauto_composed and
8710 Qauto_composition_function. Declare Vauto_composition_function as
8711 a Lisp variable.
8712
8713 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
8714
8715 * xdisp.c (it_props): Add an entry for Qauto_composed.
8716 (handle_auto_composed_prop): New function.
8717
8718 * xselect.c (selection_data_to_lisp_data): Don't call
8719 compose_chars_in_text.
8720
73acf815 87212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8722
8723 * keyboard.c (read_char): Modify checking around use of
8724 Vkeyboard_translate_table.
8725
8726 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8727 and fix C types.
8728
73acf815 87292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8730
4c4475a8
GM
8731 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
8732 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8733 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 8734 the case that the last byte is '\r' correctly.
1f45f627
GM
8735 (decode_coding): Flush out the unprocessed data correctly.
8736 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 8737
73acf815 87382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8739
f245f2c6
JB
8740 * xterm.c (XTread_socket): Fix changes for defined keysyms.
8741 Add XK_ISO... case.
aca7a3d2
MB
8742 (xaw_scroll_callback): Revert last change.
8743
73acf815 87442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8745
1f45f627 8746 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 8747
73acf815 87482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8749
8750 * xfaces.c (Vface_resizing_fonts): New variable.
8751 (struct font_name): New member `resizing_ratio'.
8752 (font_resizing_ratio): New function.
8753 (split_font_name): Set font->resizing_ratio.
8754 (better_font_p): Pay attention to font->resizing_ratio.
8755 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
8756 RESX, and RESY fields.
8757 (try_alternative_families): Try scalable fonts if
8758 Vscalable_fonts_allowed is not Qt.
8759 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
8760
73acf815 87612008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8762
8763 * xterm.c (xaw_scroll_callback): Cast correctly.
8764
73acf815 87652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8766
8767 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
8768 (lispy_kana_keys): Comment out.
8769 (make_lispy_event) [XK_kana_A]: Comment out.
8770
8771 * xterm.c (xaw_scroll_callback): Cast call_data.
8772 (XTread_socket): Deal with ASCII keysyms.
8773 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
8774
73acf815 87752008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8776
8777 * xterm.c (Vx_keysym_table): New.
8778 (syms_of_xterm): Initialize it.
8779 (XTread_socket): Use it.
8780 From head: Eliminate incorrect optimization that tried to avoid
8781 decoding the output of X*LookupString.
8782 (x_get_font_repertory): Delete charset declaration.
8783
73acf815 87842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8785
1f45f627
GM
8786 * coding.c (detect_coding_charset): If only ASCII bytes are found,
8787 return 0.
aca7a3d2
MB
8788 (Fdefine_coding_system_internal): Setup
8789 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
8790
73acf815 87912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8792
8793 * coding.c (Fcheck_coding_system): Doc fix.
8794
8795 * editfns.c (Finsert_byte): Return a proper value.
8796
73acf815 87972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8798
8799 * coding.c (decode_coding): Fix args to translate_chars. Pay
8800 attention to Vstandard_translation_table_for_decode.
8801 (encode_coding): Fix args to translate_chars. Pay attention to
8802 Vstandard_translation_table_for_encode.
8803
8804 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
8805 SINGLE_BYTE_CHAR_P.
8806
8807 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
8808 not by SINGLE_BYTE_CHAR_P.
8809
8810 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
8811 SINGLE_BYTE_CHAR_P.
8812
8813 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
8814 SINGLE_BYTE_CHAR_P.
8815
8816 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
8817 by SINGLE_BYTE_CHAR_P.
8818
8819 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
8820 SINGLE_BYTE_CHAR_P.
8821
73acf815 88222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8823
8824 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
8825
73acf815 88262008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8827
8828 * fns.c (Flanginfo): Fix typo.
8829
8830 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
8831
73acf815 88322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8833
4c4475a8
GM
8834 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
8835 (detect_coding_emacs_mule, detect_coding_iso_2022)
8836 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
8837 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 8838 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 8839 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 8840 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 8841
73acf815 88422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8843
1f45f627
GM
8844 * character.c (char_string): Rename from
8845 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
8846 (string_char): Rename from string_char.
aca7a3d2 8847
4c4475a8
GM
8848 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
8849 if C is greater than MAX_3_BYTE_CHAR.
8850 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
8851 string_char instead of string_char_with_unification.
aca7a3d2 8852
73acf815 88532008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8854
8855 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
8856
73acf815 88572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8858
1f45f627 8859 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
8860
8861 * regex.c (re_search_2): Fix for the case of unibyte buffer.
8862
73acf815 88632008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8864
8865 * charset.c (define_charset_internal): Rename `supprementary'.
8866
8867 * Makefile.in (lisp, shortlisp): Remove latin-N.
8868
73acf815 88692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8870
8871 * xfns.c (x_window, x_window): Use use_xim.
8872
8873 * xterm.c (use_xim): Initialize.
8874 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8875 (x_term_init): Maybe set use_xim.
8876
8877 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8878
73acf815 88792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8880
8881 * search.c (search_buffer): Fix case-fold-search of multibyte
8882 characters.
8883 (boyer_moore): Rename the last argument to char_high_bits.
8884
73acf815 88852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8886
8887 * xdisp.c (display_string): Fix for the case of zero width glyph.
8888
8889 * xfns.c (x_set_font): Change the error message of the case that
8890 x_new_fontset returns Qt.
8891
8892 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
8893 (Finternal_set_lisp_face_attribute): Use signal_error for the
8894 error of invalid fontset.
8895
8896 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
8897 fontset, return Qt.
8898
73acf815 88992008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 8900
aca7a3d2
MB
8901 * unexelf.c (unexec): Make .got handling not SGI-specific.
8902
8903 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
8904
8905 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
8906
8907 * keyboard.c (read_key_sequence): Fix type error.
8908
8909 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
8910 type error.
8911
8912 * fontset.c (fontset_add): Return Lisp_Object.
8913
73acf815 89142008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
8915
8916 * charset.h (charset_ordered_list_tick): Declare extern.
8917
73acf815 89182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8919
73acf815 8920 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
8921 for handling syntax, category, and case conversion for unibyte
8922 characters by converting them to multibyte on the fly. With these
8923 changes, we don't have to setup syntax and case tables for unibyte
8924 characters in each language environment.
8925
8926 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
8927 multibyte if necessary.
8928
8929 * bytecode.c (Fbyte_code): Likewise.
8930
8931 * character.h (LEADING_CODE_LATIN_1_MIN)
8932 (LEADING_CODE_LATIN_1_MAX): New macros.
8933 (unibyte_to_multibyte_table): Extern it.
8934 (unibyte_char_to_multibyte): New macro.
8935 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
8936 (CHAR_LEADING_CODE): New macro.
8937 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
8938
8939 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 8940 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
8941 (multibyte_char_to_unibyte): If C is an eight-bit character,
8942 convert it to the corresponding byte value.
8943
8944 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
8945 not 1, singals an error. Update the elements of
8946 unibyte_to_multibyte_table.
8947 (init_charset_once): Initialize unibyte_to_multibyte_table.
8948 (syms_of_charset): Define the charset `iso-8859-1'.
8949
aca7a3d2
MB
8950 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
8951 as is without converting it to unibyte. In a unibyte buffer,
8952 convert C to multibyte before checking the syntax.
8953
1f45f627 8954 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
8955
8956 * minibuf.c (Fminibuffer_complete_word): Use the macro
8957 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
8958
8959 * regex.h (struct re_pattern_buffer): New member target_multibyte.
8960
8961 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
8962 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
8963 that is zero, convert an eight-bit char to multibyte.
8964 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
8965 non-emacs case.
8966 (PATFETCH): Convert an eight-bit char to multibyte.
8967 (HANDLE_UNIBYTE_RANGE): New macro.
8968 (regex_compile): Setup the compiled pattern for multibyte chars
8969 even if the given regex string is unibyte. Use PATFETCH_RAW
8970 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 8971 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 8972 only for ASCII chars.
1f45f627 8973 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
8974 is multibyte.
8975 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
8976 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 8977 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
8978 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
8979 multibyte always 1.
8980 (re_search_2): In emacs, set the locale variable multibyte to 1,
8981 otherwise to 0. New local variable target_multibyte. Check it
8982 to decide the multibyteness of STR1 and STR2. If
8983 target_multibyte is zero, convert unibyte chars to multibyte
8984 before translating and checking fastmap.
8985 (TARGET_CHAR_AND_LENGTH): New macro.
8986 (re_match_2_internal): In emacs, set the locale variable multibyte
8987 to 1, otherwise to 0. New local variable target_multibyte. Check
8988 it to decide the multibyteness of STR1 and STR2. Use
8989 TARGET_CHAR_AND_LENGTH to fetch a character from D.
8990 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 8991 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
8992 target_multibyte, not with multibyte.
8993 <begline>: Declare the local variable C as `unsigned'.
8994 (bcmp_translate): Change the last arg name to target_multibyte.
8995
8996 * search.c (compile_pattern_1): Don't adjust the multibyteness of
8997 the regexp pattern and the matching target. Set cp->buf.multibyte
8998 to the multibyteness of the regexp pattern. Set
1f45f627 8999 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
9000 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
9001 FETCH_STRING_CHAR_ADVANCE.
9002 (Freplace_match): Convert unibyte chars to multibyte.
9003
4c4475a8
GM
9004 * syntax.c (char_quoted, back_comment, scan_words)
9005 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
9006 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 9007 unibyte chars to multibyte.
1f45f627
GM
9008 (skip_chars): Delete the arg syntaxp, and move the code for
9009 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
9010 Fix the case that the multibyteness of STRING and the current
9011 buffer doesn't match.
9012 (skip_syntaxes): New function.
9013 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
9014 SINGLE_BYTE_CHAR_P.
aca7a3d2 9015
73acf815 90162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9017
9018 * xfaces.c (QCfontset): New variable.
9019 (LFACE_FONTSET): New macro.
9020 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
9021 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
9022 (Finternal_set_lisp_face_attribute)
9023 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
9024 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
9025 check also LFACE_FONTSET_INDEX.
9026 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
9027 attrs[LFACE_FONT_INDEX].
9028 (syms_of_xfaces): Intern and staticpro QCfontset.
9029
9030 * dispextern.h (enum lface_attribute_index): New member
9031 LFACE_FONTSET_INDEX.
9032
9033 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
9034
73acf815 90352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9036
9037 * coding.c (coding_set_destination): Fix coding->destination for
9038 the case converting a region.
9039 (encode_coding_utf_8): Encode eight-bit chars as single byte.
9040 (encode_coding_object): Fix coding->dst_pos and
9041 coding->dst_pos_byte for the case converting a region.
9042
9043 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
9044
9045 * character.h (BYTE8_STRING): New macro.
9046
9047 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
9048
73acf815 90492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9050
9051 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
9052 characters by octal form.
9053
9054 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
9055
1f45f627 9056 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
9057 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
9058 _fetch_multibyte_char_len.
aca7a3d2
MB
9059 (FETCH_CHAR_AS_MULTIBYTE): New macro.
9060
1f45f627 9061 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 9062
1f45f627 9063 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 9064 the case conversion change the byte length.
1f45f627 9065 (casify_region): Likewise.
aca7a3d2 9066
1f45f627 9067 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 9068
1f45f627 9069 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
9070 (syms_of_character): Setup Vprintable_chars.
9071
9072 * editfns.c (Fchar_equal): Fix for the unibyte case.
9073 (Finsert_byte): New function.
9074 (syms_of_editfns): Defsubr it.
9075
9076 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
9077 of direct code 0x3ffff.
9078
9079 * search.c (Freplace_match): Fix for the unibyte case.
9080
73acf815 90812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9082
9083 * lread.c (safe_to_load_p): Fix the logic.
9084
9085 * syntax.c (scan_words): Don't treat characters belonging to
9086 different scripts as constituting a word.
9087
9088 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
9089
1f45f627 9090 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
9091
9092 * emacs.c (main): In the case of --unibyte, instead of aborting on
9093 finding non-empty buffer, make it unibyte.
9094
73acf815 90952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9096
9097 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
9098 to create a fontset.
9099
73acf815 91002008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9101
9102 * character.c (Funibyte_char_to_multibyte): Doc fix.
9103
9104 * xfns.c [HAVE_STDLIB_H]: Fix last change.
9105
73acf815 91062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9107
9108 * fontset.c (fontset_add): Make the type `int'.
9109 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
9110
4c4475a8
GM
9111 * character.c (unibyte_char_to_multibyte)
9112 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 9113 charset_unibyte, not charset_primary.
aca7a3d2 9114
1f45f627 9115 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 9116
1f45f627
GM
9117 * charset.c (charset_unibyte): Rename from charset_primary.
9118 (Funibyte_charset): Rename from Fprimary_charset.
9119 (Fset_unibyte_charset): Rename from Fset_primary_charset.
9120 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
9121
9122 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
9123 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
9124 it->multibyte_p is zero.
9125
9126 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 9127 Delete extern.
aca7a3d2 9128
73acf815 91292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9130
9131 * coding.c (Fdefine_coding_system_internal): Fix category setting
9132 for a coding system of type iso-2022.
9133
73acf815 91342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9135
1f45f627 9136 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 9137
73acf815 91382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9139
9140 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
9141 (next-word-boundary-function-table): Declare it as a Lisp variable
9142 in syms_of_syntax.
aca7a3d2
MB
9143 (scan_words): Call functions in Vnext_word_boundary_function_table
9144 if any.
9145
9146 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
9147
9148 * fontset.c (fs_load_font): If fontp->charset is not negative,
9149 return fontp without setting its members.
9150
73acf815 91512008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9152
aca7a3d2
MB
9153 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
9154
9155 * m/sparc.h (HAVE_ALLOCA): Delete.
9156
9157 * s/irix6-5.h: Don't include strings.h.
9158 (bcopy, bzero, bcmp): Don't undef.
9159
9160 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
9161
9162 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
9163 (TIOCSIGSEND): Don't test IRIX6.
9164 (bcopy, bzero, bcmp): Define conditionally.
9165
73acf815 91662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9167
9168 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 9169 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
9170 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
9171
9172 * callproc.c (Fcall_process): Don't call insert_1_both directly if
9173 we are inserting a process output into a multibyte buffer.
9174
9175 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
9176 multibyte_char_to_unibyte.
9177
9178 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
9179 by the primary charset, make it eight-bit char.
9180 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
9181
1f45f627
GM
9182 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
9183 (charset_8_bit__control, charset_8_bit_graphic)
9184 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
9185 (define_charset_internal): New function.
9186 (syms_of_charset): Call define_charset_internal for pre-defined
9187 charsets.
9188
9189 * charset.h (charset_8_bit): Extern it.
9190
1f45f627 9191 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
9192 of Fset_buffer_multibyte.
9193 (encode_coding_raw_text): Increment p0 in the loop.
9194
1f45f627 9195 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 9196
1f45f627 9197 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
9198 for the change of Fset_buffer_multibyte.
9199
9200 * fns.c (Fstring_to_multibyte): New function.
9201 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
9202
73acf815 92032008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9204
9205 * xfns.c (x_put_x_image): Declare args.
9206
1f45f627 9207 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
9208 (try_font_list): Declare an arg.
9209
9210 * xdisp.c (message2_nolog, set_message): Declare an arg.
9211
9212 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
9213
9214 * syntax.c (scan_sexps_forward): Declare an arg.
9215
9216 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
9217 Declare an arg.
9218
9219 * lisp.h (Fnew_fontset): Declare.
9220
9221 * keymap.c (push_key_description): Call CHARACTERP correctly.
9222
1f45f627 9223 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
9224 (face_for_char): Delete unused vars.
9225 (Fset_fontset_font): Doc fix. Delete unused vars.
9226
9227 * doc.c (Fsubstitute_command_keys): Delete unused vars.
9228
9229 * composite.c (update_compositions): Declare arg.
9230
9231 * cm.c (calccost, cmgoto): Declare args.
9232
9233 * charset.c: Remove `emacs' conditional. Doc fixes.
9234 (map_char_table_for_charset): Declare.
9235
1f45f627 9236 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 9237
1f45f627 9238 * ccl.c: Remove `emacs' conditional.
aca7a3d2 9239
73acf815 92402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9241
9242 The following changes are to allow specifying multiple font
9243 patterns for a character range (specified by script or charset).
9244
9245 * Makefile.in (abbrev.o): Depend on syntax.h.
9246 (xfaces.o): Depend on charset.h.
9247
9248 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
9249 SINGLE_BYTE_CHAR_P.
9250
9251 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
9252
9253 * character.h (Vchar_script_table): Extern it.
9254
1f45f627 9255 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
9256 (Vchar_script_table, Qchar_script_table): New variable.
9257 (syms_of_character): Declare Vchar_script_table as a lisp variable
9258 and initialize it.
9259
1f45f627 9260 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
9261 have property char-table-extra-slots, make no extra slot.
9262
1f45f627 9263 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
9264 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
9265 SINGLE_BYTE_CHAR_P.
1f45f627
GM
9266 (choose_face_font, lookup_non_ascii_face, font_name_registry):
9267 Add prototypes.
9268 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
9269 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9270
9271 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 9272 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
9273 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
9274
9275 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 9276 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
9277 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
9278 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
9279 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
9280 (fontset_ref_and_range, fontset_add, reorder_font_vector)
9281 (load_font_get_repertory): New functions.
1f45f627 9282 (fontset_set): Delete.
aca7a3d2 9283 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 9284 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
9285 (free_face_fontset): Use ASET istead of AREF (X) = Y.
9286 (face_for_char): Don't call lookup_face.
9287 (make_fontset_for_ascii_face): New arg FACE.
9288 (fs_load_font): New arg CHARSET_ID. Don't check
9289 Vfont_encoding_alist here.
9290 (find_font_encoding): New function.
9291 (list_fontsets): Use STRINGP, not ! NILP.
9292 (accumulate_script_ranges): New function.
9293 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
9294 re-written to handle new fontset structure.
9295 (Ffontset_font): Return a copy of element.
9296 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
9297 docstring of font-encoding-alist.
9298
9299 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
9300 (Fset_fotset_font): Fix arguments to 5.
9301
1f45f627 9302 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
9303
9304 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
9305 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 9306 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
9307 lookup_named_face.
9308
9309 * xfaces.c: Include charset.h.
1f45f627
GM
9310 (load_face_font): Delete argument C. Change caller.
9311 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
9312 (font_name_registry): New function.
9313 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 9314 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
9315 Lookup only ascii faces.
9316 (lookup_non_ascii_face): New function.
1f45f627
GM
9317 (lookup_named_face): Delete argument C. Change caller.
9318 (lookup_derived_face): Delete argument C. Change caller.
9319 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 9320 a string, just call font_list with it.
1f45f627
GM
9321 (choose_face_font): Delete arguments FACE and C. New arg
9322 FONT_SPEC. Change caller.
4c4475a8
GM
9323 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
9324 Change caller.
aca7a3d2
MB
9325 (realize_non_ascii_face): New function.
9326 (realize_x_face): Call load_face_font here.
1f45f627 9327 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
9328 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
9329 get a face ID.
9330 (dump_realized_face): Don't print charset of FACE.
9331
9332 * xfns.c (x_set_font): Always call x_new_fontset and
9333 store_frame_parameter.
9334 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 9335 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
9336
9337 * xterm.h (x_get_font_repertory): Extern it.
9338
9339 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
9340 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
9341 it->multibyte_p is zero.
9342 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
9343 (x_new_fontset): If FONTSETNAME doesn't match any existing
9344 fontsets, create a new one.
9345 (x_get_font_repertory): New function.
9346
73acf815 93472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9348
9349 * coding.c (Ffind_coding_systems_region_internal): Detect an
9350 ASCII only string correctly.
9351
9352 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
9353 version is 0.
9354
73acf815 93552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9356
9357 * lread.c: Include "coding.h".
1f45f627
GM
9358 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
9359 (load_each_byte, unread_char): New variables.
9360 (readchar_backlog): Delete.
aca7a3d2
MB
9361 (readchar): Return a character unless load_each_byte is nonzero.
9362 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
9363 cons. If unread_char is not -1, simply return it.
9364 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
9365 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
9366 (read_multibyte): Delete.
aca7a3d2
MB
9367 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
9368 (read_emacs_mule_char): New functions.
9369 (Fload): Even if the file doesn't have the extention ".elc", if
9370 safe_to_load_p returns a positive version number, assume that the
9371 file contains bytecompiled code. If the version is less than 22,
9372 load the file while decoding multibyte sequences by emacs-mule.
9373 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
9374 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
9375 (Fread_from_string): Pay attention to the case that STREAM is a cons.
9376 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
9377 (read1): Set load_each_byte to 1 temporarily while handling
9378 #@NUMBER. Don't call read_multibyte.
9379 (read_vector): Call Fread with a cons. If readcharfun is
9380 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 9381 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
9382 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
9383 and Qload_force_doc_strings.
9384
73acf815 93852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9386
9387 * xdisp.c (face_before_or_after_it_pos): Call
9388 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
9389
73acf815 93902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9391
9392 * character.h (TRAILING_CODE_P): New macro.
1f45f627 9393 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
9394 (string_char_with_unification): Fix prototype.
9395 (Vscript_alist): Extern it.
9396
9397 * character.c (Vscript_alist): New variable.
4c4475a8
GM
9398 (string_char_with_unification, str_as_unibyte)
9399 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
9400 (syms_of_character): Declare script-alist as a Lisp variable.
9401
9402 * charset.h (Vcharset_ordered_list): Extern it.
9403 (charset_ordered_list_tick): Extern it.
9404 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
9405 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
9406 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 9407 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 9408 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
9409
9410 * charset.c (charset_ordered_list_tick): New variable.
9411 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
9412 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
9413 deunify intead of unify a charset.
9414 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
9415 (find_charsets_in_text): Add `const' to arguemnts and local variables.
9416 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
9417 detecting of invalid code.
9418 (Fset_charset_priority): Increment charset_ordered_list_tick.
9419 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
9420 and TO_CODE.
9421
9422 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
9423 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
9424 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
9425 (decode_coding_ccl, consume_chars)
9426 (Ffind_coding_systems_region_internal)
9427 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
9428
9429 * print.c (print_object): Use octal form for printing the
9430 contents of a bool vector.
9431
73acf815 94322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9433
9434 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
9435 <version == 20>: Refuse to load.
9436
73acf815 94372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9438
9439 * fns.c: Move coding.h.
9440 (Qcodeset, Qdays, Qmonths): New.
9441 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 9442 (Flocale_codeset): Delete.
aca7a3d2 9443 (Flanginfo): New function.
1f45f627 9444 (syms_of_fns): Change accordingly.
aca7a3d2
MB
9445
9446 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
9447
73acf815 94482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9449
9450 * casetab.c (init_casetab_once, init_casetab_once): Fix
9451 CHAR_TABLE_SET call.
9452
9453 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
9454
9455 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
9456
9457 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
9458 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
9459 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
9460
9461 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
9462
9463 * coding.c (ENCODE_DESIGNATION, decode_eol)
9464 (make_conversion_work_buffer, code_conversion_restore)
9465 (Fdefine_coding_system_internal): Convert Lisp types.
9466 (code_conversion_restore): Use EQ, not ==.
9467 (Fencode_coding_string): Fix code_convert_string call.
9468
9469 * coding.h (code_convert_region): Fix prototype.
9470
1f45f627 9471 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
9472
9473 * fontset.c (fontset_ref, fontset_set, fs_load_font)
9474 (Ffontset_info): Convert Lisp types.
9475
9476 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
9477
9478 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
9479
9480 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
9481
9482 * chartab.c: Include "...h", not <...h> in some cases.
9483
9484 * callproc.c (Fcall_process): Remove unused variables.
9485
73acf815 94862008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9487
9488 * coding.c (Fset_coding_system_priority): Allow null arg list.
9489
73acf815 94902008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9491
9492 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9493 (Fself_insert_and_exit): Use CHARACTERP.
9494
9495 * callproc.c (Fcall_process): Remove unused vars.
9496
9497 * xterm.c (XTread_socket): Add extra dead keysyms.
9498
9499 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
9500
9501 * dispextern.h: Remove prototypes for redraw_frame,
9502 redraw_garbaged_frames.
9503
9504 * cmds.c (Fself_insert_command): Use CHARACTERP.
9505
9506 * chartab.c (make_sub_char_table): Remove unused var.
9507 (Fset_char_table_default, Fmap_char_table): Doc fix.
9508
9509 * keymap.c (access_keymap): Remove generic char code.
9510 (push_key_description): Use CHARACTERP.
9511
73acf815 95122008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9513
9514 * charset.c: Doc fixes.
9515 (Funify_charset): Extra checking.
9516
73acf815 95172008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9518
9519 * lread.c: Remove some unused variables.
9520 (safe_to_load_p): If safe, return the magic number version byte.
9521 (Fload): Maybe use load-with-code-conversion.
9522
73acf815 95232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9524
9525 * category.c (Fmodify_category_entry): Don't modify the contents
9526 of category_set for characters out of the range. Avoid
9527 unnecessary modification.
9528
1f45f627 9529 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
9530 Vchar_unify_table. The default value of the table is now nil.
9531
9532 * character.c (syms_of_character): Setup Vchar_width_table for
9533 eight-bit-control and raw-byte chars.
9534
9535 * charset.h (enum define_charset_arg_index): Delete
9536 charset_arg_parents and add charset_arg_subset and
9537 charset_arg_superset.
9538 (enum charset_attr_index): Delete charset_parents and add
9539 charset_subset and charset_superset.
9540 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
9541 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 9542 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
9543 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
9544 (CHARSET_SUPERSET): New macros.
9545 (charset_work): Extern it.
9546 (ENCODE_CHAR): Use charset_work.
1f45f627 9547 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
9548 (map_charset_chars): Extern it.
9549
9550 * charset.c (load_charset_map): Set the default value of encoder
9551 and deunifier char-tables to nil.
1f45f627 9552 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
9553 map_char_table_for_charset instead of map_char_table.
9554 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 9555 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
9556 `define-charset' (:parents -> :subset or :superset).
9557 (charset_work): New variable.
4c4475a8
GM
9558 (encode_char, syms_of_charset): Adjust for the change of
9559 Fdefine_charset_internal.
aca7a3d2
MB
9560 (Ffind_charset_string): Setup the vector `charsets' correctly.
9561
1f45f627 9562 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 9563 the previous change.
1f45f627 9564 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
9565 (map_sub_char_table_for_charset): New function.
9566 (map_char_table_for_charset): New function.
9567
9568 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 9569 (describe_char_table): Delete.
aca7a3d2 9570
1f45f627 9571 * lisp.h (map_charset_chars): Delete.
aca7a3d2 9572
73acf815 95732008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9574
9575 * fns.c (count_combining): Comment out (unused).
9576 (Flocale_codeset): New.
9577 (syms_of_fns): Defsubr it.
9578
9579 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 9580 (size_t): Remove.
aca7a3d2 9581
73acf815 95822008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9583
6f69e89b 9584 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 9585
73acf815 95862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9587
9588 * character.c (syms_of_character): Set the default value of
9589 Vprintable_chars to Qnil.
9590
73acf815 95912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9592
9593 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
9594
73acf815 95952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9596
9597 * charset.c (load_charset_map): Handle the case that from < to
9598 correctly.
9599
4c4475a8
GM
9600 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
9601 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
9602 Pay attention to raw-8-bit chars.
aca7a3d2 9603
73acf815 96042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9605
4c4475a8
GM
9606 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
9607 It is not bytecompiled now.
aca7a3d2
MB
9608
9609 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
9610 (charset_jisx0208): New variables.
9611 (Fdefine_charset_internal): Setup them if appropriate.
9612 (init_charset_once): Initialize them to -1.
9613
1f45f627
GM
9614 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
9615 (charset_jisx0208): Extern them.
aca7a3d2 9616
1f204af3 9617 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 9618 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
9619 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
9620 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
9621 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
9622 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
9623 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
9624 (encode_coding_iso_2022): Change the 1st arg to
9625 ENCODE_ISO_CHARACTER to a variable.
9626
73acf815 96272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9628
9629 * charset.h (enum define_charset_arg_index): New enums
9630 charset_arg_min_code and charset_arg_max_code.
9631 (struct charset): New member char_index_offset.
9632
4c4475a8
GM
9633 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
9634 Take charset->char_index_offset into account.
aca7a3d2
MB
9635 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
9636 args[charset_arg_max_code]. Setup charset.char_index_offset.
9637 (syms_of_charset): Fix args to Fdefine_charset_internal.
9638
73acf815 96392008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9640
9641 * coding.c (decode_coding_utf_8): Reject overlong sequences.
9642
73acf815 96432008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9644
9645 * coding.c: Doc fixes.
9646 (Fcoding_system_aliases): Fix return value.
9647 (Qmac): Remove (duplicated) definition.
9648
73acf815 96492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9650
9651 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
9652 functions.
9653
9654 * character.c (Fstring): Doc fix.
9655
9656 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
9657
9658 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
9659 ids.
9660 (font-encoding-alist): Doc fix.
9661
73acf815 96622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9663
9664 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 9665 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
9666
9667 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
9668 for K&R.
9669
9670 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
9671
9672 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 9673 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 9674
1f45f627 9675 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
9676
9677 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
9678
73acf815 96792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9680
9681 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
9682
1f45f627 9683 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 9684
2a2e8de7 96852008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
9686
9687 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
9688
1f45f627 9689 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 9690
73acf815 96912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9692
4c4475a8 9693 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 9694 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 9695
73acf815 96962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9697
1f45f627 9698 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
9699 Fdefine_coding_system_internal.
9700 (Fdefine_coding_system_internal): For a coding system of
9701 `charset' type, store a list of charset IDs in
9702 `charset_attr_charset_valids' element of coding attributes.
9703
73acf815 97042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9705
9706 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
9707 (emacs_mule_char): New arg src. Delete arg `composition'. Change
9708 caller. Handle 2-byte and 3-byte charsets correctly.
9709 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
9710 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
9711 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
9712 (DECODE_EMACS_MULE_21_COMPOSITION): Call
9713 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
9714 sequence.
9715 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 9716 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
9717 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
9718 and alt&rule composition.
9719 (decode_coding_iso_2022): Handle composition correctly.
9720 (init_coding_once): Setup emacs_mule_bytes for private charsets.
9721
9722 * charset.c (Fdefine_charset_internal): Fix bug for the case of
9723 re-defining a charset. If the charset has :emacs-mule-id, setup
9724 emacs_mule_bytes.
1f45f627 9725 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 9726
73acf815 97272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9728
4c4475a8
GM
9729 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
9730 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
9731 encoding, produce a character specified by
9732 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 9733
73acf815 97342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9735
9736 * xterm.c (XSetIMValues): Declare.
9737
9738 * process.c: Conditionally include sys/wait.h, pty.h.
9739
1f45f627 9740 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 9741
1f45f627 9742 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
9743
9744 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
9745
9746 * fontset.c (Fclear_face_cache): Declare.
1f45f627 9747 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
9748 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
9749 variables.
9750
9751 * character.h (string_escape_byte8): Declare.
9752
9753 * charset.c (load_charset_map, load_charset_map_from_file): Remove
9754 unused vars.
9755 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
9756 (Fmap_charset_chars): Doc fix.
9757
1f45f627 9758 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
9759 (Fset_coding_system_priority, Fset_coding_system_priority)
9760 (Fdefine_coding_system_internal): Doc fix.
9761
73acf815 97622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9763
9764 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
9765
73acf815 97662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9767
9768 * character.c (string_escape_byte8): Make multibyte string with
9769 correct size.
9770
9771 * charset.c (Fmake_char): Delete unnecessary code.
9772
73acf815 97732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9774
9775 * xfns.c (x_encode_text): Allocate coding.destination here, and
9776 call encode_coding_object with dst_object Qnil.
9777
9778 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
9779 multibyte form correctly.
9780
9781 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
9782 against Vfont_encoding_alist.
9783
9784 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
9785 handling of charset list.
9786 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
9787 (decode_coding_object): Move point to coding->dst_pos before
9788 calling post-read-conversion function.
9789 (encode_coding_object): Give correct arguments to
9790 pre-write-conversion. Ignore the return value of
9791 pre-write-conversion function. Pay attention to the case that
9792 pre-write-conversion changes the current buffer. If dst_object is
9793 Qt, even if coding->src_bytes is zero, allocate at least one byte
9794 to coding->destination.
9795
9796 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
9797
9798 * charset.c (Fmake_char): Make it more backward compatible.
9799 (Fmap_charset_chars): Fix docstring.
9800
73acf815 98012008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9802
9803 * coding.c: Doc fixes.
9804 (Fdefine_coding_system_alias): Use names, not symbols, in
9805 coding-system-alist.
9806
73acf815 98072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9808
9809 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
9810 of calling free_realized_face.
9811
2a2e8de7 98122008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 9813
1f45f627
GM
9814 * charset.c (read_hex): Don't treat SPC as a comment starter.
9815 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
9816 (Fdecode_char): Fix typo.
9817
73acf815 98182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9819
9820 * charset.h (struct charset): New member `code_space_mask'.
9821
1f45f627 9822 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
9823 (encode_coding_charset, Fdefine_coding_system_internal):
9824 Delete the local variable charset.
aca7a3d2
MB
9825 (Fdefine_coding_system_internal): Setup
9826 attrs[coding_attr_charset_valids] correctly.
9827
9828 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
9829 member to check if CODE is valid or not.
9830 (Fdefine_charset_internal): Initialize `code_space_mask' member.
9831 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
9832 is within the range of charset->min_code and carset->max_code.
9833
73acf815 98342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9835
9836 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
9837
9838 * dispextern.h (generate_ascii_font): Fix return type.
9839
9840 * xfaces.c (generate_ascii_font): Fix arg declaration.
9841
9842 * coding.c (coding_inherit_eol_type)
9843 (Fset_terminal_coding_system_internal)
9844 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
9845
73acf815 98462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9847
9848 * coding.c (decode_coding_charset, encode_coding_charset): Handle
9849 multiple charsets correctly.
9850
73acf815 98512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9852
9853 * search.c (boyer_moore): Fix handling of mulitbyte character
9854 translation.
9855
9856 * xdisp.c (display_mode_element): When the variable `elt' is
9857 changed, update `this' and `lisp_string'.
9858
73acf815 98592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9860
9861 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
9862
9863 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 9864 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
9865
9866 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
9867 (load_charset_map): Rename from parse_charset_map. New args
9868 entries and n_entries. Change caller.
9869 (load_charset_map_from_file): Rename from load_charset_map.
9870 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
9871 the tail.
9872 (load_charset_map_from_vector): New function.
9873 (Fdefine_charset_internal): Setup charset.compact_codes_p.
9874 (encode_char): If the charset is compact, change a character index
9875 to a code point.
9876
9877 * coding.c (coding_alloc_by_making_gap): Check the case that the
9878 source and destination are the same correctly.
9879 (decode_coding_raw_text): Set coding->consumed_char and
9880 coding->consumed to 0.
9881 (produce_chars): If coding->chars_at_source is nonzero, update
9882 coding->consumed_char and coding->consumed before calling
9883 alloc_destination.
9884 (Fdefine_coding_system_alias): Register ALIAS in
9885 Vcoding_system_alist.
9886 (syms_of_coding): Define `no-convesion' coding system at the tail.
9887
9888 * fileio.c (Finsert_file_contents): Set coding_system instead of
9889 val. If the current buffer is multibyte, always call
9890 decode_coding_gap.
9891
9892 * xfaces.c (try_font_list): Give higher priority to fontset's
9893 family than face's family.
9894
73acf815 98952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9896
9897 * callproc.c (Fcall_process): Be sure to give the current buffer
9898 to decode_coding_c_string.
9899
9900 * xfaces.c (try_font_list): Give a family specified in a fontset
9901 higher priority than a family specified in a face.
9902
73acf815 99032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9904
9905 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
9906 Fix arguments to insert_from_buffer.
9907
9908 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
9909
73acf815 99102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9911
9912 * coding.c (produce_chars): Set the variable `multibytep' correctly.
9913 (decode_coding_gap): Set coding->dst_multibyte correctly.
9914
73acf815 99152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9916
9917 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 9918 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
9919 (encode_coding_utf_16): Substitute coding->default_char for
9920 non-Unicode characters.
9921 (decode_coding): Don't call record_insert here.
9922 (setup_coding_system): Initialize `surrogate' of
9923 coding->spec.utf_16 to 0.
9924 (EMIT_ONE_BYTE): Fix for multibyte case.
9925
9926 * insdel.c (insert_from_gap): Call record_insert.
9927
73acf815 99282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9929
9930 * casefiddle.c (casify_region): Fix multibyte case.
9931
9932 * character.c (c_string_width): Add return type `int'.
1f45f627 9933 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
9934
9935 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 9936 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
9937 (CHAR_STRING_ADVANCE): Make it do-while statement.
9938
1f45f627 9939 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
9940 DEPTH == 3. Add workaround code for a GCC optimization bug.
9941
9942 * charset.c (parse_charset_map): Remove an unused variable.
9943
9944 * coding.c: Delete unused variables.
9945
9946 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
9947 earlier. If inserted is zero and the coding system doesn't
9948 require flushing, don't call decode_coding_gap.
9949
9950 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
9951
73acf815 99522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9953
9954 The following changes are for using Unicode as an internal
9955 character model, and use UTF-8 format for buffer/string
9956 representation.
9957
1f45f627 9958 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
9959 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
9960
9961 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 9962 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
9963 (*.o): For many files, change dependency on charset.h to
9964 character.h, and add dependency on character.h.
9965 (character.o, chartab.o): New targets.
9966
1f45f627
GM
9967 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
9968 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
9969 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
9970 of "charset.h".
9971
9972 * dired.c, filelock.c: Include "character.h".
9973
9974 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 9975 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
9976 (syms_of_alloc): Remove defsubr for Smake_char_table.
9977
9978 * buffer.c: Include "character.h" instead of "charset.h", don't
9979 include "coding.h".
1f45f627 9980 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
9981
9982 * buffer.h: EXFUN Fbuffer_live_p.
9983
9984 * callproc.c: Include "character.h" instead of "charset.h".
9985 (Fcall_process): Big change for the new code-conversion APIs.
9986
9987 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 9988 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
9989 map_char_table spec.
9990 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
9991 accessing the char table structure.
9992
9993 * chartab.c: New file that implements char table.
9994
9995 * category.c: Include "character.h".
9996 (copy_category_entry): New function.
9997 (copy_category_table): Call map_char_table and copy_category_entry.
9998 (Fmake_category_table): Initialize all top-vel slots.
9999 (char_category_set): New function.
1f45f627 10000 (modify_lower_category_set): Delete.
aca7a3d2
MB
10001 (Fmodify_category_entry): Call char_table_ref_and_range.
10002
10003 * category.h (CATEGORY_SET): Just call char_category_set.
10004
10005 * ccl.c: Include "character.h".
10006 (Qccl, Qcclp): New variables.
10007 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
10008 it's less than 256.
1f45f627
GM
10009 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
10010 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 10011 and DST type.
1f45f627
GM
10012 (ccl_driver): Change types of argument, adjust code accordingly.
10013 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
10014 ccl_driver.
10015 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
10016
1f45f627
GM
10017 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
10018 New members src_multibyte, dst_multibyte, consumed, and produced.
10019 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 10020 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 10021 (ccl_driver): Update prototype.
aca7a3d2
MB
10022 (Qccl, Qcclp, Fccl_program_p): Extern them.
10023 (CHECK_CCL_PROGRAM): New macro.
10024
10025 * character.c, character.h, chartab.c: New files.
10026
1f45f627
GM
10027 * charset.c: Mostly re-written. Move character and multibyte sequence
10028 handling codes to character.c.
aca7a3d2 10029
1f45f627
GM
10030 * charset.h: Mostly re-written. Move character and multibyte sequence
10031 handling codes to character.h.
aca7a3d2
MB
10032
10033 * coding.c, coding.h: Mostly re-written.
10034
10035 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
10036 (CHAR_WIDTH): Move to character.h.
10037 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 10038
1f45f627
GM
10039 * composite.h (enum composition_method): Change order of enumeration
10040 symbols.
aca7a3d2
MB
10041
10042 * data.c: Include "character.h" instead of "charset.h".
10043 (Faref): Call CHAR_TABLE_REF for a char table.
10044 (Faset): Call CHAR_TABLE_SET for a char table.
10045
1f45f627
GM
10046 * dispextern.h (free_realized_face, check_face_attribytes)
10047 (generate_ascii_font): Extern them.
10048 (free_realized_multibyte_face): Delete extern.
aca7a3d2 10049
1f45f627 10050 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
10051 table structure.
10052
10053 * editfns.c: Include "character.h" instead of "charset.h".
10054 (Fchar_to_string): Always call CHAR_STRING.
10055
10056 * emacs.c (main): Call init_charset_once, init_charset,
10057 syms_of_chartab, and syms_of_character.
10058
10059 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 10060 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 10061 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 10062 (build_annotations_2): Delete.
aca7a3d2
MB
10063 (e_write): Big change for the new code-conversion API.
10064
10065 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 10066 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
10067 (Fcopy_sequence): Call copy_char_table for a char table.
10068 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
10069 (string_char_to_byte, string_byte_to_char): Adjust for the new
10070 multibyte form.
1f45f627
GM
10071 (internal_equal): Adjust for the change of char table structure.
10072 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
10073 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
10074 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
10075 (char_table_translate, optimize_sub_char_table)
10076 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 10077 chartab.c.
1f45f627
GM
10078 (char_table_ref_and_index): Delete.
10079 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 10080 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
10081 Vcoding_category_list. Adjust for the new code-conversion API.
10082 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
10083 chartab.c.
10084
10085 * fontset.c: Mostly re-written.
10086
1f45f627 10087 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 10088 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
10089 (fontset_font_pattern, fs_load_font): Update prototype.
10090 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
10091
10092 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 10093 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
10094
10095 * insdel.c: Include "character.h" instead of "charset.h".
10096 (copy_text): Don't refer to Vnonascii_translation_table.
10097 (insert_from_gap): New function.
10098
10099 * keyboard.c: Include "character.h" instead of "charset.h".
10100 (command_loop_1): Never call direct_output_forward_char before
10101 a non-ASCII character.
10102 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 10103 translate a character.
aca7a3d2
MB
10104
10105 * keymap.c: Include "character.h".
10106 (store_in_keymap): Handle the case that IDX is a cons.
10107 (Fdefine_key): Handle the case that KEY is a cons and the car part
10108 is also a cons (range).
1f45f627 10109 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
10110 (describe_vector): Call describe_char_table for a char table.
10111 (describe_char_table): New function.
10112
10113 * keymap.h (describe_char_table): Extern it.
10114
10115 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
10116 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
10117 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
10118 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
10119 Delete.
10120 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
10121 structure.
10122 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
10123 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
10124 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 10125 (chartab_size): Extern it.
1f45f627 10126 (struct Lisp_Char_Table): Re-design.
aca7a3d2 10127 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
10128 (HASH_KEY, HASH_VALUE): Move from fns.c.
10129 (CHARACTERBITS): Define as 22.
10130 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
10131 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
10132 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
10133 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
10134 (code_convert_string_norecord): Deleted extern.
10135 (init_character_once, syms_of_character, init_charset)
10136 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
10137
10138 * lread.c: Include "character.h".
10139 (read_multibyte): New arg NBYTES.
1f45f627
GM
10140 (read_escape): Change the meaning of returned *BYTEREP.
10141 (to_multibyte): Delete.
10142 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
10143
10144 * print.c: Include "character.h" instead of "charset.h".
10145 (print_string): Convert 8-bit raw bytes to octal form by
10146 string_escape_byte8.
1f45f627 10147 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
10148 raw bytes always in octal form. Handle sub char table correctly.
10149
10150 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
10151 (read_process_output, send_process): Adjust for the new
10152 code-conversion API.
aca7a3d2 10153
1f45f627 10154 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
10155
10156 * regex.c: Include "character.h" instead of "charset.h".
10157 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
10158 (regex_compile): Accept a range whose starting and ending
10159 character have different leading bytes.
1f45f627 10160 (analyse_first): Adjust for the above change.
aca7a3d2
MB
10161
10162 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
10163 (search_buffer, boyer_moore): Adjust for the new multibyte form.
10164 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
10165
10166 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 10167 (syntax_parent_lookup): Delete.
aca7a3d2 10168 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 10169 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
10170 (init_syntax_once): Call char_table_set_range instead of directly
10171 accessing the structure of a char table.
10172
10173 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 10174 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
10175 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
10176 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
10177
10178 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
10179 (encode_terminal_code, write_glyphs): Adjust for the new
10180 code-conversion API.
aca7a3d2
MB
10181 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
10182
1f45f627 10183 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
10184
10185 * xdisp.c: Include "character.h".
1f45f627
GM
10186 (get_next_display_element): Adjust for the new multibyte form.
10187 (disp_char_vector): Adjust for the new char table structure.
10188 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 10189 coding system.
1f45f627 10190 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
10191
10192 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 10193 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
10194 FS_LOAD_FONT.
10195 (generate_ascii_font): New function.
1f45f627
GM
10196 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
10197 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 10198 (free_realized_face): Make it public.
1f45f627 10199 (free_realized_faces_for_fontset): Rename from
aca7a3d2 10200 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 10201 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
10202 fontset_font_pattern and FS_LOAD_FONT.
10203
10204 * xfns.c: Include "character.h".
1f45f627 10205 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
10206
10207 * xselect.c: Don't include "charset.h".
1f45f627 10208 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
10209
10210 * xterm.c: Include "character.h".
1f45f627 10211 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
10212 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
10213 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
10214 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
10215 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
10216 (XTread_socket): Adjust for the new code-conversion API.
10217 (x_new_font): Adjust for the change of FS_LOAD_FONT.
10218 (x_load_font): Adjust for the change of struct font.
aca7a3d2 10219
d6abfc14
SM
102202008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10221
10222 * xfaces.c (face_at_buffer_position): Remove unused vars.
10223
0acdaf8d
KH
102242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10225
4c4475a8
GM
10226 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
10227 Fix overflow checking.
0acdaf8d 10228
6c8a0ebf
GM
102292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
10230
10231 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
10232 Cancel previous change.
10233
102342008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10235
10236 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
10237 ccl->eight_bit_control. Fix check for buffer overflow.
10238 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
10239 (ccl_driver): Initialize extra_bytes to 0.
10240
a32aad64
KH
102412008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
10242
10243 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
10244 return it ORed with ctrl_modifier.
10245
8b329dba
MB
102462008-01-29 Miles Bader <miles@gnu.org>
10247
10248 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
10249
548667aa
JR
102502008-01-28 Jason Rumney <jasonr@gnu.org>
10251
10252 * w32.c (stat): Don't double check for networked drive.
10253
0975aa24
SM
102542008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
10255
ef264c42
SM
10256 * window.c (run_window_configuration_change_hook): New function.
10257 Code extracted from set_window_buffer. Set the selected frame.
10258 (set_window_buffer): Use it.
10259 * window.h (run_window_configuration_change_hook): Declare.
10260 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
10261
0975aa24
SM
10262 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
10263
9c28b587
DN
102642008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
10265
10266 * Makefile.in: Remove references to unused macros.
10267
c617afce
EZ
102682008-01-26 Eli Zaretskii <eliz@gnu.org>
10269
10270 * w32.c (g_b_init_get_sid_sub_authority)
10271 (g_b_init_get_sid_sub_authority_count): New static variables.
10272 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
10273 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
10274 (init_user_info): Use them to retrieve uid and gid.
10275 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
10276 (fstat): Use pw_uid and pw_gid from the_passwd structure for
10277 st_uid and st_gid of the file.
c617afce 10278
302d7d54
JR
102792008-01-26 Jason Rumney <jasonr@gnu.org>
10280
10281 * w32.c (logon_network_drive): New function.
10282 (stat): Use it.
10283
3ac7a21e
CY
102842008-01-26 Chong Yidong <cyd@stupidchicken.com>
10285
10286 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
10287 invisible text covered with an ellipsis.
10288
bbb9fc1f
RS
102892008-01-25 Richard Stallman <rms@gnu.org>
10290
10291 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
10292 jump back to beginning. Move some other initializations after that.
10293 (Qwindow_text_change_functions, Vwindow_text_change_functions):
10294 New variables.
10295 (syms_of_xdisp): Init them.
10296
10297 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
10298
0975aa24
SM
10299 * buffer.c (reset_buffer_local_variables):
10300 Implement `permanent-local-hook'.
bbb9fc1f 10301 (Qpermanent_local_hook): New variable.
0975aa24 10302 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 10303
79235cbe
MA
103042008-01-25 Michael Albinus <michael.albinus@gmx.de>
10305
10306 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
10307
ccd8f7fe
TTN
103082008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
10309
10310 * fns.c (Fclrhash): Return TABLE.
10311
dfbe40f2 103122008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
10313
10314 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
10315 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
10316 is set even without positional changes.
10317 (x_scroll_bar_clear): Set bar->redraw_needed_p.
10318
10319 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
10320
dfbe40f2 103212008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 10322
d6169680
JR
10323 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
10324
602e142f
JR
10325 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
10326 the unicode range available in MULE by locale-coding-system.
c041e2d1 10327 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
10328 earlier.
10329
dfbe40f2 103302008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
10331
10332 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
10333 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 10334 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
10335 when used on child processes.
10336
8c7a4ac5
MA
103372008-01-21 Michael Albinus <michael.albinus@gmx.de>
10338
e0df1b73 10339 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 10340 Fdbus_method_return.
e0df1b73 10341 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 10342 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 10343 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 10344
8abe0f97
MR
103452008-01-20 Martin Rudalics <rudalics@gmx.at>
10346
10347 * undo.c (undo_inhibit_record_point): New variable.
10348 (syms_of_undo): Initialize it.
10349 (record_point): Don't record point when undo_inhibit_record_point
10350 is set.
10351
c3b232e4
SM
103522008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
10353
e69c4cae
SM
10354 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
10355
823e0ebb
SM
10356 * xdisp.c (Qauto_hscroll_mode): New var.
10357 (syms_of_xdisp): Initialize it.
10358 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
10359 window's buffer.
10360 (hscroll_windows): Don't check automatic_hscrolling_p here.
10361
c3b232e4
SM
10362 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
10363 vscroll if we're setting window-buffer to the value it already has.
10364
76ed5e01
DN
103652008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
10366
10367 * m/intel386.h: Remove references to XENIX.
10368
55e6d9b2
AS
103692008-01-17 Andreas Schwab <schwab@suse.de>
10370
10371 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
10372 instead of HAVE_X86_64_LIB64_DIR.
10373 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
10374
b16ed52d
GM
103752008-01-17 Glenn Morris <rgm@gnu.org>
10376
10377 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
10378 to HAVE_X86_64_LIB64_DIR.
10379
6bed5c4a
DN
103802008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
10381
10382 * s/irix3-3.h:
10383 * s/irix4-0.h:
10384 * s/386-ix.h:
10385 * s/domain.h:
10386 * s/hpux9-x11r4.h:
10387 * s/hpux9shxr4.h: Remove files for systems no longer supported.
10388
10389 * sysdep.c: Remove code containing references to symbols defined
10390 by unsupported systems.
10391
fdecf907
GM
103922008-01-16 Glenn Morris <rgm@gnu.org>
10393
10394 * coding.c (select-safe-coding-system-function): Doc fix.
10395
9292328f
GM
103962008-01-15 Glenn Morris <rgm@gnu.org>
10397
10398 * config.in: Revert 2008-01-13 change: this is a generated file.
10399
944df511
MO
104002008-01-13 Tom Tromey <tromey@redhat.com>
10401
10402 * lisp.h: Fix typo.
10403
8111ec05
DN
104042008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10405
f40f5dc3
DN
10406 * m/sequent-ptx.h:
10407 * m/sequent.h:
10408 * s/ptx.h:
10409 * s/ptx4-2.h:
10410 * s/ptx4.h: Remove files for systems no longer supported.
10411
ce20b664 10412 * callproc.c (Fcall_process): Fix previous change.
8111ec05 10413
e39a993c
DN
104142008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
10415
052e457f 10416 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 10417
290afd83
JB
10418 * m/mips.h:
10419 * m/intel386.h:
e39a993c
DN
10420 * callproc.c:
10421 * config.in:
10422 * ecrt0.c:
10423 * emacs.c:
10424 * fileio.c:
10425 * frame.c:
10426 * getpagesize.h:
10427 * keyboard.c:
10428 * lread.c:
10429 * process.c:
10430 * puresize.h:
10431 * sysdep.c:
10432 * systty.h:
10433 * syswait.h:
10434 * unexec.c:
10435 * xdisp.c:
10436 * alloc.c: Remove code containing references to symbols defined by
10437 unsupported systems.
10438
81cd7687
KH
104392008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
10440
10441 * coding.c (detect_coding_mask): Fix previous change.
10442
218b3b76
KH
104432008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
10444
10445 * coding.c (detect_coding_iso2022): New arg
10446 latin_extra_code_state. Allow Latin extra codes only
10447 when *latin_extra_code_state is nonzero.
10448 (detect_coding_mask): If there is a NULL byte, detect the encoding
10449 as UTF-16 or binary. If Latin extra codes exist, detect the
10450 encoding as ISO-2022 only when there's no other proper encoding is
10451 found.
10452
59ce725a 104532008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 10454
59ce725a
MB
10455 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
10456 #ifdef MAC_OS.
048addec 10457
59ce725a 104582008-01-08 Richard Stallman <rms@gnu.org>
048addec 10459
59ce725a 10460 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 10461
8290574e
NR
104622008-01-06 Nick Roberts <nickrob@snap.net.nz>
10463
a0a3805c 10464 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
10465 menu bar in parentheses.
10466
f3041af1
DN
104672008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
10468
10469 * m/7300.h:
10470 * m/acorn.h:
10471 * m/alliant-2800.h:
10472 * m/alliant.h:
10473 * m/alliant1.h:
10474 * m/alliant4.h:
10475 * m/altos.h:
10476 * m/amdahl.h:
10477 * m/apollo.h:
10478 * m/att3b.h:
10479 * m/aviion-intel.h:
10480 * m/aviion.h:
10481 * m/celerity.h:
10482 * m/clipper.h:
10483 * m/cnvrgnt.h:
10484 * m/convex.h:
10485 * m/cydra5.h:
10486 * m/delta88k.h:
10487 * m/dpx2.h:
10488 * m/dual.h:
10489 * m/elxsi.h:
10490 * m/f301.h:
10491 * m/gould-np1.h:
10492 * m/gould.h:
10493 * m/i860.h:
10494 * m/ibmps2-aix.h:
10495 * m/ibmrt-aix.h:
10496 * m/ibmrt.h:
10497 * m/irist.h:
10498 * m/is386.h:
10499 * m/isi-ov.h:
10500 * m/mega68.h:
10501 * m/mg1.h:
10502 * m/news-r6.h:
10503 * m/news-risc.h:
10504 * m/news.h:
10505 * m/nh3000.h:
10506 * m/nh4000.h:
10507 * m/ns16000.h:
10508 * m/ns32000.h:
10509 * m/nu.h:
10510 * m/orion.h:
10511 * m/orion105.h:
10512 * m/paragon.h:
10513 * m/pfa50.h:
10514 * m/plexus.h:
10515 * m/pyramid.h:
10516 * m/pyrmips.h:
10517 * m/sh3el.h:
10518 * m/sps7.h:
10519 * m/sr2k.h:
10520 * m/stride.h:
10521 * m/sun1.h:
10522 * m/sun2.h:
10523 * m/sun3-68881.h:
10524 * m/sun3-fpa.h:
10525 * m/sun3-soft.h:
10526 * m/sun3.h:
10527 * m/sun386.h:
10528 * m/symmetry.h:
10529 * m/tad68k.h:
10530 * m/tahoe.h:
10531 * m/targon31.h:
10532 * m/tek4300.h:
10533 * m/tekxd88.h:
10534 * m/tower32.h:
10535 * m/tower32v3.h:
10536 * m/ustation.h:
10537 * m/wicat.h:
10538 * m/xps100.h:
10539 * s/cxux.h:
10540 * s/cxux7.h:
10541 * s/dgux.h:
10542 * s/dgux4.h:
10543 * s/dgux5-4-3.h:
10544 * s/dgux5-4r2.h:
10545 * s/esix.h:
10546 * s/esix5r4.h:
10547 * s/hiuxmpp.h:
10548 * s/hiuxwe2.h:
10549 * s/iris3-5.h:
10550 * s/iris3-6.h:
10551 * s/isc2-2.h:
10552 * s/isc3-0.h:
10553 * s/isc4-0.h:
10554 * s/isc4-1.h:
10555 * s/newsos5.h:
10556 * s/newsos6.h:
10557 * s/osf1.h:
10558 * s/osf5-0.h:
10559 * s/riscix1-1.h:
10560 * s/riscix12.h:
10561 * s/sco4.h:
10562 * s/sco5.h:
10563 * s/sunos4-0.h:
10564 * s/sunos4-1.h:
10565 * s/sunos413.h:
10566 * s/sunos4shr.h:
10567 * s/umax.h:
10568 * s/unipl5-2.h:
10569 * s/xenix.h:
10570 * cxux-crt0.s:
10571 * unexapollo.c:
10572 * unexconvex.c:
10573 * unexenix.c:
10574 * unexsni.c: Remove files for systems no longer supported.
10575
10576 * m/intel386.h: Remove references to unsupported systems.
10577
10578 * w32.c (get_emacs_configuration): Remove reference to i860.
10579
10580 * sysdep.c: Remove dead code.
10581
d35e1cd7
DN
105822008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
10583
10584 * s/rtu.h:
a0a3805c 10585 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 10586
abe136ee
MA
105872008-01-04 Michael Albinus <michael.albinus@gmx.de>
10588
10589 * dbusbind.c (Fdbus_method_return): New function.
10590 (xd_read_message): Add the serial number to the event.
10591 (Fdbus_register_method): Activate the function.
10592
87df3c32
SM
105932008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
10594
10595 * keyboard.c (read_key_sequence): Fix typo.
10596
5125905e
MA
105972008-01-03 Michael Albinus <michael.albinus@gmx.de>
10598
10599 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
10600 (xd_signature, xd_append_arg): Handle element type detection for
10601 empty arrays.
10602 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
10603 SDATA () calls; this must be solved more general.
10604 (Fdbus_register_signal): Use SBYTES instead of strlen.
10605
8bba1b5c
MH
106062008-01-03 Magnus Henoch <magnus@zemdatav>
10607
10608 * dbusbind.c (xd_append_arg): Use unsigned char instead of
10609 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 10610 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 10611
a0a3805c 106122007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
10613
10614 * dbusbind.c (xd_read_message): Use non-static input_event struct.
10615
a271e124
MH
106162007-12-31 Magnus Henoch <mange@freemail.hu>
10617
10618 * dbusbind.c (xd_signature): Signature of variant is just "v".
10619
17bc8f94
MA
106202007-12-30 Michael Albinus <michael.albinus@gmx.de>
10621
87df3c32 10622 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 10623 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
10624 (XD_ERROR, XD_DEBUG_MESSAGE)
10625 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
10626 (xd_append_arg): Part for basic D-Bus types rewitten.
10627 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
10628 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
10629 appropriate.
10630 (xd_read_message): Return Qnil. Don't signal an error; it is not
10631 useful during event reading.
10632 (Fdbus_register_signal): Signal an error if the check for
10633 FUNCTIONP fails.
10634 (Fdbus_register_method): New function. The implementation is not
10635 complete, the call of the function signals an error therefore.
10636 (Fdbus_unregister_object): New function, renamed from
10637 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 10638 the object is not well formed.
17bc8f94 10639
dd6f2802
RS
106402007-12-30 Richard Stallman <rms@gnu.org>
10641
10642 * textprop.c (get_char_property_and_overlay):
10643 Signal error if POSITION is out of range in a buffer.
10644
1da8a031
MR
106452007-12-29 Martin Rudalics <rudalics@gmx.at>
10646
10647 * w32fns.c (Fx_create_frame): Make copy of frame parameters
10648 because the original parameters are in pure storage now.
10649
5742be86
YM
106502007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10651
10652 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
10653
b014713c
EZ
106542007-12-22 Eli Zaretskii <eliz@gnu.org>
10655
b17f53ab
MB
10656 * callint.c (syms_of_callint) <command-history>: Add reference to
10657 history-length in the doc string.
048addec 10658
b17f53ab 106592007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 10660
b17f53ab
MB
10661 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
10662 before passing as wParam.
048addec 10663
9af5078b
MA
106642007-12-22 Michael Albinus <michael.albinus@gmx.de>
10665
10666 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
10667 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
10668 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
10669 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
10670 as number.
10671 (Fdbus_call_method): Fix docstring.
10672
87cf1a39
MA
106732007-12-21 Michael Albinus <michael.albinus@gmx.de>
10674
10675 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
10676 New macros.
87df3c32 10677 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
10678 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
10679 Simplify.
87cf1a39
MA
10680 (xd_signature): New function.
10681 (xd_append_arg): Compute also signatures. Major rewrite.
10682 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
10683 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
10684 Check for signatures of arguments.
87cf1a39 10685
54371585
MA
106862007-12-19 Michael Albinus <michael.albinus@gmx.de>
10687
10688 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
10689 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
10690 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
10691 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
10692 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 10693 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
10694 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
10695 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 10696 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
10697 (xd_append_arg): New function.
10698 (Fdbus_call_method, Fdbus_send_signal): Apply it.
10699
f5306ca3
MA
107002007-12-16 Michael Albinus <michael.albinus@gmx.de>
10701
10702 * dbusbind.c (top): Include <stdio.h>.
10703 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
10704 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
10705 (Fdbus_register_signal): Rename unique_name to uname.
10706 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
10707 non-existing unique name. Fix typos in matching rule. Return an
10708 object which is useful in Fdbus_unregister_signal.
10709 (Fdbus_unregister_signal): Reimplementation, in order to remove
10710 only the corresponding entry.
10711 (Vdbus_registered_functions_table): Change the order of entries.
10712 Apply these changes in xd_read_message and Fdbus_register_signal.
10713
77a28bbf
AS
107142007-12-16 Andreas Schwab <schwab@suse.de>
10715
10716 * fileio.c (Finsert_file_contents): Fix overflow check to not
10717 depend on undefined integer overflow.
10718
2e3566d8
JR
107192007-12-14 Jason Rumney <jasonr@gnu.org>
10720
10721 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
10722 for characters above 127.
10723
bf254037
JR
107242007-12-13 Jason Rumney <jasonr@gnu.org>
10725
10726 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
10727 before dereferencing array.
10728 (lookup_vk_code): Remove zero comparison.
10729
eb7c7bf5
MA
107302007-12-14 Michael Albinus <michael.albinus@gmx.de>
10731
10732 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
10733 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
10734 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
10735 (xd_read_message, Fdbus_register_signal): Split expressions into
10736 multiple lines before operators "&&" and "||", according to the
10737 GNU Coding Standards.
10738
34fb0fc9
EZ
107392007-12-14 Eli Zaretskii <eliz@gnu.org>
10740
10741 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
10742
c7d97628
JL
107432007-12-12 Juri Linkov <juri@jurta.org>
10744
10745 * buffer.c (Frename_buffer): In interactive spec replace
10746 `read-buffer' with `read-string' that uses `buffer-name-history'
10747 as history, and the current buffer's name as default.
10748
3709505e
SM
107492007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
10750
10751 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
10752 manipulating the backtrace manually.
10753 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
10754 (struct backtrace, backtrace_list): Remove.
10755 (command_loop_1): Remove dead var `no_direct'.
10756
10757 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
10758 preserve non-built-in buffer-local variables.
10759 (Fkill_all_local_variables): Don't re-create&re-set permanent
10760 buffer-local variables.
10761
e2bec886
JL
107622007-12-09 Juri Linkov <juri@jurta.org>
10763
10764 * buffer.c (Frename_buffer): Change interactive spec from "s" to
10765 Lisp code that uses `read-buffer' with current buffer as default.
10766
a31d47c7
MA
107672007-12-08 Michael Albinus <michael.albinus@gmx.de>
10768
10769 * dbusbind.c (xd_read_message): Generate an event for every
10770 registered handler. There might be several handlers registered
10771 for the same signal.
10772 (Fdbus_register_signal): Don't overwrite a registration for the
10773 same signal. Add a new registration if handlers are different.
10774 (Vdbus_registered_functions_table): Rework doc string.
10775
52da95fa
MA
107762007-12-07 Michael Albinus <michael.albinus@gmx.de>
10777
10778 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
10779 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
10780 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
10781 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
10782 Unify argument lists.
a0a3805c 10783 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
10784 arguments and hash table keys. Use unique name for service.
10785 (Fdbus_unregister_signal): Remove checks.
10786 (Vdbus_registered_functions_table): Fix doc string.
10787
e5e76c04 107882007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
10789
10790 * process.c (make_process): Initialize pty_flag to 0.
10791
e5e76c04 107922007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
10793
10794 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
10795 specified XBMs.
10796
e5e76c04 107972007-12-05 Richard Stallman <rms@gnu.org>
048addec 10798
e5e76c04 10799 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 10800
e5e76c04 108012007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10802
e5e76c04
MB
10803 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
10804 New variable.
10805 (mac_try_close_socket) [MAC_OSX]: New function.
10806 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
10807 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 10808
e5e76c04
MB
10809 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
10810 Use mac_try_close_socket.
048addec 10811
e5e76c04 108122007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10813
e5e76c04
MB
10814 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
10815 reloc_base.
10816 (copy_dysymtab): Compute relocation base here.
10817 (rebase_reloc_address) [__ppc64__]: New function.
10818 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
10819 changed.
048addec 10820
e5e76c04 108212007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 10822
e5e76c04 10823 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 10824
e5e76c04 108252007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 10826
e5e76c04
MB
10827 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
10828 __objc_* sections.
10829 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 10830
96faeb40
MA
108312007-12-05 Michael Albinus <michael.albinus@gmx.de>
10832
10833 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
10834 Move check for Vdbus_registered_functions_table to
10835 xd_read_queued_messages.
10836 (xd_read_queued_messages): Protect xd_read_message calls by
10837 internal_condition_case_1.
10838
39abdd4a
MA
108392007-12-04 Michael Albinus <michael.albinus@gmx.de>
10840
87df3c32 10841 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 10842 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 10843 (Vdbus_intern_symbols): Remove.
39abdd4a 10844 (Vdbus_registered_functions_table): New hash table.
87df3c32 10845 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 10846 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 10847 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
10848 Vdbus_registered_functions_table.
10849
880820fe 108502007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
10851
10852 * xterm.c: Update URL to Window Manager Specification in comment.
10853
033b73e2
MA
108542007-12-02 Michael Albinus <michael.albinus@gmx.de>
10855
10856 * config.in (HAVE_DBUS): Add.
10857
a0a3805c 10858 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
10859 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
10860 (obj): Add $(DBUS_OBJ).
10861 (LIBES): Add $(DBUS_LIBS).
10862 (dbusbind.o): New target.
10863
10864 * dbusbind.c: New file.
10865
10866 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
10867
10868 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 10869 (Qdbus_event): New Lisp symbol.
033b73e2 10870 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 10871 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
10872 (keys_of_keyboard ): Define dbus-event.
10873
10874 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
10875
39d0bf74
RS
108762007-12-01 Richard Stallman <rms@gnu.org>
10877
10878 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
10879
f3157c65
JR
108802007-11-30 Jason Rumney <jasonr@gnu.org>
10881
10882 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
10883 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
10884 (w32_face_attributes): Don't use color indexes that are out of range.
10885 Only reverse the default colors.
f3157c65
JR
10886
10887 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
10888 WINDOWSNT.
10889
10890 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
10891
b510360c
JR
108922007-11-29 Jason Rumney <jasonr@gnu.org>
10893
10894 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
10895 (w32_face_attributes): Use Vtty_defined_color_alist to determine
10896 if the terminal colors are initialized.
10897 (unspecified_fg, unspecified_bg): Remove unused declarations.
10898
4b7ab1c4
AS
108992007-11-29 Andreas Schwab <schwab@suse.de>
10900
10901 * keyboard.c (apply_modifiers): Fix typo.
10902
4bb6c266
RS
109032007-11-29 Richard Stallman <rms@gnu.org>
10904
10905 * keymap.c (Fcurrent_local_map): Doc fix.
10906
aa44cd84
GM
109072007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
10908
10909 * s/gnu-kfreebsd.h: New file.
10910
21ec2c43
SM
109112007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
10912
cc648cef
SM
10913 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
10914 Don't cast redundantly.
10915
21ec2c43
SM
10916 * keyboard.c (KEY_TO_CHAR): New macro.
10917 (parse_modifiers, apply_modifiers): Accept integer arguments.
10918 (read_key_sequence): Use them to unify the "shift->unshift" mapping
10919 for chars and symbol keys.
10920 After doing such remapping, apply function-key-map again.
10921
73e72da4
DN
109222007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
10923
10924 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
10925 compiled anymore.
10926
254693ff
AS
109272007-11-26 Andreas Schwab <schwab@suse.de>
10928
10929 * process.c (list_processes_1): Fix indentation level of the
10930 command column.
10931
ff6e6ac8
AS
109322007-11-23 Andreas Schwab <schwab@suse.de>
10933
10934 * editfns.c (Fformat): Handle %c specially since it requires the
10935 argument to be of type int.
10936
f7cf8b20
SM
109372007-11-23 Markus Triska <markus.triska@gmx.at>
10938
10939 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 10940 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 10941
569c11e3
SM
109422007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
10943
8787dd73
SM
10944 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
10945 (find_symbol_value): Use do_symval_forwarding.
10946
569c11e3
SM
10947 * data.c (set_internal): Set the value in the `cons-cell' (for
10948 Buffer_Local_values) not only for frame-local variables.
10949
6af1696d
AS
109502007-11-22 Andreas Schwab <schwab@suse.de>
10951
10952 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
10953 values to sprintf.
10954 * keymap.c (Fsingle_key_description): Likewise.
10955 * print.c (print_object): Likewise.
10956
880820fe 109572007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
10958
10959 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
10960 file for image is nil.
10961
7c401d15
DN
109622007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
10963
10964 * term.c: Include stdarg.h.
569c11e3 10965 (fatal): Implement using varargs.
a0a3805c 10966 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 10967
64e16c3c
SM
109682007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
10969
10970 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
10971 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
10972 Update call to buffer_slot_type_mismatch.
10973 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
10974 (buffer_slot_type_mismatch): Update.
10975 * buffer.c (buffer_local_types): Remove.
10976 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
10977 (defvar_per_buffer): Set the type in the buffer_objfwd.
10978
d4aa48db 109792007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 10980
64e16c3c
SM
10981 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
10982 CreateFileMapping returns NULL on failure.
5f42a7eb 10983
d4aa48db 109842007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 10985
d4aa48db
MB
10986 * search.c (Fset_match_data): Remove the `evaporate' feature.
10987 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 10988
bdae0540
JR
109892007-11-21 Jason Rumney <jasonr@gnu.org>
10990
10991 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
10992
10993 * w32console.c (w32con_write_glyphs): Remove unused variables.
10994
202c09a8
DN
109952007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
10996
b951420f
DN
10997 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
10998
202c09a8
DN
10999 * s/darwin.h (MULTI_KBOARD): Remove.
11000
11001 * macfns.c (x_create_tip_frame, Fx_create_frame)
11002 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
11003
bae72c12
SM
110042007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
11005
e7c10f83
SM
11006 * buffer.c (Fbuffer_local_value): Remove redundant test.
11007 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
11008 than in `current-buffer' to match the comment.
11009 Do the swap using swap_in_global_binding.
11010
136eb6ed
SM
11011 * data.c (store_symval_forwarding, set_internal):
11012 * eval.c (specbind): Remove dead code.
11013
bae72c12
SM
11014 * coding.c (detect_coding, Fupdate_coding_systems_internal):
11015 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
11016 Since we do not want to see internal Lisp_*fwd objects here.
11017
880820fe 110182007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 11019
3d66b985
JD
11020 * sysdep.c (init_system_name): Use getaddrinfo if available.
11021
95fbaefc
JD
11022 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
11023 (x_scroll_bar_note_movement): start, end, with, height in struct
11024 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
11025
6c1d8cb6
DN
110262007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
11027
11028 * puresize.h (BASE_PURESIZE): Increase to 1190000.
11029
30f95089
SM
110302007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
11031
66b04bd4
SM
11032 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
11033 This undoes Richard's change of 14-Oct-2002.
11034
6d3f2bb2
SM
11035 * alloc.c (allocate_other_vector):
11036 * lisp.h (allocate_other_vector): Remove.
11037
b05b4e27
SM
11038 * window.c (struct save_window_data): Move non-lisp data to the end
11039 and make it `int' rather than Lisp_Object.
11040 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
11041 Done wrap/unwrap integer values.
11042 (Fset_window_configuration, compare_window_configurations):
11043 Update use of fields to their new types.
11044
056ce195
SM
11045 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
11046 Turn integer fields into `int'. Merge x_window_low and x_window_high.
11047 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
11048 (SET_SCROLL_BAR_X_WINDOW): Remove.
11049 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
11050 Access the new x_window field directly.
11051 * xterm.c (x_scroll_bar_create): Use a pseudovector.
11052 Don't wrap/unwrap integers into Lisp_Objects.
11053 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
11054 (x_scroll_bar_report_motion):
11055 Don't wrap/unwrap integers into Lisp_Objects.
11056 (x_term_init): Use SDATA.
11057 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
11058 (x_scroll_bar_set_handle, x_scroll_bar_remove)
11059 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
11060 (x_scroll_bar_report_motion, x_scroll_bar_clear):
11061 * xfns.c (x_set_background_color):
11062 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
11063 Access the new x_window field directly.
11064
30f95089
SM
11065 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
11066 (allocate_pseudovector): Make non-static.
6d3f2bb2 11067
30f95089
SM
11068 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
11069 (allocate_pseudovector): Declare.
6f69e89b 11070 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 11071
9b6112e8
AS
110722007-11-15 Andreas Schwab <schwab@suse.de>
11073
30f95089
SM
11074 * editfns.c (Fformat): Correctly format EMACS_INT values.
11075 Also take precision into account when formatting an integer.
0f860bd7 11076
9b6112e8
AS
11077 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
11078
262fcd41
SM
110792007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
11080
58da34c7
SM
11081 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
11082 (syms_of_keyboard): Defsubr it.
11083
262fcd41
SM
11084 * data.c (swap_in_global_binding): Fix longstanding bug where
11085 store_symval_forwarding was not called with the right second argument,
11086 thus causing objfwd-ing from being dropped.
11087
d29a9848
JB
110882007-11-14 Juanma Barranquero <lekktu@gmail.com>
11089
11090 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
11091 (Fx_display_pixel_height, Fx_display_planes)
11092 (Fx_display_color_cells, Fx_server_max_request_size)
11093 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
11094 (Fx_display_visual_class, Fx_display_save_under):
11095 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
11096 (Fx_display_pixel_height, Fx_display_planes)
11097 (Fx_display_color_cells, Fx_server_max_request_size)
11098 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
11099 (Fx_display_mm_height, Fx_display_mm_width)
11100 (Fx_display_backing_store, Fx_display_visual_class)
11101 (Fw32_select_font, Fx_display_save_under):
11102 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
11103 (Fx_display_pixel_height, Fx_display_planes)
11104 (Fx_display_color_cells, Fx_server_max_request_size)
11105 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
11106 (Fx_display_save_under): Fix typos in docstrings.
11107
74084731
JB
111082007-11-14 Juanma Barranquero <lekktu@gmail.com>
11109
11110 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
11111 corresponding to deleted entries; they are an implementation detail.
11112 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
11113 Remove variables.
11114 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
11115 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
11116 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
11117 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
11118 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 11119 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 11120 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
11121 Fix typos in docstrings.
11122 (Fx_server_version): Reflow docstring.
11123 (Fw32_shell_execute): Doc fixes.
74084731 11124
fb053a1f
JB
111252007-11-13 Juanma Barranquero <lekktu@gmail.com>
11126
11127 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
11128 if w32_parse_hot_key returned nil.
11129
a457417e 111302007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 11131
a457417e 11132 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 11133
4b219faa
JR
111342007-11-09 Jason Rumney <jasonr@gnu.org>
11135
11136 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
11137
11138 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
11139
11140 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
11141 Remove W32_SCROLL_BAR_CLICK_EVENT.
11142
11143 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
11144 Add MULTIMEDIA_KEY_EVENT.
11145
11146 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
11147 (lispy_multimedia_keys) [WINDOWSNT]: New array.
11148 (make_lispy_event) [WINDOWSNT]: Use it to translate
11149 MULTIMEDIA_KEY_EVENT.
11150
11151 * w32term.h (WM_APPCOMMAND): Define if not already.
11152 (GET_APPCOMMAND_LPARAM): Likewise.
11153
11154 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
11155 WM_APPCOMMAND.
11156
11157 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
11158 (syms_of_w32fns): Export and initialize it.
11159 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
11160
c12ecb0a 111612007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
11162
11163 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
11164 twice.
11165
11166 * xdisp.c (handle_face_prop): Fix last change.
11167
c12ecb0a 111682007-11-09 Richard Stallman <rms@gnu.org>
048addec 11169
c12ecb0a
MB
11170 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
11171 not just for after-strings and before-strings.
11172 Call face_for_overlay_string and pass the overlay to it.
11173 (handle_display_prop): Determine whether property came from an overlay.
11174 Pass OVERLAY arg to handle_single_display_spec.
11175 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
11176 (load_overlay_strings): Fill in it->string_overlays.
11177 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 11178
c12ecb0a
MB
11179 * xfaces.c (face_for_overlay_string): Function renamed from
11180 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 11181
c12ecb0a
MB
11182 * dispextern.h (struct it): New elt string_overlays.
11183 New elt from_overlay, also in stack.
11184 Rearrange a few elements.
11185 (face_for_overlay_string): Decl renamed from
11186 face_at_buffer_position_no_overlays, and add argument.
15fff01d 11187
c12ecb0a 111882007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 11189
c12ecb0a
MB
11190 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
11191 to get the base face for an overlay string.
0d8466cc 11192
c12ecb0a 11193 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 11194
c12ecb0a 11195 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 11196
c12ecb0a 11197 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 11198
c12ecb0a 111992007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 11200
c12ecb0a
MB
11201 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
11202 Fix conversion from Lisp object to ATSUFontID.
07025a55 11203
c12ecb0a 112042007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 11205
c12ecb0a 11206 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 11207
c12ecb0a 112082007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 11209
c12ecb0a
MB
11210 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
11211 Don't assume regions are aligned to page boundary.
11212 (print_load_command_name): Add LC_UUID if defined.
3a232704 11213
c12ecb0a 112142007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 11215
c12ecb0a 11216 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 11217
b8ddfbcc
JR
112182007-11-07 Jason Rumney <jasonr@gnu.org>
11219
11220 * s/windows95.h: Remove.
11221
880820fe 112222007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
11223
11224 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
11225 abort with a message on unhandled store_type values.
11226
880820fe 112272007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
11228
11229 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
11230 Remove HAVE_X11R5 and HAVE_X11R4.
11231
04a697fe
DN
112322007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11233
11234 * Makefile.in: Remove references to sunfns.c and sunfns.o.
11235
880820fe 112362007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
11237
11238 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 11239 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
11240 x_set_glyph_string_gc from x_draw_glyph_string.
11241
07e5c0b0
DN
112422007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
11243
2a2e8de7 11244 * sunfns.c: Remove file.
07e5c0b0
DN
11245
11246 * m/sun386.h:
11247 * m/sun2.h:
11248 * m/sparc.h: Remove Sun windows code.
11249
1bc973c2
SM
112502007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
11251
11252 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
11253 (init_keyboard): Set current_kboard's window-system to nil.
11254 (tty_read_avail_input): Typo.
11255 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
11256
c22140f6
DN
112572007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
11258
11259 * s/usg5-4.h:
11260 * s/usg5-3.h:
11261 * s/ptx.h:
11262 * m/is386.h:
11263 * m/ibmps2-aix.h:
2a2e8de7 11264 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
11265
11266 * dispnew.c (syms_of_display): Don't mention version 10.
11267
660a8219
JB
112682007-10-28 Juanma Barranquero <lekktu@gmail.com>
11269
11270 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
11271 ($(BLD)/abbrev.$(O)): Remove.
11272
e047f448
SM
112732007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
11274
11275 Rewrite abbrev.c in Elisp.
11276 * image.c (Qcount): Don't declare as extern.
11277 (syms_of_image): Initialize and staticpro `Qcount'.
11278 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
11279 * emacs.c (main): Don't call syms_of_abbrev.
11280 * Makefile.in (obj): Remove abbrev.o.
11281 (abbrev.o): Remove.
11282 * abbrev.c: Remove.
11283
67b73e3a
MR
112842007-10-26 Martin Rudalics <rudalics@gmx.at>
11285
11286 * window.c (window_min_size_2): Don't count header-line.
11287
e3d7bd83
DN
112882007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
11289
11290 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 11291 field to take advantage of the available space. Group all the
e3d7bd83
DN
11292 chars together to reduce wasted space due to padding.
11293
a3547743
JB
112942007-10-26 Juanma Barranquero <lekktu@gmail.com>
11295
e298936f
JB
11296 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
11297
d3d47262
JB
11298 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
11299 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
11300 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
11301 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
11302 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
11303 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
11304 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
11305 (last_marked, mark_object_loop_halt): Make static.
11306
a3547743
JB
11307 * frame.c (syms_of_frame) <delete-frame-functions>:
11308 Fix typo in docstring.
11309
14c71d8b
JB
113102007-10-25 Juanma Barranquero <lekktu@gmail.com>
11311
11312 * w32.c (init_environment): Fix tiny memory leak.
66199f74 11313 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 11314
70b8d0a4
SM
113152007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
11316
11317 Make `window-system' into a keyboard-local variable (rather than
11318 frame-local as done originally by multi-tty).
11319
11320 * keyboard.h (struct kboard): Add Vwindow_system.
11321 * keyboard.c (init_kboard): Set a default for Vwindow_system.
11322 (mark_kboards): Mark Vwindow_system.
11323
11324 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
11325 (init_display): Don't set the obsolete `window-system' frame-param.
11326
11327 * xterm.c (x_term_init):
11328 * w32term.c (w32_create_terminal):
11329 * term.c (init_tty): Set Vwindow_system.
11330 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
11331 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
11332
11333 * xfns.c (Fx_create_frame, x_create_tip_frame):
11334 * w32fns.c (Fx_create_frame, x_create_tip_frame):
11335 * macfns.c (Fx_create_frame):
11336 Don't set the obsolete `window-system' frame-param.
11337
11338 * frame.h (Qwindow_system): Remove.
11339 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
11340 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
11341
fdc90613 113422007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 11343
fdc90613
MB
11344 * frame.c (x_figure_window_size): For fullscreen case,
11345 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 11346
fdc90613 11347 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 11348
fdc90613 11349 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 11350
7357cb04
SM
113512007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
11352
98228e72
SM
11353 * process.c (unwind_request_sigio): Only define if __ultrix__.
11354
1baf6db9
SM
11355 * callproc.c (child_setup): Remove spurious *.
11356
4d0ac3d7
SM
11357 * lisp.h (Fget_text_property): Declare.
11358 (have_menus_p): Declare it here rather than in sys-dep header files.
11359 * macterm.h (have_menus_p):
11360 * msdos.h (have_menus_p):
11361 * xterm.h (have_menus_p): Remove.
11362
7357cb04
SM
11363 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
11364 (Fmake_variable_frame_local): Just check the variable's const-ness
11365 rather than checking nil or t.
11366
866e6dd6
JR
113672007-10-22 Jason Rumney <jasonr@gnu.org>
11368
b00afeae
JR
11369 * w32fns.c: Include math.h.
11370 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 11371
c8f7c76b
JR
11372 * s/ms-w32.h (HAVE_STDLIB_H): Define.
11373 (abort): Redefinition moved to nt/config.nt.
11374
866e6dd6
JR
11375 * m/windowsnt.h: Remove.
11376
e79beb56
JB
113772007-10-22 Juanma Barranquero <lekktu@gmail.com>
11378
11379 * emacs.c (Fdump_emacs): Fix typo in message.
11380 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
11381 <installation-directory>: Reflow docstring.
11382
fb30dfd2
JL
113832007-10-22 Juri Linkov <juri@jurta.org>
11384
11385 * minibuf.c: Allow minibuffer default to be a list of default values.
11386 With empty input use the first element of this list as returned default.
e79beb56 11387 (string_to_object)
0f7f11b7 11388 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
11389 (read_minibuf): If defalt is cons, set histstring to its car.
11390 (Fread_string): If default_value is cons, set val to its car.
11391 (Fread_buffer): If def is cons, use its car.
11392 (Fcompleting_read): If defalt is cons, set val to its car.
11393
1f163f28
MA
113942007-10-21 Michael Albinus <michael.albinus@gmx.de>
11395
11396 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
11397
db3534c3
JB
113982007-10-20 Juanma Barranquero <lekktu@gmail.com>
11399
11400 * doc.c (Fdocumentation): Check for advice in all cases.
11401
c6f18a07
CY
114022007-10-19 Chong Yidong <cyd@stupidchicken.com>
11403
11404 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
11405
2a1534d3
RS
114062007-10-19 Richard Stallman <rms@gnu.org>
11407
11408 * doc.c (Fdocumentation): Check for and handle an advised function.
11409
7b82c3b6
JB
114102007-10-19 Juanma Barranquero <lekktu@gmail.com>
11411
11412 * process.c (Fset_process_filter): Doc fix.
11413
3278f20e
SM
114142007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
11415
11416 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
11417 which caused key-translation-map to applied repeatedly (thus breaking
11418 double-mode).
11419
99784d63
SM
114202007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11421
11422 * xselect.c (x_own_selection, x_handle_selection_clear)
11423 (x_clear_frame_selections):
11424 * w32menu.c (list_of_panes, list_of_items):
11425 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
11426 * textprop.c (validate_plist, interval_has_all_properties)
11427 (interval_has_some_properties, interval_has_some_properties_list)
11428 (add_properties, text_property_list):
11429 * process.c (Fget_buffer_process, list_processes_1, status_notify):
11430 * minibuf.c (Fassoc_string):
11431 * macselect.c (x_own_selection, x_clear_frame_selections)
11432 (Fx_disown_selection_internal):
11433 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
11434 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
11435
44bb704d
CY
114362007-10-17 Chong Yidong <cyd@stupidchicken.com>
11437
11438 * process.c: Link to libs for calling res_init() if available.
11439 (Fmake_network_process): Call res_init() before getaddrinfo or
11440 gethostbyname, if possible.
11441
d314756e
SM
114422007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
11443
2504022a
SM
11444 * lread.c (read1): Set pvectype for char_tables.
11445
19fa82b9
SM
11446 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
11447 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
11448 Add type checks.
11449 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
11450
d314756e
SM
11451 * alloc.c (free_misc): Use XMISCTYPE.
11452 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
11453
94b9aaa2
GM
114542007-10-17 Glenn Morris <rgm@gnu.org>
11455
11456 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
11457 (syms_of_minibuf): Add Qcompletion_ignore_case.
11458 * dired.c (Qcompletion_ignore_case): Change to external.
11459 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
11460 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
11461 (Fread_file_name): Use it rather than intern'ing.
11462
11463 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
11464 (Fread_coding_system): Ignore case of user input.
11465
da6658e8
YM
114662007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11467
11468 * xdisp.c (handle_display_prop): Ignore display specs after
11469 replacing one when string text is being replaced.
11470 (handle_single_display_spec): Pretend as if characters with display
11471 property haven't been consumed only when buffer text is being replaced.
11472
11fb4bdb
SM
114732007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
11474
9beb8baa
SM
11475 * xfns.c (Fx_create_frame, Fx_display_list):
11476 * window.c (window_fixed_size_p, enlarge_window)
11477 (shrink_window_lowest_first):
11478 * macterm.c (init_font_name_table):
11479 * macfns.c (Fx_create_frame, Fx_display_list):
11480 * lread.c (close_load_descs):
11481 * keyboard.c (read_char_x_menu_prompt):
11482 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
11483 * coding.c (code_convert_region_unwind): Test the type of an object
11484 rather than just !NILP before extracting data from it.
11485
d3f41ff5
SM
11486 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
11487
67ee9f6e
SM
11488 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
11489 (XMISCANY): New macro.
11490 (XMISCTYPE): Use it.
11491 (struct Lisp_Misc_Any): New type.
11492 (union Lisp_Misc): Use it.
11493 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
11494 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
11495 (find_symbol_value, set_internal, default_value, Fset_default)
11496 (Fmake_variable_buffer_local, Fmake_local_variable)
11497 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
11498 (Flocal_variable_if_set_p, Fvariable_binding_locus):
11499 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
11500 * alloc.c (allocate_buffer): Set the size and tag.
11501 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
11502 Use XMISCANY.
11503 (die): Follow the GNU convention for error messages.
11504 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
11505 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
11506 tag any more.
11507 (set_buffer_internal_1):
11508 * frame.c (store_frame_param):
11509 * eval.c (specbind):
11510 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
11511
11fb4bdb
SM
11512 * doc.c (Fsnarf_documentation): Simplify.
11513
decb374a
JB
115142007-10-14 Juanma Barranquero <lekktu@gmail.com>
11515
11516 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
11517 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
11518
b5a40ee7
SM
115192007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
11520
11521 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
11522
35277b03
JB
115232007-10-14 Juanma Barranquero <lekktu@gmail.com>
11524
11525 * eval.c (do_autoload): Don't save autoloads.
11526
11527 * data.c (Ffset): Save autoload of the function being set.
11528
35fdaa62
GM
115292007-10-07 John Paul Wallington <jpw@pobox.com>
11530
11531 * xfns.c (x_create_tip_frame): Set the `display-type' frame
11532 parameter before setting up faces.
11533
1ea40aa2
EZ
115342007-10-13 Eli Zaretskii <eliz@gnu.org>
11535
35fdaa62 11536 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
11537 * keyboard.c (append_tool_bar_item): Reformat last change.
11538
1ea40aa2
EZ
11539 * lisp.h (eabs): Rename from `abs'. All callers changed.
11540
35277b03 115412007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
11542
11543 * buffer.c (add_overlay_mod_hooklist):
11544 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
11545 * fontset.c (make_fontset):
11546 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
11547 (append_tool_bar_item):
11548 * macmenu.c (grow_menu_items):
35fdaa62 11549 * w32menu.c (grow_menu_items):
71d00ce4 11550 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 11551
bc82f120
EZ
115522007-10-13 Eli Zaretskii <eliz@gnu.org>
11553
11554 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
11555 selected frame'' on MSDOS).
11556
d57d5a78
MR
115572007-10-12 Martin Rudalics <rudalics@gmx.at>
11558
11559 * frame.c (Qexplicit_name): New variable.
11560 (x_report_frame_params): Report it in parameter alist.
11561 (syms_of_frame): Intern and staticpro it.
11562
35277b03 115632007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
11564
11565 * macfns.c (x_create_tip_frame): Set terminal for frame.
11566
c7a4b95b
SM
115672007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
11568
26f9c7b7
SM
11569 * frame.c (Qenvironment): Remove.
11570 (syms_of_frame) <Qenvironment>: Don't initialize.
11571 (Fdelete_frame): Don't treat the `environment' param specially.
11572 * frame.h (Qenvironment): Don't declare.
11573 * callproc.c (set_initial_environment): Don't set unused frame param.
11574
c7a4b95b
SM
11575 * frame.c (Fframe_with_environment): Remove.
11576 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 11577
c7a4b95b
SM
11578 * lisp.h (Fframe_with_environment): Don't declare.
11579
c86f7377
JB
115802007-10-10 Juanma Barranquero <lekktu@gmail.com>
11581
11582 * indent.c (indent_tabs_mode, last_known_column)
11583 (last_known_column_modified): Make static.
11584 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
11585
d1b3a122
KY
115862007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
11587
11588 * puresize.h (BASE_PURESIZE): Increase to 1170000.
11589
d57d5a78
MR
115902007-10-09 Jason Rumney <jasonr@gnu.org>
11591
11592 * w32term.c (x_set_window_size): Disable code that attempts to tell
11593 Lisp code about a size change before it actually happens.
11594
81d3d428 115952007-10-09 Richard Stallman <rms@gnu.org>
91175673 11596
81d3d428
MB
11597 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
11598 return HANDLED_RETURN.
91175673 11599
1af74d06 116002007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 11601
1af74d06
MB
11602 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
11603 when there's an unread command event.
e0fead5d 11604
c7a4b95b 11605 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
11606 window autoselection act appropriately when leaving selected frame.
11607 (syms_of_frame): Initialize focus_follows_mouse.
11608 * frame.h (focus_follows_mouse): Extern it.
11609 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 11610 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
11611 * msdos.c (dos_rawgetc): Likewise.
11612 * w32term.c (w32_read_socket): Likewise.
11613 * xterm.c (handle_one_xevent): Likewise.
11614 * xdisp.c (syms_of_xdisp): In doc-string of
11615 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 11616
1af74d06 116172007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 11618
1af74d06
MB
11619 * macterm.c (mac_load_query_font): Fix missing return value.
11620 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
11621 Add BLOCK_INPUT.
c186cdb3 11622
1af74d06 116232007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 11624
1af74d06
MB
11625 * xdisp.c (get_window_cursor_type): Implement documented behavior
11626 for cursor-in-non-selected-windows = t.
c186cdb3 11627
1af74d06 116282007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 11629
1af74d06 11630 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 11631
1af74d06 116322007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 11633
1af74d06 11634 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 11635
1af74d06 11636 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 11637
1af74d06 116382007-10-08 Richard Stallman <rms@gnu.org>
a3c83618 11639
c7a4b95b 11640 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 11641
1af74d06 116422007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 11643
1af74d06 11644 * buffer.c (Foverlays_at): Doc fix.
036e218d 11645
1af74d06 116462007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 11647
1af74d06 11648 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 11649
1af74d06 116502007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 11651
1af74d06 11652 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 11653
1af74d06 11654 * frame.h (enum): Remove trailing comma.
90647b07 11655
8993ad2e 116562007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 11657
1af74d06 11658 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 11659
1af74d06 116602007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 11661
1af74d06 11662 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 11663
1af74d06
MB
11664 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
11665 last-repeatable-command.
11666 (init_kboard): Initialize Vlast_repeatable_command.
11667 (command_loop_1): Set it to real_this_command unless that was
11668 bound to an input event.
11669 (mark_kboards): Mark it.
9fbc32aa 11670
1af74d06 116712007-10-08 Richard Stallman <rms@gnu.org>
036e218d 11672
1af74d06 11673 * eval.c (condition-case): Doc fix.
9fbc32aa 11674
1af74d06 116752007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 11676
1af74d06
MB
11677 * xfaces.c (tty_supports_face_attributes_p): Fix code
11678 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
11679 was copied and not edited.
9fbc32aa 11680
beb9f745
SM
116812007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
11682
c86f7377 11683 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
11684 escape sequences.
11685 * keyboard.h (struct kboard): Add Vinput_decode_map.
11686 Remove Vlocal_key_translation_map.
11687 * keyboard.c (read_key_sequence): Add support for input-decode-map.
11688 (init_kboard): Init input-decode-map.
11689 Replace local-key-translation-map back with key-translation-map.
11690 (syms_of_keyboard): Declare input-decode-map.
11691 Remove local-key-translation-map. Update docstrings.
11692 (mark_kboards): Mark Vinput_decode_map.
11693 Don't mark Vlocal_key_translation_map.
11694 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
11695 Replace local-key-translation-map back with key-translation-map.
11696 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
11697 Bind in input-decode-map rather than function-key-map.
11698
beb9f745
SM
11699 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
11700 This was made redundant by the previous introduction of XSETPVECTYPE.
11701
65342ae3
RS
117022007-10-09 Richard Stallman <rms@gnu.org>
11703
beb9f745 11704 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
11705
117062007-09-29 Richard Stallman <rms@gnu.org>
11707
11708 * eval.c (internal_condition_case_2, internal_condition_case_1)
11709 (internal_condition_case): Reenable abort if x_catching_errors ()
11710 to see if that really happens and why.
11711
6cff77fd
AS
117122007-10-06 Andreas Schwab <schwab@suse.de>
11713
11714 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
11715
bbe6f2aa
JB
117162007-10-04 Juanma Barranquero <lekktu@gmail.com>
11717
11718 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
11719
a390930c
SM
117202007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
11721
11722 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
11723
d6aa1876
SM
117242007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
11725
d0fdb6da
SM
11726 * window.h (struct window):
11727 * window.c (struct save_window_data, struct saved_window):
11728 * termhooks.h (struct terminal):
11729 * process.h (struct Lisp_Process):
11730 * frame.h (struct frame):
11731 * buffer.h (struct buffer):
11732 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
11733 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
11734 The size field of (pseudo)vectors is now unsigned.
11735 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
11736
878f97ff
SM
11737 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
11738 Turn `count' into an integer.
d0fdb6da 11739
878f97ff
SM
11740 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
11741 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
11742 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
11743 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
11744 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
11745
d2029e5b
SM
11746 * alloc.c (allocate_pseudovector): New fun.
11747 (ALLOCATE_PSEUDOVECTOR): New macro.
11748 (allocate_window, allocate_terminal, allocate_frame)
11749 (allocate_process): Use it.
11750 (mark_vectorlike): New function.
11751 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
11752 (mark_terminals): Use it.
11753 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
11754 (Fmake_byte_code): Use XSETPVECTYPE.
11755
11756 * frame.c (Fframe_parameters): Minor simplification.
11757
11758 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
11759
11760 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
11761
11762 * buffer.c (Fget_buffer_create, init_buffer_once):
11763 * lread.c (defsubr):
11764 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
11765
11766 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
11767 defined differently in the m/*.h files.
11768 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
11769 (XSETPVECTYPE): New macro.
11770 (XSETPSEUDOVECTOR): Use it.
11771
d6aa1876
SM
11772 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
11773 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 11774
d6aa1876
SM
11775 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
11776 * lread.c (defvar_per_buffer):
11777 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
11778
11779 * window.c (candidate_window_p): Only consider as visible frames that
11780 are on the same terminal.
11781
11782 * m/ibms390x.h (MARKBIT): Remove unused macro.
11783
88852d45
JB
117842007-10-01 Juanma Barranquero <lekktu@gmail.com>
11785
11786 * lread.c (Fload): Fix typo in docstring.
11787
880820fe 117882007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
11789
11790 * floatfns.c (Fexpt): Manually check for overflows, so that a power
11791 of a non-zero value can't yield zero.
11792
ed0c79c6
SM
117932007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
11794
b870aa61
SM
11795 * term.c (term_clear_mouse_face, term_mouse_highlight)
11796 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
11797
4c37a414
SM
11798 * print.c (safe_debug_print): Use XHASH.
11799
b9466edb
SM
11800 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
11801 Lisp elements such as tags.
11802 (XHASH): New macro.
11803 (EQ): Use it.
11804 (SREF, SSET, STRING_COPYIN): Use SDATA.
11805 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
11806
9c545a55
SM
11807 * alloc.c (mark_terminal): Remove left-over declaration.
11808 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
11809 (allocate_vectorlike): Remove type argument. Adjust callers.
11810 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
11811 Only handle the one remaining MEM_TYPE_VECTORLIKE.
11812
dafc79fa
SM
11813 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
11814 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
11815 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
11816 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
11817 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
11818 Use them.
11819
ed0c79c6
SM
11820 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
11821 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
11822 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
11823
3c81afd4
DN
118242007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
11825
11826 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
11827 loaded by default.
11828
6178ce5e
SM
118292007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
11830
4ce5ab77
SM
11831 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
11832 on this tty.
11833 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
11834
6178ce5e
SM
11835 * term.c (mouse_face_window): Rename from Qmouse_face_window.
11836 Update all users.
11837 (handle_one_term_event): Use Gpm_DrawPointer.
11838 (Fgpm_mouse_start): Rename from Fterm_open_connection.
11839 Signal errors instead of returning nil. Always return nil.
11840 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
11841 Make it a noop if gpm-mouse was not activated.
11842 (syms_of_term): Update names.
11843
bdf5f8ef
SM
118442007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
11845
75a8734b
SM
11846 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
11847 (init_sys_modes): Check that gpm_tty is the current tty.
11848
13559ee0
SM
11849 * alloc.c (allocate_terminal): Set the vector size to only count the
11850 lisp fields. Initialize those to nil.
11851 (mark_object): Don't treat terminals specially.
11852 (mark_terminal): Remove.
11853 (mark_terminals): Use mark_object instead.
11854
ff16b875
SM
11855 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
11856 the GC to the beginning.
11857
83155776
SM
11858 * indent.h:
11859 * indent.c: Use EMACS_INT for ints coming from Elisp data.
11860
bdf5f8ef
SM
11861 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
11862
ec8705b6
JR
118632007-09-25 Jason Rumney <jasonr@gnu.org>
11864
11865 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
11866
11867 * w32console.c (create_w32cons_output): Remove.
11868
11869 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
11870
11871 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
11872 (reset_sys_modes): Use reset_terminal_modes_hook.
11873
7351b242
SM
118742007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
11875
11876 * eval.c (do_autoload): Don't output any message.
11877
16706228
JL
118782007-09-24 Juri Linkov <juri@jurta.org>
11879
11880 * emacs.c (standard_args): Change priority of "--no-splash"
11881 from 40 to 3. Add "--no-desktop" with the same priority.
11882
3ae2e3a3
RS
118832007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
11884
11885 * alloc.c (gc_sweep): Check cons cell mark bits word by word
11886 and optimize the case where they are all 1.
11887
7a58fb43
GM
118882007-09-23 Johannes Weiner <hannes@saeurebad.de>
11889
3ae2e3a3
RS
11890 * lisp.h (abs): Define if not defined.
11891 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
11892 Don't define `abs', since it's defined in lisp.h.
7a58fb43 11893
78048085
EZ
118942007-09-22 Eli Zaretskii <eliz@gnu.org>
11895
c7a4b95b 11896 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
11897 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
11898 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
11899 (init_tty): Use DEV_TTY instead of "/dev/tty".
11900 [WINDOWSNT]: No need to protect from NAME arg being null.
11901
23d4cba5
DN
119022007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
11903
11904 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
11905 up the tty state.
11906
71f44e7a
SM
119072007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11908
11909 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
11910 (gpm_tty): Change its type.
11911 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
11912 (gpm_tty): Change its type and initialize it.
11913 (Fterm_open_connection): Check the frame is indeed a tty.
11914 Use the new gpm_tty.
11915 (Fterm_close_connection): Use the new gpm_tty.
11916 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
11917 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
11918
def7fa34
JB
119192007-09-21 Juanma Barranquero <lekktu@gmail.com>
11920
11921 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
11922 underline_color, to draw strike-through.
11923
d2bb6598
SM
119242007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
11925
273f164c
SM
11926 * lisp.h (allocate_terminal): Declare.
11927
ca2d5566
SM
11928 * window.c (candidate_window_p): Consider frames that are being placed
11929 by the user as somewhere between visible and iconified.
11930 (window_loop): Prefer windows on the current frame.
11931 (Fselect_window): Move the use of select-frame to the beginning so we
11932 can just delegate all the work (it'll call us back anyway).
11933
6168122d
SM
11934 * frame.c (Qdisplay_environment_variable):
11935 * frame.h (Qdisplay_environment_variable): Delete.
11936
c51842ec
SM
11937 * .gdbinit (xbacktrace): Print the arg's address rather than the value
11938 of the first arg, since that value may be a union.
11939
d2bb6598
SM
11940 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
11941 parameter rather than Qdisplay_environment_variable. If all else
11942 fails, look for DISPLAY in initial-environment.
11943
6f022c19
GM
119442007-09-21 Glenn Morris <rgm@gnu.org>
11945
11946 * Makefile.in (emacstool): Remove target.
f466320b 11947 (lisp, shortlisp): Remove termdev.elc.
6f022c19 11948
ea1bf8c7
GM
119492007-09-21 Markus Triska <markus.triska@gmx.at>
11950
d2bb6598 11951 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 11952
d30a25b3
SM
119532007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
11954
db699fc6
SM
11955 * callproc.c (getenv_internal_1): New function.
11956 (getenv_internal): Use it.
11957 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
11958
d2bb6598 11959 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
11960 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
11961 (Fset_terminal_parameter): Work with dead terminals as well.
11962 (Fmodify_terminal_parameters): Remove.
11963
d30a25b3
SM
11964 * terminal.c (get_terminal): Handle terminals.
11965 Make sure the terminal returned is live.
11966 (create_terminal): Use allocate_terminal.
11967 (mark_terminals): Move to alloc.c.
11968 (delete_terminal): Use terminal->name as liveness status.
11969 NULL out fields after freeing their contents.
11970 Don't deallocate the object.
11971 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
11972 rather than an int.
11973 (Fterminal_live_p): Accept non-integer arguments.
11974 (Fterminal_list): Return terminal objects rather than an ints.
11975
11976 * alloc.c (enum mem_type): New member for `terminal' objects.
11977 (allocate_terminal): New function.
d2bb6598
SM
11978 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
11979 Handle terminals.
d30a25b3
SM
11980 (mark_terminal): New fun.
11981 (mark_terminals): Move from terminal.c.
11982
11983 * term.c (get_tty_terminal): Don't treat output_initial specially.
11984 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
11985 (delete_tty): Use terminal->name as liveness status.
11986
11987 * termhooks.h (struct terminal): Make it into a pseudovector.
11988 Remove `deleted' replaced by checking `name's nullness.
11989
11990 * print.c (print_object): Handle terminals.
11991
11992 * lisp.h (enum pvec_type): New `terminal' pseudovector.
11993 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
11994
11995 * frame.c (make_terminal_frame):
11996 * keyboard.c (tty_read_avail_input):
11997 * w32term.c (x_delete_terminal):
11998 * xfns.c (Fx_create_frame, x_create_tip_frame):
11999 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
12000
eba25e7c
GM
120012007-09-20 Glenn Morris <rgm@gnu.org>
12002
12003 * process.c (Fmake_network_process): Doc fix.
12004
2a29c3c1
JR
120052007-09-19 Jason Rumney <jasonr@gnu.org>
12006
12007 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
12008
880820fe 120092007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
12010
12011 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
12012 Fix a C warning regarding variable constness.
12013
12014 * xterm.c (handle_one_xevent): Fix a C warning.
12015
334a1195
JR
120162007-09-18 Jason Rumney <jasonr@gnu.org>
12017
12018 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
12019
880820fe 120202007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
12021
12022 * gtkutil.c (gdpy_def): New variable.
12023 (xg_initialize): Initialize gdpy_def.
12024 (xg_display_close): If no other display exists, set gdpy_def to a
12025 new connection.
12026
880820fe 120272007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
12028
12029 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
12030 when we have no file name for the icon.
12031 (xg_tool_bar_expose_callback): Remove.
12032 (xg_create_tool_bar): Don't connect expose signal to
12033 xg_tool_bar_expose_callback.
12034 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
12035
4d580af2
AS
120362007-09-16 Andreas Schwab <schwab@suse.de>
12037
12038 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
12039 values instead of zapping them.
12040
aca946f3
GM
120412007-09-14 Glenn Morris <rgm@gnu.org>
12042
12043 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
12044 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
12045 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
12046 scope and rename to omfib_buffer for clarity.
12047 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
12048
25c460e5
KH
120492007-09-14 Kenichi Handa <handa@m17n.org>
12050
12051 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
12052
09b69f01
JR
120532007-09-13 Jason Rumney <jasonr@gnu.org>
12054
12055 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
12056
12057 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
12058
12059 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
12060 (mac_term_init): Call here instead, passing rif.
12061
442218db
GM
120622007-09-13 Glenn Morris <rgm@gnu.org>
12063
12064 * s/hpux.h: No longer define `static' as nothing.
12065
880820fe 120662007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
12067
12068 * callint.c (Fcall_interactively): Remove unused var `fun'.
12069
1971a872
RF
120702007-09-12 Romain Francoise <romain@orebokech.com>
12071
12072 * window.c (prefer_window_split_horizontally, display_buffer):
12073 Revert 2007-09-08 change.
12074
2d33f506
GM
120752007-09-12 Glenn Morris <rgm@gnu.org>
12076
585474ae 12077 * alloca.c: Remove file.
ca7af97a
GM
12078 * Makefile.in (alloca): Do not undef.
12079 (allocaobj, alloca.o): Remove.
12080 (otherobj): Remove allocaobj.
12081 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
12082 * regex.c (C_ALLOCA): Remove all references and code that was only
12083 used when this was defined.
12084 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
12085 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
12086 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
12087
2d33f506 12088 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
12089
12090 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
12091 (menu_grab_callback): All uses changed.
12092
12093 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
12094 (x_reply_selection_request): All uses changed.
2d33f506 12095
18a4a65e
SM
120962007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
12097
12098 * lread.c (load_warn_old_style_backquotes): Change message to look
12099 better when it appears in the middle of byte-compiler messages.
12100
47cc8819
DN
121012007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
12102
b7ea0894
DN
12103 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
12104
47cc8819
DN
12105 * xterm.c (x_create_terminal): Add comment.
12106
12107 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
12108
5632bd0f
RS
121092007-09-10 Richard Stallman <rms@gnu.org>
12110
12111 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
12112
880820fe 121132007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 12114
4bca9161
MC
12115 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
12116 (DEFUN): Document `intspec', use it instead of `prompt'.
12117
04724b69
MC
12118 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
12119
8a6d230a
MC
12120 * data.c (Finteractive_form): If the interactive specification starts
12121 with a `(', use it as a Lisp form.
12122
09fbdf6c
MC
12123 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
12124 name and file modes.
12125
ccb5c14f
MC
12126 * callint.c (Fcall_interactively): Comment fixes.
12127
023accd6
SM
121282007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
12129
12130 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
12131 and compiled functions.
12132
f26b9544
EZ
121332007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
12134
12135 * window.c (prefer_window_split_horizontally): New variable.
12136 (display_buffer): Consider splitting window horizontally depending
12137 on prefer_window_split_horizontally.
12138
4d395425
EZ
121392007-09-08 Eli Zaretskii <eliz@gnu.org>
12140
97ddc760 12141 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 12142
08c1d235
SM
121432007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
12144
179cef48
SM
12145 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
12146
08c1d235
SM
12147 * frame.c (x_set_frame_parameters): Check number is positive before
12148 using XFASTINT.
12149
12150 * window.c (freeze_window_start): Don't presume selected_window holds
12151 a window object.
92f94a12 12152 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 12153
97ddc760 121542007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
12155
12156 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
12157
90ab5c62
SM
121582007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
12159
12160 * window.c (Vsplit_window_preferred_function): New var.
12161 (Fdisplay_buffer): Use it.
12162 (syms_of_window): Export, and initialize it.
12163
1ab2cd43
TTN
121642007-09-06 Pixel <pixel@mandriva.com> (tiny change)
12165
12166 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
12167
0b0515bc
GM
121682007-09-06 Glenn Morris <rgm@gnu.org>
12169
57fd5c55 12170 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
12171 * xselect.c (x_reply_selection_request) <cnt>: Move static
12172 variable to file scope.
12173
98594580
SM
121742007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
12175
12176 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
12177 consistent values of selected_frame and selected_window.
12178
0f4c7aef
JR
121792007-09-04 Jason Rumney <jasonr@gnu.org>
12180
12181 * w32console.c (initialize_w32_display): Zero unused hooks.
12182
e4019195
DN
121832007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
12184
12185 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
12186 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
12187
bce179b5
JR
121882007-09-04 Jason Rumney <jasonr@gnu.org>
12189
a0236551
JR
12190 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
12191 in w32console.c. Set up input. Remove XXX comments that have been
12192 confirmed as correct.
12193
a4926668
JR
12194 * s/ms-w32.h (MULTI_KBOARD): Define.
12195
953bf0dc
JR
12196 * w32console.c (one_and_only_w32cons): Remove.
12197 (initialize_w32_display): Take terminal argument.
12198
12199 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
12200 initialize_w32_display.
12201 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
12202
bce179b5
JR
12203 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
12204
12205 * keyboard.c (discard_mouse_events): Discard it.
12206 (make_lispy_event): Translate it to a lisp event.
12207 (lispy_wheel_names): Add wheel-left and right events.
12208 (syms_of_keyboard): Enlarge wheel_syms.
12209
12210 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
12211 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
12212
12213 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
12214
12215 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
12216 from WM_MOUSEHWHEEL.
12217 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
12218
12219 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
12220 terminal.
12221
12222 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
12223 keyboard for the terminal.
12224
92cd6a7c
DN
122252007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
12226
12227 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
12228 (Vresume_tty_hook): Rename from Vresume_tty_functions.
12229 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
12230 and resume-tty-function to resume-tty-hook.
12231 (Fsuspend_tty, Fresume_tty): Use new names.
12232
880820fe 122332007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
12234
12235 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
12236 if it starts with "n:".
12237
880820fe 122382007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
12239
12240 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
12241
6b8e474c
SM
122422007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
12243
92d9c1d4
SM
12244 * frame.h:
12245 * frame.c (Qterm_environment_variable): Remove.
12246 (syms_of_frame): Don't init and staticpro it.
12247
92d9c1d4
SM
12248 * callproc.c (getenv_internal): Remove special case for $TERM.
12249
6b8e474c
SM
12250 * callproc.c (Vinitial_environment): New variable.
12251 (set_initial_environment): Initialize it.
12252 (syms_of_callproc): Declare it.
12253 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
12254 TERM under which a process runs is never related to the TERM in which
12255 Emacs is running.
12256
0f1444e1
DN
122572007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12258
12259 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
12260 * s/darwin.h: ... do it here.
12261
b8866860
SM
122622007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
12263
12264 * lisp.h (set_initial_environment): Rename from set_global_environment.
12265
12266 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
12267 removed by mistake on the multi-tty branch.
12268
12269 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
12270 (Fmodify_frame_parameters): Return a value.
12271
12272 * image.c (png_load): Comment-out var only used in commented-out code.
12273
12274 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
12275 before passing it to mark_object.
12276
12277 * xfaces.c (internal_resolve_face_name): Return a value.
12278 (internal_resolve_face_name, resolve_face_name_error): Comment out.
12279
12280 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
12281 (x_icon): Comment-out var only used in commented-out code.
12282
0a42be6d
RF
122832007-08-29 Romain Francoise <romain@orebokech.com>
12284
12285 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
12286 QUIT hasn't been provided.
12287
8d9cc0b7
MB
122882007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
12289
12290 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 12291 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
12292 (set_initial_environment): Initialise Vprocess_environment.
12293
12294 * config.in: Disable multi-keyboard support on a mac.
12295
12296 * frame.c (Qterm_environment_variable)
12297 (Qdisplay_environment_variable): New variables.
12298 (syms_of_frame): Intern and staticpro them.
12299 (Fmake_terminal_frame): Disable output method test.
12300
12301 * frame.h: Declare them here.
12302
12303 * macfns.c (x_set_mouse_color): Get rif from the frame.
12304 (x_set_tool_bar_lines): Don't use updating_frame.
12305 (mac_window): Add 2 new parameters for consistency with other systems.
12306 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
12307 frame parameters following what is done in X11 and w32. Don't use
12308 FRAME_MAC_DISPLAY_INFO.
12309 (Fx_open_connection, start_hourglass): Remove window-system check.
12310 (x_create_tip_frame): Get the keyboard from the terminal.
12311
12312 * macmenu.c: Reorder includes.
12313 (Fx_popup_menu): Use terminal specific mouse_position_hook.
12314
12315 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
12316 terminal parameter.
12317 (x_clear_frame): Add a frame parameter.
12318 (note_mouse_movement): Get rif from the frame.
12319 (mac_term_init): Initialize the terminal.
12320 (mac_initialize): Make static and move terminal initialization ...
12321 (mac_create_terminal): ... to this new function.
12322
12323 * macterm.h (struct mac_display_info): Add terminal.
7196c970 12324 (mac_initialize): Delete declaration.
8d9cc0b7 12325
381864b2 12326 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
12327
12328 * sysdep.c: Comment out text after #endif.
12329
12330 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
12331 is defined. Better initialize ttys in windows. Use terminal
12332 specific mouse_position_hook.
12333
12334 * termhooks.h (union display_info): Add mac_display_info.
12335
b8866860
SM
12336 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
12337 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
12338 frame parameters following what is done in X11.
12339
12340 * w32term.c (w32_initialize): Make static.
12341
12342 * xselect.c (x_handle_selection_clear): Only access
12343 terminal->kboard when MULTI_KBOARD is defined.
12344
12345 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
12346 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
12347
123482007-08-29 Jason Rumney <jasonr@gnu.org>
12349
12350 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
12351 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
12352
12353 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
12354 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
12355
12356 * keyboard.c (restore_kboard_configuration): Only define when
12357 MULTI_KBOARD defined.
12358
35277b03 12359 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
12360 (OBJ1): Add terminal.$(O)
12361
b8866860
SM
12362 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
12363 Don't define function body.
8d9cc0b7
MB
12364 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
12365
12366 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
12367
12368 * w32.c (request_sigio, unrequest_sigio): Remove.
12369
12370 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
12371 (w32con_clear_frame, w32con_clear_end_of_line)
12372 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
12373 (w32con_delete_glyphs, w32con_set_terminal_window)
12374 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
12375 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
12376 Add terminal arg.
8d9cc0b7
MB
12377 (PICK_FRAME): Remove.
12378 (w32con_write_glyphs): Use frame specific terminal coding.
12379 (one_and_only_w32cons): New global variable.
12380 (initialize_w32_display): Use it for storing hooks.
12381 (create_w32cons_output): New function.
12382
12383 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
12384 arg a frame.
12385
b8866860
SM
12386 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
12387 Set window_system.
8d9cc0b7
MB
12388 (x_set_tool_bar_lines): Don't use updating_frame.
12389 (Fx_create_frame): Set terminal and ref count.
12390 (Fx_open_connection): Remove window-system check.
12391
12392 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
12393
12394 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
12395 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
12396 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
12397 Add frame arg.
12398 (x_delete_terminal, w32_create_terminal): New functions.
12399 (w32_term_init): Create a terminal.
12400 (w32_initialize): Move terminal specific initialization to
12401 w32_create_terminal.
12402
b8866860 12403 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
12404 (w32_clear_rect, w32_clear_area): Use background from frame.
12405 (w32_display_info): Add terminal.
12406 (w32_sys_ring_bell, x_delete_display): Declare here.
12407
12408 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
12409
12410 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
12411
124122007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
12413
12414 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
12415 Fix get_named_tty calls for the controlling tty.
12416
124172007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
12418
12419 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
12420
124212007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
12422
12423 * term.c (tty_insert_glyphs): Add missing first parameter.
12424
880820fe 124252007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 12426
b8866860
SM
12427 * buffer.c (Fbuffer_list, Fbury_buffer):
12428 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
12429
12430 * cm.c (current_tty): New variable, for cmputc().
12431 (cmputc): Use it.
12432 (cmcheckmagic): Add tty parameter, look up terminal streams there.
12433 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
12434 (cmgoto): Add tty parameter. Pass it on to calccost().
12435 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
12436
12437 * cm.h (emacs_tputs): New macro to set current_tty, and then call
12438 tputs().
12439 (current_tty): New variable, for cmputc().
12440 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
12441
12442 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
12443 (internal_condition_case, internal_condition_case_1)
12444 (internal_condition_case_2): Don't abort when x_catching_errors.
12445
12446 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
12447 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
12448 prevent crashes caused by bogus longjmps in read_char.
12449
12450 * keymap.h (Fset_keymap_parent): Add EXFUN.
12451
12452 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
12453 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12454 Remove redundant definition.
12455
b8866860
SM
12456 * macfns.c (x_set_mouse_color, x_make_gc):
12457 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 12458
b8866860
SM
12459 * w32term.c (x_free_frame_resources):
12460 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12461 (w32_initialize): Use the accessor macros for terminal characteristics.
12462
12463 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
12464 Use the accessor macros for terminal characteristics.
12465 * msdos.c (internal_terminal_init): Use the accessor macros for
12466 terminal characteristics.
b8866860
SM
12467 (ScreenVisualBell, internal_terminal_init):
12468 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12469
12470 * termopts.h (no_redraw_on_reenter): Declare.
12471
12472 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 12473 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 12474 (Fgarbage_collect): Call them.
03f06e5c 12475 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
12476
12477 * prefix-args.c: Include stdlib.h for exit.
12478
12479 * syssignal.h: Add comment.
12480
12481 * indent.c: Include stdio.h.
12482
12483 * window.h (Vinitial_window_system): Declare.
12484 (Vwindow_system): Delete declaration.
12485
12486 * fontset.c (Finternal_char_font): Use FRAME_RIF.
12487
12488 * image.c (lookup_image): Don't initialize `c' until the xasserts
12489 have been run.
12490
12491 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
12492 FRAME_FOREGROUND_PIXEL.
12493
12494 * print.c (print_preprocess): Don't lose print_depth levels while
12495 iterating.
12496
b8866860
SM
12497 * widget.c (update_from_various_frame_slots):
12498 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12499
12500 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
12501 frames.
12502 (window_internal_height): Remove bogus make_number call.
b8866860 12503 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
12504
12505 * fileio.c (Fread_file_name): Update comment.
12506
b8866860
SM
12507 * callint.c (Fcall_interactively):
12508 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
12509 Make sure it is correctly unwound.
12510
12511 * xsmfns.c (x_session_close): New function.
12512
03f06e5c 12513 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
12514 Delete declarations.
12515
12516 * xterm.h: Remove declaration for x_fully_uncatch_errors.
12517 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 12518 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 12519 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
12520
12521 * lread.c: Include setjmp.h. Update declaration of `read_char'.
12522 (read_filtered_event): Call `read_char' with a local
12523 `wrong_kboard_jmpbuf'.
12524
b8866860
SM
12525 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
12526 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
12527
12528 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
12529 systems.
12530
b8866860 12531 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 12532 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 12533 (Fset_quit_char): EXFUN.
03f06e5c 12534 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
12535 (init_sys_modes, reset_sys_modes): Update prototypes.
12536 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
12537
b8866860
SM
12538 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
12539 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 12540 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 12541 Delete declarations.
03f06e5c
JB
12542 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
12543 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
12544 New declarations.
12545
12546 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
12547 already does that during init_display(). Call syms_of_keymap
b8866860
SM
12548 before syms_of_keyboard. Call `syms_of_terminal'.
12549 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
12550 (shut_down_emacs): Call reset_all_sys_modes() instead of
12551 reset_sys_modes().
12552
12553 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
12554 (internal_resolve_face_name, resolve_face_name_error): New functions.
12555 (resolve_face_name): Protect against loops and errors thrown by Fget.
12556 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
12557 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
12558
12559 * scroll.c: Replace CURTTY() with local variables throughout the
12560 file (where applicable).
12561 (calculate_scrolling, calculate_direct_scrolling)
12562 (scrolling_1, scroll_cost): Use the accessor macros for terminal
12563 characteristics.
12564
12565 * keymap.c (Vfunction_key_map): Remove.
b8866860 12566 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
12567 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
12568 (Vkey_translation_map): Remove.
12569 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 12570 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
12571 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
12572 Update for terminal-local key-translation-map.
12573
12574 * Makefile.in (callproc.o): Update dependencies.
12575 (lisp, shortlisp): Add termdev.elc.
12576 (obj): Add terminal.o.
12577 (terminal.o): Add dependencies.
12578 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
12579 (data.o, fns.o): Add termhooks.h dependency.
12580 (SOME_MACHINE_LISP): Add dnd.elc.
12581 (minibuf.o): Fix typo.
12582 Update dependencies.
12583
12584 * data.c (do_symval_forwarding, store_symval_forwarding)
12585 (find_symbol_value): Use the selected frame's keyboard, not
12586 current_kboard.
12587
12588 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
12589 Vwindow_system.
12590
12591 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
12592 Fmenu_bar_open.
12593 (syms_of_xmenu): Update defsubr.
12594 (mouse_position_for_popup, Fx_popup_menu)
12595 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
12596 (set_frame_menubar, free_frame_menubar)
12597 (create_and_show_popup_menu, xmenu_show, )
12598 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
12599 an X frame.
12600
12601 * xselect.c (x_own_selection): Abort if not an X frame.
12602 (some_frame_on_display): Check if it is an X frame.
12603 (x_handle_selection_clear): Deal with MULTI_KBOARD.
12604
12605 * coding.c: Include frame.h and termhooks.h.
03f06e5c 12606 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
12607 (Fset_terminal_coding_system_internal)
12608 (Fset_keyboard_coding_system_internal)
12609 (Fkeyboard_coding_system)
03f06e5c
JB
12610 (Fterminal_coding_system): Add a terminal parameter.
12611 Get terminal_coding from the terminal.
8d9cc0b7
MB
12612 (init_coding_once): Don't call setup_coding_system here.
12613
12614 * dispextern.h (set_scroll_region, turn_off_insert)
12615 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
12616 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 12617 (delete_tty, updating_frame)
8d9cc0b7
MB
12618 (produce_special_glyphs, produce_glyphs, write_glyphs)
12619 (insert_glyphs): Remove.
12620 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 12621 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 12622 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
12623
12624 * frame.h (enum output_method): Add output_initial.
12625 (struct x_output): Delete.
b8866860
SM
12626 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
12627 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
12628 (tty_display): Delete.
12629 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 12630 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
12631 (union output_data): Add tty.
12632 (FRAME_KBOARD): Get the kboard from the terminal.
12633 (FRAME_INITIAL_P): New macro.
12634 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
12635 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
12636 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
12637 New declarations.
8d9cc0b7
MB
12638
12639 * termchar.h (tty_output, tty_display_info): New structures.
12640 (tty_list): Declare.
12641 (FRAME_TTY, CURTTY): New macros.
12642 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
12643 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
12644 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
12645 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
12646
12647 * callproc.c: Include frame.h and termhooks.h, for terminal
12648 parameters.
12649 (add_env): New function.
12650 (child_setup): Use it.
b8866860 12651 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
12652 (getenv_internal): Fix get_terminal_param call.
12653 (Fgetenv_internal, egetenv): Update doc.
12654 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 12655 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
12656 strings.
12657 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
12658 (getenv_internal): Add terminal parameter.
12659 Handle Vlocal_environment_variables.
8d9cc0b7
MB
12660 (Fgetenv_internal): Add terminal parameter.
12661 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 12662 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
12663 (set_initial_environment): Rename from set_global_environment.
12664 Store Emacs environment in initial frame parameter.
12665
12666 * xdisp.c (redisplay_internal): Update references to
12667 `previous_terminal_frame'.
12668 (display_mode_line, Fformat_mode_line): Replace calls to
12669 `push_frame_kboard' with `push_kboard'.
12670 (get_glyph_string_clip_rects): Add extra parentheses and
12671 braces to prevent compiler warnings.
12672 (calc_pixel_width_or_height): Add xassert to check that the
12673 frame is alive. Don't call `lookup_image' on a termcap frame.
12674 (message2_nolog, message3_nolog, redisplay_internal)
12675 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
12676 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
12677 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
12678 (Fx_display_pixel_width, Fx_display_pixel_height)
12679 (Fx_display_planes, Fx_display_color_cells)
12680 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
12681 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
12682 (Fx_display_backing_store, Fx_display_visual_class)
12683 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 12684 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
12685
12686 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
12687 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
12688 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
12689 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
12690 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
12691 terminal that is being deleted.
12692 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 12693 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
12694 (Fx_close_connection, Fx_synchronize): Unify argument names with
12695 the rest of the DEFUNs.
12696
12697 * dispnew.c (Fsend_string_to_terminal): Update call to
12698 `get_tty_terminal'.
12699 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 12700 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
12701 FRAME_TERMCAP_P and FRAME_TTY.
12702 (window_change_signal): Don't believe width/height values that are
12703 impossibly small.
12704 (Vinitial_window_system): Rename from Vwindow_system.
12705 (termscript, Wcm, rif): Delete.
12706
12707 * termhooks.h (struct terminal): New struct containing the
12708 previously global text display hooks and new members NAME,
12709 DELETED and PARAM_ALIST.
12710 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
12711 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
12712 (FRAME_RIF): New macros.
12713 (get_terminal_param, get_device): New declarations.
12714 (termscript): Delete declaration.
12715
12716 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
12717 (XTflash, x_free_frame_resources, x_scroll_bar_create)
12718 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
12719 FRAME_FOREGROUND_PIXEL.
12720 (x_fully_uncatch_errors): Disable definition.
12721 (x_scroll_bar_expose): Fix reference to foreground pixel.
12722 (XTread_socket): Disable loop on all X displays.
12723 (x_delete_terminal): Don't set terminal->deleted and let
12724 delete_terminal delete the frames on the terminal.
12725 (x_delete_display): Doc update to reflect changes in
12726 delete_terminal.
12727 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
12728 (deleting_tty): Remove old variable.
12729 (Fsuspend_tty): Call clear_tty_hooks.
12730 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
12731 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
12732 errors on X frames.
12733 (x_catch_errors_unwind): Abort if x_error_message is NULL.
12734 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 12735 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
12736 (XTset_terminal_modes, XTreset_terminal_modes)
12737 (XTread_socket, x_connection_closed, x_term_init)
12738 (x_term_init, x_delete_display): Add terminal parameter.
12739 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
12740 X connections.
12741
bf380f53
GM
12742 * frame.c: Include termchar.h.
12743 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
12744 (Qwindow_system, Qenvironment, Qterm_environment_variable)
12745 (Qdisplay_environment_variable): New vars.
12746 (Fframep): Deal with output_initial.
12747 (Fframe-live-p): Doc fix.
12748 (Fwindow-system): New function.
8d9cc0b7
MB
12749 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
12750 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 12751 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 12752 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
12753 (Fmake_terminal_frame): Handle NULL tty names correctly.
12754 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
12755 (Fdelete_frame): Remove unused variable `count'. Don't allow other
12756 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 12757 (Fframe_with_environment): New function.
b8866860 12758 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
12759 (get_future_frame_param): New function.
12760 (Fmake_terminal_frame): Use it.
2d33f506 12761 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
12762
12763 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
12764 * sysdep.c (reset_sys_modes): Update for renames.
12765
12766 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 12767 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
12768 (syms_of_keyboard): Defsubr them.
12769 (Fset_input_meta_mode, Fset_quit_char): New functions.
12770 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
12771 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
12772 parameter. Use it in call to `read_char'.
b8866860
SM
12773 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
12774 Set wrong_kboard_jmpbuf correctly in recursive calls.
12775 Use current_kboard to access Vkeyboard_translate_table.
12776 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
12777 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
12778 Update longjmp invocations. Remember the original current_kboard,
12779 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
12780 changes it. Comment out unnecessary calls to
12781 `record_single_kboard_state' and `any_kboard_state'.
12782 Update recursive calls.
8d9cc0b7
MB
12783 (wrong_kboard_jmpbuf): Remove global variable.
12784 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
12785 Handle deleted interrupted_kboards correctly; that is a legal
12786 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 12787 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
12788 (any_kboard_state, single_kboard_state)
12789 (push_frame_kboard): Remove function.
12790 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
12791 been deleted. Remove unused variable. Help debugging by not
12792 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
12793 kboard of the selected frame when the stored kboard object has
12794 been deleted before pop_kboard.
12795 (temporarily_switch_to_single_kboard): Change first parameter to a
12796 frame pointer. Throw an error when caller wants to change kboards
12797 while in single_kboard mode. Don't push_kboard if we weren't in
12798 single kboard state. Don't pop_kboard if we popped into any
12799 kboard state.
12800 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 12801 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
12802 up single_kboard mode.
12803 (Frecursive_edit): Switch to single_kboard mode only in nested
12804 command loops.
b8866860
SM
12805 (cmd_error, command_loop, command_loop_1, timer_check):
12806 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
12807 `record_single_kboard_state'.
12808 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 12809 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
12810 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
12811 `fatal_error_signal'.
12812 (record_single_kboard_state): Don't push_kboard if we weren't in
12813 single kboard state. Don't pop_kboard if we popped into any
12814 kboard state.
12815 (push_frame_kboard): Rename to push_kboard.
12816 (kbd_buffer_get_event): Use FRAME_TERMINAL.
12817 (read_avail_input): Read input from all terminals.
12818 (mark_kboards): Also mark Vkeyboard_translate_table.
12819 (kbd_buffer_store_event_hold): Simplify condition.
12820 (read_key_sequence): Reinitialize fkey and keytran at each replay.
12821 (Vkeyboard_translate_table): Move to struct kboard.
12822 (init_kboard): Initialize Vkeyboard_translate_table.
12823 (syms_of_keyboard): Use DEFVAR_KBOARD to define
12824 Vkeyboard_translate_table. Update doc strings. Update docs of
12825 local-function-key-map and function-key-map.
12826
12827 * terminal.c: New file.
12828
12829 * term.c: Include errno.h.
12830 (Vring_bell_function, device_list, initial_device)
12831 (next_device_id, ring_bell, update_begin, update_end)
12832 (set_terminal_window, cursor_to, raw_cursor_to)
12833 (clear_to_end, clear_frame, clear_end_of_line)
12834 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
12835 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
12836 (syms_of_term): Move their initialization to terminal.c.
12837 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
12838 (Ftty_display_color_cells)
12839 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 12840 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
12841 (init_tty, maybe_fatal): New functions.
12842 (Ftty_type): Return nil if terminal is not on a tty instead of
12843 throwing an error. Doc update.
12844 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 12845 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
12846 (delete_tty): Use terminal->deleted.
12847 (tty_set_terminal_modes): Rename from set_terminal_modes.
12848 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
12849 (set_scroll_region): Rename to `tty_set_scroll_region'.
12850 (turn_on_insert): Rename to `tty_turn_on_insert'.
12851 (turn_off_insert): Rename to `tty_turn_off_insert'.
12852 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
12853 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
12854 (toggle_highligh): Rename to `tty_toggle_highlight'.
12855 (background_highlight): Rename to `tty_background_highlight'.
12856 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
12857 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
12858 (tty_set_scroll_region, tty_background_highlight)
12859 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
12860 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
12861 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
12862 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
12863 Add static modifier.
12864 (tty_reset_terminal_modes, tty_set_terminal_window)
12865 (tty_set_scroll_region, tty_background_highlight)
12866 (tty_highlight_if_desired, tty_cursor_to)
12867 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
12868 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
12869 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
12870 renames.
12871
880820fe 128722007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
12873
12874 * keyboard.c: Qrtl is new.
12875 (parse_tool_bar_item): Handle :rtl keyword.
12876 (syms_of_keyboard): Intern :rtl keyword.
12877
12878 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
12879
12880 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
12881 so no Lisp code is executed.
12882 (file_for_image, find_rtl_image): New functions.
1f204af3 12883 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
12884 (update_frame_tool_bar): If direction is RTL, use RTL image if
12885 defined. Use Gtk stock images if defined.
12886
83cc8d35
YM
128872007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12888
12889 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
12890 for nonexistent or zero-width glyph in composition glyph.
12891
e60c4e15
SM
128922007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
12893
d7e2a28f
SM
12894 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
12895
e60c4e15
SM
12896 * xdisp.c (Finvisible_p): New function.
12897 (syms_of_xdisp): defsubr it.
12898
ee163e6d
JB
128992007-08-24 Juanma Barranquero <lekktu@gmail.com>
12900
12901 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
12902 Doc fixes.
12903
90fa408d
YM
129042007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12905
35277b03 12906 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 12907
cac4219c
MR
129082007-08-24 Martin Rudalics <rudalics@gmx.at>
12909
12910 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
12911 whether decoding has modified buffer contents.
12912
5fc9fdeb
JR
129132007-08-24 Jason Rumney <jasonr@gnu.org>
12914
12915 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
12916 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
12917 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
12918 (init_svg_functions) [HAVE_NTGUI]: New function.
12919 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
12920 (svg_load_image): Use them.
12921 (svg_load_image) [HAVE_NTGUI]: Implement background.
12922
93b23406
YM
129232007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12924
12925 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
12926 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
12927 (LIBX): Remove @RSVG_LIBS@.
12928 (LIBES): Add $(RSVG_LIBS).
12929
12930 * image.c (svg_load_image): Blend with specified background if exists.
12931 Use IMAGE_BACKGROUND. Add Mac OS Support.
12932
12933 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
12934 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
12935 Remove macros.
12936 [MAC_OSX] (socket_callback): Do nothing.
12937 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
12938 ReceiveNextEvent.
12939 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
12940 socket_callback.
12941 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
12942
2467875c
GM
129432007-08-22 Glenn Morris <rgm@gnu.org>
12944
ff8da443 12945 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 12946
4ab27a43
GM
129472007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
12948
12949 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 12950
666e0eda
GM
12951 * image.c: Add support for SVG images. Some additional comments
12952 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
12953 (svg_image_p): New function to test for SVG image.
12954 (svg_load): New function to load SVG image.
12955 (svg_load_image): New function, helper for svg_load.
12956 (Qsvg): New Lisp_object.
12957 (svg_keyword_index): New enum.
12958 (svg_format): New static `image_keyword' struct.
12959 (svg_type): New static `image_type' struct.
12960 (librsvg/rsvg.h): Include it.
4ab27a43 12961
b636b4c1
SM
129622007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
12963
12964 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
12965
9ecb827b
SM
129662007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
12967
1d064697
SM
12968 * lread.c (Qold_style_backquotes): New var.
12969 (syms_of_lread): Init and staticpro it.
12970 (load_warn_old_style_backquotes): New fun.
12971 (Fload): Use them to warn about old style backquotes.
12972 (end_of_file_error, Fload): Remove unused vars.
12973
5772ed4b
SM
12974 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
12975
9ecb827b 12976 * lread.c (Vold_style_backquotes): New var.
5aa273b0 12977 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
12978 (read1): Set it when we find an old-style (back)quote.
12979
32e1c7b1
JR
129802007-08-22 Jason Rumney <jasonr@gnu.org>
12981
12982 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
12983
b8fa755b
KY
129842007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
12985
12986 * puresize.h (BASE_PURESIZE): Increase to 1140000.
12987
1283140e
RS
129882007-08-19 Richard Stallman <rms@gnu.org>
12989
12990 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
12991
2c4685ee
AS
129922007-08-19 Andreas Schwab <schwab@suse.de>
12993
12994 * alloc.c (pure): Round PURESIZE up.
12995
880820fe 129962007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
12997
12998 * xterm.c (handle_one_xevent): Remove check that mouse click is in
12999 active frame.
13000
6e33efc4
RS
130012007-08-16 Richard Stallman <rms@gnu.org>
13002
13003 * eval.c (Fcommandp): Add parens to clarify.
13004
13005 * minibuf.c (Fall_completions): Use enum for type of table.
13006
13007 * emacs.c (USAGE2): Improve text.
13008
fcf8ff2e
GM
130092007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
13010
5205ee62
GM
13011 * term.c (tty_default_color_capabilities): Declare static
13012 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 13013
880820fe 130142007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
13015
13016 * gtkutil.c (update_frame_tool_bar): Use -1 as index
13017 to gtk_toolbar_insert.
13018
4a181359
SM
130192007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
13020
1bc99c9c
SM
13021 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
13022
4a181359
SM
13023 * insdel.c (reset_var_on_error): New fun.
13024 (signal_before_change, signal_after_change):
13025 Use it to reset (after|before)-change-functions to nil in case of error.
13026 Bind inhibit-modification-hooks to t.
13027 Don't bind (after|before)-change-functions to nil while they run.
13028
6c28435c
YM
130292007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13030
13031 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
13032 filling pixmap with stippled background.
13033
ad3b3e02
YM
130342007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13035
13036 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
13037 Don't use invisible frame as parent window for repositioning.
13038
a22dec27
SM
130392007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
13040
13041 * print.c (new_backquote_output): Rename from old_backquote_output.
13042 (print): Inverse its logic (according to its name) so as to match the
13043 behavior of new_backquote_flag in lread.c.
13044
7b7d07bb
YM
130452007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13046
13047 * gmalloc.c (posix_memalign): New function.
13048
13049 * macterm.c (frame_highlight, frame_unhighlight): Don't call
13050 ActivateControl/DeactivateControl here.
13051 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
13052 frame-notice-user-settings is non-nil.
13053 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
13054 for kEventParamFMFontStyle.
13055 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
13056 mac_pass_command_to_system and mac_pass_control_to_system here.
13057 (XTread_socket): Call ActivateControl/DeactivateControl here.
13058 (XTread_socket) [TARGET_API_MAC_CARBON]:
13059 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
13060 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
13061 for window repositioning.
7b7d07bb 13062
22e9fe24
GM
130632007-08-08 Glenn Morris <rgm@gnu.org>
13064
13065 * Replace `iff' in doc-strings and comments.
13066
ae494350
CY
130672007-08-07 Chong Yidong <cyd@stupidchicken.com>
13068
13069 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
13070
6f2528d8
MR
130712007-08-07 Martin Rudalics <rudalics@gmx.at>
13072
13073 * fileio.c (Finsert_file_contents): Run format-decode and
13074 after_insert_file_functions on entire buffer when REPLACE is
13075 non-nil and inhibit modification_hooks and point_motion_hooks.
13076 For consistency, run after_insert_file_functions iff something
13077 got inserted. Move signal_after_change and update_compositions
13078 after code running after_insert_file_functions. Make sure that
6b8e474c 13079 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 13080
3ceeb306
YM
130812007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13082
13083 * emacs.c (main)
13084 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
13085 Call malloc_enable_thread on interactive startup.
13086
13087 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
13088 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
13089 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
13090 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
13091 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
13092 New functions.
13093
ca5e6fd5
CY
130942007-08-06 Chong Yidong <cyd@stupidchicken.com>
13095
32bfce5d
CY
13096 * xdisp.c (redisplay_window): When restoring original buffer
13097 position, make sure it is still valid.
13098
ca5e6fd5
CY
13099 * image.c (png_load): Ignore png-supplied background color.
13100
a5b11587
YM
131012007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13102
13103 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
13104 Use kCFAbsoluteTimeIntervalSince1970.
13105
13106 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
13107 New variable.
13108 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
13109 event loop should be quit.
13110 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
13111 Quit dialog event loop if quit_dialog_event_loop is set.
13112
13113 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
13114 (Selection): New typedef. Use instead of ScrapRef.
13115 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
13116 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
13117 (mac_clear_selection): Rename from clear_scrap.
13118 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 13119 scrap_has_target_type. All uses changed.
a5b11587
YM
13120 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
13121 (mac_selection_has_target_p): New functions.
13122 (mac_put_selection_value): Rename from put_scrap_string.
13123 (mac_get_selection_value): Rename from get_scrap_string.
13124 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
13125 (put_scrap_private_timestamp, scrap_has_target_type)
13126 (get_scrap_private_timestamp): Remove functions.
13127 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
13128 (x_own_selection, x_get_local_selection):
13129 Use mac_valid_selection_value_p.
13130 (x_own_selection): Don't use put_scrap_private_timestamp.
13131 Record OWNERSHIP-INFO into Vselection_alist instead.
13132 (x_get_local_selection): Don't check type if request is local.
13133 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
13134 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
13135
880820fe 131362007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
13137
13138 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
13139 add comment explaining why.
13140
73ff9d42
RS
131412007-08-03 Richard Stallman <rms@gnu.org>
13142
13143 * fileio.c (Fvisited_file_modtime): Use make_time.
13144
54ed9a2d 131452007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
13146
13147 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
13148 build.
13149
65a9c8e2
SM
131502007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
13151
13152 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
13153
c5925799
KY
131542007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
13155
13156 * puresize.h (BASE_PURESIZE): Increase to 1130000.
13157
adef3de7
RS
131582007-07-30 Richard Stallman <rms@gnu.org>
13159
13160 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
13161
880820fe 131622007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
13163
13164 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
13165
a10421a1
NR
131662007-07-28 Nick Roberts <nickrob@snap.net.nz>
13167
13168 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
13169 remote default-directory.
13170
13171 * buffer.c (mode-line-format): Update doc string.
13172
0cb1ae20
YM
131732007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13174
13175 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
13176 scroll bar gap.
13177 (x_scroll_bar_create): Set bar->fringe_extended_p.
13178 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
13179 on frame edge. Check fringe background extension. Don't clear
13180 extended fringe background area.
13181
13182 * w32term.h (struct scroll_bar): New member fringe_extended_p.
13183 (w32_fill_area): Enclose multiple statements with do ... while (0).
13184
13185 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
13186 Extend fringe background to scroll bar gap.
13187 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
13188 Set bar->fringe_extended_p.
13189 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
13190 Put leftmost/rightmost scroll bars on frame edge. Check fringe
13191 background extension. Don't clear extended fringe background area.
13192
13193 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
13194 New member fringe_extended_p.
13195
cacc7b51
GM
131962007-07-25 Glenn Morris <rgm@gnu.org>
13197
13198 * Relicense all FSF files to GPLv3 or later.
13199
13200 * COPYING: Switch to GPLv3.
13201
89835619
SM
132022007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
13203
c4f46926
SM
13204 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
13205
13206 * data.c (Finteractive_form): Check for the presence of an
13207 `interactive-form' symbol property more thoroughly.
13208
13209 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
13210 present, analogous to the function-documentation property.
13211
ee04257d
JR
132122007-07-24 Jason Rumney <jasonr@gnu.org>
13213
13214 * w32fns.c (x_real_positions): Get real position from OS instead of
13215 calculating it.
13216
50624218
JR
132172007-07-23 Jason Rumney <jasonr@gnu.org>
13218
13219 * filelock.c (current_lock_owner): Allow for @ sign in username.
13220
3650f60e
NR
132212007-07-22 Nick Roberts <nickrob@snap.net.nz>
13222
13223 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
13224 remote default-directory.
13225
13226 * buffer.c (mode-line-format): Describe above case in doc string.
13227
1e899515 132282007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 13229
75be5258
EZ
13230 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
13231 Define if not defined.
13232
2b6e2f4d
JR
132332007-07-18 Jason Rumney <jasonr@gnu.org>
13234
13235 * w32proc.c (w32_executable_type): Handle 64 bit executables.
13236
23dacf80
JB
132372007-07-18 Richard Stallman <rms@gnu.org>
13238
13239 * data.c (Fsetq_default): Doc fix.
13240
13241 * eval.c (Fsetq): Doc fix.
13242
132432007-07-18 Juanma Barranquero <lekktu@gmail.com>
13244
13245 * coding.c (Ffind_operation_coding_system):
13246 * eval.c (For, Fand): Doc fixes.
880820fe 13247 Reported by Johan Bockgård.
23dacf80 13248
880820fe 132492007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 13250
23dacf80 13251 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 13252
23dacf80 13253 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
13254
13255 * xterm.c (x_ewmh_activate_frame): New function.
13256 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
13257
71ec17e6
MR
132582007-07-17 Martin Rudalics <rudalics@gmx.at>
13259
13260 * window.c (Fdisplay_buffer): If largest or LRU window is the
13261 only window, split it even if it is not eligible for splitting.
13262 This restores the original behavior broken by the 2007-07-15
13263 change.
13264
e9818042
GM
132652007-07-17 Glenn Morris <rgm@gnu.org>
13266
13267 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
13268 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
13269 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
13270 constituents. Doc fix.
13271
e6fca843
SM
132722007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
13273
13274 * process.c (Fstart_process, Fmake_network_process)
13275 (read_process_output): Fix up last changes.
13276
b5d2b4ab
EZ
132772007-07-16 Eli Zaretskii <eliz@gnu.org>
13278
13279 * makefile.w32-in (clean): Don't delete *~.
13280
413a79ad
AS
132812007-07-16 Andreas Schwab <schwab@suse.de>
13282
13283 * window.c (Fdisplay_buffer): Use NILP.
13284 (Fset_window_scroll_bars): Likewise.
13285
f1de8c77
MR
132862007-07-15 Martin Rudalics <rudalics@gmx.at>
13287
13288 * window.c (window_min_size_2): New function.
13289 (window_min_size_1, size_window, Fdisplay_buffer)
13290 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
13291 windows without mode- or header-lines when window-min-height is
13292 too small.
13293 (size_window): Reset nodelete_p after testing it, following an
13294 earlier note by Kim F. Storm.
13295 (display_buffer): Do not set split_height_threshold to twice the
13296 value of window_min_height to avoid changing the value of a
13297 customizable variable. Rather explicitly check whether the
13298 height of the window that shall be splitted is at least as large
13299 as split_height_threshold.
1af74d06
MB
13300 (Fwindow_full_width_p): New defun.
13301 (syms_of_window): Defsubr it.
d31053f9 13302
1af74d06 13303 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 13304
5e1ab613
JR
133052007-07-14 Jason Rumney <jasonr@gnu.org>
13306
13307 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
13308
f01cbfdd
RS
133092007-07-14 Richard Stallman <rms@gnu.org>
13310
13311 * eval.c (maybe_call_debugger): New function.
13312 (find_handler_clause): Use maybe_call_debugger.
13313 Call it when the handler says `debug'.
13314 Eliminate DEBUGGER_VALUE_PTR.
13315 (Fsignal): Eliminate debugger_value.
13316 (Qdebug): New variable.
13317 (syms_of_eval): Initialize it.
13318
1bab435a
JB
133192007-07-14 Juanma Barranquero <lekktu@gmail.com>
13320
13321 * eval.c (Fprogn):
13322 * keyboard.c (Ftrack_mouse):
13323 * print.c (Fwith_output_to_temp_buffer):
13324 * window.c (Fsave_window_excursion): Doc fix.
13325
be436d23
SM
133262007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
13327
13328 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
13329
60f0fb11
SM
133302007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
13331
13332 * process.h (struct Lisp_Process): Turn slots infd, outfd,
13333 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
13334 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
13335 read_output_delay, and read_output_skip from Lisp_Objects to ints.
13336 Remove unused encoding_carryover.
13337 * process.c: Adjust all functions accordingly.
13338
d8b18043
RS
133392007-07-12 Richard Stallman <rms@gnu.org>
13340
13341 * term.c: Include unistd.h only if HAVE_UNISTD_H.
13342
d5781bb6
JR
133432007-07-11 Jason Rumney <jasonr@gnu.org>
13344
13345 * makefile.w32-in (LIBS): Include OLE32.
13346
13347 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
13348 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
13349
5bb7dfee
SM
133502007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
13351
13352 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
13353 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
13354 from a Lisp_Object into a bare pointer.
13355 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
13356 Adjust the code correspondingly.
13357
13358 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
13359
13360 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
13361 (term_show_mouse_face): Remove unused var `j'.
13362 (handle_one_term_event): Remove unused vars `i' and `j'.
13363 Don't cast return value of ttyname since it's not necessary.
13364
a1be1ce8
SM
133652007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
13366
5045e68e
SM
13367 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
13368 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
13369
8071c00f
SM
13370 * fns.c (map_char_table): Use an array of int for `indices' rather than
13371 an array of Lisp_Objects (which are only ever integers anyway).
13372 (Fmap_char_table): Update caller.
13373 * lisp.h: Update prototype.
13374 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
13375 * fontset.c (Ffontset_info):
13376 * casetab.c (set_case_table): Update callers.
13377
13378 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
13379
fab84e3c
SM
13380 * keymap.c (struct accessible_keymaps_data)
13381 (struct where_is_internal_data): New structures.
13382 (accessible_keymaps_1, where_is_internal_1): Use them to change
13383 interface to adhere to the one used by map_keymap.
13384 (Faccessible_keymaps, where_is_internal): Use map_keymap.
13385 (accessible_keymaps_char_table, where_is_internal_2): Remove.
13386
a1be1ce8
SM
13387 * keymap.h (map_keymap_function_t): More informative prototype.
13388
ef887810
RS
133892007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
13390
13391 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
13392 (looking_at_1): Don't change search_regs and last_thing_searched
13393 if `inhibit-changing-match-data' is non-nil.
13394 (string_match_1, search_buffer, set_search_regs): Likewise.
13395 (syms_of_search): Add Lisp level definition for
13396 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
13397 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
13398 start and end of the match, instead of using values in search_regs.
ef887810 13399
4d02fc25
SM
134002007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
13401
13402 * minibuf.c (Fcompleting_read): New value `confirm-only'
13403 for `require-match'.
13404
fe45b81f
SM
134052007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
13406
13407 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
13408 part of the 2007-06-27 change to syms_of_fileio.
13409
a56dd283
YM
134102007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13411
13412 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
13413 Check WINDOWP before using XWINDOW. Consolidate return statements.
13414
0cf9f5b5
RS
134152007-06-27 Richard Stallman <rms@gnu.org>
13416
13417 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
13418
a66f285a
JB
134192007-06-27 Juanma Barranquero <lekktu@gmail.com>
13420
13421 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
13422
8d0d84d2
YM
134232007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13424
13425 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
13426 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
13427 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
13428 (_free_internal, memalign): Use them.
13429 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
13430 Initialize to PTHREAD_MUTEX_INITIALIZER.
13431 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
13432 (morecore_nolock): Rename from morecore. All uses changed.
13433 Use only nolock versions of internal allocation functions.
13434 (_malloc_internal_nolock, _realloc_internal_nolock)
13435 (_free_internal_nolock): New functions created from
13436 _malloc_internal, _realloc_internal, and _free_internal.
13437 (_malloc_internal, _realloc_internal, _free_internal): Use them.
13438 Copy hook value to automatic variable before its use.
13439 (memalign): Copy hook value to automatic variable before its use.
13440
5a0bbd9a
KH
134412007-06-26 Kenichi Handa <handa@m17n.org>
13442
13443 * coding.c (Ffind_operation_coding_system): Docstring improved.
13444 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
13445
9a51747b
DK
134462007-06-25 David Kastrup <dak@gnu.org>
13447
13448 * keymap.c (Fcurrent_active_maps): Add `position' argument.
13449 (Fwhere_is_internal): Adjust call to `current-active-maps' to
13450 cater for additional parameter.
13451
13452 * keymap.h: Adjust number of parameters to `current-active-maps'.
13453
13454 * doc.c (Fsubstitute_command_keys): Adjust call of
13455 `current-active-maps'.
13456
e4305426
DK
134572007-06-25 David Kastrup <dak@gnu.org>
13458
13459 * callint.c (Fcall_interactively): Make the parsing of interactive
13460 specs somewhat more readable.
13461
511a18d9
YM
134622007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13463
13464 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
13465 to scroll bar gap also when bitmap fills fringe. Draw only foreground
13466 if extended background has already been filled.
13467
512eb161
YM
134682007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13469
13470 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
13471 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
13472
13473 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
13474 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
13475 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
13476 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
13477 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
13478 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
13479 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
13480 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
13481 Run timers during dialog popup.
13482 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
13483
2386b1f1
JR
134842007-06-21 Jason Rumney <jasonr@gnu.org>
13485
13486 * image.c (convert_mono_to_color_image): Swap fore and background.
13487
fab8b787
JR
134882007-06-20 Jason Rumney <jasonr@gnu.org>
13489
13490 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
13491 (w32_free_bdf_font): Unmap memory not handle.
13492
15bdd7a0 134932007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
13494
13495 * gmalloc.c (__morecore): Fix the declaration to comply with the
13496 definition.
13497
1bb8a291
JB
134982007-06-20 Juanma Barranquero <lekktu@gmail.com>
13499
13500 * w32term.c (w32_delete_display): Remove leftover declaration.
13501 (w32_define_cursor, w32_initialize): Make static.
13502
13503 * w32.c (_wsa_errlist): Fix typo in error message.
13504 (init_environment): Ignore any environment variable from the
13505 registry having a null value.
13506
92648dea
GM
135072007-06-20 Glenn Morris <rgm@gnu.org>
13508
13509 * Makefile.in (LIBGIF): Default to -lgif.
13510
ff25d115
JR
135112007-06-17 Jason Rumney <jasonr@gnu.org>
13512
13513 * w32menu.c (add_menu_item): Don't use multibyte string functions on
13514 unicode strings.
13515
a1a578a5
JB
135162007-06-16 Juanma Barranquero <lekktu@gmail.com>
13517
13518 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
13519 Fix typo in docstring.
13520
af41f8a8
EZ
135212007-06-16 Eli Zaretskii <eliz@gnu.org>
13522
13523 * w32menu.c (add_menu_item): Escape `&' characters in menu items
13524 and their keybindings.
13525
8b29cab9
CY
135262007-06-15 Chong Yidong <cyd@stupidchicken.com>
13527
13528 * composite.c (update_compositions): Fix last fix.
13529
c433c134
JR
135302007-06-14 Jason Rumney <jasonr@gnu.org>
13531
13532 * w32.c (get_process_times_fn): New function pointer.
13533 (globals_of_w32): Intialize it if present in kernel32.dll.
13534 (w32_get_internal_run_time): New function.
13535
13536 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
13537
553d3164
KH
135382007-06-14 Kenichi Handa <handa@etlken.m17n.org>
13539
13540 * composite.c (update_compositions): Check the validness of
13541 compositions.
13542
446ba96f
YM
135432007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13544
13545 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
13546 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
13547
13548 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
13549 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
13550
13551 * macgui.h (USE_MAC_TOOLBAR): New define.
13552
13553 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13554 Return immediately unless popup is activated.
13555
13556 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
13557 background to scroll bar gap.
13558 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
13559 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
13560 scroll bars on frame edge. Check fringe background extension.
13561 Don't clear extended fringe background area.
13562 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
13563 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
13564 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
13565 [USE_MAC_TOOLBAR]: New macros.
13566 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
13567 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
13568 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
13569 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
13570 [USE_MAC_TOOLBAR]: New functions.
13571 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
13572 manually if previous repositioning has failed.
13573 (mac_handle_keyboard_event): Use precomputed event kind.
13574 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
13575 as tool bar item click. Handle mouse movement over tool bar items.
13576
13577 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
13578 toolbar_win_gravity.
13579 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
13580 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
13581 Add externs.
13582
13583 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
13584 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
13585
9720173f
CY
135862007-06-14 Chong Yidong <cyd@stupidchicken.com>
13587
13588 * image.c (search_image_cache): Remove unused variable.
13589
1217dd00
CY
135902007-06-13 Chong Yidong <cyd@stupidchicken.com>
13591
13592 * xfns.c, xmenu.c: Link to xaw3d if available.
13593
c5b8e0ea
YM
135942007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13595
13596 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
13597 frame_foreground and frame_background.
13598
13599 * image.c (lookup_image): Save frame foreground and background colors.
13600 (search_image_cache): Check if saved and current frame colors match.
13601
c69b0314
SM
136022007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
13603
13604 * regex.c (regex_compile): Remove the `regnum' counter.
13605 Use bufp->re_nsub instead. Add support for \(?N:RE\).
13606
c9612b8e
SM
136072007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
13608
13609 * term.c: Include intervals.h to declare Fget_text_property.
13610
843d2458
JR
136112007-06-10 Jason Rumney <jasonr@gnu.org>
13612
13613 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
13614
1e0d2d60 136152007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
13616
13617 * callint.c (Fcall_interactively):
13618 * editfns.c (Fdelete_and_extract_region):
13619 * fileio.c (Fread_file_name):
13620 * fns.c (Fmapconcat):
13621 * keyboard.c (cmd_error_internal):
13622 * keymap.c (Fkey_description):
13623 * lread.c (openp):
13624 * minibuf.c (read_minibuf):
13625 * search.c (wordify):
13626 * sunfns.c (sel_read):
13627 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
13628 * xfns.c (x_default_scroll_bar_color_parameter):
13629 * xmenu.c (menu_help_callback):
13630 * xselect.c (Fx_get_atom_name):
13631 * xterm.c (x_term_init): Use empty_unibyte_string.
13632
15bdd7a0 136332007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
13634
13635 * alloc.c (init_strings): Initialize canonical empty strings.
13636 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
13637 canonical empty string when the requested size is 0.
13638
13639 * emacs.c (empty_unibyte_string): Rename from empty_string.
13640 (empty_multibyte_string): New canonical empty string.
13641 (syms_of_emacs): Don't initialize empty_string.
13642
13643 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
13644 string, if appropriate.
13645 (empty_unibyte_string, empty_multibyte_string): New externs.
13646 (empty_string): Remove extern.
13647
13648 * lread.c (syms_of_lread): Use empty_unibyte_string.
13649
42c4c67a
JR
136502007-06-07 Jason Rumney <jasonr@gnu.org>
13651
13652 * s/ms-w32.h: Don't define HAVE_TZNAME.
13653
13654 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
13655
aa8280d3
YM
136562007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13657
13658 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
13659
13660 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
13661 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
13662
13663 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
13664 Don't call next handler.
13665 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
13666 Remove argument. Install handler to application.
13667 (set_frame_menubar): Don't change deep_p.
1e0d2d60 13668 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
13669 FRAME_OUTER_TO_INNER_DIFF_Y.
13670 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
13671 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
13672 [HAVE_DIALOGS]: New macros.
13673 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
13674 Use them.
13675 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
13676
13677 * macselect.c [MAC_OSX] (install_service_handler): Rename from
13678 init_service_handler. All callers changed. Return OSStatus value.
13679
13680 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
13681 All callers changed so as not to call SetPortWindowPort.
13682 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
13683 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
13684 mac_draw_string_common.
13685 (mac_draw_image_string_qd): Likewise.
13686 (mac_draw_string_common): Use them. Add INLINE.
13687 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
13688 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
13689 GetGlobalMouse.
13690 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
13691 and FRAME_OUTER_TO_INNER_DIFF_Y.
13692 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
13693 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
13694 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
13695 repositioning window to mac_handle_window_event.
13696 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
13697 saving window location to mac_handle_window_event
13698 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
13699 (install_menu_target_item_handler): Remove argument in extern.
13700 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
13701 Also accept command events.
13702 (do_keystroke): New function created from XTread_socket.
13703 (init_command_handler): Remove functions.
13704 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
13705 and save window location by kEventWindowShowing and kEventWindowHiding
13706 handlers here. Don't call next handler for window state change and
13707 focus events.
13708 (mac_handle_application_event, mac_handle_keyboard_event)
13709 [TARGET_API_MAC_CARBON]: New functions.
13710 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
13711 kEventWindowShowing and kEventWindowHiding events. Move installation
13712 of mouse, font, text input and menu target item handlers to
13713 install_application_handler.
13714 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
13715 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13716 New function.
13717 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
13718 Register it.
c9612b8e
SM
13719 (XTread_socket) [TARGET_API_MAC_CARBON]:
13720 Consolidate SendEventToEventTarget calls.
13721 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
13722 Move application activation handler to mac_handle_application_event.
13723 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
13724 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
13725 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
13726 init_command_handler. Call install_application_handler.
13727
13728 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
13729 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
13730
6926c954
GM
137312007-06-07 Glenn Morris <rgm@gnu.org>
13732
13733 * emacs.c (main): Use `emacs-copyright' in --version output.
13734
6fe04c89
CY
137352007-06-06 Chong Yidong <cyd@stupidchicken.com>
13736
c9612b8e 13737 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 13738
7eb0d727
YM
137392007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13740
13741 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
13742
13743 * macgui.h: Replace WindowPtr with WindowRef.
13744
13745 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13746 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13747 Replace ControlHandle with ControlRef.
13748 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
13749
13750 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
13751 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
13752 Replace ControlHandle with ControlRef.
13753 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
13754 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
13755
13756 * macterm.h (struct scroll_bar): Rename member control_handle_low
13757 and control_handle_high to control_ref_low and control_ref_high.
13758 All uses changed.
13759 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
13760 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
13761 respectively. All uses changed.
13762 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
13763 (install_window_handler, remove_window_handler): Replace WindowPtr
13764 with WindowRef in externs.
13765
65fddb74
JB
137662007-06-05 Juanma Barranquero <lekktu@gmail.com>
13767
13768 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
13769
db1213a9
NR
137702007-06-03 Nick Roberts <nickrob@snap.net.nz>
13771
13772 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
13773
65fddb74 13774 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
13775 Condition on HAVE_GPM too.
13776
13777 * term.c (term_mouse_highlight): Remove unused variables.
13778 (Fterm_open_connection): Set gpm_zerobased to 1.
13779 (term_mouse_movement, term_mouse_click, handle_one_term_event):
13780 Use zero based co-ordinates.
13781 (handle_one_term_event): Report a drag as mouse movement too.
13782
13783 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
13784
d94df25b
CY
137852007-06-03 Chong Yidong <cyd@stupidchicken.com>
13786
13787 * image.c (search_image_cache): New function. Require background
13788 color match if background color is unspecified in the image spec.
13789 (uncache_image, lookup_image): Use it.
13790
4797b6d9
JB
137912007-06-01 Juanma Barranquero <lekktu@gmail.com>
13792
13793 * window.c (Fshrink_window): Reflow docstring.
13794
1ffe7343
NR
137952007-06-02 Chong Yidong <cyd@stupidchicken.com>
13796
13797 * Version 22.1 released.
13798
137992007-06-01 Richard Stallman <rms@gnu.org>
13800
13801 * xfns.c (x_encode_text): Add GCPRO.
13802
138032007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13804
13805 * xfns.c (x_set_name_internal): Save encoded name before
13806 x_encode_text in case string data is relocated.
13807
138082007-05-31 Richard Stallman <rms@gnu.org>
13809
13810 * buffer.c (syms_of_buffer): Doc fix.
13811
138122007-05-30 Nick Roberts <nickrob@snap.net.nz>
13813
13814 * sysdep.c (init_sys_modes): Add rather than replace with
13815 O_NONBLOCK.
13816
13817 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
13818 term_mouse_moveto.
13819
13820 * termhooks.h (term_mouse_moveto): New extern.
13821
13822 * term.c (mouse_face_window): Rename...
13823 (Qmouse_face_window): ...to this.
13824 (term_show_mouse_face, term_clear_mouse_face)
13825 (term_mouse_highlight): Use Qmouse_face_window.
13826 (term_mouse_moveto): New function.
13827 (term_mouse_position): Make it work.
13828 (syms_of_term): Uncomment assignment to mouse_position_hook.
13829 Staticpro Qmouse_face_window.
13830
138312007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13832
13833 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
13834 around current_column call.
13835
138362007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
13837
13838 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
13839 * xdisp.c (next_element_from_buffer):
13840 * window.c (delete_window):
13841 * term.c (term_mouse_highlight):
13842 * msdos.c (getdefdir):
13843 * macterm.c (mac_create_bitmap_from_bitmap_data)
13844 (init_font_name_table):
13845 * fns.c (Fsxhash):
13846 * data.c (Fmake_local_variable):
13847 * ccl.c (ccl_driver): Likewise.
13848
138492007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13850
13851 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
13852 Call mac_wakeup_from_rne on window size change.
13853
138542007-05-25 Chong Yidong <cyd@stupidchicken.com>
13855
13856 * image.c (uncache_image): Fix typo.
13857
138582007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
13859
13860 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
13861
138622007-05-22 Richard Stallman <rms@gnu.org>
13863
13864 * xterm.c (x_connection_closed): Remove NO_RETURN.
13865
138662007-05-22 Martin Rudalics <rudalics@gmx.at>
13867
13868 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
13869
138702007-05-21 Chong Yidong <cyd@stupidchicken.com>
13871
13872 * image.c (uncache_image): New function.
13873 (Fimage_refresh): New function.
13874
880820fe 138752007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
13876
13877 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
13878
138792007-05-20 Nick Roberts <nickrob@snap.net.nz>
13880
13881 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
13882 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
13883
138842007-05-20 Nick Roberts <nickrob@snap.net.nz>
13885
13886 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
13887 conditional on [HAVE_GPM_H].
13888
138892007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
13890
13891 * syntax.c (skip_chars): Update syntax-table only after we checked that
13892 the new location is valid.
13893
138942007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13895
13896 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
13897 mac_get_window_bounds.
13898
138992007-05-20 Nick Roberts <nickrob@snap.net.nz>
13900
13901 * Makefile.in (LIBGPM): Allow it to be set from configure.
13902 If set then link Emacs with it.
13903
13904 * config.in: Regenerate.
13905
13906 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
13907 New externs.
13908
13909 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
13910 Include gpm.h.
13911 (handle_one_term_event, term_gpm): New externs.
13912
13913 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
13914 and allow it to be interrupted by SIGIO.
13915
13916 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
13917 (wait_reading_process_output): Wait on gpm_fd too.
13918 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
13919 (add_gpm_wait_descriptor_called_flag): New variable.
13920 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
13921
13922 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
13923 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
13924 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
13925 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
13926 (make_lispy_event): Add case GPM_CLICK_EVENT.
13927 (read_avail_input): Handle mouse input.
13928
13929 * term.c (write_glyphs_with_face): New function.
13930 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
13931 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
13932 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
13933 (mouse_face_face_id, term_gpm, pos_x, pos_y)
13934 (last_mouse_x, last_mouse_y): New variables.
13935 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
13936 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
13937 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
13938 (Fterm_close_connection): New functions.
13939 (term_init): Initialise mouse_face_window.
13940
139412007-05-19 Chong Yidong <cyd@stupidchicken.com>
13942
13943 * xdisp.c (redisplay_window): If first window line is a
13944 continuation line, recompute the new window start instead of
13945 recentering.
13946
139472007-05-18 Glenn Morris <rgm@gnu.org>
13948
13949 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
13950 Suggested by Alfred M. Szmidt <ams@gnu.org>.
13951
139522007-05-17 Glenn Morris <rgm@gnu.org>
13953
13954 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
13955
139562007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13957
13958 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
13959 dead key repeat and up events.
13960
139612007-05-14 Chong Yidong <cyd@stupidchicken.com>
13962
13963 * image.c (pbm_load): Check image size for monochrome pbm.
13964
139652007-05-13 Chong Yidong <cyd@stupidchicken.com>
13966
13967 * xterm.c (XTread_socket): Revert last change.
13968
139692007-05-12 Chong Yidong <cyd@stupidchicken.com>
13970
13971 * image.c (pbm_load): Correctly check image size for greyscale pbm.
13972
13973 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
13974
139752007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13976
13977 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
13978 mixup (YAILOM).
13979
139802007-05-07 Andreas Schwab <schwab@suse.de>
13981
13982 * keymap.c (Flookup_key): Fix typo in last change.
13983
139842007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
13985
13986 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
13987 mapping for unibyte strings.
13988
139892007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13990
13991 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
13992 (Fx_popup_dialog) [MAC_OSX]: Likewise.
13993
139942007-04-29 Richard Stallman <rms@gnu.org>
13995
13996 * insdel.c (replace_range): For undo, record insertion first.
13997
139982007-04-29 Andreas Schwab <schwab@suse.de>
13999
14000 * lisp.h (VECSIZE): Use OFFSETOF.
14001
140022007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14003
14004 * xdisp.c (try_window_reusing_current_matrix): Fix number of
14005 disabled lines.
14006
140072007-04-28 Richard Stallman <rms@gnu.org>
14008
14009 * lread.c (read_escape): In a string, \s is always space.
14010
880820fe 140112007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
14012
14013 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
14014
14015 * gtkutil.c (xg_update_menubar, create_menus): Create empty
14016 submenu for menu bar items.
14017
382c648d 14018See ChangeLog.10 for earlier changes.
6922b018
KH
14019
14020;; Local Variables:
880820fe 14021;; coding: utf-8
33462dfa 14022;; add-log-time-zone-rule: t
67e8d28a 14023;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
6922b018 14024;; End:
2a34a036 14025
59ce725a 14026 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
14027
14028 This file is part of GNU Emacs.
14029
5a1dde61 14030 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 14031 it under the terms of the GNU General Public License as published by
5a1dde61
GM
14032 the Free Software Foundation, either version 3 of the License, or
14033 (at your option) any later version.
7f6d64f8
GM
14034
14035 GNU Emacs is distributed in the hope that it will be useful,
14036 but WITHOUT ANY WARRANTY; without even the implied warranty of
14037 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14038 GNU General Public License for more details.
14039
14040 You should have received a copy of the GNU General Public License
5a1dde61 14041 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 14042
28f60c3d 14043;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40