(ftfont_shape_by_flt): Use "combining" FLT for ASCII characters.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
d45a49e3
KH
12008-09-09 Kenichi Handa <handa@m17n.org>
2
da2cf488
KH
3 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
4 characters.
5
d45a49e3
KH
6 * composite.c (FORWARD_CHAR): Fix calculation
7 of (POSITION).pos_byte.
8
92008-09-08 Kenichi Handa <handa@m17n.org>
10
11 * indent.c (Fvertical_motion): Be sure to set
12 it_overshoot_expected if it.cmp_it.id is non-nengative.
13
1aa83b22
AS
142008-09-07 Andreas Schwab <schwab@suse.de>
15
16 * callproc.c (Fcall_process): Don't hold references to string data
17 across garbage collection. Move initialisation of new_argv down
18 to avoid compiler bug.
19
a7713d66
RW
202008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
21
22 * process.c (Fsystem_process_attributes): Doc fix.
23
0f6c7c7e
CY
242008-09-07 Chong Yidong <cyd@stupidchicken.com>
25
39fc455f
CY
26 * callproc.c (Fcall_process): Canonicalize current directory name.
27
0f6c7c7e
CY
28 * xdisp.c (move_it_to): When moving by vpos, ensure that the
29 iterator advances to the next line if the current line ends in a
30 continued tab.
31
93c7fcf8
TZ
322008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
33
34 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
35 member to point to cmp_from.
36
37 * xdisp.c: Doc fix for references to gidx data member.
38
126f1fc1
SM
392008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
40
41 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
42
ea92add1
RW
432008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
44
45 * process.c (Fsystem_process_attributes): Doc fix.
46
58bba807
CY
472008-09-06 Chong Yidong <cyd@stupidchicken.com>
48
49 * keyboard.c (Ftop_level): Doc fix.
50
e779d630
EZ
512008-09-06 Eli Zaretskii <eliz@gnu.org>
52
2de7397f
EZ
53 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
54 minibuffer, don't let lower part of menu invade the echo area.
55
e779d630
EZ
56 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
57 "char *q" to access menu text and advance through it. Revert the
58 change that displayed ">" instead of ASCII character 0x10.
59
dda86321
EZ
602008-09-05 Eli Zaretskii <eliz@gnu.org>
61
62 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
63 toggle boxes and radio buttons on MS-DOS as well.
64
90b3fe91
KH
652008-09-05 Kenichi Handa <handa@m17n.org>
66
67 * composite.c (autocmp_chars): Check lookback count.
68 (composition_compute_stop_pos): Set cmp_it->lookback.
69 (composition_reseat_it): Check lookback count.
70 (struct position_record): New struct.
71 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
72 (find_automatic_composition): New function.
73 (composition_adjust_point): Use find_automatic_composition.
74
75 * dispextern.h (struct composition_it): New member lookback.
76
efa09d5d
CY
772008-09-02 Chong Yidong <cyd@stupidchicken.com>
78
79 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
80 if moving by a single line.
81
7a3cddef
AS
822008-09-02 Andreas Schwab <schwab@suse.de>
83
afed2584
AS
84 * xterm.c (x_delete_display): Fix merge error.
85
7a3cddef
AS
86 * fileio.c (Fexpand_file_name): Remove unused variables.
87
9850eff5 882008-09-02 Eli Zaretskii <eliz@gnu.org>
669fa600 89
9850eff5
MB
90 * fileio.c (Fexpand_file_name): Copy argument `name' into local
91 storage on all platforms, not just on DOS_NT.
2bde1dd8 92
9850eff5 932008-09-02 Jason Rumney <jasonr@gnu.org>
2bde1dd8 94
9850eff5
MB
95 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
96 mouse is not grabbed after menu is finished.
a267ab4d 97
d7642a18
CY
982008-09-01 Chong Yidong <cyd@stupidchicken.com>
99
100 * xfaces.c (Finternal_set_alternative_font_family_alist)
101 (Finternal_set_alternative_font_registry_alist): Properly copy
102 entire alist structure.
103
fc41e69b
KH
1042008-09-01 Kenichi Handa <handa@m17n.org>
105
106 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
107 representative chars of the script is a vector.
108 (ftfont_list): Handle the case the representative chars of the
109 script is a vector.
110
111 * character.c (syms_of_character): Docstring of
112 script-representative-chars fixed.
113
e52ab6c9
EZ
1142008-08-31 Eli Zaretskii <eliz@gnu.org>
115
116 * msdos.c (BUILD_CHAR_GLYPH): New macro.
117 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
118 the menu. Allocate larger buffer for `text', to account for
119 possible ^C characters.
120
cc12456a
MR
1212008-08-31 Martin Rudalics <rudalics@gmx.at>
122
123 * xdisp.c (prepare_menu_bars): Don't call
124 Vwindow_size_change_functions with arg Qt.
125
c7c7a80c
SM
1262008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
127
128 * font.h (font_range):
129 * fileio.c (report_file_error):
130 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
131
af3e2be6
GM
1322008-08-30 Glenn Morris <rgm@gnu.org>
133
e3139144
GM
134 * data.c (Fmake_variable_frame_local): Doc fix.
135
af3e2be6
GM
136 * frame.c (Fmodify_frame_parameters): Doc fix.
137
657ceaa0
EZ
1382008-08-30 Eli Zaretskii <eliz@gnu.org>
139
32cef06e
EZ
140 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
141 needed by GetTokenInformation.
142 (w32_system_process_attributes): Check return values of all system
143 APIs.
144
b04021eb
EZ
145 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
146 only when the state changes.
7ccd1daf 147 (IT_update_begin, IT_update_end): Add termscript trace.
b04021eb 148
1b912a3b
EZ
149 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
150 clipboard is unavailable. Set dst to NULL if it doesn't point to
151 malloc'ed data.
152 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
153 passing random values to xfree.
154
657ceaa0
EZ
155 * dispnew.c (init_display): Set `tty's association in frame's
156 parameters alist to the name of the terminal device, if that is
157 known.
158
595f1870
JR
1592008-08-29 Jason Rumney <jasonr@gnu.org>
160
161 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
162
4bf84f7d
EZ
1632008-08-29 Eli Zaretskii <eliz@gnu.org>
164
77fa4db2
EZ
165 * composite.c (fill_gstring_body): Avoid compiler warnings.
166
167 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
168 LGLYPH_SET_CODE to avoid compiler warnings.
169
4bf84f7d
EZ
170 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
171
172 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
173
174 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
175 LGLYPH_SET_CODE.
176
94baaf4f
KH
1772008-08-29 Kenichi Handa <handa@m17n.org>
178
179 * fileio.c (report_file_error): Don't downcase the first character
180 of errstring if it is still unibyte.
181
24553805
KH
1822008-08-29 Kenichi Handa <handa@m17n.org>
183
184 These changes are to re-implement the automatic composition so
185 that it doesn't use text properties.
186
187 * Makefile.in (ftfont.o): Depend on composite.h.
188 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
189
190 * character.h (Vunicode_category_table): Extern it.
191
192 * character.c (Vunicode_category_table): New variable.
193 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
194
195 * chartab.c (optimize_sub_char_table): Perform more greedy
196 optimization.
197
198 * composite.h (enum composition_method): Delete
199 COMPOSITION_WITH_GLYPH_STRING.
200 (COMPOSITION_METHOD): Dont' check COMPOSITION_WITH_GLYPH_STRING.
201 (Vcomposition_function_table): Extern it.
202 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
203 (composition_gstring_put_cache, composition_gstring_from_id)
204 (composition_gstring_p, composition_gstring_width)
205 (composition_compute_stop_pos, composition_reseat_it)
206 (composition_update_it, composition_adjust_point): Extern them.
207 (Fcomposition_get_gstring): EXFUN it.
208
209 * composite.c: Include window.h, frame.h, dispextern.h font.h.
210 (Vcomposition_function_table)
211 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
212 (gstring_hash_table, gstring_work, gstring_work_headers): New
213 variables.
214 (gstring_lookup_cache, composition_gstring_put_cache)
215 (composition_gstring_from_id, composition_gstring_p)
216 (composition_gstring_width, fill_gstring_header)
217 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
218 (composition_reseat_it, composition_update_it)
219 (composition_adjust_point, Fcomposition_get_gstring): New
220 functions.
221 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
222 and gstring_work_headers. DEFVAR_LISP composition-function-table.
223 Defsubr compostion_get_gstring.
224
225 * dispextern.h (struct glyph): New union u.cmp. Delete the member
226 cmp_id.
227 (struct glyph_string): Delete the member gidx. New members
228 cmp_id, cmp_from, and cmp_to.
229 (enum it_method): Delete GET_FROM_COMPOSITION.
230 (struct composition_it): New struct.
231 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
232 Delete c, len, cmp_id, cmp_len in u.comp.
233
234 * font.h (enum lgstring_indices): Delete it.
235 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
236 (enum lglyph_indices): Likewise.
237 (font_range): Extern adjusted.
238 (font_fill_lglyph_metrics): Extern it.
239
240 * font.c (QCf): New variable.
241 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
242 (font_prepare_composition): Delete this function.
243 (font_range): Type and arguments changed.
244 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
245 (font_fill_lglyph_metrics): New function.
246 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
247 changed.
248 (syms_of_font): DEFSYM QCf. Delete defsubr for
249 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
250 Sfont_shape_gstring.
251
252 * fontset.h (font_for_char): Extern it.
253
254 * fontset.c (font_for_char): New function.
255
256 * ftfont.c: Include composite.h.
257 (ftfont_resolve_generic_family): Add langset "en" to pattern.
258 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
259 LGSTRING_LENGTH.
260
261 * indent.c: Include composite.h and dispextern.h.
87e204a2 262 (check_composition): Delete this function.
24553805
KH
263 (scan_for_column): Handle composition by
264 composition_compute_stop_pos, composition_reseat_it, and
265 composition_update_it.
266 (compute_motion): Likewise.
267 (Fvertical_motion): Fix checking of composition.
268
269 * keyboard.c (adjust_point_for_property): Check composition by
270 composition_adjust_point.
271
272 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
273 struct glyph_string.
274
275 * term.c (encode_terminal_code): Adjusted for the change of struct
276 glyph.
277 (append_composite_glyph): Adjusted for the change of struct it and
278 struct glyph.
279 (produce_composite_glyph): Likewise.
280
281 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
282 for the change of struct glyph_string.
283 (x_draw_glyph_string): Likewise.
284
285 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
286 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
287
288 * xdisp.c: Include font.h.
289 (it_props): Delete the entry for Qauto_composed.
290 (init_iterator): Initialize it->cmp_it.id to -1.
291 (compute_stop_pos): Call composition_compute_stop_pos.
292 (face_before_or_after_it_pos): Adjusted for the change of struct
293 it.
294 (handle_auto_composed_prop): Delete it.
295 (handle_composition_prop): Handle only static composition.
296 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
297 from xassert. Initialize it->cmp_it.stop_pos.
298 (push_it): Adjusted for the change of struct it.
299 (pop_it): Likewise.
300 (get_next_element): Delete next_element_from_composition.
301 (CHAR_COMPOSED_P): New macro.
302 (get_next_display_element): For automatic composition, get a face
303 from the font in the glyph-string.
304 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
305 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
306 case.
307 (next_element_from_string): Check if the character at the current
308 position is composed by CHAR_COMPOSED_P.
309 (next_element_from_buffer): Likewise.
310 (next_element_from_composition): Adjusted for the change of struct
311 it. Update it->cmp_it.
312 (dump_glyph): Adjusted for the change of struct glyph.
313 (fill_composite_glyph_string): Adjusted for the change of struct
314 it and struct glyph. Don't handle automatic composition here.
315 (fill_gstring_glyph_string): New function.
316 (x_get_glyph_overhangs): Handle automatic composition.
317 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
318 glyph.
319 (BUILD_GSTRING_GLYPH_STRING): New macro.
320 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
321 automatic composition.
322 (append_composite_glyph): Adjusted for the change of struct it and
323 struct glyph.
324 (x_produce_glyphs): Adjusted for the change of struct it.
325
326 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
327 the change of struct glyph_string.
328 (x_draw_glyph_string): Likewise.
329
05e10ad5
GM
3302008-08-29 Glenn Morris <rgm@gnu.org>
331
332 * buffer.c (word-wrap): Doc fix.
333 * xdisp.c (truncate-partial-width-windows): Doc fix.
334 Increase default to 50.
335
efe63a4b
CY
3362008-08-29 Chong Yidong <cyd@stupidchicken.com>
337
338 * xdisp.c (update_tool_bar_unwind): New function.
339 (update_tool_bar): Temporarily set selected frame before building
340 tool-bar items.
341
a8c95f1a
MA
3422008-08-28 Michael Albinus <michael.albinus@gmx.de>
343
344 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
345 snprintf, respectively.
346 (xd_append_arg): Convert strings with Fstring_make_unibyte.
347
558f81af
CY
3482008-08-28 Chong Yidong <cyd@stupidchicken.com>
349
350 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
351 LDFLAGS to GNUstep CC invocation.
352
48ce8ca7
CY
3532008-08-27 Chong Yidong <cyd@stupidchicken.com>
354
8fa97db1
CY
355 * indent.c (Fvertical_motion): Revert last change. Handle the
356 general case where we are moving forward, and PT spans multiple
357 screen lines.
358
48ce8ca7
CY
359 * eval.c (find_handler_clause): Temporarily increase
360 max-lisp-eval-depth while printing the backtrace buffer, to
361 guarantee that help-mode code can run.
362
f12dae2f
EZ
3632008-08-27 Eli Zaretskii <eliz@gnu.org>
364
365 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
366 colors under -rv.
367 (IT_set_frame_parameters): Don't swap foreground and background
368 colors if `(reverse . t)' is present in the frame properties.
fe9365b3
EZ
369 (internal_terminal_init): Call init_frame_faces only for the
370 initial frame.
f12dae2f 371
b9fb8cf0
CY
3722008-08-27 Andreas Schwab <schwab@suse.de>
373
374 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
375
dafaabd1
AS
3762008-08-27 Andreas Schwab <schwab@suse.de>
377
378 * search.c (search_buffer): Set char_base to zero only at the end.
379
6c0969ca
KH
3802008-08-27 Kenichi Handa <handa@m17n.org>
381
382 * fileio.c (report_file_error): Fix handling of multibyte error
383 string.
384
ffd1cd8a
CY
3852008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
386
387 * xterm.c (x_term_init): Temporarily hide the partially
388 initialized terminal while calling vendor-specific-keysyms.
389
2306a735
EZ
3902008-08-26 Eli Zaretskii <eliz@gnu.org>
391
392 * msdos.c (internal_terminal_init): Most initializations done only
393 once, especially initial_screen_colors[] and termscript open.
394
609849bc
CY
3952008-08-26 Chong Yidong <cyd@stupidchicken.com>
396
ba59c3a1
CY
397 * eval.c (Fcondition_case): Doc fix.
398
7d31058f
CY
399 * widgetprv.h (EmacsFramePart): Change font member to the new font
400 struct.
609849bc
CY
401
402 * widget.c: Include character.h and font.h for XSETFONT.
403 (setup_frame_gcs): Compute X font id from font struct, just once.
404
5cc67f65
EZ
4052008-08-26 Eli Zaretskii <eliz@gnu.org>
406
407 * term.c (get_named_tty): Fix last change.
408
ff73b461
CY
4092008-08-26 Chong Yidong <cyd@stupidchicken.com>
410
411 * indent.c (Fvertical_motion): If moving forward starting from a
412 multi-line string, move the iterator to the last line of that
413 string.
414
a4e628d4
EZ
4152008-08-25 Eli Zaretskii <eliz@gnu.org>
416
417 * frame.c (do_switch_frame): Mark previously displayed frame as
418 obscured for FRAME_MSDOS_P frames as well.
419
8a445f76
EZ
4202008-08-24 Eli Zaretskii <eliz@gnu.org>
421
1266f9ef
EZ
422 * frame.c (make_terminal_frame): Initialize f->terminal,
423 f->terminal->reference_count, and scroll bars on MS-DOS as well.
424 Set the top frame to newly created frame.
425 (Fmake_terminal_frame): Reuse the_only_display_info.
426
8a445f76
EZ
427 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
428 estimating available memory.
429
154c218f
CY
4302008-08-23 David Reitter <david.reitter@gmail.com>
431
54299c95
DR
432 * nsterm.m (ns_draw_window_cursor): Don't call
433 NSDisableScreenUpdates and NSEnableScreenUpdates on
434 non-NS_IMPL_COCOA systems.
435
8399d035
AS
4362008-08-23 Andreas Schwab <schwab@suse.de>
437
438 * process.c (procfs_system_process_attributes): Fix use of
439 uninitialized variables.
440
293a3986
EZ
4412008-08-23 Eli Zaretskii <eliz@gnu.org>
442
443 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
444
445 * dispnew.c (init_display): Remove MS-DOS specific conditions for
446 calling tty-set-up-initial-frame-faces.
447
448 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
449 MSDOS frames along with X frames.
450
451 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
452 addition to output_termcap.
453
454 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
455
456 * termchar.h (FRAME_TTY): Support output_msdos_raw.
457 (struct tty_display_info) [MSDOS]: Add fields related to mouse
458 highlight.
459
460 * process.c [!subprocesses]: Define QCname.
461 (syms_of_process): Intern and staticpro it.
462
463 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
464 Adjust for changes in encoding/decoding routines. Use
465 encode_coding_object and decode_coding_object instead of
466 encode_coding and decode_coding.
467
468 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
469 argument.
470
471 * dosfns.c: Include frame.h before termhooks.h.
472 (dos_cleanup): Use CURTTY ()->termscript instead of a global
473 variable termscript.
474
475 * s/msdos.h (USER_FULL_NAME): Define.
476 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
477
478 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
479 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
480 pw->pw_gecos.
481
482 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
483 SELECTED_FRAME as additional (1st) argument.
484 (tty_read_avail_input): Handle output_msdos_raw in
485 addition to output_termcap.
486
487 * msdos.c: Include frame.h before termhooks.h.
488 (mouse_on, mouse_off, mouse_moveto, mouse_init)
489 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
490 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
491 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
492 (IT_set_terminal_modes, IT_reset_terminal_modes)
493 (IT_set_frame_parameters): Use tty->termscript instead of a global
494 variable termscript.
495 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
496 global variable terminal_coding. Don't refer to
497 Vnonascii_translation_table.
498 (internal_terminal_init): Set Vwindow_system in current_kboard.
499 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
500 Announce date and time of session start, if termscript is open.
501 Don't zero out the_only_display_info (it is done in
502 term.c:init_tty). Open termscript only of not already open. Log
503 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
504 here instead of dos_ttraw. Don't initialize display if this is an
505 initial tty. Don't set FRAME_FONT.
506 (Vwindow_system_version): Bump to 23.
507 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
508 is available, set up mouse_position_hook.
509 (dos_ttraw, IT_set_terminal_modes): If called with initial
510 terminal, do nothing.
511 (IT_set_frame_parameters): Handle the Qtty_type frame
512 parameter by calling internal_terminal_init.
513 (dos_set_window_size, show_mouse_face)
514 (clear_mouse_face, IT_note_mode_line_highlight)
515 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
516 (dos_rawgetc): Use tty_display_info instead of x_display_info.
517 (initialize_msdos_display): New function.
518 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
519 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
520 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
521 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
522 Accept additional argument: a pointer to a frame. All callers
523 changed.
524 (request_sigio, unrequest_sigio): Don't define, now defined on
525 sysdep.c.
526 (IT_write_glyphs): Rewrite to use encode_terminal_code.
527
528 * term.c [MSDOS]: Include msdos.h.
529 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
530 conditional to DOS_NT. Allow only one call to this function in a
531 session. Don't allocate a new struct tty_display_info; instead,
532 reuse the_only_display_info. Call get_tty_size to get screen
533 dimensions. Call init_baud_rate to set bad_rate.
534 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
535 (Fsuspend_tty) [MSDOS]: Don't close input and output.
536 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
537 stdin/stdout.
538 (get_tty_terminal, get_named_tty, Ftty_type)
539 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
540 output_termcap.
541 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
542 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
543 only when subprocesses are supported
544
545 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
546 f->output_data.x.
547 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
548 terminal devices.
549
550 * msdos.h Remove definition of struct x_display_info and struct
551 x_output.
552 (FRAME_FONT): Use output_data.tty.
553 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
554 (struct x_display_info): Renamed from display_info. All users in
555 msdos.c changed.
556 (struct x_output): Remove background_pixel and foreground_pixel.
557 (the_only_display_info): Renamed from the_only_x_display.
558 (dos_ttraw): Update prototype.
559
560 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
561 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
562
58279503
JR
5632008-08-23 Jason Rumney <jasonr@gnu.org>
564
565 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
566 (fn_TIFFSetDirectory): New library function used.
567 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
568 (tiff_load): Use :index to select among multiple images. Set count
569 property when multiple images exist.
570 (gif_format): Use :index, not :image.
571
4b7e0869
CY
5722008-08-23 Chong Yidong <cyd@stupidchicken.com>
573
574 * xdisp.c (try_scrolling): Check INT_MAX instead of
575 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
576 to obtain INT_MAX.
577
fe0a6f3b 5782008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
a3c8694a 579
fe0a6f3b 580 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
a3c8694a 581
e0ce7c50
CY
5822008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
583
584 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
585 GNUstep library location.
586
2984624d
CY
5872008-08-21 Chong Yidong <cyd@stupidchicken.com>
588
23888717
CY
589 * xfaces.c (x_update_menu_appearance): Check validity of menu font
590 before using it.
591
2984624d
CY
592 * puresize.h (BASE_PURESIZE): Increase to 1250000.
593
f2f7f42c
AR
5942008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
595
596 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
597 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
598 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
599 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
600 (EmacsApp-cursor_blink_handler): Remove declaration.
601 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
602 match 01 Feb 2008 changes in xterm.c.
603 (ns_read_socket): Add cast to avoid warning.
604 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
605 GNUstep.
606
1eff4ab3
CY
6072008-08-20 Chong Yidong <cyd@stupidchicken.com>
608
609 * xselect.c (x_get_foreign_selection): Return nil if desired
610 selection could not be obtained, instead of signalling an error.
611
fe0a6f3b 6122008-08-20 David Reitter <david.reitter@gmail.com>
b8c63ae9 613
fe0a6f3b 614 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1eff4ab3
CY
615 * nsterm.m: Remove ns-specific code for cursor blinking.
616 (ns_draw_window_cursor): Clear cursor properly rather than
87e204a2 617 redrawing the area. Respect width of bar cursors.
1eff4ab3 618 These changes enable the use of generic blink-cursor-mode and
b8c63ae9
DR
619 generic cursor types in NS and support smooth cursor movements (do
620 not blink off after command).
1eff4ab3
CY
621 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
622 Nextstep, too.
b8c63ae9 623
86d21abc
KH
6242008-08-19 Kenichi Handa <handa@m17n.org>
625
626 * font.c (Vfont_log_deferred): New variable.
627 (font_add_log): Check Vfont_log_deferred.
628 (font_deferred_log): New funciton.
629
630 * font.h (font_deferred_log): Extern it.
631
632 * fontset.c (reorder_font_vector): Use encoding charset of fonts
633 for sorting.
634 (face_for_char): Use deferred log.
635
039d3b16
KH
6362008-08-18 Kenichi Handa <handa@m17n.org>
637
638 * fontset.c (face_for_char): Add font log.
639
640 * font.c (font_add_log): Add the font properties :script, :lang,
641 and :otf in the log.
642
e5ac2419
CY
6432008-08-17 Chong Yidong <cyd@stupidchicken.com>
644
645 * xdisp.c: Remove dead code.
646 (handle_invisible_prop, next_overlay_string): Defer call to
647 setup_for_ellipsis.
648 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
649
c2e9928d
CY
6502008-08-15 Chong Yidong <cyd@stupidchicken.com>
651
ef1fba80
CY
652 * xfaces.c (lookup_derived_face): Properly handle possible zero
653 return value of get_lface_attributes.
654 (merge_faces): Don't tell lookup_derived_face to signal an error
655 if face is not found.
656
1c319327
CY
657 * dired.c (Fdirectory_files): Doc fix.
658
c2e9928d
CY
659 * process.c (make_process): Initialize kill_without_query struct
660 member.
661
b8526f6e
EZ
6622008-08-15 Eli Zaretskii <eliz@gnu.org>
663
235661f6
EZ
664 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
665 Alternative calculation of totphys for Visual Studio 6.
666
8e764ce0
EZ
667 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
668
b8526f6e
EZ
669 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
670 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
671 All users changed.
a644b2e4
EZ
672 (stat): Only root directory passed to GetDriveType. Allow RAM
673 disk as well as local fixed disk when w32-get-true-file-attributes
674 is set to `local'.
f8b35b24
EZ
675 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
676 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
677 (w32_cached_id, w32_add_to_cache): New functions.
678 (get_name_and_id): Look account names in the cache before calling
679 lookup_account_sid.
680 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
681 New initialization flags.
682 (globals_of_w32): Initialize them to zero.
683 (w32_system_process_attributes): Use w32_cached_id and
684 w32_add_to_cache.
b8526f6e 685
f581fad6
CY
6862008-08-14 Lawrence Mitchell <wence@gmx.li>
687
688 * lread.c (Fread_char, Fread_char_exclusive): If no character
689 event is read before timeout is reached, return nil, rather than
690 converting to a number.
691
23c6bdbe
CY
6922008-08-14 Chong Yidong <cyd@stupidchicken.com>
693
6988207c 694 * fns.c (use_dialog_box): Doc fix.
97aec90a 695
23c6bdbe
CY
696 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
697 on OS X.
698
01623ee7
CY
6992008-08-13 Chong Yidong <cyd@stupidchicken.com>
700
701 * frame.c (Qns_parse_geometry): New var.
702 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
703
f00f8cb7
CY
7042008-08-11 Chong Yidong <cyd@stupidchicken.com>
705
706 * xdisp.c (x_produce_glyphs): Handle the case when font has no
707 space character in calculating tabs.
708
11d8ec4a
DN
7092008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
710
711 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
712
27bef0c8
GM
7132008-08-10 Glenn Morris <rgm@gnu.org>
714
715 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
716 silence gcc "limited range of data type" warnings in some
717 make_fixnum_or_float calls.
718
8f8b082a
EZ
7192008-08-09 Eli Zaretskii <eliz@gnu.org>
720
754a2d13
EZ
721 * w32.c (w32_system_process_attributes): If the process does not
722 exist, return nil.
723
8f8b082a
EZ
724 * w32.c: Include thelp32.h, psapi.h and coding.h.
725 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
726 declarations.
727 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
728 (Process32Next_Proc): New typedefs.
729 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
730 (g_b_init_process32_next, g_b_init_open_thread_token)
731 (g_b_init_impersonate_self, g_b_init_revert_to_self)
732 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
733 (g_b_init_get_process_working_set_size)
734 (g_b_init_global_memory_status_ex): New static variables.
735 (globals_of_w32): Initialize them.
736 (create_toolhelp32_snapshot, process32_first, process32_next)
737 (open_thread_token, impersonate_self, revert_to_self)
738 (get_process_memory_info, get_process_working_set_size)
739 (global_memory_status, global_memory_status_ex): New wrapper
740 functions.
741 (w32_list_system_processes, w32_system_process_attributes)
fe0a6f3b
JB
742 (enable_privilege, restore_privilege, ltime, process_times):
743 New functions.
8f8b082a
EZ
744 (convert_time_raw): New function.
745 (convert_time): Remove conversion of FILETIME into time in 100
746 nsec units, call convert_time_raw instead.
747
748 * process.h (w32_list_system_processes, w32_system_process_attributes):
749 Add prototypes.
750 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
751 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
752 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
753 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
754
755 * process.c (Fsystem_process_attributes): Doc fix.
756
97c98587
CY
7572008-08-08 Chong Yidong <cyd@stupidchicken.com>
758
fe0a6f3b
JB
759 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
760 a continued multi-char glyph; if so, advance to the actual glyph.
97c98587 761
48fad8e8
DN
7622008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
763
fe0a6f3b 764 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
48fad8e8
DN
765
766 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
767 (.m.o): Use it.
768 * config.in: Regenerate.
769
709fc721
CY
7702008-08-07 Chong Yidong <cyd@stupidchicken.com>
771
772 * xdisp.c (redisplay_window): Revert last change.
773 (try_window): Check bottom scroll margin too.
774
b330336c
AR
7752008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
776
777 * config.in: Regenerate.
778
779 * Makefile.in (emacs): Remove ndef NS conditional for 'emacs
780 -list-load-path-shadows'.
781 (nsgui.h): Reduce number of things depending on it.
782
b2c5015c
CY
7832008-08-06 Chong Yidong <cyd@stupidchicken.com>
784
785 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
786 instead of window-end which does the wrong thing at eob.
787 (try_cursor_movement): Minor optimization.
788 (redisplay_window): If scroll margin is defined, don't assume
789 window doesn't need scrolling.
790
55737942
AR
7912008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
792
793 * config.in: Regenerate.
794
795 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
796 (mostlyclean): Don't delete *.d under NS.
797
798 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
799
29428bb8
KH
8002008-08-06 Kenichi Handa <handa@m17n.org>
801
fe0a6f3b 802 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
29428bb8 803
5c17fc1d
AS
8042008-08-06 Andreas Schwab <schwab@suse.de>
805
806 * config.in: Regenerate.
807
cd7f53ca
CY
8082008-08-05 Chong Yidong <cyd@stupidchicken.com>
809
012fd6f4
CY
810 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
811 forcing a window start.
812
cd7f53ca
CY
813 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
814 (auto_save_1): Update modtime when auto-save-list-file-name is on.
815
3d0a4431
AR
8162008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
817
95889848 818 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3d0a4431
AR
819 argument.
820
d765e3a3
JB
8212008-08-05 Juanma Barranquero <lekktu@gmail.com>
822
823 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
824 <scroll-down-aggressively, before-change-functions>:
825 <after-change-functions>: Reflow docstrings.
826
4e622592 8272008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
8df8bcc9 828 Ken Raeburn <raeburn@gnu.org>
4e622592
AR
829
830 Dock menu customization, based on a patch by Ken Raeburn, plus some
831 other fixes.
832 * nsmenu.m (dockMenu): New variable.
833 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
834
835 * nsterm.h (dockMenu): Declare.
836
837 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
838 (ns_term_init): Initialize dockMenu.
839 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
840 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
841 left.
842
843 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
844
108a6883
CY
8452008-08-04 Chong Yidong <cyd@stupidchicken.com>
846
847 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
848
849 * config.in: Regenerate.
850
ae10f60c
SZ
8512008-08-04 Seiji Zenitani <zenitani@mac.com>
852
d765e3a3 853 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
ae10f60c 854
b537b75b
CY
8552008-08-04 Chong Yidong <cyd@stupidchicken.com>
856
857 * nsterm.h (find_and_call_menu_selection): Fix prototype.
858
14145fa3
AR
8592008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
860
861 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
862
863 * keyboard.h: Comment an #endif.
864
07b87a10
AR
865 * lisp.h (have_menus_p): Adjust comment.
866
867 * menu.c (find_and_return_menu_selection): Fix comparison with
868 client_data.
869
870 * nsmenu.m (popup_activated_flag): New variable.
871 (popup_activated): New function.
872 (menu-or-popup-active-p): New exported lisp definition.
873 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
874 when popup done.
875 (ns_popup_dialog): Set popup_activated_flag.
876
4e622592 877 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
14145fa3
AR
878 version for GNUstep (handled by conditional typedef in nsterm.m).
879 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
880 in rgb.txt).
881
882 * process.c (init_process): Use DARWIN_OS, not DARWIN.
883
884 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
885
07b87a10
AR
886 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
887
888 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
889 shortcircuit if popup_activated like GTK and X toolkit.
890
14145fa3
AR
891 * m/inter386.h: Change DARWIN to DARWIN_OS.
892
893 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
894 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
07b87a10
AR
895 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
896 comment on NO_SOCK_SIGIO.
14145fa3 897
6e09bde1
CY
8982008-08-03 Chong Yidong <cyd@stupidchicken.com>
899
14145fa3 900 * nsterm.m (windowDidResize): Remove stopModal call.
6e09bde1 901
a023b559
AS
9022008-08-03 Andreas Schwab <schwab@suse.de>
903
51757187
AS
904 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
905 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
a023b559 906
a2dec0e5
CY
9072008-08-02 Chong Yidong <cyd@stupidchicken.com>
908
909 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
910 Don't use uninitialized pointer variable when using getrlimit.
911
4ff1bf17
JR
9122008-08-02 Jason Rumney <jasonr@gnu.org>
913
4342f814 914 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
4ff1bf17 915
934e2a68
EZ
9162008-08-02 Eli Zaretskii <eliz@gnu.org>
917
0078170f
EZ
918 * alloc.c (NSTATICS): Bump to 0x640.
919
934e2a68
EZ
920 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
921
922 * lisp.h: Add prototype for directory_files_internal.
923
924 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
925 New functions.
926 (syms_of_process): Defsubr them. Add initializations for various
927 Q* symbols used in procfs_system_process_attributes.
928 (procfs_list_system_processes, procfs_system_process_attributes)
929 [HAVE_PROCFS]: New functions.
930 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
931 (procfs_get_total_memory): New functions.
932
dee8cd43
JB
9332008-08-01 Juanma Barranquero <lekktu@gmail.com>
934
935 * xfaces.c (Fx_load_color_file): Fix previous change;
936 it is #ifdef WINDOWSNT, not WINDOWS_NT.
937
367ea173
MA
9382008-08-01 Michael Albinus <michael.albinus@gmx.de>
939
940 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
941
04f33e11
AR
9422008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
943
944 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
945
73592876
CY
9462008-08-01 Chong Yidong <cyd@stupidchicken.com>
947
dee8cd43 948 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
6fcb12fd
CY
949
950 * nsterm.m (EmacsApp -application:openFiles:): GNUStep does not
951 define NSApplicationDelegateReplySuccess.
952 (EmacsView -converstationIdentifier): Use long instead of
953 NSInteger for GNUStep, since it doesn't have NSInteger.
954
61bf63e2
CY
955 * xmenu.c: Revert last change.
956
73592876
CY
957 * keyboard.h: Fix last change.
958
ebadbfa6
AR
9592008-08-01 Juanma Barranquero <lekktu@gmail.com>
960
961 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
962 on Windows.
963
15034960 9642008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
f78c2c97 965
15034960 966 Warning clearing and clean-up in NS port.
dee8cd43
JB
967 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
968 Add prototypes.
15034960
AR
969 * nsgui.h (FACE_DEFAULT): Remove, unused.
970 (XGCValues): Change colors to unsigned long.
971 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
972 nsterm.m.
973 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
974 (ns_list_fonts): Remove, unused.
975 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
976 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
977 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
978 (nsfont_draw): Compare face colors to 0, not nil.
979 * nsmenu.m (struct widget_value): Drop unneeded declaration.
980 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
981 (-addSubmenuWithTitle:): Use NSMenuItem class.
982 (ns_popup_menu): Use NO, not NULL, for enabled setting.
983 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
984 (ns_clip_to_row): Make gc arg a BOOL.
985 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
986 ns_clip_to_row() call.
987 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
87e204a2 988 used). Cast FRAME_FONT assignments.
15034960
AR
989 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
990 (ns_string_to_lispmod): Change arg to const char.
991 (ns_term_init): Use NSMenuItem class.
992 (EmacsApp -openFile:): Move to different section of file.
993 (EmacsApp -application:openFiles:): Don't return a value, call
994 -replyToOpenOrPrint:.
995 (EmacsView -keyDown:): Fix up cast.
996 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
997 (EmacsView -menuDown:): Cast tag in call to
998 find_and_call_menu_selection().
999 (ns_list_fonts): Remove, unused.
1000 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1001 (ns_fontname_to_xlfd): Make static.
dee8cd43
JB
1002 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1003 Remove prototypes (now in keyboard.h).
15034960 1004 (next_menubar_widget_id): Remove, unused.
dee8cd43
JB
1005 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1006 Remove prototypes (now in keyboard.h).
15034960
AR
1007 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1008
27ec92c9
DN
10092008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1010
f78c2c97
DN
1011 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1012 (floatfns.o): Depend on syssignal.h.
1013 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1014
dee8cd43
JB
1015 * systty.h: Fix previous change that removed BSD_TERMIOS.
1016 Add comments to #ifdefs.
27ec92c9 1017
7ded3383
AR
10182008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1019
1020 * w32fns.c (w32-load-color-file): Remove.
1021 (x-open-connection): Use renamed Fx_load_color_file.
1022 * xfaces.c (x-load-color-file): Add.
1023 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1024 Emacs.clr.
7ded3383
AR
1025 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1026
13ecc6dc
MA
10272008-07-31 Michael Albinus <michael.albinus@gmx.de>
1028
1029 * dbusbind.c (Fdbus_call_method_asynchronously)
1030 (Fdbus_method_error_internal): New defuns.
1031 (xd_read_message): Handle also reply messages.
1032 (Vdbus_registered_functions_table): Extend docstring.
1033
12063bc5
JB
10342008-07-31 Juanma Barranquero <lekktu@gmail.com>
1035
1036 * keyboard.c (gobble_input): Fix previous change.
1037
7c2fb837
DN
10382008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1039
1040 * bitmaps/README:
1041 * xfns.c:
1042 * termcap.c:
1043 * term.c:
1044 * syswait.h:
1045 * systty.h:
1046 * systime.h:
1047 * syssignal.h:
1048 * sysdep.c:
1049 * process.h:
1050 * process.c:
1051 * print.c:
1052 * ndir.h:
1053 * lread.c:
1054 * keyboard.c:
1055 * getpagesize.h:
1056 * floatfns.c:
1057 * fileio.c:
1058 * emacs.c:
1059 * doc.c:
1060 * dispnew.c:
1061 * dired.c:
1062 * data.c:
1063 * callproc.c:
1064 * buffer.c:
1065 * README:
1066 * Makefile.in:
1067 * s/template.h:
1068 * s/msdos.h:
1069 * m/vax.h: Remove VMS support.
1070 * s/vms.h:
1071 * vlimit.h:
1072 * uaf.h:
1073 * temacs.opt:
1074 * param.h:
1075 * ioctl.h: Remove file.
1076
69ab3201
DN
10772008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1078
1079 * s/ms-w32.h (MULTI_KBOARD): Remove.
1080 * xterm.c:
1081 * xselect.c:
1082 * xfns.c:
1083 * window.c:
1084 * w32term.c:
1085 * w32fns.c:
1086 * terminal.c:
1087 * termhooks.h:
1088 * term.c:
1089 * sysdep.c:
1090 * keyboard.h:
1091 * keyboard.c:
1092 * frame.h:
1093 * frame.c:
d765e3a3 1094 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
69ab3201
DN
1095 * config.in: Regenerate.
1096
bd187c49
JR
10972008-07-30 Jason Rumney <jasonr@gnu.org>
1098
12063bc5 1099 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
bd187c49 1100
12063bc5
JB
1101 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1102 (w32font_open_internal): Get unicode version of textmetrics.
1103 Don't enable or disable glyph indices here.
1104 (w32font_open): Disable use of glyph indices.
bd187c49 1105
12063bc5 1106 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
bd187c49 1107
e3072df2
CY
11082008-07-30 Chong Yidong <cyd@stupidchicken.com>
1109
39dde873 1110 * minibuf.c (Vread_buffer_function): Doc fix.
e3072df2 1111
bc850333
CY
11122008-07-30 John Paul Wallington <jpw@pobox.com>
1113
1114 * minibuf.c (read_buffer_completion_ignore_case): New var.
1115 (Fread_buffer): Use it.
1116
9d9a7716
DN
11172008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1118
1119 * systty.h (sensemode): Remove empty #if. Remove reference to
1120 BSD_TERMIOS, unused.
1121
1122 * sysdep.c: Remove reference to DGUX.
1123 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1124
1125 * config.in: Regenerate.
1126
0c34f98e
JR
11272008-07-30 Jason Rumney <jasonr@gnu.org>
1128
12063bc5 1129 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
0c34f98e 1130
c320e90a
JR
11312008-07-29 Jason Rumney <jasonr@gnu.org>
1132
12063bc5
JB
1133 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1134 is populated.
1135 (uniscribe_encode_char): Always use uniscribe.
1136 Avoid using context if cache is populated.
c320e90a 1137
3f7ead30
JD
11382008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1139
1140 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1141 open menu.
1142
1143 * gtkutil.c (menu_nav_ended): Remove.
1144 (create_menus): Remove signal connect for menu_nav_ended.
1145
639eebe2
CY
11462008-07-28 Chong Yidong <cyd@stupidchicken.com>
1147
1148 * xdisp.c (redisplay_window): Check return value of
1149 compute_window_start_on_continuation_line before forcing a window
1150 start.
1151
d1f535d2
JR
11522008-07-28 Jason Rumney <jasonr@gnu.org>
1153
0e134ea0 1154 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
9cac6313 1155
0e134ea0
JB
1156 * w32term.c (w32_enable_unicode_output, cleartype_active):
1157 Remove obsolete display options.
1158 (x_draw_glyph_string_background): Don't use old cleartype_active
1159 workaround.
1160 (w32_initialize): Remove cleartype_active initialization.
1161 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
d1f535d2 1162
ddaa36e1
AS
11632008-07-28 Andreas Schwab <schwab@suse.de>
1164
1165 * lisp.h (init_weak_hash_tables, syms_of_font)
1166 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1167 (remove_hash_entry): Don't declare.
1168 * eval.c (maybe_call_debugger): Make static and move before use.
1169 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1170 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1171 * xterm.h (x_set_frame_alpha): Declare.
1172
42ffd097
JD
11732008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1174
1175 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1176 (create_menus): Connect selection-done to menu_nav_ended.
1177
bd6ce2ba
AR
11782008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1179
1180 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1181 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1182 parameter with read of 'alpha' one.
1183 (Qns_frame_parameter): Remove.
1184 * nsselection.m (selection-coding-system)
1185 (next-selection-coding-system, Vselection_coding_system)
1186 (Vnext_selection_coding_system): Drop.
1187
583ff3c3
AR
11882008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1189
1190 * nsfns.m (do-applescript, do_applescript): Rename to
1191 ns-do-applescript, ns_do_applescript, and move within file.
1192
9e2a2647
DN
11932008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1194
1195 Remove support for Mac Carbon.
1196 * mactoolbox.c:
1197 * macterm.h:
1198 * macterm.c:
1199 * macselect.c:
1200 * macmenu.c:
1201 * macgui.h:
1202 * macfns.c:
1203 * mac.c: Remove file.
1204 * s/darwin.h:
1205 * m/intel386.h:
1206 * xfaces.c:
1207 * xdisp.c:
1208 * window.c:
1209 * tparam.c:
1210 * termhooks.h:
1211 * termcap.c:
1212 * term.c:
1213 * syssignal.h:
1214 * sysselect.h:
1215 * sysdep.c:
1216 * process.c:
1217 * lread.c:
1218 * lisp.h:
1219 * keyboard.c:
1220 * image.c:
1221 * fringe.c:
1222 * frame.h:
1223 * frame.c:
1224 * fontset.c:
1225 * font.h:
1226 * font.c:
1227 * fns.c:
1228 * fileio.c:
1229 * emacs.c:
1230 * dispnew.c:
1231 * dispextern.h:
1232 * config.in:
1233 * atimer.c:
1234 * Makefile.in: Remove code for Carbon
1235
7ad8fe5e 12362008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4874e088 1237
7ad8fe5e 1238 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
69eff41f 1239
7ad8fe5e 12402008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
69eff41f 1241
7ad8fe5e
MB
1242 * macterm.h (kCGBitmapByteOrder32Host): New define for
1243 non-universal SDKs.
69eff41f 1244
7ad8fe5e
MB
1245 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1246 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
dcdbbb5d 1247
7ad8fe5e
MB
1248 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1249 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
dcdbbb5d 1250
7ad8fe5e 12512008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
09721b31 1252
0e134ea0 1253 * w32inevt.c: Include dispextern.h.
09721b31 1254
51dc79f8
AS
12552008-07-26 Andreas Schwab <schwab@suse.de>
1256
1257 * print.c (print_object): Fix off-by-one in last change.
1258
dea101f6
JB
12592008-07-25 Juanma Barranquero <lekktu@gmail.com>
1260
1261 * term.c (syms_of_term): Don't initialize default_orig_pair,
1262 default_set_foreground and default_set_background on Windows.
1263
11856d4d
JR
12642008-07-25 Jason Rumney <jasonr@gnu.org>
1265
0e134ea0
JB
1266 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1267 ScriptItemize. Clean up return value checking. Remove unused
1268 variables.
1269 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1270 shaping engine.
11856d4d 1271
0e134ea0
JB
1272 * w32font.c (w32font_has_char): Handle the case where we can't
1273 determine the script for a character.
11856d4d 1274
7bfc0e9e
CY
12752008-07-25 Chong Yidong <cyd@stupidchicken.com>
1276
acdadb15
CY
1277 * term.c (syms_of_term): Initialize default_orig_pair,
1278 default_set_foreground, and default_set_background.
1279
5efc6200
CY
1280 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1281 clash (bug#86).
1282 (getloadavg): Callers changed.
1283
7bfc0e9e 1284 * image.c (svg_load_image): Fix last change.
c01c4e35
CY
1285 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1286 image size is valid. Use g_object_unref instead of deprecated
1287 rsvg_handle_free to free rsvg handle.
9d7112ed 1288 (x_from_xcolors): Don't initialize pixmap (silence compiler).
7bfc0e9e 1289
f31cf550
JR
12902008-07-25 Jason Rumney <jasonr@gnu.org>
1291
0e134ea0
JB
1292 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1293 surrogates before looking up glyph index.
1294 (w32font_text_extents): Encode as surrogates if falling back to
1295 functions that need UTF-16 wide chars.
f31cf550 1296
0e134ea0
JB
1297 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1298 BMP as surrogates before looking up glyph index.
f31cf550 1299
b293d659
CY
13002008-07-25 Chong Yidong <cyd@stupidchicken.com>
1301
1302 * image.c (svg_load_image): Check for failure in return value of
1303 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1304
1ada3dab
JR
13052008-07-25 Jason Rumney <jasonr@gnu.org>
1306
0e134ea0 1307 * w32font.c (Fx_select_font): Reverse sense of second arg.
1ada3dab 1308
dbc812e0
SM
13092008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1310
6449674e
SM
1311 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1312 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1313
dbc812e0
SM
1314 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1315 (PURESIZE): Use it.
1316
67725bd8
DN
13172008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1318
340074e9
DN
1319 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1320 * m/alpha.h (TEXT_END):
1321 * m/ibmrs6000.h (TEXT_END):
1322 * m/macppc.h (TEXT_END):
1323 * s/darwin.h (TEXT_END):
1324 * s/msdos.h (TEXT_END): Remove, unused.
1325 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1326 * s/cygwin.h: Remove comment.
1327
a11af7f8
DN
1328 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1329 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1330 * m/intel386.h (DOT_GLOBAL_START):
1331 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1332 (USG): Remove, file not used on USG platforms.
1333
67725bd8
DN
1334 * Makefile.in (HAVE_X11): Remove empty #else.
1335
6420e80c
AS
13362008-07-24 Andreas Schwab <schwab@suse.de>
1337
1338 * fileio.c (Finsert_file_contents): Properly adjust undo list
1339 after format conversion.
1340
d1c38b57
JD
13412008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1342
1343 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1344 (menu_nav_ended): Remove.
1345 (create_menus): Remove signal connect for menu_nav_ended.
1346 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1347 create_menus.
1348 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1349
597634cb
JR
13502008-07-23 Jason Rumney <jasonr@gnu.org>
1351
dbc812e0
SM
1352 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
1353 with opened font.
1354 (w32font_open): Set font type to gdi.
4b135503 1355
dbc812e0 1356 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
597634cb 1357
7c799cf5
DN
13582008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
1359
7a14f2a0
DN
1360 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
1361 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
1362 defines it.
1363 * unexec.c (ADDR_CORRECT): Define unconditionally.
1364
1365 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
1366
f914a6bf
DN
1367 * unexec.c: Remove code depending on !COFF and USG, the file is
1368 not used for such systems.
1369
268b24ee
DN
1370 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
1371 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
1372 (LD_SWITCH_SYSTEM_1): Remove, update users.
1373
911109b1
DN
1374 * s/darwin.h (DATA_END):
1375 * m/intel386.h (DATA_END):
1376 * m/ibmrs6000.h (DATA_END):
1377 * m/alpha.h (DATA_END): Remove, unused.
911109b1 1378
77ccee09
DN
1379 * config.in: Regenerate.
1380 * s/ms-w32.h (subprocesses): Define unconditionally.
1381 * s/template.h (subprocesses): Update comment.
1382 * s/vms.h (subprocesses):
1383 * s/usg5-4.h (subprocesses):
1384 * s/hpux10-20.h (subprocesses):
1385 * s/gnu-linux.h (subprocesses):
1386 * s/cygwin.h (subprocesses):
1387 * s/bsd-common.h (subprocesses):
1388 * s/aix4-2.h (subprocesses):
1389 * s/darwin.h (subprocesses): Do not define, defined by default now.
1390
1391 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
1392 Remove all references.
1393 (temacs): Add GNUStep specific ld flags.
1394
7c799cf5
DN
1395 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
1396 similarly to what X does.
1397
712b2de1
AR
13982008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1399
1400 * nsfns.m (x-list-fonts): Remove.
1401 (syms_of_nsfns): Drop the x-list-fonts declaration.
1402 * nsterm.m: Get rid of remaining "//" comments.
1403
0d4e1b5f
CY
14042008-07-22 Chong Yidong <cyd@stupidchicken.com>
1405
1406 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
1407
1408 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
1409 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
1410 (Fns_own_selection_internal, Fx_disown_selection_internal)
1411 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
1412
1413 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
1414 ... */' style of docstrings. Doc fixes.
1415
952913d4
DN
14162008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1417
0ecc3474 1418 * terminfo.c (UP, BC, PC): Undo previous change.
0d4e1b5f 1419
952913d4
DN
1420 * nsfns.m: Rename ns prefixed functions/variables to the
1421 corresponding x versions. Update references.
1422
02d8b017
SM
14232008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
1424
1425 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
1426
11b8fe14
DN
14272008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1428
02d8b017
SM
1429 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
1430 Remove forwarding functions.
cc98b6a0
DN
1431 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
1432 non-static.
1433 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
1434 non-static.
1435 (ns_frame_parm_handlers): Use the new names.
1436 (syms_of_nsfns): Move to the end of file.
1437
1baa6236
DN
1438 * nsterm.m (syms_of_nsterm): Move to the end of file.
1439
11b8fe14
DN
1440 * dispnew.c (init_display): Remove code for X10.
1441
8dcaeba2
JR
14422008-07-22 Jason Rumney <jasonr@gnu.org>
1443
02d8b017
SM
1444 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
1445 bare drive.
8dcaeba2 1446
365bac35
AR
14472008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1448
1449 * nsterm.m (syms_of_nsterm): Remove debugging println.
1450
6a0f0f86
DR
14512008-07-22 David Reitter <david.reitter@gmail.com>
1452
a3c83618 1453 * nsfns.m (do_applescript, F_do_applescript): NS version of the
6a0f0f86
DR
1454 Carbon implementation of the same functionality: execute arbitrary
1455 AppleScript code.
1456
51d5ef9f
AR
14572008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1458
a3c83618 1459 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
51d5ef9f
AR
1460 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
1461 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1462 (Fx_display_mm_height, Fx_display_mm_width)
1463 (Fx_display_backing_store, Fx_display_visual_class)
1464 (Fx_display_save_under, Fx_open_connection)
1465 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
1466 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
1467 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1468 (Fx_display_pixel_width, Fx_display_pixel_height)
1469 (Fx_display_usable_bounds, Fx_display_planes)
1470 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
1471 ... */' style of docstrings.
1472
6efac844
DN
14732008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
1474
b8ff87cc
DN
1475 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
1476 on this platform.
1477 (mips):
1478 * m/iris4d.h (mips): Do not define.
1479 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
1480
92d1a7a3
DN
1481 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
1482
de08d1be
CY
1483 * image.c:
1484 * nsfns.m:
1485 * nsselect.m:
1486 * nsterm.h:
9e50ff0c
DN
1487 * nsterm.m: Rename ns prefixed functions/variables to the
1488 corresponding x versions. Update references.
1489
ff486501
DN
1490 * m/ibms390x.h (NO_REMAP): Do not undefine.
1491
6efac844
DN
1492 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
1493
ea9de876
CY
14942008-07-21 Chong Yidong <cyd@stupidchicken.com>
1495
1496 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
1497 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
1498 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
1499 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
1500 (Fns_display_mm_height, Fns_display_mm_width)
1501 (Fns_display_backing_store, Fns_display_visual_class)
1502 (Fns_display_save_under, Fns_open_connection)
1503 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
1504 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
1505 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1506 (Fns_display_pixel_width, Fns_display_pixel_height)
1507 (Fns_display_usable_bounds, Fx_display_planes)
1508 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
1509
b42f4115 15102008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3965adab
CY
1511
1512 * print.c (print_object): Check print_depth before searching for
1513 circularities.
1514
c0894fb9
MA
15152008-07-21 Michael Albinus <michael.albinus@gmx.de>
1516
1517 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
1518 only sprintf.
1519
d90bfd1c
KH
15202008-07-21 Kenichi Handa <handa@m17n.org>
1521
1522 * ftfont.c (adjust_anchor): Check if DetalValue is not NULL.
1523
8e2911c2
AS
15242008-07-20 Andreas Schwab <schwab@suse.de>
1525
1526 * syntax.c (find_start_pos, find_start_value)
1527 (find_start_value_byte, find_start_begv, find_defun_start)
dbc812e0 1528 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
8e2911c2 1529
98a01702
DN
15302008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1531
1532 * s/sol2-3.h: Insert contents of s/sol2.h.
1533 (LD_SWITCH_SYSTEM): Remove redundant definition.
1534 * s/sol2.h: Remove, unused.
1535
704a3a2d
AR
15362008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1537
dbc812e0 1538 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
704a3a2d
AR
1539
15402008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
e5e2baab
AR
1541
1542 * Makefile.in (ns_appdir): Fix typo in find command.
1543
89f1e540
DN
15442008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1545
c788afce
DN
1546 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
1547
89f1e540
DN
1548 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
1549 added not supported anymore.
1550
e5e2baab 1551 * s/usg5-4-2.h (LIBS_SYSTEM):
89f1e540
DN
1552 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
1553
1554 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1555 * s/lynxos.h (GETPGRP_NO_ARG):
1556 * s/hpux10-20.h (NO_SIOCTL_H):
1557 * s/gnu.h (GETPGRP_NO_ARG):
1558 * s/gnu-linux.h (NO_SIOCTL_H):
1559 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1560 * s/cygwin.h (GETPGRP_NO_ARG):
1561 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
1562 (C_DEBUG_SWITCH): Remove duplicate definition.
1563
1564 * m/ibms390.h: Remove boilerplate comments.
1565
1566 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
1567
1568 * process.c (HAVE_SERIAL): Consolidate ifdefs.
1569 (wait_reading_process_output): Remove code for SunOS, platform not
1570 supported anymore. Use SOLARIS2 instead of sun.
1571
ed96cde8
AR
15722008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1573
1574 * font.c (font_open_by_name): Under NS, default lface height to zero.
1575 (font_open_for_lface): Under NS, set size based on frame fontsize.
1576 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
1577 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
1578
15792008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1580
1581 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
1582 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
1583 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
1584 YES/NO.
1585 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
1586 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
1587 * Makefile.in (clean): Clear out build destination dir.
1588
5a2d7ab6
AR
15892008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1590
1591 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
1592 xterm, xselect.
1593 * lisp.h: Remove declaration of hash_remove.
1594 * nsgui.h: Remove redefinitions of hash_remove.
1595 * fns.c (hash_remove): Rename to hash_remove_from_table.
1596
8df8bcc9 15972008-07-19 Seiji Zenitani <zenitani@mac.com>
c0230162
AR
1598
1599 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
8df8bcc9 1600 strdup() the family UTF8String before modifying it.
c0230162 1601
45d325c4
AR
16022008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1603
45d325c4
AR
1604 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
1605 NS_FACE_BACKGROUND with 0 instead of nil.
1606 * nsfont.m (nsfont_draw): Same.
1607
8df8bcc9
GM
16082008-07-19 Chong Yidong <cyd@stupidchicken.com>
1609
1610 * nsfns.m (ns_set_background_color): Fix crash.
1611
b83f1cd0
CY
16122008-07-18 Chong Yidong <cyd@stupidchicken.com>
1613
1614 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
1615
add4eecc
DN
16162008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
1617
1618 * puresize.h (BASE_PURESIZE): Increase to 1240000.
1619
69955d31
YM
16202008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1621
1622 * gtkutil.c: Include <config.h> instead of "config.h".
1623
1624 * lisp.h (Foverlay_buffer): Add EXFUN.
1625
1626 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
1627 child process to complete child_setup. Undo 2005-09-21 change.
1628
1629 * s/darwin.h: Mention setsid after vfork.
1630
08b3caa9 16312008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2d64e9bb
YM
1632
1633 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
1634 Depend on macgui.h.
1635
1636 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
1637 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
1638
1639 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
1640 and f19.
1641 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
1642
1643 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
1644 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
1645 Remove enumerators.
1646
1647 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
1648 Check if FACE_FROM_ID returns NULL.
1649
8d59c5ed
JR
16502008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
1651
ba60bd44
JB
1652 * w32inevt.c (change_frame_size): Remove extern declaration.
1653 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
1654 change_frame_size.
8d59c5ed 1655
ba60bd44 16562008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
db94bf9c
AR
1657
1658 * getloadavg.c: Revert last change (2008-07-15).
1659
ba60bd44 16602008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
06b62770
AR
1661
1662 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
1663 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
1664 from configure.
1665
2749d28e
DN
16662008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
1667
35ad0545
DN
1668 * s/sol2.h:
1669 * s/sol2-4.h: Reorganize conditionals.
1670
2749d28e
DN
1671 * ecrt0.c: Remove code depending on m68000, not used anymore.
1672
1673 * fns.c (hash_remove): Make static.
1674 * lisp.h (hash_remove): Don't prototype.
1675
1676 * m/ibmrs6000.h:
1677 * m/ibms390x.h:
1678 * m/macppc.h: Remove boilerplate comments.
1679
1680 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
1681 Solaris, which does not need them.
1682
1683 * m/vax.h: Remove comments about unsupported systems.
1684
1685 * s/darwin.h: Reorganize ifdefs.
1686
32cc3925
AS
16872008-07-17 Andreas Schwab <schwab@suse.de>
1688
1689 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
1690
facfbbbd
SM
16912008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
1692
1693 Use SDATA. Follow coding convention of placing operators at
1694 beginning of next line rather than end of previous line, and placing
1695 spaces around infix operators.
1696
1697 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
1698 in case it was defined already.
1699 USE @GNUSTEP_MAKEFILES@ rather than envvars.
1700 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
1701 ns_default.
1702 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
1703 Lisp_Objects.
1704 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
1705 (ns_defined_color, ns_color_to_lisp): Declare.
1706 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
1707 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
1708 it's accepted even with USE_LISP_UNION_TYPE.
1709 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
1710 (update_frame_tool_bar): Remove apparently obsolete tests for
1711 non-integerness of f->tool_bar_lines.
1712 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
1713 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
1714 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
1715 (nsfont_open): Don't confuse NULL for Qnil.
1716 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
1717 * menu.h (find_and_call_menu_selection):
1718 * menu.c (find_and_call_menu_selection): Use just int for vector size.
1719 (find_and_return_menu_selection): Always return something.
1720 * frame.h: Include dispextern.h for Display_Info.
1721 (display_x_get_resource): Declare.
1722
ba60bd44 17232008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
122e9f8f
AR
1724
1725 * syntax.c: Remove stdio.h include accidentally introduced in
1726 Emacs.app commit.
1727 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
1728 NS_IMPL_COCOA.
1729 * keyboard.c (handle_async_input, input_available_signal): Remove
1730 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
1731
0bcfd7d7
SM
17322008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1733
6882361b
SM
1734 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
1735 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
1736 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
1737 Use SDATA.
1738
0bcfd7d7
SM
1739 * keymap.c: Remove all NS-specific code.
1740 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
1741 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
1742 where_is_preferred_modifier, return a different value depending on how
1743 preferred is the binding.
1744 (where_is_internal): Adjust accordingly.
1745 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
1746 Adjust to new preferred_sequence_p.
1747 (syms_of_keymap): Declare `where-is-preferred-modifier'.
1748 * keyboard.c (parse_solitary_modifier): Not static any more.
1749 * keyboard.h (parse_solitary_modifier): Declare.
1750
720f3147
AS
17512008-07-16 Andreas Schwab <schwab@suse.de>
1752
1753 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
1754 of easymenu.
1755
01e19fea
CY
17562008-07-16 Chong Yidong <cyd@stupidchicken.com>
1757
1758 * xdisp.c (move_it_in_display_line): Account for word wrap, so
1759 that we don't move off the line.
1760
4c89a3e0
SM
17612008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
1762
1763 * keyboard.c (Qsuper): Remove.
1764 (parse_menu_item): Don't call where_is_internal specially for NS.
1765
586b975c
DN
17662008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1767
3ec8ef33
DN
1768 * s/gnu-linux.h: Remove boilerplate comments.
1769
d4d080b6
DN
1770 * m/alpha.h (__ELF__): Consolidate conditions.
1771
7ab56cc4
DN
1772 * m/m68k.h (linux): Use GNU_LINUX instead.
1773 Remove boilerplate comments.
1774
586b975c 1775 * m/intel386.h: Undo reactoring from previous change.
7ab56cc4
DN
1776 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
1777 too, remove dead code.
1778 (linux): Use GNU_LINUX instead.
586b975c 1779
5cc9d48a
JR
17802008-07-16 Jason Rumney <jasonr@gnu.org>
1781
4c89a3e0 1782 * w32gui.h: Repeat 26 June changes lost by last change.
5cc9d48a 1783
6b0273cd
DN
17842008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
1785
132d0475
DN
1786 * systty.h: Remove code for Aix on 386, unsupported platform.
1787
1788 * s/ms-w32.h: Remove boilerplate comments.
1789 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
1790
1791 * s/gnu-linux.h (TERM): Remove support.
1792 (HAVE_SYSVIPC): Remove, unused.
1793 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
1794 for this system.
1795
1796 * process.c: Remove support for IRIS, unused.
1797 Remove support for TERM, not relevant anymore.
1798
1799 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
1800 used with the definition.
1801
1802 * s/aix4-2.h (static): Do not undef.
1803
1804 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
1805 only used on Aix.
1806 (HAVE_SYSVIPC): Remove, unused.
1807
1808 * m/hp800.h (CANNOT_DUMP): Do not undef.
1809
1810 * m/alpha.h: Fix comment.
1811
8111c2d8
DN
1812 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
1813 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
1814 used by this configuration.
1815 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
1816 * unexec.c: Remove code depending on HPUX and
1817 USG_SHARED_LIBRARIES, not used with this file. Remove code
1818 depending on IRIS, unused. Remove if 0-ed code.
1819
e9a57a88
DN
1820 * s/template.h: Remove comments about static.
1821
4c89a3e0
SM
1822 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
1823 Remove if 0-ed code.
c7607b94
DN
1824 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
1825 were the same as the default.
1826 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
1827 Remove boilerplate comments.
1828 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
1829 (HAVE_SYSVIPC): Remove, unused.
1830 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
1831
ff841b30
DN
1832 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1833 Remove boilerplate comments.
1834 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1835 Remove boilerplate comments.
1836 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
1837 Remove boilerplate comments.
1838 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
1839
586b975c
DN
1840 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
1841 USG systems which do not use DATA_SEG_BITS.
1842 Refactor code. Remove boilerplate comments.
1843
dc89925b 1844 * m/ibms390.h:
dc89925b
DN
1845 * m/m68k.h:
1846 * s/bsd-common.h:
1847 * s/cygwin.h:
1848 * s/darwin.h:
1849 * s/freebsd.h:
1850 * s/gnu.h:
1851 * s/msdos.h: Remove boilerplate comments.
1852
96b72211
DN
1853 * m/iris4d.h: Remove boilerplate comments and code for systems that
1854 do not use this file.
1855 (IRIS_4D): Remove, unused.
1856
c3b5f109
DN
1857 * m/mips.h: Remove boilerplate comments and code for systems that
1858 do not use this file.
96b72211 1859 (SIGN_EXTEND_CHAR):
c3b5f109
DN
1860 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
1861 * unexmips.c: Remove file, unused.
1862
6b0273cd
DN
1863 * editfns.c (Fuser_full_name): Replace the only use of
1864 USER_FULL_NAME with its value.
1865 * config.in: Regenerate.
1866
ba60bd44 18672008-07-16 David Reitter <david.reitter@gmail.com>
6fbcfb6f 1868
ba60bd44
JB
1869 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
1870 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6fbcfb6f 1871
44ac2d3e
GM
18722008-07-16 Glenn Morris <rgm@gnu.org>
1873
1874 * emacs.c (system-type): Doc fix.
1875
0a170079
SM
18762008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
1877
1878 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
1879 If the cache doesn't work, let's fix it, rather than work around it.
1880
ba60bd44 18812008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
a68fda4a
AR
1882
1883 * Makefile.in: Correct additions for nsfont.o in last commit.
1884 * nsfont.m: New file (forgot last commit).
1885
8df8bcc9
GM
18862008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1887
1888 * callproc.c (set_initial_environment): Initialize
1889 Vprocess_environment under CANNOT_DUMP (fixes crash when
1890 batch-compiling for bootstrap).
1891
18922008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
1893 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1894
1895 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
1896 fix crash due to different init order.
1897
ba60bd44 18982008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
edfda783
AR
1899
1900 Changes and additions for NeXTstep windowing system (Cocoa and
1901 GNUstep) support.
1902
ba60bd44 1903 * Makefile.in:
edfda783
AR
1904 * config.in: Support defines and build commands for NS port.
1905 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
1906 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
edfda783
AR
1907 * dispextern.h: Include nsgui.h and add needed typedefs under NS
1908 windowing.
1909 (struct face): Add synth_ital field.
1910 * dispnew.c: Include nsterm.h when compiling under NS windowing.
1911 (init_display): Initialize Vinitial_window_system to "ns" when so
1912 compiled.
1913 * emacs.c: Include GSConfig.h when compiling under GNUstep.
1914 (display_arg): Use under NS.
1915 (main): Under NS, allocate autorelease pool and handle command line
1916 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
1917 (standard_args): Add NS-specific args.
1918 (shut_down_emacs): Shut down NS terminal if compiled under NS.
1919 * font.c (DEFAULT_ENCODING): New variable.
1920 (font_find_for_lface): Use it.
1921 (syms_of_font): Load syms_of_nsfont under NS.
1922 * font.h: Declare nsfont_driver when compiled under NS.
1923 * fontset.c: When compiling under NS, include nsterm.h.
1924 (fontset_from_font): Autoconstruct fontset under NS.
1925 * frame.c (various): Under NS, include nsterm.h, add Qns window system
1926 symbol, document and use it.
edfda783
AR
1927 (do_switch_frame): When for_deletion under Cocoa, add
1928 Fraise_frame(Qnil).
1929 (x_set_frame_parameters): Ensure font attribute changes are picked up.
1930 (x_get_arg): Allow "yes" and "no" as boolean values.
1931 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
1932 Qright under Cocoa.
1933 (focus-follows-mouse): Default to 0 under NS.
1934 * frame.h (enum output_method): Add output_ns.
1935 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
1936 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
1937 (FRAME_WINDOW_P): NS-specific definition.
1938 * fringe.c (max_used_fringe_bitmap): Make public.
1939 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
1940 (getloadavg): Use NeXT code under descendant OS's.
1941 * image.c (includes and header section, x_create_bitmap_from_data)
1942 (x_create_bitmap_from_file, free_bitmap_record, image_background)
1943 (image_background_transparent, x_clear_image_1)
1944 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
1945 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
1946 (x_to_xcolors, x_from_xcolors, x_disable_image)
1947 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
1948 other GUIs, including XPM support using code originally written for
1949 Carbon GUI.
0a170079 1950 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
edfda783
AR
1951 using NS API.
1952 (image_ascent): Use font metrics macros instead of direct struct field
1953 access.
1954 * keyboard.c (includes): Add nsterm.h when compiling under NS.
1955 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
1956 Also, handle NS as GTK for menu bar purposes.
1957 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
1958 toolkit where they differ.
1959 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
1960 use cachelist, still needed under NS.
6ddc6cca 1961 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
edfda783
AR
1962 (struct widget_value): Define it here for menu.c.
1963 * keymap.c (includes): Include modifier internals.
1964 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
1965 NS.
1966 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
1967 support for preferring sequences using certain modifiers, specified by
1968 the FIRSTONLY argument.
1969 * lisp.h (hash_remove): Rename to avoid name clash when compiling
1970 under NS GNUstep implementation.
1971 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
1972 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
1973 * menu.c: Include nsterm.h under NS.
1974 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
1975 (free_menubar_widget_tree_value, update_submenu_strings)
1976 (find_and_call_menu_selection): Treat NS as X and NT.
1977 (find_and_return_menu_selection): New function, used for popup menus.
ba60bd44
JB
1978 * nsgui.h:
1979 * nsterm.h:
1980 * nsfns.m:
1981 * nsimage.m:
1982 * nsmenu.m:
1983 * nsselect.m:
edfda783
AR
1984 * nsterm.m: New files.
1985 * process.c (wait_reading_process_output): Under NS, call ns_select()
1986 instead of plain select().
1987 * syntax.c (char_quoted): Under NS, avoid a crash when called near
1988 beginning of buffer.
1989 * sysselect.h (init_process): Rename when compiling under Cocoa to
1990 avoid name conflict.
1991 * termhooks.h (display_info): Add ns_display_info to union.
1992 * terminal.c (Fterminal_live_p): Add ns to terminal types.
1993 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
1994 COCOA environment.
1995 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
1996 unexec() signature. (Note, this will dump, but the resulting file
1997 crashes; unexosx is used instead; keeping around for reference and
1998 possible aid in getting dump working under GNUstep.)
1999 * w32gui.h (button_type, widget_value): Remove definitions (now in
2000 keyboard.h).
2001 * window.c: Include nsterm.h when compiling under NS.
2002 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2003 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2004 other GUI windowing systems.
2005 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2006 GTK.
2007 (x_consider_frame_title): Under NS, set icon type and frame
2008 modified-state indicator; use ns_set_name_as_filename() when using
2009 formatted title.
2010 (update_window_cursor): Make public when compiling under NS.
2011 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2012 (hourglass_atimer, Vhourglass_delay
2013 * xfaces.c (header section, init_frame_faces, clear_font_table)
2014 (defined_color, unload_color, x_face_list_fonts)
6ddc6cca
SM
2015 (prepare_face_for_display): Add NS support parallel to other GUIs.
2016 Emulate GCs like other non-X GUIs.
edfda783
AR
2017 (split_font_name): Don't lowercase font name under NS.
2018 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2019 under NS.
2020 * s/darwin.h: Add support for compilation under NS.
2021
1391cd54
JR
20222008-07-15 Jason Rumney <jasonr@gnu.org>
2023
6ddc6cca
SM
2024 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2025 (w32_show_hourglass): Rename from show_hourglass.
2026 (w32_hide_hourglass): Rename from hide_hourglass.
2027 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2028 (Vhourglass_delay): Declare extern.
2029 (hourglass_started): Remove.
1391cd54 2030
6ddc6cca
SM
2031 * xdisp.c (Vhourglass_delay): Remove static.
2032 (hourglass_started, start_hourglass, cancel_hourglass):
2033 Don't include these versions on WINDOWSNT.
1391cd54 2034
1885ab29
AR
20352008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2036
6ddc6cca 2037 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
20d6dc02 2038 variables (formerly in xfns.c).
1885ab29
AR
2039 (show_hourglass, hide_hourglass): New prototypes (same).
2040 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2041 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
20d6dc02 2042 in xfns.c).
1885ab29
AR
2043 (syms_of_xdisp): Declare/initialize display-hourglass,
2044 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2045 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
20d6dc02 2046 formerly in xfns.c.
1885ab29
AR
2047 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2048 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2049 (start_hourglass, cancel_hourglass): Remove.
2050 (show_hourglass, hide_hourglass): Remove prototypes and static
2051 modifiers.
2052 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2053 hourglass_atimer, hourglass_shown_p declaration/initialization.
2054 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2055 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2056 (start_hourglass, cancel_hourglass): Remove.
2057 (show_hourglass, hide_hourglass): Remove prototypes and static
2058 modifiers.
2059 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2060 hourglass_atimer, hourglass_shown_p declaration/initialization.
2061 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2062 (DEFAULT_HOURGLASS_DELAY): Remove.
2063 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2064 hourglass_shown_p declaration/initialization.
2065
3faa984f
JR
20662008-07-14 Jason Rumney <jasonr@gnu.org>
2067
6ddc6cca
SM
2068 * w32fns.c (w32_get_arg): Remove wrapper function.
2069 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2070 directly.
2071 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3faa984f 2072
2f73901f
KH
20732008-07-14 Kenichi Handa <handa@m17n.org>
2074
2075 * xfont.c (xfont_open): Add workaround for X's bug.
2076
11da284d
KH
20772008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2078
2079 * fontset.c: Include <stdio.h> unconditionally.
2080
944cc4a8
MA
20812008-07-13 Michael Albinus <michael.albinus@gmx.de>
2082
2083 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2084 for filtering.
2085
bdee2ef3
DN
20862008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2087
2088 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2089
2090 * m/macppc.h:
2091 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2092
2093 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
944cc4a8
MA
2094 (SPECIAL_EMACS_INT):
2095 * m/ia64.h (SPECIAL_EMACS_INT):
bdee2ef3
DN
2096 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2097 * s/gnu.h (NLIST_STRUCT):
4342f814 2098 * s/aix4-2.h (X11R5_INHIBIT_I18N):
bdee2ef3
DN
2099 * s/gnu-linux.h (LINUX):
2100 * s/msdos.h (HAVE_FACES):
2101 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2102
944cc4a8 2103 * systty.h:
bdee2ef3
DN
2104 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2105 anymore.
2106
bba104c1
DN
21072008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2108
2109 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2110 always defined as int.
2111
2112 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2113 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2114 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2115 * s/freebsd.h (HAVE_WAIT_HEADER):
2116 * s/bsd-common.h (HAVE_UNION_WAIT):
2117 * s/aix4-2.h (HAVE_WAIT_HEADER):
2118 * m/mips.h (HAVE_UNION_WAIT):
2119 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2120 (COFF, static): Do not define, they are undefined later in the file.
2121
2122 * process.c (update_status): Don't use a union.
2123 (status_convert):
2124 (sigchld_handler): Use int instead of WAITTYPE.
2125
e433031a
CY
21262008-07-12 Chong Yidong <cyd@stupidchicken.com>
2127
2128 * indent.c (Fvertical_motion): Restore hscroll before moving to
2129 goal column.
2130
3bfb4d48
DN
21312008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2132
2133 * lisp.h: Remove left over code.
2134
e7c9048f
AS
21352008-07-11 Andreas Schwab <schwab@suse.de>
2136
7e770c85
AS
2137 * lisp.h: Fix logic in last change.
2138
e7c9048f
AS
2139 * menu.h: New file.
2140 * menu.c: Include it.
2141 * xmenu.c: Likewise.
2142 * Makefile.in: Update dependencies.
2143
38aaf336
KH
21442008-07-11 Kenichi Handa <handa@m17n.org>
2145
2146 * fontset.c (fontset_from_font): Cancel the previous change.
2147
6e5cb96f
DN
21482008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2149
2150 * lisp.h:
2151 * w32heap.c:
2152 * emacs.c:
2153 * alloc.c: Replace all references of NO_UNION_TYPE with
2154 USE_LISP_UNION_TYPE.
2155
2156 * m/xtensa.h (NO_UNION_TYPE):
2157 * m/vax.h (NO_UNION_TYPE):
2158 * m/template.h (NO_UNION_TYPE):
2159 * m/sparc.h (NO_UNION_TYPE):
2160 * m/mips.h (NO_UNION_TYPE):
2161 * m/macppc.h (NO_UNION_TYPE):
2162 * m/m68k.h (NO_UNION_TYPE):
2163 * m/iris4d.h (NO_UNION_TYPE):
2164 * m/intel386.h (NO_UNION_TYPE):
2165 * m/ibms390x.h (NO_UNION_TYPE):
2166 * m/ibms390.h (NO_UNION_TYPE):
2167 * m/ibmrs6000.h (NO_UNION_TYPE):
2168 * m/ia64.h (NO_UNION_TYPE):
2169 * m/hp800.h (NO_UNION_TYPE):
2170 * m/arm.h (NO_UNION_TYPE):
2171 * m/amdx86-64.h (NO_UNION_TYPE):
2172 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2173 defining it the same.
2174
e0f47a68
CY
21752008-07-10 Chong Yidong <cyd@stupidchicken.com>
2176
ba60bd44 2177 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
e0f47a68 2178
c5e7567d
DN
21792008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2180
4342f814
JB
2181 * fileio.c:
2182 * sysdep.c
2183 * systty.h:
2184 * m/ibmrs6000.h:
2185 * m/iris4d.h:
2186 * s/aix4-2.h:
2187 * s/freebsd.h:
2188 * s/gnu-linux.h:
2189 * s/hpux10-20.h:
2190 * s/hpux11.h:
2191 * s/netbsd.h:
2192 * s/sol2-3.h:
2193 * s/sol2-4.h:
2194 * s/sol2.h:
2195 * s/usg5-4.h:
2196 * s/vms.h: Remove references to unused variables.
c5e7567d 2197
bb658864
AS
21982008-07-10 Andreas Schwab <schwab@suse.de>
2199
2200 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2201 pattern before matching the generic family.
2202
3d3db608
DN
22032008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2204
a0ce9ab7 2205 * unexec.c:
3460e0b9
DN
2206 * s/vms.h:
2207 * s/usg5-4-2.h:
2208 * s/sol2-5.h:
2209 * s/freebsd.h:
2210 * s/darwin.h: Remove dead code.
2211
ad76189a
DN
2212 * m/template.h:
2213 * m/sparc.h:
2214 * m/mips.h:
2215 * m/m68k.h:
2216 * m/iris4d.h:
2217 * m/intel386.h:
2218 * m/ibms390x.h:
2219 * m/ibms390.h:
2220 * m/ia64.h:
2221 * m/hp800.h:
2222 * m/arm.h:
2223 * m/amdx86-64.h: Remove dead code and references to unused
2224 and compiler defined symbols.
2225
d2b5bbda
DN
2226 * unexmips.c:
2227 * unexelf.c: Remove references to desupported systems.
2228
40dde9d1
DN
2229 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2230
21133394
DN
2231 * m/powermac.h: Remove boilerplate comments.
2232 (NO_REMAP): Remove unused definition.
2233
3d3db608
DN
2234 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2235 define them.
2236
c8e0e16d
KH
22372008-07-10 Kenichi Handa <handa@m17n.org>
2238
2239 * xfont.c (xfont_open): Log the reason of failure.
2240
3cba9369
SM
22412008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2242
2243 * fontset.c (fontset_get_font_group):
2244 * font.c (font_check_otf): Specify argument types.
2245
73353585
KH
22462008-07-09 Kenichi Handa <handa@m17n.org>
2247
0e17387a
KH
2248 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2249 non-ASCII char is found.
2250
73353585
KH
2251 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2252 (reorder_font_vector): Change the arg preferred_family to font.
2253 Prefer the spec matching with font.
2254 (fontset_get_font_group): New function.
2255 (fontset_find_font): Change the format of an element of a realized
2256 fontset. Use fontset_get_font_group.
2257 (fontset_font): Try the current fontset, the default fontset, the
2258 fallbacks of the current fonset, and the fallbacks of the default
2259 fontset in this order.
2260 (face_for_char): Delete the shortcut to use the current font.
2261 (fontset_from_font): Don't set fonts for Latin in the fontset.
2262
2263 * font.h (font_make_object, font_match_p): Adjust prototypes.
2264
2265 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2266
2267 * font.c (font_make_object): New arg entity and pixelsize.
2268 (font_check_otf_features, font_check_otf): New functions.
2269 (font_match_p): Check :lang, :script, and :otf properties.
2270
2271 * xfont.c (xfont_open): Adjust it for the change of
2272 font_make_object.
e5d05978 2273 (xfont_text_extents): Fix initial setting of metrics.
73353585
KH
2274
2275 * ftfont.c (struct ftfont_info): New member index, delete member
2276 fc_charset_idx. Make the member order compatible with struct
2277 xftfont_info.
2278 (fc_charset_table): Change charset names to registry names.
2279 (ftfont_pattern_entity): Delete the args registry and
2280 fc_charset_idx. Change the value of :font-entity property
2281 to (FONTNAME . INDEX). Always set :registry property to
2282 `iso10646-1'.
2283 (struct ftfont_cache_data): New struct.
2284 (ftfont_lookup_cache): New arg for_face.
2285 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2286 (ftfont_driver): Set the member otf_capability.
2287 (ftfont_get_charset): Adjust it for the change of
2288 fc_charset_table.
2289 (OTF_TAG_SYM): New macro.
2290 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2291 for the change of fc_charset_table.
2292 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2293 ftfont_pattern_entity. Add FC_INDEX to objset.
2294 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2295 and ftfont_pattern_entity.
2296 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2297 font_make_object, struct ftfont_info.
2298 (ftfont_has_char): Use ftfont_get_fc_charset.
2299 (ftfont_otf_features, ftfont_otf_capability): New functions.
2300 (ftfont_shape): Use ftfont_get_otf.
e5d05978 2301 (ftfont_text_extents): Fix initial setting of metrics.
73353585
KH
2302
2303 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2304 member order compatible with struct ftfont_info.
2305 (xftfont_open): Add FC_CHARSET to the pattern. Set
2306 xftfont_info->ft_size. Don't unlock the face. Check BDF
2307 properties if appropriate.
2308 (xftfont_close): Unlock the face.
2309 (xftfont_anchor_point, xftfont_shape): Deleted.
2310 (syms_of_xftfont): Don't set members anchor_point and shape of
2311 xftfont_driver.
2312
2313 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2314 font_make_object.
2315
2316 * w32font.c (w32font_open): Adjust it for the change of
2317 font_make_object.
2318 (w32font_open_internal): Don't set properties of font_object here.
2319
7f000038
CY
23202008-07-08 Chong Yidong <cyd@stupidchicken.com>
2321
830aab93
CY
2322 * macfns.c (x_create_tip_frame):
2323 * w32fns.c (x_create_tip_frame):
2324 * xfns.c (x_create_tip_frame): Pass parameter argument to
2325 face-set-after-frame-default.
2326
7f000038
CY
2327 * xfaces.c (Finternal_merge_in_global_face): Save merged
2328 attributes for the default face back into the face vector.
2329
85cf8992
AS
23302008-07-08 Andreas Schwab <schwab@suse.de>
2331
2332 * fontset.h: Declare fontset_from_font. Don't declare
2333 new_fontset_from_font and fontset_from_font_name.
2334 * xterm.c: Include "fontset.h".
2335 * Makefile.in (xterm.o): Update dependencies.
2336
4a00783e
GM
23372008-07-08 Glenn Morris <rgm@gnu.org>
2338
2339 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2340 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2341
4d2d5f5f
CY
23422008-07-07 Chong Yidong <cyd@stupidchicken.com>
2343
2344 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2345 (x_set_frame_parameters): Don't bind it.
2346
dfe66c5b
JB
23472008-07-07 Juanma Barranquero <lekktu@gmail.com>
2348
2349 * w32fns.c (map_w32_filename): Declare extern.
2350
ec7e221c
JR
23512008-07-07 Jason Rumney <jasonr@gnu.org>
2352
dfe66c5b 2353 * w32term.c (WS_EX_LAYERED): Define if not already.
ec7e221c 2354
fe5d61c4
CY
23552008-07-06 Chong Yidong <cyd@stupidchicken.com>
2356
2357 * xfaces.c (set_font_frame_param): Don't try to set the font
2358 parameter if it is still unspecified in the lface.
2359
9204cb8b
CY
23602008-07-05 Chong Yidong <cyd@stupidchicken.com>
2361
0a143d3a
CY
2362 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
2363 face if it didn't already exist.
2364
9204cb8b
CY
2365 * xdisp.c (try_window_id): Give up if word-wrapping is on.
2366
6c95e70d
AS
23672008-07-05 Andreas Schwab <schwab@suse.de>
2368
dfe66c5b 2369 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6c95e70d 2370
59230395
CY
23712008-07-05 Chong Yidong <cyd@stupidchicken.com>
2372
2373 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
2374 word-wrapping.
2375 (IT_DISPLAYING_WHITESPACE): New macro.
2376 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
2377 when word-wrapping. Simplify word-wrapping logic. Use correct
2378 pixel positions when saving copies of the iterator.
2379 (display_line): Use proper wrap point if the last character on a
2380 line was preceded by whitespace.
2381
d7c664f3
SM
23822008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2383
2384 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
2385
9ffc8a3a
KH
23862008-07-04 Kenichi Handa <handa@m17n.org>
2387
2388 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
2389
2390 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
2391
946598bf
JR
23922008-07-02 Jason Rumney <jasonr@gnu.org>
2393
d7c664f3
SM
2394 * xfns.c (syms_of_xfns): Only define x-select-font when both
2395 HAVE_FREETYPE and USE_GTK
946598bf 2396
d7c664f3
SM
2397 * xdisp.c (next_element_from_display_vector): Move assignment out
2398 of if statement.
946598bf 2399
6cf29fe8
JR
24002008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
2401
d7c664f3 2402 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6cf29fe8 2403
d7c664f3
SM
2404 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
2405 (syms_of_fileio): Initialize and export them.
2406 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6cf29fe8 2407
d7c664f3
SM
2408 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
2409 (Fsystem_move_file_to_trash): New function.
2410 (syms_of_w32fns): Export it to lisp.
6cf29fe8 2411
79ca7db1
JR
24122008-07-01 Jason Rumney <jasonr@gnu.org>
2413
d7c664f3
SM
2414 * w32font.c (w32font_text_extents): Don't count overhang as part
2415 of width.
79ca7db1 2416
c2786a3d 24172008-06-30 Miles Bader <miles@gnu.org>
c4f4682b
MB
2418
2419 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
2420 Add `avoid_cursor_p' field.
2421
2422 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
2423 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
2424 (append_glyph, append_composite_glyph, produce_image_glyph)
c2786a3d
JB
2425 (append_stretch_glyph): Initialize avoid_cursor_p.
2426 (get_it_property): Rename from `get_line_height_property'.
c4f4682b
MB
2427 (x_produce_glyphs): Use get_it_property.
2428 (handle_line_prefix, push_display_prop): New functions.
2429 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
c2786a3d
JB
2430 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
2431 New variables.
c4f4682b
MB
2432 (syms_of_xdisp): Initialize them.
2433
7d7ad10e
KH
24342008-06-30 Kenichi Handa <handa@m17n.org>
2435
2436 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
2437 XftDefaultSubstitute (they are called in XftFontMatch).
2438 (xftfont_open): Fix args to ftfont_font_format.
2439
2440 * ftfont.c (fc_charset_table): New member lang.
2441 (ftfont_resolve_generic_family): New arg pattern.
2442 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
2443 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
2444 (ftfont_open): Fix args to ftfont_font_format.
2445 (ftfont_font_format): New arg filename.
2446
44b754c7
CY
24472008-06-30 Chong Yidong <cyd@stupidchicken.com>
2448
2449 * xfaces.c (Finternal_merge_in_global_face): If default face was
2450 modified, realize it again. Update the font face attribute.
2451
a4521b03
JR
24522008-06-29 Jason Rumney <jasonr@gnu.org>
2453
c2786a3d 2454 * w32term.c (x_set_frame_alpha): Fix logic.
a4521b03 2455
fe44f009
KH
24562008-06-29 Kenichi Handa <handa@m17n.org>
2457
2458 * fontset.c (Finternal_char_font): Return font-object instead of
2459 font-name.
2460
c2786a3d 2461 * composite.c (get_composition_id): Fix the width calculation for TAB.
fe44f009 2462
baed8445
SM
24632008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
2464
2465 * indent.c (Fvertical_motion): Properly handle float column arg.
2466
8b61a891
JR
24672008-06-28 Jason Rumney <jasonr@gnu.org>
2468
baed8445
SM
2469 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
2470 (pfnSetLayeredWindowAttributes): New function pointer.
2471 (w32_initialize): Initialize it when supported.
2472 (x_set_frame_alpha): New function.
8b61a891 2473
baed8445
SM
2474 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
2475 (w32_frame_parm_handlers): Set alpha handler.
8b61a891 2476
baed8445 2477 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8b61a891 2478
57016d37
JR
24792008-06-27 Jason Rumney <jasonr@gnu.org>
2480
baed8445
SM
2481 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
2482 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
2483 (w32_to_x_charset, x_to_w32_charset)
2484 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2485 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2486 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2487 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2488 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2489 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2490 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
2491 (Qw32_charset_unicode): Remove.
2492 (syms_of_w32fns): Update for above changes.
2493
2494 * w32font.c (w32_to_x_charset, x_to_w32_charset)
2495 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2496 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2497 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2498 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2499 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2500 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2501 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
2502 (syms_of_w32font): Update for above changes.
57016d37 2503
d6bf1bdb
DN
25042008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
2505
2506 * s/usg5-4.h: Fix previous change: keep the correct branch of a
2507 removed #if.
9fa1c445 2508 (USG_SHARED_LIBRARIES): Remove duplicate definition.
d6bf1bdb 2509
43db14bb
JB
25102008-06-26 Juanma Barranquero <lekktu@gmail.com>
2511 Eli Zaretskii <eliz@gnu.org>
2512
2513 * makefile.w32-in (LOCAL_FLAGS):
2514 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
2515
2516 * sysdep.c (_spawnlp, _getpid):
2517 Declare with explicit _cdecl instead of _CRTAPI1.
2518
2519 * editfns.c (Fget_internal_run_time):
2520 Check for WINDOWSNT with #ifdef, not #if.
2521
c35f9821
JR
25222008-06-26 Jason Rumney <jasonr@gnu.org>
2523
43db14bb 2524 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
c35f9821 2525
57016d37 2526 * w32term.c (x_draw_glyph_string_foreground)
43db14bb
JB
2527 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
2528 Use FONT_HANDLE macro.
2529 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
c35f9821 2530
57016d37 2531 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
43db14bb 2532 (uniscribe_encode_char): Use FONT_HANDLE macro.
c35f9821 2533
43db14bb
JB
2534 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
2535 (w32font_text_extents): Use precast w32_font.
2536 (w32font_close): Free cached metrics.
2537 (w32font_open_internal): Allocate space for name on stack.
c35f9821 2538
1f8ad719
CY
25392008-06-26 Chong Yidong <cyd@stupidchicken.com>
2540
2541 * xdisp.c (extend_face_to_end_of_line): Fix last change.
2542
97e71655
JR
25432008-06-26 Jason Rumney <jasonr@gnu.org>
2544
43db14bb
JB
2545 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
2546 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
97e71655 2547
c9fc02c7
JB
25482008-06-26 Juanma Barranquero <lekktu@gmail.com>
2549
2550 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
2551
1b5defe6
JR
25522008-06-26 Jason Rumney <jasonr@gnu.org>
2553
c9fc02c7 2554 * w32bdf.c, w32bdf.h: Remove obsolete files.
1b5defe6 2555
c9fc02c7 2556 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
1b5defe6 2557
c9fc02c7
JB
2558 * w32gui.h: Don't include w32bdf.h.
2559 (XCharStruct, enum w32_char_font_type, W32FontStruct):
2560 Remove obsolete font support.
1b5defe6 2561
c9fc02c7
JB
2562 * w32font.h (struct w32font_info): Remove compat_w32_font.
2563 Add hfont member.
2564 (FONT_COMPAT): Remove obsolete macro.
1b5defe6 2565
ba60bd44 2566 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
c9fc02c7 2567 (w32font_encode_char, w32font_text_extents): Use new hfont member.
ba60bd44 2568 (w32font_open_internal): Remove compat code. Set new hfont member.
c9fc02c7 2569 (Fx_select_font): Use new hfont member.
1b5defe6 2570
57016d37 2571 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
c9fc02c7 2572 (uniscribe_encode_char): Use new hfont member.
1b5defe6 2573
57016d37 2574 * w32term.c (x_draw_glyph_string_foreground)
c9fc02c7
JB
2575 (x_draw_composite_glyph_string_foreground): Use new hfont member.
2576 (x_draw_glyph_string): Use metrics in w32font_info.
1b5defe6 2577
1fc66bca
KH
25782008-06-26 Kenichi Handa <handa@m17n.org>
2579
2580 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
2581
f2a77c3a
DN
25822008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2583
2584 * unexnext.c:
2585 * m/ews4800.h:
2586 * m/hp9000s300.h:
2587 * m/ibm370aix.h:
2588 * m/mips-siemens.h:
2589 * m/ncr386.h:
2590 * m/next.h:
2591 * m/pmax.h:
2592 * m/powerpcle.h:
2593 * m/tandem-s2.h:
2594 * s/386bsd.h:
2595 * s/bsd386.h:
2596 * s/bsd4-1.h:
2597 * s/bsd4-2.h:
2598 * s/bsdos2-1.h:
2599 * s/bsdos2.h:
2600 * s/bsdos3.h:
2601 * s/bsdos4.h:
2602 * s/nextstep.h:
2603 * s/ultrix4-3.h:
2604 * s/usg5-0.h:
2605 * s/usg5-2-2.h:
2606 * s/usg5-2.h:
2607 * s/usg5-4-3.h:
2608 * s/ux4800.h:
2609 * s/uxpds.h:
2610 * s/uxpv.h: Remove support for obsolete systems.
2611 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
4342f814 2612 Remove, insert contents in s/hpux-10.20.h.
f2a77c3a 2613 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4342f814 2614 Remove, insert contents in s/aix4-2.h.
f2a77c3a 2615 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4342f814 2616 * s/bsd4-3.h: Rename to ...
f2a77c3a 2617 * s/bsd-common.h: ... this.
4342f814
JB
2618 * data.c:
2619 * doc.c:
2620 * ecrt0.c:
2621 * emacs.c:
2622 * fileio.c:
2623 * floatfns.c:
2624 * keyboard.c:
2625 * mem-limits.h:
2626 * print.c:
2627 * process.c:
2628 * sysdep.c:
2629 * syssignal.h:
2630 * systty.h:
2631 * syswait.h:
2632 * term.c:
2633 * unexec.c:
2634 * unexelf.c:
2635 * unexhp9k800.c:
2636 * m/hp800.h:
2637 * m/ibmrs6000.h:
2638 * m/mips.h:
2639 * m/vax.h:
2640 * s/darwin.h:
2641 * s/freebsd.h:
2642 * s/gnu.h:
2643 * s/ms-w32.h:
2644 * s/msdos.h:
2645 * s/netbsd.h:
2646 * s/template.h: Remove references to obsolete variables.
f2a77c3a
DN
2647
2648 * Makefile.in: Add dependencies for all unexec files.
2649 (admindir): Remove unused variable.
2650 (UNEXEC_SRC): Remove references.
2651
bd02793a
CY
26522008-06-25 Chong Yidong <cyd@stupidchicken.com>
2653
2654 * xfns.c (x_default_font_parameter): If Xft is available, first
2655 try Monospace-12 for the default font.
2656
ccedd259
JR
26572008-06-25 Jason Rumney <jasonr@gnu.org>
2658
c9fc02c7 2659 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
ccedd259 2660
fbe062b7
SM
26612008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
2662
603a0937
SM
2663 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
2664
fbe062b7
SM
2665 * buffer.c (syms_of_buffer): Remove default-word-wrap.
2666
69785ad0
JB
26672008-06-25 Juanma Barranquero <lekktu@gmail.com>
2668
2669 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
2670 <scroll-conservatively>: Fix typo in docstring.
2671
2672 * xselect.c (Fx_send_client_event): Doc fix.
2673
249e6f76
KH
26742008-06-25 Kenichi Handa <handa@m17n.org>
2675
34e97272
KH
2676 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
2677
2678 * font.c (font_parse_fcname): Remove unused variables.
69785ad0
JB
2679 (font_sort_entites): Delete the arg SPEC. Caller changed.
2680 Fix for the case of ! best_only.
34e97272
KH
2681 (font_delete_unmatched): Check DPI and AVGWIDTH too.
2682
249e6f76
KH
2683 * lisp.h (Fstring_to_unibyte): EXFUN it.
2684
69785ad0 2685 * character.h (str_to_unibyte): Extern it.
249e6f76
KH
2686
2687 * character.c (str_to_unibyte): New function.
2688
2689 * fns.c (Fstring_to_unibyte): New function.
2690 (syms_of_fns): Defsubr it.
2691
65c108e4
KH
26922008-06-24 Kenichi Handa <handa@m17n.org>
2693
2694 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
2695 DPI too.
2696 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
2697
4c3f18fe
AS
26982008-06-24 Andreas Schwab <schwab@suse.de>
2699
69785ad0 2700 * Makefile.in (${lispsource}loaddefs.el): Rename from
4c3f18fe 2701 ../lisp/loaddefs.el.
fd13748d
AS
2702 (bootstrap-clean): Do what distclean does but don't remove
2703 Makefile.
2704 (distclean): Depend on bootstrap-clean and remove Makefile.
4c3f18fe 2705
faa6190f
CY
27062008-06-24 Chong Yidong <cyd@stupidchicken.com>
2707
2708 * buffer.h (struct buffer): New member word_wrap.
2709
2710 * buffer.c (syms_of_buffer): New variables default-word-wrap and
2711 word-wrap.
2712 (init_buffer_once): Initialize them.
2713
2714 * dispextern.h (struct it): Replace bool truncate_lines_p with a
2715 line_wrap enum possessing three possible values.
2716
2717 * termopts.h: Replace truncate_partial_width_windows with
2718 Vtruncate_partial_width_windows.
2719
2720 * dispnew.c (direct_output_for_insert): Avoid direct output when
2721 inserting a space with word wrap on.
2722
2723 * indent.c (compute_motion): Obey integer values of
2724 truncate-partial-width-windows.
2725
2726 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
2727 replacing truncate_partial_width_windows.
2728 (init_iterator): If Vtruncate_partial_width_windows is an integer,
2729 truncate only if the window width is below that integer.
ba60bd44 2730 (start_display, resize_mini_window, produce_stretch_glyph)
faa6190f
CY
2731 (display_string, move_it_in_display_line_to): Use line_wrap.
2732 (back_to_previous_visible_line_start, reseat_1): Reset
2733 string_from_display_prop_p.
2734 (display_line): Extend default face to end of line when wrapping.
2735
27362008-06-24 Kim F. Storm <storm@cua.dk>
2737
2738 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
2739 to wrap continued lines at word boundaries.
2740
c3bb5465
JR
27412008-06-24 Jason Rumney <jasonr@gnu.org>
2742
69785ad0
JB
2743 * font.c (Ffont_face_attributes): Multiply pixel size before point
2744 conversion to avoid multiplying rounding error.
c3bb5465 2745
0b07ad98
JR
27462008-06-23 Jason Rumney <jasonr@gnu.org>
2747
f245f2c6
JB
2748 * w32term.c (x_draw_glyph_string_background)
2749 (x_draw_glyph_string): Remove old bdf font code.
0b07ad98 2750
69785ad0 2751 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
0b07ad98 2752
22459668
KH
27532008-06-22 Kenichi Handa <handa@m17n.org>
2754
2755 * font.c (font_find_for_lface): Try the adstyle specified in
2756 the property of LFACE_FONT of LFACE (if any).
2757
d925a426 27582008-06-21 Seiji Zenitani <zenitani@mac.com>
f245f2c6 2759 Ryo Yoshitake <ryo@shiftmode.net>
d925a426
SM
2760
2761 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
2762
b4945b95
SM
27632008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
2764
2765 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
2766 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
2767 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
2768 (witness-emacs): Remove.
2769 (lisp, shortlisp): Move loaddefs.el earlier.
2770 (mostlyclean): Forget about witness-emacs.
2771
64124279
GM
27722008-06-22 Glenn Morris <rgm@gnu.org>
2773
2774 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
36565815 2775 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
64124279 2776
768efd84
SM
27772008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2778
2779 * Makefile.in (PRECOMP): Remove.
2780 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
2781 (witness-emacs): Run `compile-first'.
2782 (.el.elc): Use the new compile-onefile target.
2783
808dd567
KH
27842008-06-21 Kenichi Handa <handa@m17n.org>
2785
2786 * xftfont.c (xftfont_open): Handle QCembolden only when
2787 FC_EMBOLDEN is defined.
2788
0de59eae
AS
27892008-06-21 Andreas Schwab <schwab@suse.de>
2790
2791 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
58e8833b 2792 (.el.elc): Likewise.
0de59eae 2793
fb38e9c9
MB
27942008-06-21 Miles Bader <miles@gnu.org>
2795
2796 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
2797 build dir, not the lisp source dir.
2798
fc46d219
SM
27992008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
2800
2801 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
2802 (bootstrapclean): Remove.
2803 (.el.elc): New rule.
2804 (PRECOMP): New var.
2805 (../lisp/subdirs.el): Remove.
2806 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
2807 (witness-emacs): New target.
2808 (mostlyclean): Remove witness-emacs as well.
2809 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
2810 Add witness-emacs dependency.
2811
eaf1f6e7
CY
28122008-06-20 Chong Yidong <cyd@stupidchicken.com>
2813
2814 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
2815 defined by the font.
2816
49f6eb95
SM
28172008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2818
2819 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
2820 (bootstrap-clean): New target that keeps TAGS around.
2821 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
2822 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
2823
4c100a01
JR
28242008-06-20 Jason Rumney <jasonr@gnu.org>
2825
49f6eb95
SM
2826 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
2827 Remove obsolete font code.
db61a7f8 2828
49f6eb95
SM
2829 * w32font.c (font_matches_spec): Use csb bitfield from font signature
2830 to determine language support.
4c100a01 2831
759d3f32
SM
28322008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2833
2834 * sysdep.c (cfsetspeed): New fun extracted from the code.
2835 (cfmakeraw): Move before first use.
2836
25241b4d
SM
28372008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
2838
2839 * sysdep.c (cfmakeraw): Provide fallback implementation.
2840 (serial_configure): Provide fallback implementation of cfsetspeed.
2841
d7afccca
KH
28422008-06-20 Kenichi Handa <handa@m17n.org>
2843
dc2226d0
KH
2844 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
2845 the pattern.
2846
9b9cd864
KH
2847 * fontset.c (fontset_from_font): Copy font_spec before changing
2848 the elements.
2849
d7afccca
KH
2850 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
2851
770e2e6e
SM
28522008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
2853
2854 * w32fns.c, xfnc.c (x_default_font_parameter): Only set `font-param'
2855 for explicit `font' parameters.
2856
2857 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
2858
22e64f7c
KH
28592008-06-19 Kenichi Handa <handa@m17n.org>
2860
2861 * frame.c: Include <ctype.h>.
2862 (x_set_font_backend): Allow spacing characters in the X resource
2863 for FontBackend.
2864
27129af9
SM
28652008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
2866
2867 * w32fns.c, xfns.c (Qfont_param): New var.
2868 (syms_of_w32fns): Initialize it.
22e64f7c
KH
2869 (x_default_font_parameter): Record explicit `font' into
2870 `font-parameter'.
27129af9 2871
d26424c5
KH
28722008-06-18 Kenichi Handa <handa@m17n.org>
2873
2874 * font.c (font_parse_xlfd): Fix previous change.
2875 (font_parse_fcname): Don't use :fc-unknown-spec.
2876 (FRAME_X_DISPLAY_INFO): Besure to have at least 1 pixel height.
2877 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
2878 (font_add_log): Prepend the driver name to the resulting fonts.
2879
2880 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
2881 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
2882 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
2883
2884 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
2885 (QCembolden): New variables.
2886 (syms_of_xftfont): DEFSYM them.
2887 (xftfont_open): Call XftFontMatch. Don't trust the result of
2888 XftTextExtents8 if the pixel_size is less than 5.
2889
51cf11be
AS
28902008-06-18 Andreas Schwab <schwab@suse.de>
2891
f245f2c6 2892 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
51cf11be
AS
2893 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
2894
07d9ba9b
JR
28952008-06-18 Jason Rumney <jasonr@gnu.org>
2896
27129af9 2897 * w32font.c (w32font_list, w32font_match): Add logging.
07d9ba9b 2898
4342f814 2899 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
07d9ba9b 2900
0c36bc4e
CY
29012008-06-17 Chong Yidong <cyd@stupidchicken.com>
2902
2903 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
2904 unknown-spec list. For known key symbols, intern using correct
2905 symbol name.
0c36bc4e 2906
70d6ecc6
KH
29072008-06-17 Kenichi Handa <handa@m17n.org>
2908
2909 * xfaces.c (realize_default_face): If the frame is not on window
2910 system, set the fontset of face to nil.
2911
821bc4db
KH
29122008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
2913
f245f2c6 2914 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
821bc4db 2915
3554e566
JB
29162008-06-16 Juanma Barranquero <lekktu@gmail.com>
2917
2918 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
2919 (build_font_name_from_vector): Delete externs.
2920
2921 * xfaces.c (struct font_name): Don't declare.
2922
93eed26b
SM
29232008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
2924
2925 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
2926
d756bcd0
CY
29272008-06-16 Chong Yidong <cyd@stupidchicken.com>
2928
2929 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
2930
7a18a178
JB
29312008-06-16 Juanma Barranquero <lekktu@gmail.com>
2932
2933 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 2934 (Ffont_face_attributes): Doc fix.
7a18a178 2935
6f568955
AS
29362008-06-16 Andreas Schwab <schwab@suse.de>
2937
2938 * font.c (Ffont_face_attributes): Fix definition.
2939
3ef8c1b4
JR
29402008-06-16 Jason Rumney <jasonr@gnu.org>
2941
93eed26b 2942 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 2943
93eed26b
SM
2944 * font.c (font_style_symbolic_from_value): Remove.
2945 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 2946
93eed26b
SM
2947 * w32font.c (w32_to_fc_weight): New function.
2948 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 2949
5e634ec9
KH
29502008-06-16 Kenichi Handa <handa@m17n.org>
2951
2952 * font.c (font_check_object): Delete it.
2953 (font_clear_cache): Check if a font-object is alive.
2954 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
2955 font-object to nil.
2956 (font_close_object): Don't check FONT_CLOSE_OBJECT.
2957 (font_at): Don't call font_check_object.
2babb359 2958 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 2959
6409a955
KY
29602008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
2961
2962 * puresize.h (BASE_PURESIZE): Increase to 1230000.
2963
ce4eaddb
CY
29642008-06-16 Chong Yidong <cyd@stupidchicken.com>
2965
2966 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
2967
523dbe64
CY
29682008-06-15 Chong Yidong <cyd@stupidchicken.com>
2969
54b2ab27 2970 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
2971 (font_unparse_fcname): Handle data in family and foundry indices
2972 as symbols, not strings.
2973 (font_unparse_gtkname, Ffont_face_attributes): New functions.
2974
54b2ab27 2975 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
2976
2977 * font.h (font_unparse_gtkname): Add prototype.
2978
9f296082
KH
29792008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
2980
54b2ab27 2981 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 2982
3306c6dc
AS
29832008-06-15 Andreas Schwab <schwab@suse.de>
2984
2985 * font.c (font_update_drivers): Fix crash when no drivers match.
2986
a099c27a
SM
29872008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
2988
2989 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
2990 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
2991
a8aa344d
SM
29922008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
2993
2994 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
2995
a879ee6f
SM
29962008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
2997
2998 * process.c (Fserial_process_configure, Fprocess_send_eof):
2999 Use EQ to compare Lisp_Objects.
3000
6fe9826d
JR
30012008-06-13 Jason Rumney <jasonr@gnu.org>
3002
a879ee6f 3003 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 3004
a879ee6f
SM
3005 * w32font.c (logfont_to_fcname): New function.
3006 (Fx_select_font): New font dialog function compatible with
3007 GTK/fontconfig version.
6fe9826d 3008
a879ee6f
SM
3009 * font.c (font_style_symbolic_from_value): New function.
3010 (font_style_symbolic): Use it.
6fe9826d 3011
a879ee6f 3012 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 3013
17ab8f5d
JB
30142008-06-13 Juanma Barranquero <lekktu@gmail.com>
3015
3016 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3017 <font-width-table>: Fix typos in docstrings.
3018
d888760c
GM
30192008-06-13 Daniel Engeler <engeler@gmail.com>
3020
3021 These changes add serial port access.
3022 * process.c: Add HAVE_SERIAL.
3023 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3024 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3025 (list_processes_1, select_wrapper, Fstop_process)
3026 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3027 (status_notify): Modify to handle serial processes.
3028 [HAVE_SERIAL] (Fserial_process_configure)
3029 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3030 New functions.
3031 * process.h (struct Lisp_Process): Add `type'.
3032 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3033 New functions.
3034 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3035 serial ports.
3036 (serial_open, serial_configure) New functions.
3037 * w32.h: Add FILE_SERIAL.
3038 (struct _child_process): Add ovl_read, ovl_write.
3039
f4cc0153
KH
30402008-06-13 Kenichi Handa <handa@m17n.org>
3041
3042 * dispextern.h (enum lface_attribute_index): New member
3043 LFACE_FOUNDRY_INDEX.
3044
3045 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 3046 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 3047 style symbols.
7a18e381 3048 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
3049 order of font-driver to scores.
3050 (font_list_entities): Don't check alternate_familes here.
3051 (font_clear_prop): Handle foundry.
3052 (font_update_lface): Don't parse "foundry-family" form here.
3053 Handle FONT_FOUNDRY_INDEX.
3054 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 3055 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 3056 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 3057 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
3058 (free_font_driver_list): Delete it.
3059 (font_update_drivers): Preserve the order of backends.
3060 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3061 of font_score and font_sort_entites.
3062 (font_update_sort_order): Likewise.
3063
3064 * xfaces.c (LFACE_FOUNDRY): New macro.
3065 (check_lface_attrs): Check foundry.
7a18e381 3066 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
3067 (merge_face_vectors): Check foundry.
3068 (merge_face_ref): Likewise.
3069 (Finternal_set_lisp_face_attribute): Likewise.
3070 (x_update_menu_appearance): Likewise.
3071 (Finternal_get_lisp_face_attribute): Likewise.
3072 (lface_hash): Likewise.
3073 (lface_same_font_attributes_p): Likewise.
3074 (x_supports_face_attributes_p): Likewise.
3075 (tty_supports_face_attributes_p): Likewise.
3076 (Finternal_set_alternative_font_family_alist): Intern strings.
3077 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3078 (realize_default_face): Set LFACE_FOUNDRY (lface).
3079
3080 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3081 font-driver at first.
3082
3083 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3084
d434fef5 30852008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
3086
3087 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3088
9c5e177e
JM
30892008-06-12 Jim Meyering <meyering@redhat.com>
3090
d434fef5 3091 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
3092 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3093
2afc21f5
SM
30942008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3095
3096 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3097 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3098 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3099 (WEAK_ALIAS): Simplify.
3100 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3101 when searching a unibyte buffer.
3102
76c0de62
CY
31032008-06-12 Chong Yidong <cyd@stupidchicken.com>
3104
3105 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3106
0500dcc9
JB
31072008-06-12 Juanma Barranquero <lekktu@gmail.com>
3108
3109 * w32font.c: Include ctype.h.
3110
f42adef6
JR
31112008-06-11 Jason Rumney <jasonr@gnu.org>
3112
2afc21f5
SM
3113 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3114 misreported as space.
3115 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3116 as aliases for registry iso10646-1.
f42adef6 3117
4b7cdc0e
SM
31182008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3119
3120 * buffer.c (clone_per_buffer_values): Skip `name'.
3121
cc02ebe1
CY
31222008-06-11 Chong Yidong <cyd@stupidchicken.com>
3123
3124 * font.c (font_parse_fcname): Fix last change; accept decimal
3125 points in font size.
3126
351ccb76
JR
31272008-06-10 Jason Rumney <jasonr@gnu.org>
3128
0500dcc9
JB
3129 * w32uniscribe.c (add_opentype_font_name_to_list):
3130 Skip non unicode fonts.
351ccb76 3131
f473ed6f
CY
31322008-06-10 Chong Yidong <cyd@stupidchicken.com>
3133
3134 * xfns.c (Fx_font_dialog): New function.
3135
5d6333d5 3136 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
3137 xg_file_response_callback.
3138 (pop_down_dialog): Rename from pop_down_file_dialog.
3139 (xg_get_file_name): Callers changed.
3140 (xg_get_font_name): New function.
3141
5d6333d5 3142 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 3143
2a3bd2e1
SM
31442008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3145
3146 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3147 x_underline_minimum_display_offset.
3148 (syms_of_xdisp): Declare it here rather than in xterm.c.
3149 * dispextern.h (underline_minimum_offset): Declare it.
3150 * w32term.c (x_draw_glyph_string): Use it.
3151 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3152 (syms_of_xterm): Don't declare it any more.
3153 (x_draw_glyph_string): Adjust to the new name.
3154
d5dc6163
SM
31552008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3156
3157 * xterm.c (x_underline_minimum_display_offset): New var.
3158 (x_draw_glyph_string): Use it.
3159 (syms_of_xterm): Declare it.
3160
0abdd197
CY
31612008-06-10 Chong Yidong <cyd@stupidchicken.com>
3162
3163 * font.c (font_parse_fcname): Accept GTK-style font names too.
3164
a1562258
SM
31652008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3166
928b5acc
SM
3167 * dired.c (file_name_completion): Don't return t if the match is exact
3168 but with different capitalization.
3169 * minibuf.c (Ftry_completion): Simplify.
3170
a1562258
SM
3171 * window.c (Vwindow_point_insertion_type): New var.
3172 (set_window_buffer): Use it.
3173 (syms_of_window): Init and export it to Lisp.
3174
9552dbd1
KH
31752008-06-10 Kenichi Handa <handa@m17n.org>
3176
3177 * font.h (font_intern_prop): Prototype adjusted.
3178
3179 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
3180 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3181 Adjust for the change of font_intern_prop.
9552dbd1 3182
a1562258
SM
3183 * ftfont.c (ftfont_pattern_entity):
3184 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3185 (w32_registry):
3186 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
3187 the change of font_intern_prop.
3188
8993ad2e
JB
31892008-06-09 Juanma Barranquero <lekktu@gmail.com>
3190
3191 * w32menu.c (digest_single_submenu): Declare extern.
3192
0c2258fc
JR
31932008-06-09 Jason Rumney <jasonr@gnu.org>
3194
a1562258 3195 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 3196
a1562258
SM
3197 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3198 (parse_single_submenu): Remove.
3199 (digest_single_submenu): Remove.
3200 (syms_of_w32menu): Don't initialise variables that have moved
3201 to menu.c.
3202 (set_frame_menubar): Sync with version in xmenu.c.
3203 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 3204
8993ad2e
JB
3205 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3206 Make static again.
0c2258fc 3207
02246cb8
JR
32082008-06-09 Jason Rumney <jasonr@gnu.org>
3209
8993ad2e
JB
3210 Changes to w32 files related to the move of common menu code
3211 to menu.c on 2008-06-08 by Chong Yidong.
3212
3213 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3214 defs to w32gui.h.
3215 (single_keymap_panes, push_menu_item, push_menu_pane):
3216 Make globally visible.
3217
d434fef5
JB
3218 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3219 (local_free, malloc_widget_value, free_widget_value)
3220 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3221 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3222 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 3223 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 3224 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
3225 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3226 (init_menu_items, finish_menu_items, discard_menu_items)
3227 (grow_menu_items, push_submenu_start, push_submenu_end)
3228 (push_left_right_boundary, push_menu_pane, push_menu_item)
3229 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 3230 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
3231 (update_submenu_strings): Remove functions.
3232 (xmalloc_widget_value): Remove and declare extern.
3233
3234 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3235 (OBJ1): Build it.
3236
3237 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3238 (local_heap, local_alloc, local_free, malloc_widget_value)
3239 (free_widget_value): Define here.
02246cb8 3240
9e1bb909
KH
32412008-06-09 Kenichi Handa <handa@m17n.org>
3242
366664ad
KH
3243 * font.h (Qascii_0): Extern it.
3244
9e1bb909
KH
3245 * font.c (Qascii_0): New variable.
3246 (syms_of_font): DEFSYM it.
3247 (font_open_by_name): If the registry "iso8859-1" fails, try also
3248 "ascii-0".
3249
3250 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3251
b2ee479e
KH
32522008-06-08 Kenichi Handa <handa@m17n.org>
3253
8f440b79 3254 * .gdbinit (xfont): New command.
b2ee479e 3255
01ef9d36
AS
32562008-06-08 Andreas Schwab <schwab@suse.de>
3257
a4240420
AS
3258 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3259 * Makefile.in (menu.o): Update dependencies.
3260
0181bf66 3261 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
3262 * emacs.c (main): Always call syms_of_menu.
3263 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3264
c07cbae6
CY
32652008-06-08 Chong Yidong <cyd@stupidchicken.com>
3266
3267 * Makefile.in: Compile menu.c.
3268
3269 * lisp.h: Declare syms_of_menu.
3270
3271 * emacs.c (main): Call syms_of_menu.
3272
3273 * keyboard.h: Relocate platform-independent menu definitions from
3274 xmenu.c.
3275
3276 * menu.c: New file. Relocate platform-independent menu
904d8c69 3277 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
3278
3279 * xmenu.c: Remove platform-independent menu definitions.
3280 (menu_items menu_items_inuse, menu_items_allocated)
3281 (menu_items_used, menu_items_n_panes)
3282 (menu_items_submenu_depth): Move to keyboard.h.
3283 (init_menu_items, finish_menu_items, unuse_menu_items)
3284 (discard_menu_items, restore_menu_items, save_menu_items)
3285 (grow_menu_items, push_submenu_start, push_submenu_end)
3286 (push_left_right_boundary, push_menu_pane, push_menu_item)
3287 (keymap_panes, single_keymap_panes, single_menu_item)
3288 (list_of_panes, list_of_items, find_and_call_menu_selection)
3289 (xmalloc_widget_value, free_menubar_widget_value_tree)
3290 (parse_single_submenu, digest_single_submenu)
3291 (update_submenu_strings): Move to menu.c.
3292
4958ed94
SM
32932008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3294
3295 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3296
408b8ab4
MB
32972008-06-06 Miles Bader <miles@gnu.org>
3298
3299 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3300 face, not frame default.
3301
87478b52
SM
33022008-06-05 Martin Rudalics <rudalics@gmx.at>
3303
3304 * window.c (pop_up_windows, pop_up_frames)
3305 (display_buffer_reuse_frames, Vpop_up_frame_function)
3306 (Vdisplay_buffer_function, Veven_window_heights)
3307 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3308 (Vspecial_display_function, Vsame_window_buffer_names)
3309 (Vsame_window_regexps, split_height_threshold)
3310 (Vsplit_window_preferred_function): Move those vars to window.el.
3311 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3312 (Fdisplay_buffer): Move those functions to window.el.
3313 (syms_of_window): Remove corresponding declarations.
3314 (display_buffer): New function.
3315 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3316 * dispnew.c (Flast_nonminibuf_frame): New function.
3317 * buffer.c (Fpop_to_buffer): Move to window.el.
3318
9e0e0d77
SM
33192008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3320
3321 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3322
4a485df8
KH
33232008-06-05 Kenichi Handa <handa@m17n.org>
3324
3325 * coding.c (detect_coding): Fix previous change.
3326 (detect_coding_system): Likewise.
3327
8ba31f36
SM
33282008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3329
c0dc8f64
SM
3330 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3331
8ba31f36
SM
3332 * keymap.c (Vminibuffer_local_filename_must_match_map):
3333 Rename from Vminibuffer_local_must_match_filename_map.
3334 (syms_of_keymap):
3335 * minibuf.c (Fcompleting_read): Adjust accordingly.
3336 * commands.h: Rename declaration as well.
3337
7740d2c7
KH
33382008-06-05 Kenichi Handa <handa@m17n.org>
3339
e7438ece
KH
3340 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3341 family name.
3342 (Ffont_put): Likewise.
3343
3344 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3345 current font-spec.
3346
7740d2c7
KH
3347 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3348 is unspecified.
3349
3350 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
3351 are the same as those of default face, realize a new fontset from
3352 default->fontset.
9e0e0d77 3353 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 3354
c876b227
SM
33552008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3356
3357 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
3358 (move_it_in_display_line): New wrapper.
3359
3360 * window.c (window_scroll_pixel_based_preserve_x)
3361 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
3362 (window_scroll_pixel_based, window_scroll_line_based):
3363 Use them to preserve column positions.
3364 (syms_of_window): Initialize them.
3365
3366 * indent.c (Fvertical_motion): Extend first arg to allow passing an
3367 (HPOS . VPOS) pair.
3368
3369 * dispextern.h (move_it_in_display_line): Declare.
3370
927abf37
JB
33712008-06-05 Juanma Barranquero <lekktu@gmail.com>
3372
3373 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
3374 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
3375 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
3376
9d14503e
JB
33772008-06-04 Juanma Barranquero <lekktu@gmail.com>
3378
3379 * window.c (Fset_window_parameter): Doc fix.
3380 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
3381
e6841c3b
JB
33822008-06-04 Joakim Verona <joakim@verona.se>
3383
3384 * window.h (struct window): Add new member window_parameters.
3385
3386 * window.c (Fwindow_parameters, Fwindow_parameter)
3387 (Fset_window_parameter): New defuns.
3388 (syms_of_window): Defsubr the new defuns.
3389 (make_window): Initialize window_parameters to nil.
3390
4ba50634
JPW
33912008-06-04 John Paul Wallington <jpw@pobox.com>
3392
3393 * eval.c (Fdefmacro): Doc fix.
3394
c0e16b14
KH
33952008-06-04 Kenichi Handa <handa@m17n.org>
3396
3397 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 3398 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
3399 (detect_coding_system): Fix handling of coding->head_ascii.
3400
0615d903
AS
34012008-06-03 Andreas Schwab <schwab@suse.de>
3402
3403 * font.c (font_prop_validate_spacing): Fix last change.
3404
8a1816bb
KH
34052008-06-03 Kenichi Handa <handa@m17n.org>
3406
eea9c5c4
KH
3407 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
3408 (font_parse_fcname): Fix handling of unknown key.
3409
3410 * xfont.c (xfont_list): Try an alias.
3411
8a1816bb
KH
3412 * charset.c (char_charset): Return NULL if the arg charset_list is
3413 specified and C doesn't belong to any of them.
3414
2f593f4c 34152008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
3416
3417 * font.c (font_pixel_size): Don't take cdr of an integer.
3418
c2cd06e6
JM
34192008-06-02 Jim Meyering <meyering@redhat.com>
3420
70fdbb46
JM
3421 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
3422 * alloc.c (xfree): Return right away for a NULL arg.
3423 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
3424 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
3425 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
3426 (create_apple_event_from_drag_ref, cfstring_create_normalized):
3427 Likewise.
70fdbb46
JM
3428 * doprnt.c (doprnt1): Likewise.
3429 * frame.c (frame): Likewise.
3430 * keyboard.c (wipe_kboard): Likewise.
1f204af3 3431 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
3432 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
3433 * term.c (tty_default_color_capabilities, maybe_fatal)
3434 (delete_tty): Likewise.
3435 * w16select.c (string): Likewise.
3436 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
3437 * w32bdf.c (w32_free_bdf_font): Likewise.
3438 * w32fns.c (w32_unload_font): Likewise.
3439 * w32font.c (w32font_close): Likewise.
3440 * window.c (size_window): Likewise.
3441 * xselect.c (receive_incremental_selection): Likewise.
3442 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
3443 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
3444 * w32.c (stat): Likewise.
3445
2f593f4c 3446 Remove useless if-before-free tests.
70fdbb46
JM
3447 * editfns.c (Fset_time_zone_rule): Likewise.
3448 * lread.c (nosuffix): Likewise.
3449 * ralloc.c (get_bloc): Likewise.
3450 * regex.c (reg_free): Likewise.
3451 * xftfont.c (xftfont_open, xftfont_close): Likewise.
3452 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
3453 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 3454
4fc1984a
KH
34552008-06-02 Kenichi Handa <handa@m17n.org>
3456
1d1e1245
KH
3457 * font.c (font_find_for_lface): Handle float font size.
3458 (font_open_for_lface): Likewise.
3459
4fc1984a
KH
3460 * xfaces.c (x_supports_face_attributes_p): Check face->font before
3461 comparing the properties.
3462
aee986fd
JR
34632008-06-01 Jason Rumney <jasonr@gnu.org>
3464
e6841c3b
JB
3465 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
3466 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
3467 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
3468 Don't add empty script list.
3469 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 3470
60a3d7ee
DN
34712008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
3472
aee986fd 3473 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
3474 ".." has been used elsewhere in the file for a long time.
3475 (LIBXT_STATIC): Remove conditional based on unused variable.
3476
f2cec7a9
MB
34772008-06-01 Miles Bader <miles@gnu.org>
3478
3479 * xfaces.c (Vface_remapping_alist): New variable.
3480 (syms_of_xfaces): Initialize it.
3481 (enum named_merge_point_kind): New type.
3482 (struct named_merge_point): Add `named_merge_point_kind' field.
3483 (push_named_merge_point): Make cycle detection respect different
3484 named-merge-point kinds.
c876b227 3485 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
3486 Remove face-name alias resolution.
3487 (lface_from_face_name): New definition using
3488 `lface_from_face_name_no_resolve'.
c876b227 3489 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
3490 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
3491 (get_lface_attributes): New definition that layers face-remapping on
3492 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
3493 (lookup_basic_face): New function.
3494 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
3495 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
3496 `get_lface_attributes'.
3497 (face_at_buffer_position): Use `lookup_basic_face' to lookup
3498 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
3499 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
3500
3501 * xdisp.c (init_iterator): Pass base_face_id through
3502 `lookup_basic_face' when we actually use it as a face-id.
3503 (handle_single_display_prop): Use `lookup_basic_face' to lookup
3504 DEFAULT_FACE_ID.
3505
3506 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
3507 lookup the initial face-id.
3508
3509 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
3510
518c0b83
JB
35112008-06-01 Juanma Barranquero <lekktu@gmail.com>
3512
3513 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
3514 (Fremove_text_properties): Fix typos in docstrings.
3515
719b3d63
KH
35162008-05-31 Kenichi Handa <handa@m17n.org>
3517
e4c93315
KH
3518 * font.c (font_list_entities): Fix the car part of data to be
3519 stored in the cache.
3520
719b3d63
KH
3521 * ftfont.c (ftfont_font_format): Don't use strcasestr.
3522
d0827857
SM
35232008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3524
3525 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
3526 Add a `test' argument so another predicate than `equal' can be used.
3527 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
3528 (map_char_table): Remove unused vars `c' and `i'.
3529 * lisp.h (Foptimize_char_table): Adjust declaration.
3530 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
3531
a266686a
KH
35322008-05-30 Kenichi Handa <handa@m17n.org>
3533
d0827857 3534 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
3535 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
3536 defined.
3537
fd9440c5
SM
35382008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3539
3540 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3541 (Fmake_variable_frame_local): Disallow mixing buffer-local and
3542 frame-local settings for the same variable.
3543
fd2ae9b2
KH
35442008-05-30 Kenichi Handa <handa@m17n.org>
3545
9e0e0d77 3546 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
3547 (syms_of_fontset): Delete defsubr of Sfont_info.
3548
3549 * font.c (font_style_to_value, font_score): Delete casting of the
3550 args to xstcasecmp.
3551 (register_font_driver): Increment num_font_drivers only when
3552 registering the driver globally.
9e0e0d77 3553 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
3554 (syms_of_font): Defsubr Sfont_info.
3555
eaf11618
KH
35562008-05-29 Kenichi Handa <handa@m17n.org>
3557
3558 * coding.h (enum define_coding_utf8_arg_index): New enum.
3559 (enum coding_attr_index): Change coding_attr_utf_16_bom to
3560 coding_attr_utf_bom.
fd9440c5
SM
3561 (enum utf_bom_type): Rename from utf_16_bom_type.
3562 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
3563 (struct coding_system): Add utf_8_bom in `spec' union.
3564
3565 * coding.c (CODING_UTF_8_BOM): New macro.
3566 (enum coding_category): Delete coding_category_utf_8, add
3567 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
3568 coding_category_utf_8_sig.
3569 (CATEGORY_MASK_UTF_8): Delete it.
3570 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
3571 (CATEGORY_MASK_UTF_8_SIG): New macros.
3572 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
3573 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
3574 CATEGORY_MASK_UTF_8_SIG.
3575 (CATEGORY_MASK_UTF_8): New macro.
3576 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
3577 (detect_coding_utf_8): Check BOM.
3578 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 3579 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
3580 (encode_coding_utf_16): Likewise.
3581 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
3582 (detect_coding, detect_coding_system): Handle utf-8-auto.
3583 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
3584 (syms_of_coding): Fix setting up of Vcoding_category_table.
3585
891bd142
SM
35862008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
3587
3588 * process.c (Faccept_process_output): If `millisec' is non-nil,
3589 `seconds' default to 0.
3590 (wait_reading_process_output): Also return non-nil if we read output
3591 from a non-running process.
3592
1519d52e
JR
35932008-05-29 Jason Rumney <jasonr@gnu.org>
3594
fd9440c5
SM
3595 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
3596 `raster' specified.
3597 (add_font_entity_to_list): Allow non-opentype truetype fonts back
3598 in the uniscribe backend, but disallow any font that has no
3599 unicode subrange support.
1519d52e 3600
d5ab09cd
JB
36012008-05-29 Juanma Barranquero <lekktu@gmail.com>
3602
3603 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
3604 Fix typos in docstrings.
3605
a4eec626
KH
36062008-05-29 Kenichi Handa <handa@m17n.org>
3607
3608 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 3609 (Fx_family_fonts): Set frame correctly.
a4eec626 3610
a6e0b7e5
JR
36112008-05-28 Jason Rumney <jasonr@gnu.org>
3612
d5ab09cd 3613 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 3614
6b3d752c
SM
36152008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3616
3617 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
3618 calling build_annotations.
3619
c3f9fba8
JB
36202008-05-28 Juanma Barranquero <lekktu@gmail.com>
3621
3622 * coding.c (Fdecode_coding_region, Fencode_coding_region)
3623 (Fencode_coding_string):
3624 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
3625 <latin-extra-code-table>: Fix typos in docstrings.
3626 (syms_of_coding) <coding-system-alist>: Doc fix.
3627 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
3628
00c670e1
KH
36292008-05-28 Kenichi Handa <handa@m17n.org>
3630
b75d7f28
KH
3631 * fontset.c (Ffont_info): Don't call font_close_object.
3632
3633 * font.c (font_parse_family_registry): Use Ffont_put to validate
3634 foundry and family.
3635 (font_delete_unmatched): Don't check spacing.
3636 (font_list_entities): Add spacing to the spec to list fonts.
3637
3638 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 3639 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 3640
00c670e1
KH
3641 * coding.c (encode_coding_raw_text): Fix previous change.
3642 (encode_coding_object): When the dst_object is a buffer and is
3643 different from src_object, move gap to PT.
3644
45feca91
CY
36452008-05-27 Chong Yidong <cyd@stupidchicken.com>
3646
c3f9fba8 3647 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 3648
5dd5d9eb
SM
36492008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3650
01d45367
SM
3651 * coding.c (encode_coding_raw_text): Set coding->produced_char for
3652 all branches. Compute it differently.
3653
5dd5d9eb
SM
3654 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
3655
9c623c85
JB
36562008-05-27 Juanma Barranquero <lekktu@gmail.com>
3657
3658 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
3659 into "else if () ... else ...".
3660
943f2093
JR
36612008-05-27 Jason Rumney <jasonr@gnu.org>
3662
5dd5d9eb
SM
3663 * w32font.c (w32font_open_internal): Determine if glyph indices
3664 are likely to work here.
943f2093 3665
7385fe74
CY
36662008-05-27 Chong Yidong <cyd@stupidchicken.com>
3667
3668 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
3669 draw overlap glyphs with appropriate highlighting.
3670
4f64a164
KH
36712008-05-27 Kenichi Handa <handa@m17n.org>
3672
3673 * xfont.c (xfont_open): Fix calculation of font->average_width.
3674
1fb5aad7
SM
36752008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
3676
3677 * casefiddle.c (casify_object): Try to guess better whether the
3678 argument is a byte or a char.
3679
f8eb1603
AS
36802008-05-26 Andreas Schwab <schwab@suse.de>
3681
1fb5aad7
SM
3682 * xselect.c (x_reply_selection_request): Properly handle format == 32.
3683 Always send multiples of format size.
5a9c35e5 3684
f8eb1603
AS
3685 * xterm.c (x_set_frame_alpha): Fix type mismatch.
3686
ba93d684
JR
36872008-05-26 Jason Rumney <jasonr@gnu.org>
3688
1fb5aad7
SM
3689 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
3690 (compute_metrics): Don't set failure if we just cleared the cache.
3691 (w32_weight_table): Remove unused variable.
3692 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
3693 backwards compatibility.
ba93d684 3694
505ecc49
KH
36952008-05-25 Kenichi Handa <handa@m17n.org>
3696
1fb5aad7
SM
3697 * w32term.c (x_draw_glyph_string):
3698 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
3699
3700 * xfaces.c: Delete unused function prototypes.
3701 (xstrlwr, font_frame): Delete them.
3702 (clear_face_cache): Delete unused variable.
3703
1fb5aad7
SM
3704 * xftfont.c (xftfont_open): Delete unused variable.
3705 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
3706
3707 * ftxfont.c (ftxfont_open): Delete unused variable.
3708
3709 * fontset.c (face_for_char): Optimize for the case of no charset
3710 property.
3711
3712 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
3713 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
3714 (otf_open, font_otf_capability, generate_otf_features)
3715 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 3716 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
3717 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
3718 (syms_of_font): Codes for accessing above commented out.
3719
f481eb31
EZ
37202008-05-24 Eli Zaretskii <eliz@gnu.org>
3721
3722 * w32proc.c: Include dispextern.h.
3723
3724 * w32.c: Include dispextern.h.
3725
20746fe4
JB
37262008-05-23 Juanma Barranquero <lekktu@gmail.com>
3727
3728 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
3729 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
3730 Fix typos in docstrings.
3731
e7150846
JR
37322008-05-23 Jason Rumney <jasonr@gnu.org>
3733
20746fe4 3734 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 3735
dbf46ba6
KH
37362008-05-23 Kenichi Handa <handa@m17n.org>
3737
6c652beb
KH
3738 * charset.c (Qemacs, charset_emacs): New variables.
3739 (char_charset): Fix for non-Unicode characters.
3740 (syms_of_charset): Define charset_emacs.
3741
baf4d3b3 3742 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
3743 s->underline_thickness and s->underline_position. Be sure to draw
3744 underline within the current line area.
baf4d3b3
KH
3745
3746 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 3747 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 3748 underline within the current line area.
baf4d3b3 3749
dbf46ba6
KH
3750 * fontset.c: Delete unused variables and add casting for char *
3751 throughout the file.
3752 (fontset_font): Try the fallback fonts of the current fontset
3753 before consulting the default fontset.
3754
3755 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
3756
9e0e0d77 3757 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 3758
3b780338
JR
37592008-05-22 Jason Rumney <jasonr@gnu.org>
3760
20746fe4 3761 * font.c: Don't include strings.h.
577eba22 3762
9e0e0d77 3763 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 3764
20746fe4
JB
3765 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
3766 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
3767 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
3768 to call xstrcasecmp.
05131107 3769
b1722a46 3770 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 3771
b1722a46 3772 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 3773
b1722a46 3774 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 3775
b1722a46 3776 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 3777
a30e1957
KH
37782008-05-22 Kenichi Handa <handa@m17n.org>
3779
20746fe4 3780 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 3781
20746fe4 3782 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
3783 change of font_style_table.
3784
a30e1957
KH
3785 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
3786 two args.
3787
3788 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
3789 two args.
3790
631248e5
SM
37912008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
3792
3793 * minibuf.c (keys_of_minibuf): Delete.
3794 * lisp.h (keys_of_minibuf): Delete.
3795 * emacs.c (main): Don't call keys_of_minibuf.
3796
318548be
KH
37972008-05-22 Kenichi Handa <handa@m17n.org>
3798
631248e5 3799 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
3800 ftfont_list_generic_family. Return a single family for each
3801 generic family.
3802 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
3803 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
3804 Call font_add_log.
318548be
KH
3805 (ftfont_match): Call font_add_log.
3806
3807 * font.h (Ffont_xlfd_name): EXFUN adjusted.
3808 (FONT_DEBUG): Define it.
3809 (font_add_log): Extern it.
631248e5 3810 (font_assert): Rename from xassert.
318548be
KH
3811
3812 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
3813 (xfont_list_family): Call font_add_log.
3814 (xfont_match): Likewise.
631248e5 3815 (memq_no_quit): Delete.
318548be
KH
3816
3817 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
3818 call of Ffont_xlfd_name.
3819
3820 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 3821 (swidth_table): Move to font.c.
318548be
KH
3822
3823 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 3824 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
3825 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
3826 New variables.
631248e5
SM
3827 (struct table_entry): Move from xfaces.c and modified.
3828 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 3829 contents adjusted for the change of struct table_entry.
20746fe4 3830 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 3831 format change of font_style_table.
318548be
KH
3832 (font_parse_family_registry): Don't overwrite existing foundry and
3833 family of font_spec.
3834 (font_score): Fix calculation of diff for sizes.
3835 (font_sort_entites): Call font_add_log.
3836 (font_delete_unmatched): Return a newly created list.
3837 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
3838 (font_matching_entity, font_open_entity, font_close_entity):
3839 Call font_add_log.
318548be 3840 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 3841 (Finternal_set_font_style_table): Delete.
318548be
KH
3842 (BUILD_STYLE_TABLE): New macro.
3843 (build_style_table): New function.
3844 (Vfont_log, font_log_env_checked): New variables.
3845 (font_add_log): New function.
3846 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
3847 Declare Lisp variables "font-weight-table", "font-slant-table",
3848 "font-width-table", and "font-log". Initialize font_style_table.
3849
6aac1c03
DN
38502008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
3851
bcc850aa 3852 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 3853
7950790f
GM
38542008-05-21 Seiji Zenitani <zenitani@mac.com>
3855 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 3856
7950790f 3857 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 3858 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 3859 (x_set_alpha): New function.
a2979e8e 3860
7950790f 3861 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 3862
7950790f
GM
3863 * xfns.c (x-create-frame, Qalpha):
3864 Initialize the frame parameter `alpha'.
b9fb2c45
GM
3865 * xterm.c (OPAQUE, OPACITY): New.
3866 (x_set_frame_alpha): New function.
3867 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 3868
7950790f
GM
3869 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
3870 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 3871
5c2a72d9
JR
38722008-05-20 Jason Rumney <jasonr@gnu.org>
3873
20746fe4
JB
3874 * w32font.c (add_font_entity_to_list): Don't add non-opentype
3875 truetype fonts to opentype list.
5c2a72d9 3876
eb152aa9
JB
38772008-05-20 Juanma Barranquero <lekktu@gmail.com>
3878
3879 * fontset.c (Ffontset_info): Doc fix.
3880 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
3881 <ignore-relative-composition>: Fix typos in docstrings.
3882
3883 * font.c (syms-of-font) <font-encoding-alist>:
3884 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
3885 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
3886 (Ffont_otf_alternates): Doc fixes.
3887
ad00e1a3
KH
38882008-05-20 Kenichi Handa <handa@m17n.org>
3889
3890 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
3891 font.h through out the file.
9e0e0d77 3892 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 3893 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
3894 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
3895
3896 * emacs.c (main): Call syms_of_font unconditionally.
3897
3898 * font.h (find_font_encoding): Extern it.
3899
9e0e0d77 3900 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
3901 fontset.c.
3902 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
3903 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
3904 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
3905 only when HAVE_WINDOW_SYSTEM is defined.
3906 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
3907 when HAVE_WINDOW_SYSTEM is defined.
3908
9e0e0d77
SM
3909 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
3910 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
3911
3912 * xfaces.c: Include font.h unconditionally.
3913 (merge_face_ref, merge_face_vectors)
3914 (Finternal_set_lisp_face_attribute): Cancel the previous change.
3915
40a69fac
SM
39162008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
3917
3918 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
3919 indirect_variable.
3920 * eval.c (lisp_indirect_variable): New fun.
3921 (Fuser_variable_p): Use it.
3922
8c2dccbf
SM
39232008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
3924
ad97b375
SM
3925 * lisp.h (indirect_variable):
3926 * data.c (indirect_variable, let_shadows_buffer_binding_p):
3927 Use Lisp_Symbol pointers rather than Lisp_Object.
3928 Adjust callers.
3929 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
3930 To this end, change calling-convention.
3931
8c2dccbf
SM
3932 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
3933 if some non-hidden buffers are selected by string&pred.
3934
ad97b375
SM
39352008-05-19 Chong Yidong <cyd@stupidchicken.com>
3936
3937 * process.c (wait_reading_process_output): Always check status
3938 when in batch mode.
3939
25b81df4
KH
39402008-05-19 Kenichi Handa <handa@m17n.org>
3941
3942 * font.c (font_list_entities): Fix handling of cache.
3943 (font_matching_entity): Likewise.
3944
8c2dccbf 3945 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 3946 (ft_face_cache): New variable.
1f204af3 3947 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 3948 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
3949 (fc_charset_table): New variable.
3950 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
3951 . FC_CHARSET_IDX) as :font-entity property in the font entity.
3952 Callers changed.
dde8403f 3953 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
3954 (ftfont_spec_pattern): New argument fc_charset_idx.
3955 Check registry more rigidly. Change callers.
a2979e8e 3956 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
3957 change of :font-entity property of the font.
3958
a2979e8e 3959 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
3960 property of the font.
3961
d4a1d553
JB
39622008-05-18 Juanma Barranquero <lekktu@gmail.com>
3963
3964 * coding.c (Fcoding_system_p): Rename argument to match docstring.
3965 (Funencodable_char_position, Fcheck_coding_systems_region)
3966 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
3967 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
3968 (Ffind_operation_coding_system, Fset_coding_system_priority)
3969 (Fcoding_system_eol_type): Doc fixes.
3970
07cfc4e7
GM
39712008-05-17 Glenn Morris <rgm@gnu.org>
3972
3973 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
3974
1cab27d2
EZ
39752008-05-16 Eli Zaretskii <eliz@gnu.org>
3976
3977 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
3978 and st_gid.
3979
dde8403f 3980 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
3981 HAVE_WINDOW_SYSTEM is not defined.
3982
3983 * xfaces.c (merge_face_ref, merge_face_vectors)
3984 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
3985 HAVE_WINDOW_SYSTEM is defined.
3986 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
3987
86b89713
SM
39882008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
3989
3990 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
3991
6750bd93
YM
39922008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3993
62867b11 3994 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 3995
79f105c9
KH
39962008-05-15 Kenichi Handa <handa@m17n.org>
3997
3998 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
3999 preference.
4000
6b33da9f
GM
40012008-05-15 Glenn Morris <rgm@gnu.org>
4002
4003 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4004
d0e4433b
CY
40052008-05-15 Chong Yidong <cyd@stupidchicken.com>
4006
4007 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4008 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4009
4010 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4011
5f2d79e0
KH
40122008-05-15 Kenichi Handa <handa@m17n.org>
4013
fd8a1cae
KH
4014 * ftfont.c (ftfont_list): Downcase family name to check generic
4015 families.
4016
4017 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4018 font-spec for QCfont value.
4019
5f2d79e0
KH
4020 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4021 buffer. Check the return value of it.
4022
e5e29349
JR
40232008-05-14 Jason Rumney <jasonr@gnu.org>
4024
4025 * w32term.c (w32_get_glyph_overhangs): Remove.
4026 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4027
1f09f444
KH
40282008-05-14 Kenichi Handa <handa@m17n.org>
4029
4030 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
4031 (font_clear_cache): Check if the cached vector of entities is nil
4032 or not.
1f09f444 4033
ecae6af9 40342008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
4035
4036 * emacs.c (main_thread): Conditionalize on
4037 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4038 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4039
4040 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4041 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4042 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4043
c6b278e7
KH
40442008-05-14 Kenichi Handa <handa@m17n.org>
4045
4046 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4047 has no corresponding coding system.
4048
40492008-05-14 Jason Rumney <jasonr@gnu.org>
4050
4051 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4052
4053 * w32font.h (w32font_open_internal): Update declaration.
4054
4055 * w32font.c (w32font_open_internal): Change last argument from
4056 w32font_info struct to font object. Fill in font object from
4057 font_entity. Get Outline metrics if possible. Use them to
4058 calculate underline position and thickness. Use xlfd name as name
4059 property. Don't set codepage.
4060 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 4061 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
4062 (w32font_draw): Use s->font.
4063 (clear_cached_metrics): Don't clear non-existent blocks.
4064
4065 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4066 font was not found.
a879ee6f 4067 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
4068
4069 * w32uniscribe.c (uniscribe_open): Pass font_object to
4070 w32font_open_internal.
4071
40722008-05-14 Kenichi Handa <handa@m17n.org>
4073
4074 These changes are to delete all legacy font-handling codes, and
4075 make Emacs use only font-backends.
4076
4077 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4078 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4079
4080 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4081
4082 * charset.h (Vcharset_non_preferred_head)
4083 (Vcurrent_iso639_language): Extern them.
4084
4085 * charset.c (Vcharset_non_preferred_head): New variable.
4086 (Vcurrent_iso639_language): New variable.
4087 (syms_of_charset): Declare it as a Lisp variable.
4088 (char_charset): Don't check non preferred charsets. As a last
4089 resort, return charset_unicode.
4090 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4091
4092 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4093 conditionals. Don't check enable_font_backend. Delete all codes
4094 used only when USE_FONT_BACKEND is not defined.
4095
4096 * dispextern.h (struct glyph_string): Change type of `font' to
4097 `struct font *'.
4098 (struct glyph_string): New member underline_position and
4099 underline_thickness.
4100 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4101 (struct face): Change type of `font' to `struct font *'. Remove
4102 members `font_name', `font_info_id'.
4103 (per_char_metric, encode_char): Delete externs.
4104 (calc_pixel_width_or_height): Adjust the prototype.
4105
4106 * emacs.c (enable_font_backend): Delete extern.
4107 (main): Don't set enable_font_backend. Don't check the command
4108 line argument "-disable-font-backend".
4109
4110 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4111 (enum font_property_index): New members FONT_DPI_INDEX,
4112 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4113 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4114 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4115 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4116 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4117 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4118 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4119 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4120 (struct font_spec, struct font_entity): New structs.
4121 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4122 (struct font): Many members from old "struct font_info" moved to
4123 here. Members font and entity deleted.
4124 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4125 the new font-related objects.
4126 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4127 (CHECK_FONT_GET_OBJECT): Likewise.
4128 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4129 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4130 (struct font_driver): New members case_sensitive anc check. Type
4131 of the member list and open changed.
4132 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4133 (font_symbolic_width, font_find_object, font_get_spec)
4134 (font_set_lface_from_name): Delete extern.
20746fe4 4135 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
4136
4137 * font.c: Include <strings.h>.
4138 (enable_font_backend): Delete it.
4139 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4140 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4141 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4142 (null_string): Delete it.
4143 (null_vector): Make it static.
4144 (font_family_alist): Delete it.
4145 (Qnormal): Extern it.
4146 (QCextra, QClanguage): Delete it.
1f204af3 4147 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
4148 (font_make_spec, font_make_entity, font_make_object)
4149 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4150 the string. Callers changed.
4151 (font_pixel_size): Adjusted for the format change of font-related
4152 objects.
4153 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4154 (font_style_to_value, font_style_symbolic): New function.
4155 (build_font_family_alist): Delete it.
4156 (font_registry_charsets): Use Fassoc_string instead of
4157 assq_no_quit.
4158 (font_prop_validate_symbol): Don't return null_string.
4159 (font_prop_validate_style): Adjusted for the change of
4160 style-related values in a font vector.
20746fe4 4161 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
4162 QCantialias, add entries for QCavgwidth.
4163 (get_font_prop_index): Delete the 2nd argument FROM.
4164 (font_prop_validate): Arguments changed.
4165 (font_put_extra): Adjusted for the change of font-related objects.
4166 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4167 (font_parse_fcname, font_unparse_fcname)
4168 (font_prepare_composition): Likewise.
4169 (font_parse_family_registry): Renamed from font_merge_old_spec.
4170 (otf_open): Delete the 1st arg entity.
4171 (font_otf_capability): Adjusted for the above change.
4172 (font_score): New arg alternate_families. Adjusted for the change
4173 of font-related objects.
4174 (font_sort_entites): New arg best_only.
4175 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4176 Delete them.
4177 (font_match_p): Check alternate families.
4178 (font_find_object): Delete it.
4179 (font_check_object): New function.
c3f9fba8 4180 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
4181 (font_delete_unmatched): New arg.
4182 (font_list_entities): Call font_driver->list with a spec that
4183 doesn't specify style-related properties.
4184 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 4185 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
4186 (font_close_object, font_has_char, font_encode_char)
4187 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
4188 (font_spec_from_name, font_clear_prop, font_update_lface):
4189 New functions.
4190 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
4191 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4192 (font_at): Adjusted for the change of font-related objects.
4193 (font_range): New function.
4194 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 4195 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
4196 (Fcopy_font_spec, Fmerge_font_spec): New function.
4197 (Ffont_family_list): Renamed from list-families.
4198 (Finternal_set_font_style_table): Arguments changed.
4199 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4200 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4201 change of font-related objects.
c3f9fba8 4202 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 4203
3554e566 4204 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
4205 struct font.
4206 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4207 (enum FONT_SPEC_INDEX): Delete it.
4208 (font_info, list_fonts_func, load_font_func, query_font_func)
4209 (set_frame_fontset_func, find_ccl_program_func)
4210 (get_font_repertory_func, new_fontset_from_font_name): Delete
4211 externs.
4212 (fontset_from_font_name): Extern it.
4213 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4214 (FONT_INFO_FROM_FACE): Deleted.
4215 (face_for_font): Adjust prototype.
4216
4217 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4218 conditionals. Don't check enable_font_backend. Delete all codes
4219 used only when USE_FONT_BACKEND is not defined.
4220 (get_font_info_func, list_font_func, load_font_func)
4221 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4222 (get_font_repertory_func): Delete them.
4223 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4224 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4225 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4226 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4227 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4228 (fontset_compare_rfontdef): New function.
4229 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4230 ront-defs by qsort. Adjusted for the change of font-group vector.
4231 (load_font_get_repertory): Deleted.
4232 (fontset_find_font): Use new macros to ref/set elements of
4233 font-def and rfont-def.
4234 (fontset_font): Fix the timing of remembering that no font for C.
4235 (free_face_fontset): Do nothing if the face has no fontset.
4236 (face_suitable_for_char_p): Use new macros to ref/set elements of
4237 rfont-def.
4238 (face_for_char): Likewise. Call face_for_char with font_object.
4239 (fs_load_font): Delete. Delete #pragma surrounding it.
4240 (fs_query_fontset): Use strcasecmp instead of strcmp.
4241 (generate_ascii_font_name): Adjusted for the format change of
4242 font-spec.
4243 (Fset_fontset_font): Likewise. Use new macros to set elements of
4244 font-def.
4245 (Fnew_fontset): Use font_unparse_xlfd to generate
4246 FONTSET_ASCII (fontset).
4247 (new_fontset_from_font_name): Deleted.
4248 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4249 a fontset is already created for the font. FIx updating of
4250 Vfontset_alias_alist.
4251 (fontset_ascii_font): Deleted.
4252 (Ffont_info): Adjusted for the format change of font-spec.
4253 (Finternal_char_font): Likewise.
4254 (Ffontset_info): Likewise.
4255 (syms_of_fontset): Don't check load_font_func.
4256
4257 * fns.c (internal_equal): Handle PREV_FONT.
4258
4259 * frame.h: Delete USE_FONT_BACKEND conditional.
4260
4261 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4262 conditionals. Don't check enable_font_backend. Delete all codes
4263 used only when USE_FONT_BACKEND is not defined.
4264 (x_set_font): Call x_new_font, not x_new_fontset2.
4265 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4266 already set for the frame.
4267
4268 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4269 a font-entity by font_make_entity. Use font_intern_prop instead
4270 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4271 font property. If a font is scalable, set avgwidth property to 0.
4272 Set font-entity property by font_put_extra.
4273 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4274 (ffont_driver): Adjusted for the change of struct font_driver.
4275 (ftfont_spec_pattern): New function.
4276 (ftfont_list): Return a list, not vector.
4277 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4278 (ftfont_list_family): Don't downcase names.
4279 (ftfont_free_entity): Deleted.
4280 (ftfont_open): Return a font-ojbect. Adjusted for the change of
4281 struct font. Get underline_thickness and underline_position from
4282 font property. Don't update dpyinfo->smallest_font_height and
4283 dpyinfo->smallest_char_width.
4284 (ftfont_close): Don't free `struct font'.
4285 (ftfont_has_char): Adjusted for the format change of font-entity.
4286 (ftfont_encode_char, ftfont_text_extents): Likewise.
4287
4288 * ftxfont.c (ftxfont_list): Return a list, not vector.
4289 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
4290 struct font. Get underline_thickness and underline_position from
4291 font property. Don't update dpyinfo->smallest_font_height and
4292 dpyinfo->smallest_char_width.
4293 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
4294 (ftxfont_draw): Adjusted for the change of struct font.
4295
4296 * image.c (image_ascent): Don't include "charset.h". Include
4297 "character.h" and "font.h".
4298
4299 * lisp.h (enum pvec_type): New member PREV_FONT.
4300 (Fassoc_string): EXFUN it.
4301
4302 * print.c: Include font.h.
4303 (print_object): Handle font-related objects.
4304
4305 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4306 conditionals. Don't check enable_font_backend. Delete all codes
4307 used only when USE_FONT_BACKEND is not defined.
4308 (handle_auto_composed_prop): Do nothing if it->f is not on a
4309 window system. Check how many following characters can be
4310 displayed by the same font.
4311 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4312 'struct font *'.
4313 (get_char_face_and_encoding): Assign the whole encoding task to
4314 the `encode-char' method of a font driver.
4315 (fill_composite_glyph_string): Adjusted for the change of `struct
4316 face' and `struct glyph_string'.
4317 (fill_glyph_string): Likewise.
4318 (get_per_char_metric): Arguments changed.
4319 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4320 and `struct glyph_string'.
4321 (produce_stretch_glyph, calc_line_height_property)
4322 (x_produce_glyphs): Likewise.
4323
4324 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
4325 conditionals. Don't check enable_font_backend. Delete all codes
4326 used only when USE_FONT_BACKEND is not defined. Use
4327 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
4328 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4329 (Qp): Extern them.
4330 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4331 Deleted.
4332 (struct font_name): Deleted.
4333 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4334 (compare_fonts_by_sort_order): New function.
4335 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4336 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4337 Deleted.
4338 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4339 compare_fonts_by_sort_order.
4340 (Fx_font_family_list): Call Ffont_family_list.
4341 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4342 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4343 (face_symbolic_slant, face_symbolic_swidth)
4344 (split_font_name_into_vector, build_font_name_from_vector)
4345 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4346 (font_rescale_ratio, split_font_name, build_font_name)
4347 (free_font_names, sort_fonts, x_face_list_fonts)
4348 (face_font_available_p, sorted_font_list, cmp_font_names)
4349 (font_list_1, concat_font_list, font_list, remove_duplicates):
4350 Deleted.
4351 (Fx_list_fonts): Use Ffont_list.
4352 (LFACE_AVGWIDTH): Deleted.
4353 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
4354 by FONTP.
4355 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4356 (set_lface_from_font_name): Delete it.
4357 (set_lface_from_font): Renamed from
4358 set_lface_from_font_and_fontset. Caller changed. Don't set
4359 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
4360 for face.
c3f9fba8
JB
4361 (merge_face_vectors): Copy font-spec if necessary.
4362 Clear properties of the font-spec if necessary.
c6b278e7
KH
4363 (merge_face_ref): Clear properties of the font-spec if necessary.
4364 (Finternal_set_lisp_face_attribute): Likewise.
4365 (set_font_frame_param): Use font_load_for_lface to load a
4366 font-object, and call Fmodify_frame_parameters with it.
4367 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
4368 font name by Ffont_xlfd_name.
4369 (Finternal_lisp_face_attribute_values): Don't check QCweight,
4370 QCslant, and QCwidth.
4371 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
4372 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
4373 Compare fonts by EQ.
4374 (lookup_non_ascii_face): Deleted.
4375 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
4376 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
4377 Check atomic font properties by case insensitive.
c6b278e7
KH
4378 (realize_non_ascii_face): Set face->overstrike correctly.
4379 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
4380 (dump_realized_face): Get font name from
4381 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
4382
4383 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
4384 conditionals. Don't check enable_font_backend. Delete all codes
4385 used only when USE_FONT_BACKEND is not defined.
4386 (xic_create_xfontset): Original code deleted and renamed from
4387 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
4388 (x_make_gc): Don't set GCFont in GCs.
4389 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
4390 opened by "fixed".
4391 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
4392 find_ccl_program_func, query_font_func, set_frame_fontset_func,
4393 get_font_repertory_func.
4394
4395 * xfont.c: Include <stdlib.h> and "ccl.h".
4396 (struct xfont_info): New structure.
4397 (xfont_query_font): Deleted.
4398 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
4399 moved from xterm.c.
4400 (xfont_driver): Adjusted for the change of struct font_driver.
4401 (compare_font_names): New function.
4402 (xfont_list_pattern): Sort font names case insensitively. Make
4403 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
4404 (xfont_list): Return a list, not vector.
4405 (xfont_match): If the font doesn't have QCname property, generate
4406 a name from the other font properties.
4407 (xfont_open): Return a font-ojbect. Adjusted for the change of
4408 struct font. Get underline_thickness and underline_position from
4409 font property. Don't update dpyinfo->smallest_font_height and
4410 dpyinfo->smallest_char_width.
4411 (xfont_close): Don't free struct font.
4412 (xfont_prepare_face): Adjusted for the change of struct font.
4413 (xfont_done_face): Deleted.
4414 (xfont_has_char): Adjusted for the change of struct font.
4415 (xfont_encode_char, xfont_draw): Likewise.
4416 (xfont_check): New function.
4417
4418 * xftfont.c (xftfont_list): Adjusted for the change of `list'
4419 callback function.
4420 (xftfont_match): Adjusted for the fontmat change of font-entity.
4421 (xftfont_open): Adjusted for the format change of font-entity and
4422 font-object. Adjusted for the change of struct font. Return a
4423 font-object. Don't update dpyinfo->smallest_font_height and
4424 dpyinfo->smallest_char_width.
4425 (xftfont_close): Block input while calling XftFontClose.
4426 (xftfont_prepare_face): Don't block input while calling
4427 xftfont_get_colors. Adjusted for the change of struct font.
4428 (xftfont_shape): Return value of error case fixed.
4429
4430 * xrdb.c (x_load_resources): Don't setup a fontset resource.
4431
4432 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
4433 conditionals.
4434 (FONT_WIDTH): Return (f)->max_width.
4435 (struct x_display_info): Delete member `font'.
4436 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
4437 (x_find_ccl_program, x_get_font_repertory): Delete externs.
4438 (struct x_output): Change type of `font' to `struct font *'.
4439
4440 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
4441 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 4442 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
4443 (x_per_char_metric, x_encode_char): Deleted.
4444 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
4445 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 4446 `struct face'.
c6b278e7
KH
4447 (x_draw_glyph_string_foreground)
4448 (x_draw_composite_glyph_string_foreground): Likewise.
4449 (x_draw_glyph_string): Likewise. Use font->underline_position and
4450 font->underline_thickness.
4451 (x_new_font): Renamed from x_new_fontset2.
4452 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
4453 (x_check_font): Call `check' method of a font driver.
4454 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
4455 (x_query_font, x_get_font_repertory): Deleted.
4456 (x_find_ccl_program): Renamed and moved to xfont.c.
4457 (x_redisplay_interface): Adjusted for the change of `struct
4458 redisplay_interface'.
4459
4460 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
4461 conditionals. Don't check enable_font_backend. Delete all codes
4462 used only when USE_FONT_BACKEND is not defined. Surround non-used
4463 code by "#ifdef OLD_FONT" and "endif".
4464 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
4465
4466 * w32font.h (struct w32font_info): New member.
4467 (FONT_COMPAT): New macro.
4468 (w32font_open_internal): Prototype adjusted.
4469
4470 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
4471 OLD_FONT" and "endif".
4472
4473 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
4474 conditionals. Don't check enable_font_backend. Delete all codes
4475 used only when USE_FONT_BACKEND is not defined.
4476 (w32font_open): Return a font-object. Make a font-object by
4477 font_make_object. Adjusted for the change of struct w32font_info.
4478 (w32font_close): Don't free struct font. Adjusted for the change
4479 of struct w32font_info.
4480 (w32font_encode_char, w32font_text_extents, w32font_draw):
4481 Adjusted for the change of struct w32font_info.
4482 (w32font_draw): Likewise.
4483 (w32font_list_internal): Return a list, not vector.
4484 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 4485 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
4486 (add_font_name_to_list): Don't downcase names.
4487 (w32_enumfont_pattern_entity): Make a font-entity by
4488 font_make_entity. Adjusted for the format change of font-entity.
4489 Use FONT_SET_STYLE to set a style-related font property. If a
4490 font is scalable, set avgwidth property to 0. Set font-entity
4491 property by font_put_extra.
c3f9fba8 4492 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
4493 (w32_weight_table, w32_decode_weight): New variables.
4494 (w32_encode_weight): New function.
4495 (fill_in_logfont): Adjusted for the format change of font-spec.
4496 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
4497 weight value.
4498 (w32font_driver): Adjusted for the change of struct font_driver.
4499
4500 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
f245f2c6 4501 conditionals. Don't check enable_font_backend. Surround non-used
c6b278e7
KH
4502 code by "#ifdef OLD_FONT" and "endif".
4503 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
4504 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
4505
4506 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
4507 conditionals. Don't check enable_font_backend. Delete all codes
4508 used only when USE_FONT_BACKEND is not defined. Surround non-used
4509 code by "#ifdef OLD_FONT" and "endif".
4510
4511 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
4512 (uniscribe_open): Return value changed to font-object.
4513 Adjusted for the format change of font-object.
4514 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
4515 (add_opentype_font_name_to_list): Don't downcase names.
4516 (uniscribe_font_driver): Adjusted for the change of struct
4517 font_driver.
4518
f9d4c199
CY
45192008-05-13 Chong Yidong <cyd@stupidchicken.com>
4520
4521 * dispnew.c (update_frame_1): Check if tty output is still valid
4522 before flushing it.
4523
44f249c0
JD
45242008-05-13 Jan Djärv <jan.h.d@swipnet.se>
4525
4526 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
4527 to Gtk+ menus.
4528
01bb4018
SM
45292008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4530
3271a8f5
SM
4531 * dired.c (file_name_completion): Tweak the code so as to always do it
4532 in a single pass. Tighten the scope of some variables.
4533
01bb4018
SM
4534 * dired.c (Qdefault_directory): New var.
4535 (file_name_completion): Use it instead of Fexpand_file_name.
4536 (syms_of_dired): Initialize it.
4537
728bb8e0
SM
45382008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
4539
4540 * fileio.c (double_dollars): Remove dead code.
4541
ed4c17bb
EZ
45422008-05-10 Eli Zaretskii <eliz@gnu.org>
4543
6c5665e9
EZ
4544 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
4545 Mention w32-get-true-file-attributes in doc string.
4546
ed4c17bb
EZ
4547 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
4548
71e1f69d
GM
45492008-05-09 Glenn Morris <rgm@gnu.org>
4550
4551 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
4552 2008-04-23.
4553
ee7a2e7a
EZ
45542008-05-09 Eli Zaretskii <eliz@gnu.org>
4555
8aaaec6b
EZ
4556 Support for reporting owner and group of each file on MS-Windows:
4557 * dired.c (stat_uname, stat_gname): New functions, with special
4558 implementation for w32.
4559 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
4560
ee7a2e7a
EZ
4561 * w32.c: Rename the_passwd_* to dflt_passwd_*.
4562 (dflt_group_name): New static variable.
728bb8e0 4563 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
4564 (init_user_info): Init dflt_group fields. Get user's group name
4565 from LookupAccountSid.
8aaaec6b
EZ
4566 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
4567 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
4568 New initialization states.
4569 (globals_of_w32): Initialize them to zero. Initialize the default
4570 group name to "None".
4571 (GetFileSecurity_Name): New global var, the name of the function
4572 to call for GetFileSecurity.
4573 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
4574 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
4575 (get_file_security, get_security_descriptor_owner)
4576 (get_security_descriptor_group, is_valid_sid)
4577 (get_file_security_desc, get_rid, get_name_and_id)
4578 (get_file_owner_and_group): New functions.
4579 (stat): Use get_file_security_desc and get_file_owner_and_group to
4580 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
4581 high 32 bits of file's size, now that st_size is 64-bit wide.
4582 Fix test when to get true file attributes.
8aaaec6b
EZ
4583 (init_user_info): Use get_rid instead of equivalent inline code.
4584 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 4585
b199c436
CY
45862008-05-09 Chong Yidong <cyd@stupidchicken.com>
4587
4588 * image.c (png_load): Use correct bit-depth for setting background
4589 color.
4590
86914123
EZ
45912008-05-08 Eli Zaretskii <eliz@gnu.org>
4592
4593 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
4594 epa-hook.elc.
4595
67b5d7de
JB
45962008-05-08 Juanma Barranquero <lekktu@gmail.com>
4597
4598 * font.c (Ffont_match_p): Don't use `iff' in docstring.
4599
1a111394
DN
46002008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
4601
4602 * macfns.c (Fx_create_frame): Make a copy of frame parameters
4603 because the original parameters are in pure storage now.
4604 (mac_window): Remove unused params. Update callers.
4605
6d77fa95
SM
46062008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
4607
7a3d90dc
SM
4608 * lread.c (substitute_object_recurse): Use lower-level primitives.
4609 Don't signal errors when traversing sub-char-tables.
4610 Don't loop over all the possible characters when traversing char-tables.
4611
6d77fa95
SM
4612 * print.c (print_preprocess): Add sub-char-tables to the print-table,
4613 just like we do in print.c.
4614
140eb764
SM
46152008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
4616
4617 * minibuf.c (Ftry_completion): Remove code left over from when we used
4618 scmp instead of Fcompare_strings.
4619
e9184ccb
JB
46202008-05-04 Juanma Barranquero <lekktu@gmail.com>
4621
4622 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
4623
0e9378b3
YM
46242008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4625
4626 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
4627 Create bitmap context in native byte order.
4628
f67e15be
MB
4629 * macterm.c (XDrawLine)
4630 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
4631 context in native byte order.
064032d0 4632
f67e15be 46332008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
4634
4635 * config.in: Regenerate.
4636
4637 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
4638 New definitions for Image I/O support.
4639 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4640 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
4641 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4642 (mac_data_provider_release_data, image_load_image_io)
4643 [USE_MAC_IMAGE_IO]: New functions.
4644 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
4645 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
4646 (init_image_func_pointer) [MAC_OSX]: Remove function.
4647 (image_load_quartz2d) [MAC_OSX]: Check availability of
4648 CGImageCreateWithPNGDataProvider at compile time.
4649 Use lowercase `false' for boolean constant.
4650 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
4651 Use image_load_image_io.
4652 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
4653 Don't check MyCGImageCreateWithPNGDataProvider.
4654 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
4655 Don't call init_image_func_pointer.
4656
4657 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
4658
4659 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
4660 Make variable non-static.
4661 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
4662 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
4663
4664 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
4665 (RED_FROM_ULONG): Mask off higher bits.
4666 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
4667
4668 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
4669 Include AvailabilityMacros.h.
4670 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
4671 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
4672
c6bff69e
SM
46732008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
4674
4675 * chartab.c (Fset_char_table_range): If range is t, really set all
4676 chars to that value.
4677
7412d429
EZ
46782008-05-03 Eli Zaretskii <eliz@gnu.org>
4679
4680 * dired.c (Ffile_attributes): Don't allow the device number become
4681 negative.
4682
f83bbfac
DU
46832008-05-02 Daiki Ueno <ueno@unixuser.org>
4684
5a81d3d7 4685 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 4686
2e3148e2
JL
46872008-05-02 Juri Linkov <juri@jurta.org>
4688
4689 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
4690 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
4691 DEFAULT argument as a list of default values in docstrings.
2e3148e2 4692
923fb88c
CY
46932008-05-01 Chong Yidong <cyd@stupidchicken.com>
4694
4695 * puresize.h (BASE_PURESIZE): Increase to 1210000.
4696
047aaeb9
MR
46972008-05-01 Martin Rudalics <rudalics@gmx.at>
4698
4699 * dispnew.c (change_frame_size_1): Preserve small windows when
4700 shrinking frames by calling set_window_height|width with third
4701 arg 2.
4702
4703 * window.h (struct window): Replace field too_small_ok by field
4704 resize_proportionally.
4705
4706 * window.c (make_window): Initialize resize_proportionally.
4707 (enlarge_window): Temporarily set resize_proportionally to make
4708 sure that shrink_windows does scale the window proportionally.
4709 (shrink_windows): When window has resize_proportionally set try
4710 to shrink it proportionally by stealing from other windows.
4711 (struct saved_window, Fset_window_configuration)
4712 (compare_window_configurations): Handle resize_proportionally.
4713 (WINDOW_TOTAL_SIZE): New macro.
4714 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 4715 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
4716 window-min-height|width are handled by window_min_size_2 now.
4717 (size_window, Fsplit_window, enlarge_window)
4718 (adjust_window_trailing_edge, grow_mini_window): Don't call
4719 check_min_window_sizes.
c6bff69e
SM
4720 (window_min_size_2, window_min_size_1, window_min_size):
4721 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 4722 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
4723 (adjust_window_trailing_edge, grow_mini_window):
4724 Adjust arguments of window_min_size... functions.
047aaeb9
MR
4725 (shrink_windows): Argument min_size removed. New argument
4726 safe_p allows shrinking windows to their safe minimum sizes.
4727 Calculate minimum size and decide whether a window shall be
4728 deleted for each window individually.
4729 (size_window): When nodelete_p equals 2, tell shrink_windows to
4730 delete windows only if their new minimum size is no more safe.
4731 (shrink_window_lowest_first): Call window_min_size_1 to make
4732 sure to preserve modeline of bottom-most window when resizing
4733 the minibuffer.
4734 (Fset_window_configuration, Fcurrent_window_configuration)
4735 (compare_window_configurations): Do not handle
4736 window-min-height|width any more.
4737 (syms_of_window): Clarify window-min-height|width doc-strings.
4738
2a54a229
SM
47392008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
4740
4741 * dired.c (file_name_completion): Fix up the encoding/decoding issue
4742 some more. Copy some of the code from Ftry_completions.
4743 Remove special case code that dates back to initial revision when the
4744 slash was only added when necessary and that can't trigger nowadays.
4745
384bc634
KH
47462008-04-27 Kenichi Handa <handa@m17n.org>
4747
4748 * font.c (font_prop_validate): Signal `error' instead of `font'.
4749
2c2279c6
JR
47502008-04-29 Jason Rumney <jasonr@gnu.org>
4751
4752 * w32fns.c (Fw32_battery_status): New defun.
4753 (syms_of_w32fns): Defsubr it.
4754
fb4a622a
AS
47552008-04-28 Andreas Schwab <schwab@suse.de>
4756
4757 * dired.c (file_name_completion): Fix another mixing of encoded
4758 and decoded names.
4759
23f250f4
JB
47602008-04-28 Juanma Barranquero <lekktu@gmail.com>
4761
4762 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
4763
d8d30dff
JB
47642008-04-27 Juanma Barranquero <lekktu@gmail.com>
4765
4766 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
4767
ea6104a8
AS
47682008-04-27 Andreas Schwab <schwab@suse.de>
4769
9c691c00
AS
4770 * dired.c (file_name_completion): Fix inappropriate mixing of
4771 encoded and decoded names.
4772
ec1bf773
AS
4773 * xterm.c (XTread_socket): Fix use of uninitialized variable.
4774
ea6104a8
AS
4775 * puresize.h (BASE_PURESIZE): Increase to 1200000.
4776
01388a3d
EZ
47772008-04-26 Eli Zaretskii <eliz@gnu.org>
4778
4779 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
4780 2008-03-31, it's not needed anymore with `struct stat' definition
4781 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
4782 for the same reasons.
4783
175aea10 47842008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
4785
4786 * m/sparc.h: Additional redefinitions for GNU/Linux.
4787
1289aeb8
YM
47882008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4789
4790 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
4791 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
4792 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
4793 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
4794 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4795 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
4796 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4797 Likewise.
4798
4799 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 4800 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
4801 (mac_ax_number_of_characters): Add externs.
4802 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
4803 [USE_MAC_TSM]: Likewise.
4804 (mac_handle_text_input_event) [MAC_OSX]:
4805 Handle kEventTextInputOffsetToPos for no active input area case.
4806 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4807 (mac_handle_document_access_event)
4808 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
4809 (install_application_handler) [MAC_OSX]: Register handlers for
4810 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
4811 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
4812 Register mac_handle_document_access_event.
4813
4814 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
4815 Make functions non-static.
4816
dbd50d4b
SM
48172008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
4818
4819 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
4820 (read_file_name_completion_ignore_case, insert_default_directory)
4821 (Qdefault_directory): Move to minibuffer.el.
4822 (Fread_file_name): Call the new `read-file-name' instead.
4823
9ea37b9d 48242008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
4825
4826 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
4827 Make function non-static.
4828 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
4829 Remove function.
4830 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4831 Move to mactoolbox.c.
4832 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
4833
4834 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
4835 (mac_rect_make): New macro.
4836
4837 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
4838 instead of float.
4839 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4840 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
4841 (XSetBackground) [USE_CG_DRAWING]: Likewise.
4842 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
4843 CGRectMake.
4844 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
4845 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
4846 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
4847 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4848 instead of WindowRef in argument type.
4849 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
4850 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
4851 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
4852 instead of DISPLAY. All uses changed.
4853 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
4854 (x_calc_absolute_position): Simplify so as not to use
4855 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
4856
4857 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
4858 instead of WindowRef in argument type.
4859 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
4860 [TARGET_API_MAC_CARBON]: Remove externs.
4861 (create_apple_event, mac_event_parameters_to_lisp)
4862 [TARGET_API_MAC_CARBON]: Add externs.
4863
d8d30dff 4864 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
4865 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
4866 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
4867 is clicked.
4868 (x_activate_menubar): Remove extern for saved_menu_event_location.
4869 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
4870 Move from mac.c.
4871
9ea37b9d 48722008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
4873
4874 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
4875 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
4876
9ea37b9d 48772008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
4878
4879 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
4880 attributes only for local files.
4881
4882 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 4883 default to Qlocal.
bd735631 4884
88970542
JL
48852008-04-22 Juri Linkov <juri@jurta.org>
4886
4887 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
4888 read-buffer-to-switch instead of using the letter "B".
4889
92ec67e3
SM
48902008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4891
4892 * fileio.c (Qdefault_directory): New variable.
4893 (Fread_file_name): Use it to pass `dir' to the completion functions.
4894
a32b2382
CY
48952008-04-20 Chong Yidong <cyd@stupidchicken.com>
4896
2a2e8de7 4897 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 4898
6c8b4f07
SM
48992008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
4900
ece5f847
SM
4901 * keyboard.c (Vpre_help_message): Remove.
4902 (show_help_echo): Remove default C code.
4903
6c8b4f07
SM
4904 * dired.c (directory_files_internal, file_name_completion):
4905 Only call ENCODE_FILE if the string is indeed decoded.
4906
73d798d5
SM
49072008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
4908
4909 * Makefile.in (TOOLKIT_DEFINES): Remove.
4910 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
4911
d8d30dff 49122008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
4913
4914 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
4915 (mactoolbox.o): New target.
4916
4917 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
4918 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
4919
4920 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
4921 Use mac_set_frame_window_background instead of XSetWindowBackground.
4922 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
4923 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
4924 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
4925 instead of SetWindowTitleWithCFString.
4926 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
4927 Move function to mactoolbox.c.
4928 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
4929 Use mac_set_window_modified instead of SetWindowModified.
4930 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
4931 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
4932 (Fx_focus_frame): Use mac_front_non_floating_window instead of
4933 FrontNonFloatingWindow. Use mac_activate_window instead of
4934 ActivateWindow. Use mac_active_non_floating_window instead of
4935 ActiveNonFloatingWindow.
4936 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
4937 Use mac_show_hourglass and mac_hide_hourglass.
4938 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
4939 instead of GetGlobalMouse.
4940 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
4941 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
4942 Use mac_bring_window_to_front instead of BringToFront.
4943 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
4944 mactoolbox.c.
4945 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
4946 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
4947 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
4948 mactoolbox.c.
4949
4950 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
4951 (XtPointer): Move typedef from macmenu.c.
4952 (enum button_type): Move enum from macmenu.c.
4953 (widget_value): Move typedef from macmenu.c.
4954 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
4955 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
4956 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
4957 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
4958 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
4959 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
4960 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
4961 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
4962 (Selection): Move typedef from macselect.c.
4963 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
4964 macterm.c.
4965 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
4966 (mac_is_window_collapsed, mac_bring_window_to_front)
4967 (mac_send_window_behind, mac_hide_window, mac_show_window)
4968 (mac_collapse_window, mac_front_non_floating_window)
4969 (mac_active_non_floating_window, mac_activate_window)
4970 (mac_move_window_structure, mac_move_window, mac_size_window)
4971 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
4972
4973 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
4974 (enum mac_menu_kind): Move enum to mactoolbox.c.
4975 (min_menu_id): Move variable to mactoolbox.c.
4976 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
4977 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
4978 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
4979 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
4980 [TARGET_API_MAC_CARBON]: Likewise.
4981 (XtPointer): Move typedef to macgui.h.
4982 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
4983 (widget_value): Move typedef to macgui.h.
4984 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
4985 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
4986 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
4987 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
4988 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
4989 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
4990 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
4991 (popup_activated_flag): Make variable non-static.
4992 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
4993 (add_menu_item, fill_menu, dispose_menus):
4994 Move functions to mactoolbox.c.
4995 (restore_show_help_function, menu_target_item_handler)
4996 (install_menu_target_item_handler, mac_handle_dialog_event)
4997 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
4998 [TARGET_API_MAC_CARBON]: Likewise.
4999 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5000 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5001 (find_and_call_menu_selection, name_is_separator): Make function
5002 non-static.
5003 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5004 to mactoolbox.c.
5005 (set_frame_menubar): Don't call install_menu_quit_handler.
5006 (menu_item_selection): New variable.
5007 (mac_menu_show): Use create_and_show_popup_menu.
5008 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5009 selection but set variable menu_item_selection. All uses changed.
5010 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5011 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 5012
d02fe47d
MB
5013 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5014 (Selection): Move typedef to macgui.h.
5015 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5016 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5017 Make variables non-static.
5018 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5019 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5020 Make functions non-static.
5021 (Vmac_service_selection) [MAC_OSX]: Likewise.
5022 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5023 (mac_valid_selection_target_p, mac_clear_selection)
5024 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5025 (mac_put_selection_value, mac_selection_has_target_p)
5026 (mac_get_selection_value, mac_get_selection_target_list)
5027 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5028 Move functions to mactoolbox.c.
5029 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5030 Likewise.
5031 (copy_scrap_flavor_data, mac_handle_service_event)
5032 (install_service_handler) [MAC_OSX]: Likewise.
5033 (syms_of_macselect) <Vmac_dnd_known_types>:
5034 Use mac_dnd_default_known_types.
463f55ee 5035
d02fe47d
MB
5036 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5037 Move to mactoolbox.c.
5038 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5039 (Fx_selection_owner_p): Add EXFUN.
5040 (install_window_handler, remove_window_handler, XSetWindowBackground):
5041 Remove externs.
5042 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5043 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5044 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5045 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5046 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5047 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5048 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5049 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5050 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5051 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5052 (mac_valid_selection_target_p, mac_clear_selection)
5053 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5054 (mac_put_selection_value, mac_selection_has_target_p)
5055 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5056 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5057 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5058 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5059 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5060 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5061 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5062 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5063 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 5064
d02fe47d 5065 * mactoolbox.c: New file.
af253914 5066
d8d30dff 50672008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 5068
d02fe47d 5069 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 5070
8ee085a4
SM
50712008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5072
73d798d5
SM
5073 * character.c (Fmultibyte_char_to_unibyte):
5074 Return latin1 chars unchanged.
5556875b 5075
8ee085a4
SM
5076 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5077 relocated if it points to `name'.
5078
5dff5999
KH
50792008-04-17 Kenichi Handa <handa@m17n.org>
5080
5081 * data.c (Faset): Allow setting a multibyte character in an
5082 ASCII-only unibyte string.
5083
5084 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5085
a51f4969
SM
50862008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5087
5088 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5089 done in config.h.
5090
add553ac
JB
50912008-04-16 Juanma Barranquero <lekktu@gmail.com>
5092
5093 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5094 (Fchar_direction): Add usage in the docstring.
5095
8ad7b280
CY
50962008-04-15 Chong Yidong <cyd@stupidchicken.com>
5097
5098 * keyboard.c (read_key_sequence): Remove always-true checks.
5099
e157d7ba
JR
51002008-04-14 Jason Rumney <jasonr@gnu.org>
5101
5102 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5103 compatibility struct, for better underline positioning.
5104
9ec3aaef 51052008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
5106
5107 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5108 string.
5109
36c08864
DN
51102008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5111
5112 * m/hp800.h (XUINT, XSET): Remove.
5113
f5acc071
JB
51142008-04-12 Juanma Barranquero <lekktu@gmail.com>
5115
5116 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5117 previous change.
5118
5b5a2ea1
SM
51192008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5120
5121 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5122 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5123
492d9fd6
SM
51242008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5125
5126 * keymap.h (map_keymap_canonical): Declare.
5127 * xmenu.c (single_keymap_panes): Use it.
5128
dd60787c
GM
51292008-04-11 Glenn Morris <rgm@gnu.org>
5130
5131 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5132 set the target's value to that of the alias.
5133
c23b5410
SM
51342008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5135
5136 * term.c (set_tty_color_mode): Left over typo.
5137
e89b536d
MA
51382008-04-10 Michael Albinus <michael.albinus@gmx.de>
5139
5140 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 5141 only after check for file name handler functions. Signal, when
e89b536d
MA
5142 native functionality is not supported.
5143 (syms_of_fileio): Declare it unconditionally.
5144
40a339c8
JR
51452008-04-10 Jason Rumney <jasonr@gnu.org>
5146
31403b24
JR
5147 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5148 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5149
40a339c8
JR
5150 * w32.c (logon_network_drive): Also logon to remote drives that
5151 are mapped to drive letters.
5152
96a7394f
GM
51532008-04-10 Glenn Morris <rgm@gnu.org>
5154
5155 * xdisp.c (truncate-partial-width-windows): Doc fix.
5156
34b67b0f
SM
51572008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5158
5159 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5160 Move functions to minibuffer.el.
5161 (syms_of_fileio): Don't declare them.
5162
c025fb0a
SM
51632008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5164
ba5ff07b
SM
5165 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5166 (syms_of_minibuf): Remove its initialization.
5167
c025fb0a
SM
5168 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5169
7a6a86ad
JB
51702008-04-09 Juanma Barranquero <lekktu@gmail.com>
5171
5172 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5173
cf907d69
JR
51742008-04-09 Jason Rumney <jasonr@gnu.org>
5175
3dc94c30
JR
5176 * makefile.w32-in (distclean): Delete makefile too.
5177 (maintainer-clean): New target.
5178
8d28646b
JR
5179 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5180
cf907d69
JR
5181 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5182 for new font backend and composite cases.
5183
ef5eb925
JD
51842008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5185
5186 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5187 Most of the code moved to run_timers.
5188 (do_pending_atimers): Call run_timers.
5189 (run_timers): New function.
5190
cf907d69
JR
5191 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5192 run atimers.
ef5eb925
JD
5193
5194 * process.c (wait_reading_process_output): The same as above.
5195
9b2cd403
SM
51962008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5197
32bae13c
SM
5198 * minibuf.c (last_exact_completion): Remove variable.
5199 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5200 (complete_and_exit_1, complete_and_exit_2)
5201 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5202 (Fdisplay_completion_list, display_completion_list_1)
5203 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
5204 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5205 minibuffer.el.
32bae13c
SM
5206 (syms_of_minibuf): Remove corresponding initializations.
5207
5c4cc82a
SM
5208 * keyboard.c (Qdeactivate_mark): New var.
5209 (command_loop_1): Use it to call `deactivate-mark'.
5210 (syms_of_keyboard): Initialize it.
5211
9b2cd403
SM
5212 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5213 to another frame.
5214 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5215 Don't call set_tty_color_mode.
5216 (store_frame_param): Reset previous_frame rather than call
5217 set_tty_color_mode.
5218 * term.c (set_tty_color_mode): Rewrite.
5219 * dispextern.h (set_tty_color_mode): New type.
5220 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5221
84cb7b45
SM
52222008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5223
5224 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5225 for generic chars, which do not exist any more in emacs-unicode.
5226
3ed051d4
MA
52272008-04-08 Michael Albinus <michael.albinus@gmx.de>
5228
5229 * coding.c (detect_coding_emacs_mule)
5230 (Ffind_operation_coding_system): Fix typo.
5231
58c3ea42
JR
52322008-04-08 Jason Rumney <jasonr@gnu.org>
5233
3bf8d230
JR
5234 * w32uniscribe.c (SNAME): Extract only symbol name.
5235
56a70cca
JR
5236 * w32font.h (struct w32_metric_cache): New struct.
5237 (w32font_info): Use it.
5238 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5239 (CACHE_BLOCKSIZE): New constants.
3ed051d4 5240
58c3ea42
JR
5241 * w32font.c (Qja, Qko, Qzh): New symbols.
5242 (syms_of_w32font): Initialise them.
5243 (font_matches_spec): Use them to filter by language.
5244 (recompute_cached_metrics): Remove function.
5245 (compute_metrics, clear_cached_metrics): New functions.
5246 (w32font_encode_char): Use them to manage metric cache.
5247 (w32font_text_extents): Cache metrics for all glyphs on demand.
5248 Delay converting glyph indices to WORD until needed.
5249 (w32font_open_internal): Initialize metric cache to empty.
5250 (registry_to_w32_charset): Charset should always be a symbol.
5251 (fill_in_logfont, list_all_matching_fonts): Family should
5252 always be a symbol.
5253
0ce24b2d
JR
52542008-04-06 Jason Rumney <jasonr@gnu.org>
5255
5256 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5257 Give up if glyph indices not supported. Use uniscribe obtained
5258 ABC widths for individual metrics. Map glyph clusters back to
5259 characters using fClusterStart flag. Return number of glyphs
5260 produced, not chars processed.
b7655e0c 5261 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 5262
5bc6ddff 52632008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 5264
fbf57abb
JB
5265 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5266 Use SetMenuItemHierarchicalMenu.
56613f06 5267
5bc6ddff 52682008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 5269
5bc6ddff
MB
5270 * image.c (pbm_load): Allow color values up to 65535.
5271 Throw an error if max_color_idx is outside the supported range.
5272 Report an error when image size is invalid.
5273 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 5274
5bc6ddff 52752008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 5276
5bc6ddff
MB
5277 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5278 cFileName a file name that includes `?' characters, use the 8+3
5279 alias in cAlternateFileName instead.
5ed6ba5b 5280
5bc6ddff 52812008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 5282
5bc6ddff
MB
5283 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5284 append "CCL: Quitted" when the CCL program is quitted.
5285 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 5286
5bc6ddff 5287 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 5288
c36e15db
CY
52892008-04-05 Chong Yidong <cyd@stupidchicken.com>
5290
9605d567
CY
5291 * search.c (compile_pattern_1): Treat non-nil and non-string of
5292 search-spaces-regexp as nil.
5293
c36e15db
CY
5294 * minibuf.c (Fassoc_string): Tweak docstring.
5295
40beb147
EZ
52962008-04-05 Eli Zaretskii <eliz@gnu.org>
5297
5298 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5299 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5300 2008-03-14 to force inode be positive.
5301
5302 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5303 _S_* ones, since we now use our own sys/stat.h.
5304 (stat, fstat): Don't mangle the inode number.
aa08d1ff 5305 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 5306
4591d6cb
SM
53072008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5308
d4417eb0
SM
5309 * frame.h (struct frame): Give one more bit to `visible' since we use
5310 values larger than 1 to indicate obscured frames on ttys.
5311
00f7c5ed
SM
5312 * keymap.c (Qkeymap_canonicalize): New var.
5313 (Fmap_keymap_internal): New fun.
5314 (describe_map): Use keymap-canonicalize.
5315
4591d6cb
SM
5316 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5317 (Fundo_boundary): Set them.
5318 (syms_of_undo): Initialize them.
5319 (record_point): Use them instead of last_point_position*.
5320 (last_undo_buffer): Change type.
5321
3187540e
JR
53222008-04-04 Jason Rumney <jasonr@gnu.org>
5323
0ce24b2d
JR
5324 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5325 (recompute_cached_metrics): Don't set ascent and descent per char.
5326
3187540e 5327 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 5328 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 5329 Rearrange loop for counting features.
3187540e 5330
f1a6b216
SM
53312008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5332
5333 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5334 buffer with byte-size of source buffer.
5335
1d8dcf63
CY
53362008-04-03 Chong Yidong <cyd@stupidchicken.com>
5337
5338 * callint.c (Fcall_interactively): Handle temporary region even
5339 when shift-select-mode is off.
5340
6b8aa22a
JR
53412008-04-03 Jason Rumney <jasonr@gnu.org>
5342
5343 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5344
2f3cbb32
KH
53452008-04-03 Kenichi Handa <handa@m17n.org>
5346
5347 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5348 (CATEGORY_MASK_UTF_16): Likewise.
5349 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
5350 binary file.
5351 (detect_coding): Add null-byte detection for a binary file.
5352 (detect_coding_system): Likewise.
5353
43f4f91c
JR
53542008-04-03 Jason Rumney <jasonr@gnu.org>
5355
0c1b4ae2
JR
5356 * w32uniscribe.c: New file.
5357
5358 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
5359
5360 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
5361
5362 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
5363 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
5364 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
5365 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
5366 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
5367 (Qphonetic): New symbols.
5368 (syms_of_w32font): Initialize them.
5369 (font_supported_scripts): Use them.
5370 (w32font_list_family): List all charsets.
5371 (w32font_text_extents, recompute_cached_metrics): Fix metric
5372 calculations.
5373 (w32_enumfont_pattern_entity): Make full_type a DWORD.
5374 Give opentype fonts their own format.
5375 (font_matches_spec): New arguments backend and logfont.
5376 Handle :otf spec for uniscribe backend.
5377 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
5378 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 5379
0c1b4ae2
JR
5380 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
5381 font backend.
5382 (globals_of_w32fns): Initialize uniscribe font backend.
5383
fbf57abb 5384 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
5385 dependencies.
5386 (w32uniscribe.$(O)): New file to build.
5387 (FONT_OBJ): Include w32uniscribe.$(O).
5388 (LIBS): Add uniscribe libraries.
5389
43f4f91c
JR
5390 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
5391
75043a7d
CY
53922008-04-02 Chong Yidong <cyd@stupidchicken.com>
5393
5394 * callint.c (Vshift_select_mode): New var.
5395 (Finteractive): Document new ^ spec.
5396 (Fcall_interactively): Call handle-shift-selection if the ^ spec
5397 is present.
5398
5399 * keyboard.c (Vthis_command_keys_shift_translated): New var.
5400 (command_loop_1): Avoid running the direct display versions of
5401 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
5402 (read_key_sequence): Set Vthis_command_keys_shift_translated if
5403 shift-translation takes place.
5404
5405 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
5406 avoid clobbering by define-minor-mode.
5407
5408 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
5409 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
5410
5411 * syntax.c (Fforward_word): Add ^ interactive spec.
5412
5413 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
5414 (Fscroll_right): Add ^ interactive spec.
5415
b2b7f29e
SM
54162008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
5417
a432c0a6
SM
5418 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
5419
994b75e0
SM
5420 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
5421
b2b7f29e
SM
5422 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
5423
e99c7806
JL
54242008-03-31 Juri Linkov <juri@jurta.org>
5425
5426 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
5427
1c9c1270
JD
54282008-03-30 Jan Djärv <jan.h.d@swipnet.se>
5429
5430 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 5431 (xg_resize_outer_widget): Remove.
1c9c1270
JD
5432 (x_wm_size_hint_off): Fix indentation.
5433 (xg_frame_set_char_size): Call flush_and_sync after
5434 gtk_window_resize.
5435 (x_wm_set_size_hint): Pass NULL as geometry window to
5436 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
5437 Add menu bar and tool bar height to base height.
5438 (xg_update_frame_menubar, free_frame_menubar)
5439 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
5440 (update_frame_tool_bar, free_frame_tool_bar):
5441 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 5442
90b3fc84
MA
54432008-03-30 Michael Albinus <michael.albinus@gmx.de>
5444
5445 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
5446 (Fdbus_call_method): New parameter TIMEOUT.
5447 (dbus-send-signal): Optimize UNGCPRO call.
5448
7ae6d1d1
JL
54492008-03-29 Juri Linkov <juri@jurta.org>
5450
5451 * window.c (Fdisplay_buffer): Move call to
5452 Vsplit_window_preferred_function out of conditions that check
5453 if window is eligible for vertical splitting.
5454 When Vsplit_window_preferred_function is non-nil, call it and use
5455 its non-nil return value as window. Otherwise, continue doing
5456 vertical splitting using Fsplit_window with arg horflag=nil.
5457 (syms_of_window) <Vsplit_window_preferred_function>: Change the
5458 default value from `split-window' to nil.
5459
f03f8f2c
JL
54602008-03-29 Juri Linkov <juri@jurta.org>
5461
5462 * callint.c (Fcall_interactively): Revert 2008-03-16 change
5463 for interactive code letters 'b' and 'B'.
5464
6d557778
EZ
54652008-03-29 Eli Zaretskii <eliz@gnu.org>
5466
5467 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
5468 multibyte string.
5469
58555d81
SM
54702008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
5471
5472 * keyboard.c (pending_funcalls): New var.
5473 (timer_check): Run it.
5474 (syms_of_keyboard): Initialize it.
5475 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
5476 (Vdelete_terminal_functions): New vars.
5477 (syms_of_terminal): Initialize them.
5478 (Fdelete_terminal): Run delete-terminal-functions.
5479 * xdisp.c (safe_eval): Rewrite.
5480 (safe_call2): New fun.
5481 * frame.c (Qdelete_frame_functions): New var.
5482 (syms_of_frame): Initialize it.
5483 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
5484 * lisp.h (safe_call2, pending_funcalls): Declare.
5485
4c92f429
AS
54862008-03-28 Andreas Schwab <schwab@suse.de>
5487
5488 * indent.c (Fmove_to_column): Move declaration before statements.
5489
a1567c45
SM
54902008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
5491
2806a183
SM
5492 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
5493 (struct frame): Use bit fields for boolean vars.
5494
eef60308
SM
5495 * process.c (server_accept_connection): Simplify naming.
5496 (emacs_get_tty_pgrp): Use SDATA.
5497
a1567c45
SM
5498 * coding.c (decode_coding_object): Fix last change.
5499
30076589
JR
55002008-03-27 Jason Rumney <jasonr@gnu.org>
5501
5502 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
5503
880820fe
KH
55042008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
5505
5506 * charset.c (Fdefine_charset_internal): Change the way of
5507 registering charsets in Vcharset_order_list.
5508 (syms_of_charset): Make the charset `eight-bit' supplementary.
5509
3cf8cdfb
CY
55102008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
5511
5512 * regex.c (EXTEND_BUFFER): Change order of pointer addition
5513 operations, to avoid having the difference between pointers
5514 overflow.
5515
ef6f5c0e
SM
55162008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
5517
80e3db56
SM
5518 * indent.c (check_display_width): New fun.
5519 (scan_for_column): Use it.
5520
c397dc7a
SM
5521 * data.c (syms_of_data): Mark most-positive-fixnum and
5522 most-negative-fixnum as constants.
5523
bf6b4d58
SM
5524 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
5525
ef6f5c0e
SM
5526 * indent.c (scan_for_column): Extract from current_column_1.
5527 Merge with the same code from Fmove_to_column.
5528 (current_column_1, Fmove_to_column): Use it.
5529
72d5003d
SM
55302008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
5531
12270607
SM
5532 * keymap.c (map_keymap_internal): New fun.
5533 (map_keymap): Use it.
5534 (Fmap_keymap_internal): New fun.
5535 (Fmap_keymap): Remove left-out test from before make_save_value.
5536
a10cca6c
SM
5537 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
5538
d7b10f4c
SM
5539 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
5540 Use XCAR/XCDR.
5541
5431bd6a
SM
5542 * process.h (struct Lisp_Process): Remove filter_multibyte.
5543 * process.c (QCfilter_multibyte): Remove.
5544 (setup_process_coding_systems): Don't use filter_multibyte.
5545 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
5546 (read_process_output): Don't adjust multibyteness to filter_multibyte.
5547 (Fset_process_filter_multibyte): Change the coding-system to
5548 approximate the previous behavior.
5549 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
5550 coding-system.
5551
72d5003d
SM
5552 * coding.c (decode_coding_object): When not decoding into a buffer,
5553 obey the coding system's preference of (uni|multi)byte.
5554
438eba3c
SM
55552008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
5556
5557 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
5558 every char is changed and has a different byte-length.
5559 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
5560 Fix int -> EMACS_INT.
5561
9ec3aaef 55622008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 5563
438eba3c 5564 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
5565 strings. Check for NULL `interface' or `member'.
5566
b07103dc
EZ
55672008-03-22 Eli Zaretskii <eliz@gnu.org>
5568
5569 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5570 cFileName a file name that includes `?' characters, use the 8+3
5571 alias in cAlternateFileName instead.
5572
5371d722
SM
55732008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
5574
5575 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
5576
6ba7f443
SM
55772008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5578
5579 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
5580 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
5581 work on current_buffer only instead (that was already the case
5582 for some of the code anyway).
5583 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
5584 (temp_set_point, temp_set_point_both): Use EMACS_INT.
5585 (SET_PT, SET_PT_BOTH): Adjust.
5586 * intervals.h (set_point, temp_set_point, set_point_both)
5587 (temp_set_point_both): Remove redundant declarations.
5588
bf1c0f27
SM
55892008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5590
5591 * fileio.c (Finsert_file_contents):
5592 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
5593 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
5594 when buffer != current_buffer anyway.
5595
acab783e
AS
55962008-03-20 Andreas Schwab <schwab@suse.de>
5597
5598 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
5599 as default.
5600
d148e14d
JR
56012008-03-19 Jason Rumney <jasonr@gnu.org>
5602
5603 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
5604 (syms_of_w32fns): Initialize them.
5605 (HOURGLASS_ID): New constant.
5606 (x_window_to_frame): Don't check hourglass_window.
5607 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
5608 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
5609 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
5610 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
5611 Only change the cursor if hourglass is not active.
5612 (Fx_create_frame): Initialize frame's current_cursor.
5613 (hourglass_atimer): Remove.
5614 (hourglass_started): New function.
5615 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
5616 (show_hourglass): Adapt to w32, changing argument to frame.
5617
5618 * w32term.h (struct w32_output): Remove hourglass_window.
5619 Add current_cursor.
5620
5621 * eval.c (call_debugger, Fsignal):
5622 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
5623 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
5624 (Fexecute_extended_command, cancel_hourglass_unwind):
5625 * minibuf.c (read_minibuf):
5626 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 5627
a5c54077
JB
56282008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
5629
5630 * window.c (run_funs): New fun.
5631 (run_window_configuration_change_hook): Use it to run the buffer-local
5632 and the global part of the hook.
5633
5634 * xdisp.c (format_mode_line_unwind_data): Add window argument.
5635 (unwind_format_mode_line): Restore selected window.
5636 (x_consider_frame_title, Fformat_mode_line): Set selected window.
5637
f9f3238f
SM
56382008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
5639
253c3c82
SM
5640 * editfns.c (Fchar_equal): Check they are valid characters.
5641
f9f3238f
SM
5642 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
5643
065a118d
AS
56442008-03-17 Andreas Schwab <schwab@suse.de>
5645
0b8be006
AS
5646 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
5647 against a charset.
5648
065a118d
AS
5649 * lisp.h (Fbuffer_list): Declare.
5650
880820fe 56512008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
5652
5653 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
5654 handlebox_widget is != 0.
5655
6206d6c2
JL
56562008-03-16 Juri Linkov <juri@jurta.org>
5657
5658 * callint.c (Fcall_interactively): For interactive code letters
5659 'b' and 'B' put the buffer list into the list of default "future"
5660 values of the minibuffer.
5661
f5020181
AS
56622008-03-16 Andreas Schwab <schwab@suse.de>
5663
a864f6d6
AS
5664 * keyboard.c (read_key_sequence): Fix downcasing of letters with
5665 modifiers.
5666
f5020181
AS
5667 * regex.c (re_match_2_internal): Correct matching of a charset
5668 against latin-1 characters.
5669
03f244e2
KH
56702008-03-16 Kenichi Handa <handa@m17n.org>
5671
5672 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
5673 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
5674 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
5675 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
5676 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
5677 CHAR_STRING_ADVANCE.
5678 (produce_chars): Fix for the case that the source and the
5679 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
5680 instead of CHAR_STRING_ADVANCE.
5681 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
5682 STRING_CHAR_ADVANCE.
5683
0e2501ed
AS
56842008-03-15 Andreas Schwab <schwab@suse.de>
5685
5686 * regex.c (re_match_2_internal): Correct matching of eight bit
5687 characters in unibyte strings.
5688
7723e095
MR
56892008-03-15 Martin Rudalics <rudalics@gmx.at>
5690
5691 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
5692 at end of range when it coincides with the end of the buffer.
5693
f507f365
EZ
56942008-03-14 Eli Zaretskii <eliz@gnu.org>
5695
294f1153
EZ
5696 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
5697
f507f365
EZ
5698 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
5699
64f0809d
JR
57002008-03-14 Jason Rumney <jasonr@gnu.org>
5701
956ae531
JR
5702 * editfns.c (initial_tz): New variable.
5703 (syms_of_editfns): Initialize it.
5704 (Fset_time_zone_rule): Set it when first called.
5705 Use it when TZSTRING is nil.
5706
64f0809d
JR
5707 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
5708 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
5709 (monitor_from_point_fn, get_monitor_info_fn): New globals.
5710 (globals_of_w32fns): Initialize them.
5711 (compute_tip_xy): Use them to position tooltips.
5712
21a4ff8e
GM
57132008-03-14 Glenn Morris <rgm@gnu.org>
5714
5715 * emacs.c (main): Revert previous change.
5716 (standard_args): Revert -internal-script back to -scriptload,
5717 and remove the long-option form.
5718
a09a5b5b
GM
57192008-03-13 Glenn Morris <rgm@gnu.org>
5720
5721 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
5722 Remove option -enable-font-backend.
5723
1c55ebd1
SM
57242008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
5725
5726 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
5727
880820fe 57282008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
5729
5730 * xterm.c (x_connection_closed): For GTK: If this is the last
5731 terminal just exit without closing the display.
5732
7145be81
JR
57332008-03-11 Jason Rumney <jasonr@gnu.org>
5734
5735 * w32font.c (w32font_full_name): Use floor to round.
5736
e6201af3 57372008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
5738
5739 * sound.c (alsa_configure): Declare vol at beginning of block.
5740
e6201af3 5741 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 5742
390b81fa 57432008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 5744
56388398
MB
5745 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
5746 size of resulting string.
af0ad939 5747
390b81fa 57482008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 5749
56388398 5750 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 5751
390b81fa 57522008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 5753
56388398
MB
5754 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
5755 Don't pretend as if characters with display property haven't been
5756 consumed for string-replacing-string case.
acd37560 5757
223ed6db
KS
57582008-03-08 Kim F. Storm <storm@cua.dk>
5759
5760 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
5761 (get_next_display_element, next_element_from_string)
5762 (next_element_from_ellipsis, next_element_from_buffer): Use it.
5763
28545f7c
AS
57642008-03-08 Andreas Schwab <schwab@suse.de>
5765
5766 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
5767
c960bff8
JR
57682008-03-06 Jason Rumney <jasonr@gnu.org>
5769
290afd83
JB
5770 * w32font.c (w32_registry): Take font_type argument. Use ANSI
5771 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
5772 font_type is truetype.
5773 (w32font_coverage_ok): New function.
5774 (add_font_entity_to_list): Use it to filter unsuitable fonts.
5775
87b8ce92
KH
57762008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
5777
5778 * lread.c (Fread_char): Resolve modifiers.
5779 (Fread_char_exclusive): Likewise.
5780
5781 * character.c (char_resolve_modifier_mask): New function.
5782 (char_string): Use char_resolve_modifier_mask.
5783 (Fchar_resolve_modifiers): New function.
5784 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
5785 function.
5786
cefd56f6
JR
57872008-03-04 Jason Rumney <jasonr@gnu.org>
5788
5789 * makefile.w32-in: Always include w32font.c in the build.
5790 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
5791
03bd3c1f
AS
57922008-03-04 Andreas Schwab <schwab@suse.de>
5793
5794 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
5795 (versionclean): Likewise.
5796
6f69e89b
JB
57972008-03-04 Juanma Barranquero <lekktu@gmail.com>
5798
5799 * .cvsignore: Add oo.
5800
f4a3cc44
AS
58012008-03-03 Andreas Schwab <schwab@suse.de>
5802
5803 * coding.c (decode_coding_object): Inhibit gap shrinking while
5804 decoding in place.
5805
73f838ad
DN
58062008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
5807
5808 * w32term.c: Remove unused include "gnu.h".
6f69e89b 5809 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
5810
5811 * gnu.h: Rename to ...
5812 * emacs-icon.h: ... this.
5813 * xterm.c: Use emacs-icon.h instead of gnu.h.
5814 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
5815
ce9c1f06
JB
58162008-03-03 Juanma Barranquero <lekktu@gmail.com>
5817
5818 * w32font.c: Include math.h.
5819
34fd2d28
JR
58202008-03-03 Jason Rumney <jasonr@gnu.org>
5821
54efdcd1
JR
5822 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
5823 Compute options separately.
5824 (w32font_open_internal): Set glyph_idx before caching metrics.
5825
ce9c1f06
JB
5826 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
5827 Define if system headers don't.
5828 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
5829 (w32font_encode_char): Don't declare here.
5830
5831 * w32font.c (Quniscribe, QCformat): New symbols.
5832 (syms_of_w32font): Define them.
5833 (w32font_has_char): Indicate uncertainty.
ce9c1f06 5834 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 5835 (recompute_cached_metrics): New function.
ce9c1f06
JB
5836 (w32font_open_internal): Use it. Set font to use glyph points
5837 initially. Set format based on type of font.
34fd2d28 5838 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
5839 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
5840 on it. Set format based on information available here.
34fd2d28
JR
5841 (add_font_entity_to_list): Identify backend based on opentype_only.
5842
14daee73
AS
58432008-03-02 Andreas Schwab <schwab@suse.de>
5844
f907fb2e
AS
5845 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
5846
ce9c1f06
JB
5847 * coding.c (decode_coding_big5, produce_chars):
5848 Fix typos in last change.
14daee73 5849
c9cc6462
DN
58502008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
5851
5852 * gnu.h: New icon.
5853
119852e7
KH
58542008-03-02 Kenichi Handa <handa@m17n.org>
5855
5856 * coding.c (decode_coding_utf_8): When eol-type of CODING is
5857 `dos', don't decode '\r' if that is the last in the source.
5858 (decode_coding_utf_16, decode_coding_emacs_mule)
5859 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
5860 (decode_coding_raw_text, decode_coding_charset): Likewise.
5861 (produce_chars): Don't decode EOL here. Use EMACS_INT.
5862
a823468b
JR
58632008-03-01 Jason Rumney <jasonr@gnu.org>
5864
5865 * w32font.c (w32font_full_name): Report point size for scalable fonts.
5866
4ddc7e30
KS
58672008-03-01 Kim F. Storm <storm@cua.dk>
5868
5869 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
5870
67997c79
JR
58712008-03-01 Jason Rumney <jasonr@gnu.org>
5872
5873 * w32font.c (w32font_full_name): New function.
5874 (w32font_open_internal): Use it.
5875
3f4e9c35
KS
58762008-03-01 Kim F. Storm <storm@cua.dk>
5877
5878 * dispnew.c (line_draw_cost): Fix invalid glyph check.
5879
f3b9e479
JR
58802008-03-01 Jason Rumney <jasonr@gnu.org>
5881
5882 * font.c (font_unparse_fcname): Increase len when style is a symbol.
5883
880820fe 58842008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
5885
5886 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
5887 xg_frame_resized when the event is for the edit widget.
5888
5889 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
5890
5891 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
5892 set_char_size.
5893 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
5894 operations on widgets here. Just set frame size if needed.
5895 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
5896 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
5897 (x_wm_set_size_hint): Set size hints on the edit widget only, not
5898 the whole frame.
5899 (xg_create_tool_bar): Move attachement of the tool bar to
5900 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
5901 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
5902
6c8acaa1
JR
59032008-03-01 Jason Rumney <jasonr@gnu.org>
5904
5905 * w32fns.c (w32_msg_pump): Disable debug code.
5906
51fb064b 59072008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 5908
51fb064b 5909 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 5910
60221a33
CY
59112008-02-29 Chong Yidong <cyd@stupidchicken.com>
5912
5913 * xdisp.c (next_overlay_string): Don't set
5914 overlay_strings_at_end_processed_p if we're currently reading from
5915 a display string.
5916
10cbc34f
SM
59172008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
5918
5919 * xdisp.c (get_overlay_strings_1): Fix typo.
5920
73c0054e
CY
59212008-02-29 Chong Yidong <cyd@stupidchicken.com>
5922
5923 * xdisp.c (get_overlay_strings_1): Add missing argument type.
5924
ec1c4354
KH
59252008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
5926
55082642
KH
5927 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
5928
ec1c4354
KH
5929 * xdisp.c (display_mode_element): Cancel the previous change.
5930 (decode_mode_spec): Likewise.
ee548a94
KH
5931 (handle_auto_composed_prop): Don't make composition if it->string
5932 is a string.
ec1c4354 5933
b6d898a2
KS
59342008-02-27 Kim F. Storm <storm@cua.dk>
5935
5936 * lisp.h (GLYPH): Change type from int to struct with separate char
5937 and face_id members.
5938 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
5939 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
5940 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
5941 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
5942 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
5943 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
5944 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
5945 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
5946 handle new Lisp glyph code encoding, either an integer or a cons.
5947
5948 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
5949 (GLYPH_ALIAS): Delete.
5950 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
5951 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
5952 (GLYPH_FROM_CHAR): Replace macro by ...
5953 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
5954
5955 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
5956 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
5957 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
5958 (GLYPH_INVALID_P): New macro.
5959 (spec_glyph_lookup_face): Update prototype.
5960
5961 * dispnew.c (line_draw_cost): Adapt to new glyph type.
5962 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
5963 new glyph code encoding.
5964 (spec_glyph_lookup_face): No return value; update passed glyph instead.
5965 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
5966
5967 * xdisp.c (get_next_display_element, next_element_from_display_vector):
5968 Adapt to new glyph type and new glyph code encoding.
5969
5970 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
5971
5972 * indent.c (current_column, current_column_1, Fmove_to_column)
5973 (compute_motion): Adapt to new glyph code encoding.
5974
5975 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
5976
af2080a2
CY
59772008-02-27 Chong Yidong <cyd@stupidchicken.com>
5978
5979 * process.c (wait_reading_process_output): Check for window
5980 changes caused by timers.
880820fe 5981 Suggested by Johan Bockgård.
af2080a2 5982
253ed25e
GM
59832008-02-27 Glenn Morris <rgm@gnu.org>
5984
5985 * emacs.c (USAGE1): Add `--disable-font-backend'.
5986
18a9f8d9
SM
59872008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
5988
5989 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
5990 is made to the buffer.
5991
0f8b27ea
SM
59922008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
5993
5994 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
5995 (face_at_string_position):
5996 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
5997 (face_at_string_position):
5998 * xdisp.c (display_string, next_overlay_change):
5999 * buffer.h (overlays_at):
6000 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6001 Update callers.
6002
4e7c53ca
CY
60032008-02-26 Chong Yidong <cyd@stupidchicken.com>
6004
6005 * editfns.c (Fformat): Doc fix.
6006
51c01100
JB
60072008-02-26 Juanma Barranquero <lekktu@gmail.com>
6008
6009 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6010 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6011 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6012
13cda5f9
SM
60132008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6014
6015 * buffer.c (Fbuffer_swap_text): New function.
6016 (syms_of_buffer): Defsubr it.
6017
8018d430
CY
60182008-02-25 Chong Yidong <cyd@stupidchicken.com>
6019
6020 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6021
9bde1a21
JR
60222008-02-25 Jason Rumney <jasonr@gnu.org>
6023
6024 * w32font.c (w32font_draw): Draw one character at a time when padding.
6025
eeca6f6f
SM
60262008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6027
6028 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6029 Handle a nil arg. Use run_window_configuration_change_hook.
6030 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6031 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6032 Use run_window_configuration_change_hook.
6033
ec1c4354
KH
60342008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6035
6036 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6037 1-pixel width.
6038
ae185452
KH
60392008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6040
6041 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6042 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6043 if the glyph in the font is zero pixel with.
6044
6045 * dispextern.h (struct glyph_string): New member padding_p.
6046
6047 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6048
6049 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6050
6051 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6052
6053 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6054
eeca6f6f 6055 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 6056
ffe832ea 60572008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 6058
ffe832ea 6059 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 6060
06045130
SM
60612008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6062
6063 Allow fine-grained image-cache flushing.
6064 * dispextern.h (struct image): Add `dependencies' field.
6065 (clear_image_caches): Change arg to Lisp_Object.
6066 * image.c (make_image): Initialize `dependencies' field.
6067 (clear_image_cache): Change arg to allow fine-grained flushing.
6068 Perform the flush even if image-cache-eviction-delay is nil.
6069 (clear_image_caches): Change arg to Lisp_Object.
6070 (Fclear_image_cache): Expand meaning of the argument.
6071 (mark_image): Mark `dependencies' field.
6072 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6073 (lface_hash): Use XHASH rather than XFASTINT.
6074 (face_at_buffer_position): Fix int -> EMACS_INT position.
6075 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6076 (select_frame_for_redisplay): Remove code duplication.
6077 (redisplay_internal): Adapt arg to call to clear_image_caches.
6078
9d2818d6
DN
60792008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6080
6081 * s/vms4-0.h:
6082 * s/vms4-2.h:
6083 * s/vms4-4.h:
6084 * s/vms5-5.h: Remove, unused.
6085
6086 * s/irix5-2.h:
6087 * s/irix6-0.h:
6088 * s/riscos5.h:
6089 * s/mach-bsd4-3.h:
2a2e8de7 6090 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
6091
6092 * Makefile.in:
6093 * filelock.c:
6094 * unexmips.c:
6095 * m/hp9000s300.h:
6096 * m/iris4d.h:
6097 * s/aix3-1.h:
6098 * s/hpux.h:
6099 * s/msdos.h:
6100 * s/usg5-0.h:
6101 * s/usg5-2-2.h:
6102 * s/usg5-2.h:
6103 * s/usg5-3.h: Remove references to obsolete variables.
6104
6105 * s/irix5-0.h: Remove, move all the contents ...
6106 * s/irix6-5.h: ... here. Simplify.
6107 * config.in: Regenerate.
6108
2a36efcf
JR
61092008-02-24 Jason Rumney <jasonr@gnu.org>
6110
c5ad7a3d 6111 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
6112 manually when cleartype is in use.
6113 (x_draw_glyph_string_foreground): Draw text transparently when
6114 cleartype is in use.
6115
2a36efcf
JR
6116 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6117 a font into it unless we have to.
6118
b03f96dc 61192008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 6120
b03f96dc
MB
6121 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6122 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 6123
b03f96dc 61242008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 6125
b03f96dc 6126 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 6127
b03f96dc 61282008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 6129
b03f96dc 6130 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 6131
b03f96dc 61322008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 6133
b03f96dc 6134 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 6135
d5958163
CY
61362008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6137
6138 * xterm.c (x_set_offset): Don't change the gravity if
6139 CHANGE_GRAVITY is -1.
6140
9997701e
CY
61412008-02-23 Chong Yidong <cyd@stupidchicken.com>
6142
6143 * fileio.c (auto_save_error_occurred): New var.
6144 (auto_save_error): Set it.
6145 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6146 error occurred.
6147
9d95a291
EZ
61482008-02-23 Eli Zaretskii <eliz@gnu.org>
6149
6150 * w32.c (globals_of_w32): Add initializations for
6151 g_b_init_get_sid_sub_authority and
6152 g_b_init_get_sid_sub_authority_count.
6153
43d1af23
SM
61542008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6155
43a1d19b
SM
6156 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6157 (font_parse_xlfd): Use them for sanity check.
608c3307 6158 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 6159
354884c4
SM
6160 Consolidate the image_cache to the terminal struct.
6161 * termhooks.h (P_): Remove redundant def.
6162 (struct terminal): New field `image_cache'.
6163 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6164 of FRAME_X_IMAGE_CACHE.
6165 * xterm.h (struct x_display_info): Remove image_cache field.
6166 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6167 * w32term.h (struct w32_display_info): Remove image_cache field.
6168 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6169 * macterm.h (struct mac_display_info): Remove image_cache field.
6170 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6171 * xterm.c (x_term_init):
6172 * w32term.c (w32_term_init):
6173 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6174 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6175 Remove declarations.
6176 (clear_image_caches, mark_image_cache): New declarations.
6177 * xfaces.c (clear_face_cache):
6178 * xdisp.c (redisplay_internal): Use clear_image_caches.
6179 * image.c (clear_image_cache): Don't check that a frame is on
6180 a window-system before checking if it shares the same cache.
6181 (clear_image_caches): New function.
6182 (Fclear_image_cache): Use it.
6183 (mark_image): Move from allo.c.
6184 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6185 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6186 (mark_object): Don't call mark_image_cache for frames.
6187 (mark_terminals): Call mark_image_cache.
6188
c2e42690
SM
6189 * lisp.h (Fdelete_terminal): Declare.
6190
43d1af23
SM
6191 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6192 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6193 wrong_type_argument.
6194
cc8d1311
KH
61952008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6196
6197 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 6198 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 6199
6bd92640
SM
62002008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6201
6202 * xterm.c (x_connection_closed): Consolidate identical tests.
6203 (x_delete_terminal): Don't crash if called via x_connection_closed.
6204
a73b5627
KH
62052008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6206
6207 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 6208 (display_mode_element): Adjust for the above change.
a73b5627 6209
1b511542
SM
62102008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6211
6212 * callint.c (Fcall_interactively): Use AREF.
6213
81aefea4
SM
62142008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6215
6216 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6217
880820fe 62182008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
6219
6220 * xfns.c (Fx_show_tip): Set string to " " if empty.
6221
a2b84f35
DN
62222008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6223
6224 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6225 with Qt.
6226
43c0454d
KH
62272008-02-17 Kenichi Handa <handa@m17n.org>
6228
6229 * ftfont.c (ftfont_shape): Return Lispy number.
6230
6231 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6232 for GCs.
6233 (Finternal_set_font_selection_order): Call font_update_sort_order
6234 only when enable_font_backend is set.
6235 (realize_x_face): Set face->font_info to that of default face only
6236 when enable_font_backend is set.
6237
6238 * xdisp.c (handle_composition_prop): Set it->c to the fist
6239 characte of the composed region.
6240 (fill_composite_glyph_string): Set base_face->font_info to
6241 s->font_info. Get a face for ascii from base_face->ascii_face.
6242 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6243 with a face already decided.
6244 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6245 non-negative.
978bef9a
JB
6246 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6247 call font_prepare_composition unconditionally.
43c0454d 6248
978bef9a 6249 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
6250
6251 * xterm.h (struct x_display_info): New member font.
6252
6253 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6254 (x_set_mouse_face_gc, x_new_font): Likewise.
6255 (x_term_init): Setup display_info->font.
6256 (x_delete_terminal): Free display_info->font.
6257
6258 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6259
6260 * ftxfont.c (ftxfont_default_fid): Delete it.
6261 (ftxfont_open): Set xfont->fid to 0.
978bef9a 6262 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
6263 font-driver.
6264
6265 * xftfont.c (xftfont_default_fid): Delete it.
6266 (xftfont_open): Set xfont->fid to 0.
6267
6268 * fontset.c (FONTSET_OBJLIST): New macro.
6269 (fontset_find_font): Update font-object list of the fontset.
6270 (free_realized_fontset): New function.
6271 (free_face_fontset): Call free_realized_fontset.
6272 (Ffont_info): Call font_close_object only when enable_font_backend
6273 is set.
6274
6275 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6276 [HAVE_NTGUI]: Include w32term.h.
6277 [MAC_OS]: Include macterm.ch.
6278 (font_otf_ValueRecord): Use make_number.
6279 (font_finish_cache): Fix handling of reference count.
6280 (font_clear_cache): Update num_fonts.
6281 (font_open_entity): Update smallest_char_width and
6282 smallest_font_height of the frame.
6283 (font_close_object): Update num_fonts.
6284 (Fclear_font_cache): Fix finding the target cache data.
6285
be617367
GM
62862008-02-16 Glenn Morris <rgm@gnu.org>
6287
6288 * fontset.c (Finternal_char_font): Fix compilation warning.
6289
2930d117
EZ
62902008-02-16 Eli Zaretskii <eliz@gnu.org>
6291
634d3003
EZ
6292 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6293 instead of char arrays. Enlarge the size of array passed to
6294 get_token_information.
6295
2930d117
EZ
6296 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6297 warnings.
6298
79214046
DN
62992008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6300
6301 * .gdbinit: Don't set `args', it breaks gdb --args.
6302
7f5d2c72
SM
63032008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6304
6305 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6306 within a narrowed buffer.
6307
6edacc43
KH
63082008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6309
b270d6af
JB
6310 * coding.c (decode_coding_object, encode_coding_object):
6311 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 6312
174105f7
SM
63132008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6314
b270d6af
JB
6315 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6316 hardcoding 1.
13818c30
SM
6317 (detect_coding_system):
6318 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6319 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6320 * insdel.c (insert_from_gap):
6321 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6322 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6323 (string_to_multibyte):
6324 * character.c (chars_in_text, multibyte_chars_in_text):
6325 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6326
f1c99628
SM
6327 * character.h (FETCH_STRING_CHAR_ADVANCE)
6328 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6329 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6330 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6331
7927d8e3
SM
6332 * casefiddle.c (casify_region): Only call after-change and composition
6333 functions on the part of the region that was changed.
6334
adf6a429 6335 * keyboard.c (read_avail_input):
174105f7
SM
6336 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6337
3ee24aec
SM
63382008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6339
6340 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6341 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6342
4ed4b975
JB
63432008-02-11 Juanma Barranquero <lekktu@gmail.com>
6344
6345 * w32menu.c (push_submenu_start, push_submenu_end)
6346 (push_left_right_boundary, push_menu_pane, push_menu_item):
6347 * keyboard.c (read_key_sequence): Don't pass args with side effects
6348 to AREF, it fails when compiling with -DENABLE_CHECKING.
6349
79e3bfb8
KH
63502008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
6351
4ed4b975
JB
6352 * Makefile.in (${lispsource}international/charprop.el):
6353 Delete this target.
6e76043f 6354
79e3bfb8
KH
6355 * search.c (boyer_moore): Fix incorrect synching of the trunk and
6356 emacs-unicode-2.
6357
5b8de9c5
SM
63582008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6359
6360 * terminal.c (Fdelete_terminal): Clean up the `force' path.
6361
eac1939a
SM
63622008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6363
c53956fe
SM
6364 * frame.c (Qnoelisp): New symbol.
6365 (syms_of_frame): Initialize it.
6366 (Fdelete_frame): Use it to distinguish a mere `force' passed from
6367 someharmles Elisp code, from a strong `force' from x_connection_closed.
6368 * frame.h (Qnoelisp): Declare.
6369 * xterm.c (x_connection_closed): Pass `noelisp'.
6370
eac1939a
SM
6371 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
6372 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
6373 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
6374 rather than `int' for the type of `type'.
6375
13f6772b
DN
63762008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
6377
6378 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
6379
6380 * Makefile.in (GNUC): Remove support for gcc-1.x.
6381
e8455367
RS
63822008-02-10 Richard Stallman <rms@gnu.org>
6383
6384 * lisp.h (ASET): Use AREF, not ASLOT.
6385
4b75ffab
SM
63862008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6387
6388 * lisp.h (ASET): Check bounds.
6389
d224e8c2
GM
63902008-02-10 Glenn Morris <rgm@gnu.org>
6391
6392 * buffer.c (mode-name): Doc fix.
6393
4624371d
DN
63942008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6395
290afd83
JB
6396 * Makefile.in:
6397 * emacs.c:
6398 * gmalloc.c:
6399 * keyboard.c:
6400 * lisp.h:
6401 * m/ibm370aix.h:
6402 * process.c:
6403 * regex.c:
6404 * s/hpux.h:
6405 * sysdep.c:
6406 * sysselect.h:
6407 * systty.h:
6408 * unexec.c:
6409 * w32term.c:
6410 * xsmfns.c:
6411 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
6412
6413 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
6414
6415 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
6416 nothing else needs it anymore.
6417
274ec34b
EZ
64182008-02-09 Eli Zaretskii <eliz@gnu.org>
6419
6420 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
6421 instead of unibyte_char_to_multibyte.
6422
deeaffe1
DN
64232008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6424
6425 * s/gnu-linux.h: Remove commented out code.
6426
4ed4b975 6427 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
6428
6429 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 6430 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 6431 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
6432 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
6433 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
6434
68b587a6
SM
64352008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
6436
9141ca5e
SM
6437 * keymap.c (Fkey_description): Move side effect outside of macro call.
6438
dfae5f9a 6439 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
6440 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
6441
ff7a2223
SM
6442 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
6443 (syms_of_fontset): Use ASET.
6444
68b587a6
SM
6445 * fns.c (concat): Move side effect outside of macro call.
6446 (hash_clear): Use ASET.
6447
a31787b1
RS
64482008-02-08 Richard Stallman <rms@gnu.org>
6449
6450 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
6451 If FORCE, and frame has a surrogate minibuffer for another frame,
6452 delete the other frame first.
6453
987be29b 64542008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
6455
6456 * xterm.c (x_detect_focus_change): Handle embed client message.
6457 (handle_one_xevent): Ditto.
6458 (handle_one_xevent): If embedded and we get a button press/release,
6459 request focus.
6460 (xembed_set_info, xembed_send_message): New functions.
6461 (x_make_frame_visible): Call xembed_set_info if embedded.
6462 (x_make_frame_invisible): Call xembed_set_info if embedded.
6463 (x_term_init): Initialize Xatom_XEMBED.
6464 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
6465 (x_iconify_frame): Ditto.
6466
6467 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
6468 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
6469 (enum xembed_modifier, enum xembed_accelerator): New.
6470 (xembed_set_info, xembed_send_message): Declare.
6471 (FRAME_X_EMBEDDED_P): New.
6472
6473 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
6474 gtk_plug_new.
6475
6476 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
6477 window ID of a frame.
6478 (x_window): Reparent frame if embedded.
6479 (Fx_create_frame): Don't set border width if embedded.
6480
1f204af3 6481 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
6482 (standard_args): Ditto.
6483
880820fe 64842008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
6485
6486 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
6487
92413ef3
JD
64882008-02-07 Jim Meyering <meyering@redhat.com>
6489
6f69e89b 6490 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
6491 The latter provokes a warning from gcc about the empty else, when
6492 followed by ";". Also, without that trailing semicolon, it would
6493 silently swallow up any following statement.
c3f9fba8 6494 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
6495 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
6496 * buffer.h (DECODE_POSITION): Likewise.
6497 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
6498 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
6499 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
6500 (FETCH_CHAR_ADVANCE): Likewise.
6501 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 6502
03fa5713
GM
65032008-02-07 Jim Meyering <meyering@redhat.com>
6504
6505 * lread.c [lint]: Don't include <sys/inode.h>.
6506
3ae565b3
SM
65072008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
6508
6509 * xselect.c (x_handle_dnd_message):
6510 * xmenu.c (digest_single_submenu, xmenu_show):
6511 * xdisp.c (with_echo_area_buffer_unwind_data)
6512 (format_mode_line_unwind_data, unwind_format_mode_line)
6513 (display_menu_bar):
6514 * eval.c (Ffetch_bytecode):
6515 * doc.c (store_function_docstring):
6516 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
6517 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
6518 * buffer.c (add_overlay_mod_hooklist): Use ASET.
6519
146b6e55
KH
65202008-02-07 Kenichi Handa <handa@m17n.org>
6521
6522 * ftxfont.c (ftxfont_open): Don't set
6523 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
6524
6525 * ftfont.c (ftfont_open): Fix previous change.
6526
46a923ac
JR
65272008-02-06 Jason Rumney <jasonr@gnu.org>
6528
6529 * w32font.c (w32font_text_extents): Fill in lbearing metric.
6530 Use cached metrics for ASCII characters.
3ae565b3
SM
6531 (w32font_open_internal): Don't set font's owning_frame.
6532 Cache metrics for ASCII characters.
46a923ac
JR
6533
6534 * w32font.h (struct w32font_info): Add ascii_metrics.
6535 Remove owning_frame.
6536
da7d7c21
KH
65372008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
6538
6539 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
6540 to negative value.
6541
6542 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
6543
3ae565b3 6544 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
6545
6546 * charset.c (syms_of_charset): Set QCtest and Qeq.
6547
c62c8ddb
SM
65482008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
6549
ca319910
SM
6550 * process.c (Fstart_process):
6551 * callproc.c (Fcall_process): Handle the case where
6552 Funhandled_file_name_directory returns nil.
6553
76860cbb
SM
6554 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
6555 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
6556 * font.c (check_gstring): Use them and AREF to access the vector before
6557 we know it's really a gstring.
6558 (Ffont_shape_text): Fix typo.
6559 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 6560
15139d67
SM
6561 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
6562 Declare.
6563
c62c8ddb
SM
6564 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
6565
04b65d2b
JR
65662008-02-05 Jason Rumney <jasonr@gnu.org>
6567
6568 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
6569 Set smallest_font_height and smallest_char_width in display info.
6570
fccaebfd
KH
65712008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
6572
6573 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
6574
e7d7fd8c
MB
65752008-02-05 Miles Bader <miles@gnu.org>
6576
6577 * xfaces.c (get_lface_attributes, merge_named_face)
6578 (lookup_named_face, lookup_derived_face, realize_named_face):
6579 Revert 2008-02-01 change by cyd@stupidchicken.com.
6580
3d4448a8
KH
65812008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
6582
6583 * fontset.c (Ffontset_info): Handle the case of inhibitting the
6584 fallback fonts.
15139d67 6585 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 6586
5ace1ec1
JR
65872008-02-04 Jason Rumney <jasonr@gnu.org>
6588
6589 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
6590 set full_name.
e3a77b22 6591 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 6592
ffe42183
JR
65932008-02-03 Jason Rumney <jasonr@gnu.org>
6594
6595 * makefile.w32-in (OBJ1): Include font.o here.
6596 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
6597
526dc3b3
JR
65982008-02-02 Jason Rumney <jasonr@gnu.org>
6599
a0fece35 6600 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 6601
af805c82
JR
66022008-02-01 Jason Rumney <jasonr@gnu.org>
6603
6604 * s/cygwin.h: Define VIRT_ADDR_VARIES.
6605
6606 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
6607
7f6519c5
AS
66082008-02-01 Andreas Schwab <schwab@suse.de>
6609
1f45f627 6610 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 6611 ../lisp/language/myanmar.el.
7f6519c5 6612
26f8aa27
CY
66132008-02-01 Chong Yidong <cyd@stupidchicken.com>
6614
1f45f627 6615 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
6616 (merge_named_face, lookup_named_face, lookup_derived_face)
6617 (realize_named_face): Call lface_from_face_name directly, and use
6618 the fact that merge_face_vectors does not alter its FROM argument.
6619
73acf815 66202008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6621
6622 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 6623 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 6624
73acf815 66252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6626
6627 * fontset.c (reorder_font_vector): Exclude nil elements from the
6628 font group. Don't try multiple fonts.
15139d67 6629 (fontset_font): Adjust for the above change.
aca7a3d2
MB
6630 (Finternal_char_font): Return nil if the found font doesn't
6631 contain the character ch.
6632
4c4475a8 6633 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 6634
73acf815 66352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6636
6637 * font.h (FONTP): Make it return 1 also for a font-object.
6638
6639 * .gdbinit (xfontset): New function.
6640
6641 * font.c (font_find_for_lface): Check if the character C is
6642 supported or not only for the first font.
6643
6644 * fontset.c (reorder_font_vector): Fix typo.
6645 (fontset_find_font): Don't add a font-spec specifying a script.
6646 Use 0 (not Qt) for the indication of empty font-group. Change the
6647 format of RFONT-DEF. Return Qt if no font in the font-group
6648 support the character.
15139d67 6649 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 6650 found the character, remember that.
15139d67 6651 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
6652 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
6653 no font for the target.
15139d67 6654 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 6655
73acf815 66562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6657
6658 * font.c (font_load_for_face): Handle the case that the font in
6659 face->lface is a string.
6660
73acf815 66612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 6662
1f45f627 6663 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 6664
73acf815 66652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6666
6667 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
6668 Fix previous change. If the frame is not on a window system,
6669 signal an error.
6670
73acf815 66712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 6672
4c4475a8
GM
6673 * coding.c (decode_coding_object, encode_coding_object): Adjust
6674 marker positions after conversion.
aca7a3d2
MB
6675
6676 * lisp.h (struct Lisp_Marker): New member need_adjustment.
6677
73acf815 66782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6679
6680 * font.c (font_find_for_lface): Fix the handling of the return
6681 value of font_has_char.
6682 (Ffont_shape_text): Fix previous change.
6683
6684 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
6685 (fontset_ref_and_range): Delete it.
6686 (fontset_find_font): Call char_table_ref_and_range instead of
6687 FONTSET_REF_AND_RANGE.
6688 (make_fontset): Don't setup font groups of Latin here.
6689 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
6690 (new_fontset_from_font): Make the specified font the default for
6691 all Latin characters.
6692
73acf815 66932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6694
6695 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
6696 is on a window system before accessing the fontset of the frame.
6697
73acf815 66982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 6699
1f45f627 6700 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
6701
6702 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
6703 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
6704
6705 * font.c (Ffont_shape_text): If the font driver doesn't have a
6706 shaper function, make zero-width glyphs to have at least one-pixel
6707 width. Fix setting of `to' field of glyphs.
6708
73acf815 67092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6710
6711 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
6712 glyphs.
6713
1f45f627 6714 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 6715
73acf815 67162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6717
6718 * composite.c (syms_of_composite): Fix docstring of
6719 auto-composition-function.
6720
6721 * font.h (LGLYPH_SIZE): New macro.
6722
6723 * font.c (Ffont_fill_gstring): Stop filling when a character not
6724 supported by the font is found.
6725 (Ffont_shape_text): When a shape callback function returns nil,
6726 try at most two more times with larger gstring.
15139d67 6727 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
6728
6729 * xdisp.c (handle_auto_composed_prop): Change the argument to
6730 auto-composition-function.
6731
6732 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
6733 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
6734 Lispy glyph and store it in the lgstring.
6735
6736 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
6737
6738 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
6739
73acf815 67402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6741
6742 * font.c (Ffont_shape_text): Avoid unnecessary composition.
6743
6744 * fontset.c (Vfont_encoding_charset_alist): New variable.
6745 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
6746 (reorder_font_vector, fontset_find_font): Optimize for the case of
6747 no need of reordering.
aca7a3d2
MB
6748 (face_for_char): Map the charset property by
6749 Vfont_encoding_charset_alist.
6750
73acf815 67512008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6752
6753 * w32font.c (logfonts_match): Don't check adstyle here.
6754 (font_matches_spec): Check here against physical font instead.
6755 (add_font_entity_to_list): Avoid some substitutions.
6756
6757 * font.c (font_parse_fcname): Default weight and slant to normal.
6758 (font_score): Prefer normal fonts if weight or slant unspecified.
6759 (font_score) [WINDOWSNT]: Scale weight difference down to closer
6760 match freetype scores.
6761
73acf815 67622008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6763
6764 * w32font.c (w32font_text_extents): Don't use the frame stored in the
6765 font, as it may have been deleted.
6766 (w32_enumfont_pattern_entity): Map generic family to adstyle using
6767 most common hyphenless variation.
6768 (logfonts_match): Check generic family.
6769 (font_matches_spec): Don't check generic family here.
6770 (fill_in_logfont): Set generic family based on adstyle.
6771
6772 * w32font.h (w32font_get_cache): Update declaration.
6773
73acf815 67742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6775
6776 * ftfont.c (ftfont_get_cache): Adjust the argument type.
6777
15139d67 6778 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 6779 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
6780 with the old drivers.
6781
6782 * w32font.c (w32font_get_cache): Adjust the argument type.
6783
6784 * xfont.c (xfont_get_cache): Adjust the argument type.
6785
6786 * font.h (struct font_driver): Change argument type of get_cache.
6787
6788 * xftfont.c (xftfont_start_for_frame): Delete prototype.
6789
6790 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 6791 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 6792 (font_clear_cache): New function.
4c4475a8 6793 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 6794 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
6795
6796 * fontset.c (fontset_find_font): Fix previous change.
6797
73acf815 67982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6799
6800 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
6801 dpyinfo->font_table.
6802 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 6803 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
6804
6805 * font.c (font_at): Handle the case that the arg C is negative.
6806 Handle the unibyte case.
6807 (Ffont_at): Call font_at with the arg C -1.
6808
6809 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
6810 the position here, and call font_at with the arg C -1.
6811 Don't check the range of the existing composition at the point.
aca7a3d2 6812
73acf815 68132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 6814
15139d67 6815 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 6816 Change caller.
4c4475a8
GM
6817 (load_font_get_repertory, fontset_find_font): Assume that
6818 font_spec is always a font-spec object.
aca7a3d2
MB
6819 (Fset_fontset_font): Always store a font-spec object in a fontset.
6820
6821 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
6822 instead of get_property_and_range.
6823
73acf815 68242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6825
6826 * xftfont.c (struct xftfont_info): Delete the member ft_face.
6827 (xftfont_open): Don't keep locking face.
6828 (xftfont_close): Don't unlock face.
4c4475a8 6829 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
6830
6831 * fontset.c (fontset_find_font): Don't prefer a font of
6832 supplementary charset.
6833
73acf815 68342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6835
1f45f627
GM
6836 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
6837 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
6838 (OTF_TAG_STR): Terminate by '\0'.
6839 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
6840 listing to the script specified in that property. Fix arg to
6841 OTF_check_features.
6842
73acf815 68432008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6844
6845 * w32font.h: New file.
6846
6847 * w32font.c: Include it.
6848 (struct w32font_info): Add owning_frame field. Move to w32font.h.
6849 (w32font_open): Set owning_frame.
6850 (w32font_text_extents): Use owning_frame.
6851 (struct font_callback_data): Add opentype_only field.
6852 (add_font_entity_to_list): Use it to filter fonts.
6853 Don't check against full name.
6854 (w32font_list_internal): New function.
6855 (w32font_list): Use it.
6856 (w32font_match_internal): New function.
6857 (w32font_match): Use it.
6858 (w32font_open_internal): New function.
6859 (w32font_open): Use it.
6860 (w32font_get_cache, w32font_close, w32font_has_char)
6861 (w32font_encode_char, w32font_text_extents, w32font_draw):
6862 Make non-static.
6863
6864 * makefile.w32-in (w32font.o): Depend on w32font.h.
6865
73acf815 68662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6867
6868 * charset.c (Fdefine_charset_internal): Record a supplementary
6869 charset at the tail of Vcharset_order_list.
6870
6871 * font.c (Ffont_shape_text): Fix the return value.
6872
6873 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
6874
6875 * xdisp.c (handle_auto_composed_prop): Fix previous change.
6876
73acf815 68772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6878
6879 * ftfont.c (struct OpenTypeSpec): New struct.
6880 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
6881 (ftfont_get_open_type_spec): New function.
6882 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
6883
15139d67 6884 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 6885
73acf815 68862008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6887
6888 * w32font.c (add_font_entity_to_list): Compare only the beginning
6889 of full name.
6890
73acf815 68912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6892
15139d67
SM
6893 * xdisp.c (handle_auto_composed_prop): Simplify the code.
6894 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 6895
73acf815 68962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6897
6898 * font.c (font_gstring_produce): Delete it.
6899
15139d67
SM
6900 * composite.h (COMPOSITION_METHOD):
6901 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 6902
73acf815 69032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 6904
15139d67 6905 * xfont.c (Qx): Delete.
aca7a3d2
MB
6906 (syms_of_xfont): Don't initialize Qx.
6907
15139d67
SM
6908 * composite.h (enum composition_method):
6909 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 6910
73acf815 69112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6912
6913 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
6914 (choose_face_font): Accept new form of font-spec.
6915
6916 * frame.h (font_driver_list): Declare it unconditionally.
6917 (struct frame): Define members font_driver_list and font_data_list
6918 unconditionally.
6919
6920 * fontset.c: Include "font.h" unconditionally.
15139d67 6921 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
6922 (Fset_fontset_font): Accept a font-spec object.
6923
6924 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
6925 PIXEL_SIZE part a wild card.
6926
6927 * dispextern.h (struct glyph_string): Define members clip and
6928 num_clips unconditionally.
6929 (struct face): Define members font_info and extra unconditionally.
6930
6931 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
6932 ftfont_info only when HAVE_LIBOTF is defined.
6933
73acf815 69342008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6935
6936 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
6937 and end.
6938
73acf815 69392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6940
6941 * w32font.c (w32font_driver): Add new fields.
6942
73acf815 69432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 6944
aca7a3d2
MB
6945 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
6946 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
6947 (LIBES): Add @M17N_FLT_CFLAGS@.
6948
6949 * composite.c (compose_text): Don't treat the new style
6950 composition specially.
6951
6952 * emacs.c (main): Call syms_of_font unconditionally.
6953
6954 * font.h (FONT_ENTITY_NOT_LOADABLE)
6955 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 6956 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 6957 (struct font_driver): New member shape.
1f45f627 6958 (font_registry_charsets): Extern it.
4c4475a8 6959 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
6960 (font_otf_capability, font_drive_otf): Delete their externs.
6961
6962 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
6963 (font_charset_alist, font_registry_charsets): Move from xfont.c
6964 and rename.
aca7a3d2
MB
6965 (font_prop_validate_otf): New function.
6966 (font_property_table): Register it for QCotf.
6967 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 6968 (font_drive_otf): Delete.
1f45f627 6969 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
6970 lispy gstring.
6971 (font_find_for_lface): New arg C.
15139d67 6972 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
6973 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
6974 lispy gstring.
aca7a3d2
MB
6975 (Ffont_shape_text): New function.
6976 (Fopen_font): If the font size is not given, use 12-pixel.
6977 (Ffont_at): New arg STRING.
15139d67
SM
6978 (syms_of_font): Initalize font_charset_alist.
6979 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
6980 conditionally.
6981
6982 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
6983 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
6984 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
6985 Adjust for the change of RFONT-DEF.
15139d67 6986 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
6987
6988 * ftfont.h: New file.
6989
6990 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
6991 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
6992 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
6993 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
6994 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 6995 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
6996 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
6997 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
6998 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 6999 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
7000 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7001 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7002
15139d67
SM
7003 * w32term.c (x_draw_composite_glyph_string_foreground):
7004 Adjust for the change of lispy gstring.
aca7a3d2 7005
15139d67 7006 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 7007 lispy gstring. Call a function for auto-composition with the
15139d67
SM
7008 third arg it->window.
7009 (fill_composite_glyph_string): Adjust for the change of lispy string.
7010 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 7011
15139d67 7012 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
7013 font_find_for_lface.
7014
1f45f627
GM
7015 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7016 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
7017 (syms_of_xfont): Don't handle x_font_charset_alist.
7018
7019 * xftfont.c: Include "ftfont.h".
15139d67 7020 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
7021 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7022 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7023 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
7024 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7025 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 7026
15139d67 7027 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
7028 the change of lispy gstring.
7029
73acf815 70302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7031
7032 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7033
73acf815 70342008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7035
7036 * w32font.c (w32font_draw): Fill background manually.
7037
73acf815 70382008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7039
7040 * font.c (Qfontp): Remove unused symbol.
7041 (QCantialias): New symbol.
7042 (syms_of_font): Define it.
7043 (font_property_table): Set a validator for QCantialias.
7044
15139d67
SM
7045 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7046 Define if not already.
aca7a3d2
MB
7047 (QCfamily): Share with xfaces.c.
7048 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 7049 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
7050 (w32_antialias_type, lispy_antialias_type): New functions.
7051 (w32_enumfont_pattern_entity): New arg requested_font.
7052 Set antialias parameter if non-default was requested.
7053 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7054
73acf815 70552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7056
7057 * lread.c (read1): Undo the previous change.
7058
73acf815 70592008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
7060
7061 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 7062 USE_FONT_BACKEND is defined.
aca7a3d2 7063
73acf815 70642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7065
7066 * font.h (struct font_bitmap): New member bits_per_pixel.
7067 (struct font_driver): New members start_for_frame and end_for_frame.
7068 (struct font_data_list): New struct.
7069 (font_put_frame_data, font_get_frame_data): Extern them.
7070
7071 * frame.h (struct frame): New member font_data_list.
7072
7073 * font.c (font_update_drivers): Call driver->start_for_frame and
7074 driver->end_for_frame at proper timings.
7075 (font_put_frame_data, font_get_frame_data): New functions.
7076 (Ffont_spec): Add usage in the docstring.
7077
7078 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7079 (Fdelete_frame): Call font_update_drivers.
7080
7081 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 7082 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
7083 (xftfont_get_xft_draw): New function.
7084 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7085 (xftfont_end_for_frame): New function.
7086 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7087
15139d67 7088 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 7089 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
7090 (struct ftxfont_frame_data): New struct.
7091 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7092 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 7093 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
7094 (ftxfont_end_for_frame): New function.
7095 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7096
7097 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7098
73acf815 70992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7100
7101 * xselect.c (Vselection_coding_system)
7102 (Vnext_selection_coding_system): Delete them.
7103 (syms_of_xselect): Don't declare selection-coding-system and
7104 next-selection-coding-system. They are declared in select.el.
7105
73acf815 71062008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7107
7108 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7109
7110 * w32fns.c: Include imm.h.
7111 (get_composition_string_fn, get_ime_context_fn): New optional
7112 system functions.
7113 (globals_of_w32fns): Load them from imm32.dll.
7114 (ignore_ime_char): New flag.
7115 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7116 WM_IME_ENDCOMPOSITION messages.
7117
7118 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7119 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7120
73acf815 71212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7122
7123 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7124 (READCHAR_REPORT_MULTIBYTE): New macro.
7125 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
7126 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7127 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
7128 source.
7129
73acf815 71302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7131
7132 * xfaces.c (face_for_overlay_string): Call lookup_face with
7133 correct arguments (fix of synching with the trunk).
7134
73acf815 71352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7136
4c4475a8
GM
7137 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7138 (font_prop_validate_non_neg, font_prop_validate_spacing):
7139 Delete argument prop_index.
15139d67
SM
7140 (font_property_table): Change arguments to validater. Change Callers.
7141 (font_lispy_object): Delete.
aca7a3d2
MB
7142 (font_at): Use font_find_object instead fo font_lispy_object.
7143
73acf815 71442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7145
7146 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7147 and file names.
7148
73acf815 71492008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7150
7151 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7152 (font_matches_spec): Remove debug output.
7153 (add_font_entity_to_list): Avoid using substituted fonts.
7154
73acf815 71552008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7156
7157 * doc.c (Fsnarf_documentation):
7158 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7159
73acf815 71602008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 7161
290afd83 7162 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
7163 HAVE_WINDOW_SYSTEM is defined.
7164
73acf815 71652008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
7166
7167 Fix up multi-tty merge.
7168
7169 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7170 and indentation.
7171
7172 * xfaces.c (free_realized_face, clear_face_gcs):
7173 Include font_done_for_face in the input_blocked section, just in case.
7174
7175 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7176 (get_char_face_and_encoding): Undo last change and remove the *other*
7177 duplicate definition (i.e. keep the one that's better scoped and that
7178 includes code for the font-backend).
7179
7180 * terminal.c (create_terminal): Default keyboard_coding to
7181 `no-conversion' and terminal_coding to `undecided'.
7182
7183 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7184
7185 * fontset.c (free_realized_fontsets): Check that the table entry does
7186 contain a fontset before trying to compare it to `base'.
7187
7188 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7189 syms_of_charset, and syms_of_coding earlier because init_window_once
7190 now needs Vcoding_system_hash_table to be setup.
7191
7192 * coding.h (default_buffer_file_coding): Remove.
7193
7194 * coding.c (default_buffer_file_coding): Remove.
7195 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7196 than ->symbol, and use the terminal-local coding system.
7197 (syms_of_coding): Don't setup the coding-systems that are not
7198 terminal-local.
7199 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7200
7201 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7202 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7203
7204 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7205 in chartab.c and were re-added here by mistake.
7206 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7207
7208 * doc.c (Fsnarf_documentation):
7209 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7210 src to etc.
7211
7212 * ChangeLog.10: Add mistakenly removed entry.
7213
73acf815 72142008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
7215
7216 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7217
73acf815 72182008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7219
7220 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7221 Add extra args to FACE_FOR_CHAR.
7222
73acf815 72232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7224
7225 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7226 in sequence.
7227
4c4475a8
GM
7228 * chartab.c (map_sub_char_table, map_char_table): If the range
7229 contains just one character, call the function with that character
7230 even if the depth is not 3.
aca7a3d2 7231
73acf815 72322008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7233
7234 * w32font.c (w32font_text_extents): Calculate metrics for the
7235 whole string.
7236
73acf815 72372008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7238
7239 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7240
73acf815 72412008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7242
7243 * w32term.c (x_set_glyph_string_clipping): Use
7244 get_glyph_string_clip_rects.
4c4475a8
GM
7245 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7246 Adjust for the change of struct glyph_string.
aca7a3d2
MB
7247
7248 * w32font.c (w32font_draw): Do clipping here.
7249
73acf815 72502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7251
1f45f627 7252 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
7253 glyph_string.
7254
7255 * xterm.c (x_set_glyph_string_clipping): Use
7256 get_glyph_string_clip_rects.
4c4475a8
GM
7257 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7258 Adjust for the change of struct glyph_string.
aca7a3d2
MB
7259
7260 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7261 the resulting clip(s}.
1f45f627 7262 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
7263 row->clip temporarily.
7264 (expose_window): Redraw rows overlapping the exposed area.
7265
7266 * dispextern.h (struct glyph_row): New member clip.
7267 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7268 clip_height, new member clip, and num_clips.
7269
73acf815 72702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7271
7272 * data.c (Fchar_or_string_p): Fix docstring.
7273
73acf815 72742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7275
7276 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
7277 create a temporal XftDraw object.
7278
73acf815 72792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7280
7281 * font.c (Ffontp): Fix docstring.
7282
7283 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7284 strong evidence of ISO-2022.
7285
73acf815 72862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7287
7288 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7289 SYNTAX_ENTRY_FOLLOW_PARENT.
7290
73acf815 72912008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
7292
7293 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7294 its type.
7295 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7296 Update to the new type of weak_hash_tables and next_weak.
7297
7298 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7299 a plain C pointer to Lisp_Hash_Table.
7300
7301 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7302 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7303 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7304 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7305 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7306 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7307 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7308 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7309 (GC_EQ): Remove since they've been identical to their non-GC_
7310 alter-egos ever since the markbit was eradicated.
7311
290afd83
JB
7312 * alloc.c:
7313 * buffer.c:
7314 * buffer.h:
7315 * data.c:
7316 * fileio.c:
7317 * filelock.c:
7318 * fns.c:
7319 * frame.h:
7320 * lisp.h:
7321 * macterm.c:
7322 * print.c:
7323 * process.c:
7324 * w32fns.c:
7325 * w32menu.c:
7326 * w32term.c:
7327 * xfns.c:
7328 * xmenu.c:
7329 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 7330
73acf815 73312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7332
7333 * chartab.c (map_sub_char_table): Make it work for the top-level
7334 char-table. Fix handling of parent char-table.
c5ad7a3d 7335 (map_char_table): Adjust for the above change.
aca7a3d2 7336
73acf815 73372008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7338
7339 * w32font.c (Qgdi): Rename from Qw32.
7340
73acf815 73412008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7342
7343 * w32bdf.c (get_quoted_string): Make function static.
7344
73acf815 73452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7346
7347 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7348 bigger ascent and descent than those of the font, use them as
7349 font's ascent and descent.
7350
73acf815 73512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7352
7353 * Makefile.in (${lispsource}international/charprop.el): Move this
7354 target within "#ifdef HAVE_UNIDATA" and "#endif".
7355
73acf815 73562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7357
7358 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
7359 (shortlisp): Add ../lisp/language/tai-viet.el.
7360
1f45f627 73612008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
7362
7363 * Makefile.in (${lispsource}international/charprop.el): Depend on
7364 temacs${EXEEXT}.
7365
73acf815 73662008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7367
7368 * w32font.c (w32font_close): Delete the GDI font object.
7369
6f69e89b 7370 * w32menu.c: Include character.h.
aca7a3d2
MB
7371
7372 * w32proc.c: Likewise.
7373
7374 * w32select.c: Likewise.
7375
6f69e89b 7376 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 7377
73acf815 73782008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7379
7380 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
7381
7382 * w32menu.c (syms_of_w32menu): Likewise.
7383
7384 * w32proc.c (syms_of_ntproc): Likewise.
7385
7386 * w32select.c (syms_of_w32select): Likewise.
7387
7388 * w32term.c (syms_of_w32term): Likewise.
7389
73acf815 73902008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7391
7392 * w32font.c (w32font_draw): Delete brush after using it.
7393
73acf815 73942008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7395
7396 * w32font.c (w32font_open): Don't set font_idx.
7397 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
7398 to font settings.
7399 (w32font_draw): Fill background explicitly.
7400
73acf815 74012008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7402
7403 * w32term.c (w32_initialize): Don't call w32font_initialize.
7404
7405 * w32font.c (w32font_info): Remove subranges.
7406 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
7407 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
7408 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
7409 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
7410 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
7411 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
7412 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
7413 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
7414 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
7415 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
7416 New symbols.
7417 (font_callback_data): New struct.
7418 (w32font_list, w32font_match): Use it.
7419 (w32font_open): Don't populate subranges.
7420 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
7421 (w32font_encode_char): Always return unicode code-point as-is.
7422 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
7423 GetGlyphOutline. Never look up by glyph index. Avoid looping
7424 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 7425 glyph index version.
1f204af3 7426 (set_fonts_frame): Remove.
aca7a3d2 7427 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
7428 set frame parameter. Use backward compatible fake foundries.
7429 Save generic family in extra slot under QCfamily. Make width slot
7430 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
7431 binary subranges.
7432 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 7433 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
7434 unwanted fonts.
7435 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
7436 (w32_registry): Default to iso10646_1.
7437 (fill_in_logfont): Use dpi from extra slot. Don't bother with
7438 string font registries. Don't fill in font name if it is a generic
7439 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
7440 extra info to fill pitch, family and charset fields.
7441 (list_all_matching_fonts): Use font_callback_data struct.
7442 (unicode_range_for_char): Remove.
7443 (font_supported_scripts): New function.
7444 (w32font_initialize): Remove.
7445 (syms_of_w32font): Update which symbols are defined.
7446
73acf815 74472008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7448
7449 * font.c (font_pixel_size): Reverse assq_no_quit args.
7450
7451 * w32term.h (FONT_WIDTH): Report max width, not average.
7452 (FONT_MAX_WIDTH): Remove.
7453 (FONT_AVG_WIDTH): New macro.
7454
7455 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
7456 redefinition of FONT_WIDTH.
7457
7458 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
7459 (w32_cache_char_metrics): Use FONT_WIDTH.
7460
7461 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
7462
73acf815 74632008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7464
7465 * w32font.c (w32font_open): Make lfHeight negative.
7466
7467 * w32fns.c (x_default_font_parameter): Use new style font name.
7468 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
7469
73acf815 74702008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7471
7472 * w32font.c (QCsubranges): New symbol.
7473 (w32font_open, w32font_has_char): Get subranges from subproperty
7474 of extra.
7475 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
7476 (syms_of_w32font): Define :subranges symbol.
7477
7478 * font.c (font_put_extra): Expose externally.
7479
1f45f627 7480 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
7481
7482 * font.c (Ffont_get): Use font driver to determine otf capability.
7483 (adjust_anchor): Check if driver defines anchor_point before using.
7484
7485 * w32font.c (w32font_open): Handle size, height and pixel_size better.
7486 (w32font_draw): Use options.
7487 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
7488 Fix detection of truetype fonts.
7489 (registry_to_w32_charset): Handle charsets other than iso8859-1
7490 expressed as lisp symbols.
7491 (w32_registry): Express charset as lisp symbol.
7492 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 7493 Don't set width here. Set quality to default.
aca7a3d2
MB
7494
7495 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
7496 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
7497
7498 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7499 Remove redundant loop and allocation.
7500
7501 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 7502 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
7503 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
7504
7505 * xdisp.c (fill_composite_glyph_string): Make the first arg to
7506 STORE_XCHARB a valid l-value.
7507
7508 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
7509 calculations for non-Truetype fonts.
7510 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
7511 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7512 Remove redundant code.
aca7a3d2
MB
7513 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
7514
7515 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
7516 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
7517
7518 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
7519 (x_to_w32_charset, w32_to_x_charset): Expose externally.
7520
7521 * w32font.c: New file for w32 font backend.
7522
73acf815 75232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7524
7525 * term.c: Don't include "buffer.h" twice.
7526
73acf815 75272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7528
7529 * character.c (Funibyte_string): New function.
7530 (syms_of_character): Defsubr it.
7531
73acf815 75322008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7533
7534 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
7535 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
7536 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
7537 (x_draw_glyph_string, x_draw_glyph_string_foreground)
7538 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
7539 (x_free_frame_resources): Sync with xterm.c.
7540
73acf815 75412008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7542
7543 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
7544 char-table size.
7545
73acf815 75462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7547
c3f9fba8 7548 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 7549
73acf815 75502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7551
7552 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
7553 font_otf_gpos, add font_drive_otf.
7554
7555 * fontset.c (fontset_find_font): Pay attention to font size
7556 specified for a font.
7557 (reorder_font_vector): Check contents of font_def.
7558
7559 * font.c (struct otf_list): Delete it.
6f69e89b 7560 (otf_list): Make it a lisp variable.
aca7a3d2 7561 (otf_open): Use lispy otf_list.
1f45f627 7562 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 7563 (check_otf_features): New function.
c3f9fba8
JB
7564 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7565 New functions.
aca7a3d2
MB
7566 (font_drive_otf): New function merging font_otf_gsub and
7567 font_otf_gpos.
7568 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 7569 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
7570 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
7571 Ffont_otf_gpos.
7572 (syms_of_font): Staticpro otf_list. Delete defsubr of
7573 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
7574
1f45f627 7575 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
7576 font_open_for_lface.
7577
7578 * font.h (font_open_for_lface): Adjust prototype.
7579 (struct font_driver): Delete members otf_gsub and otf_gpos, add
7580 member otf_drive.
7581 (font_otf_gsub, font_otf_gpos): Delete externs.
7582 (font_drive_otf): Extern it.
7583
73acf815 75842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7585
7586 * font.c (font_at): If the window W is not on a window system,
7587 return Qnil.
7588
4c4475a8
GM
7589 * coding.c (produce_chars, encode_coding): Don't call
7590 insert_from_gap if no characters to produce.
aca7a3d2 7591
73acf815 75922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7593
7594 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
7595 Fclear_face_cache.
7596
7597 * xfaces.c (face_for_font): Check also face->font==font->font.font.
7598
73acf815 75992008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7600
7601 * emacs.c (main): Change default value of `enable_font_backend' to 1.
7602 Parse "--disable-font-backend" option.
7603 (standard_args): Add "--disable-font-backend" option.
7604
73acf815 76052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7606
7607 * fontset.c (fontset_find_font): New function.
7608 (fontset_font): Use fontset_find_font.
7609 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
7610 Register the specified font for all Latin characters.
7611 (new_fontset_from_font): Register the specified font for all Latin
7612 characters.
7613 (dump_fontset): For a realized fontset, include the base fontset
7614 name in the returned vector.
7615
73acf815 76162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7617
7618 * character.h (CHAR_STRING): Cast C to unsigned on calling
7619 char_string.
7620
7621 * character.c (char_string): Type of arg C changed to unsigned.
7622 Signal an error if C is an invalid character code.
7623
4c4475a8
GM
7624 * editfns.c (general_insert_function, Fchar_to_string):
7625 Use CHARACTERP, not INTEGERP.
aca7a3d2 7626
73acf815 76272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7628
7629 * character.h (MIN_MULTIBYTE_LEADING_CODE)
7630 (MAX_MULTIBYTE_LEADING_CODE): New macros.
7631
7632 * regex.c (analyse_first): Fix for multibyte characters in "case
7633 charset:" and "case categoryspec:".
7634
73acf815 76352008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7636
7637 * Makefile.in (LIBES): Move standard libraries to the end.
7638
73acf815 76392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7640
7641 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
7642 nonzero, don't shrink the buffer nextb.
7643
7644 * buffer.h (struct buffer_text): New member inhibit_shrinking.
7645
7646 * coding.c (coding_alloc_by_making_gap): New arg offset.
7647 (alloc_destination): Call coding_alloc_by_making_gap with the arg
7648 offset.
7649 (decode_coding_iso_2022): Update coding->safe_charsets.
7650 (decode_coding_gap): Temporarily set
7651 current_buffer->text->inhibit_shrinking to 1.
7652
73acf815 76532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7654
7655 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
7656 indexing into elements of s->cmp and s->char2b.
7657
73acf815 76582008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
7659
7660 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
7661
73acf815 76622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7663
7664 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
7665 target_multibyte instead of multibyte.
7666 (re_match_2_internal): Call bcmp_translate with target_multibyte.
7667 (bcmp_translate): Change the argument name from multibyte to
7668 target_multibyte.
7669
73acf815 76702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7671
7672 These changes are to compile a regexp into a pattern that can be
7673 used both for multibyte and unibyte targets.
7674
7675 * Makefile.in (search.o): Depend on charset.h.
7676
7677 * character.c (multibyte_char_to_unibyte_safe): New function.
7678
7679 * search.c: Include "charset.h".
7680 (compile_pattern_1): Delete argument multibyte. Don't set
7681 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
7682 (compile_pattern): Don't compare cp->buf.target_multibyte.
7683 Compare cp->buf.charset_unibyte.
7684 (compile_pattern): Set cp->buf.target_multibyte.
7685
7686 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
7687
7688 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
7689
7690 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 7691 multibyte. Change callers.
aca7a3d2 7692 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
7693 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
7694 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
7695 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
7696 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
7697 (regex_compile): Make the compiled pattern usable both for
7698 multibyte and unibyte targets.
7699 (analyse_first): Make the fastmap usable both for multibyte and
7700 unibyte targets.
1f45f627 7701 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
7702 (re_match_2_internal): Pay attention to the case that the
7703 multibyteness of bufp and target may be different.
7704
73acf815 77052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7706
7707 * xdisp.c (x_produce_glyphs): When a font is not found, make the
7708 empty box occupy at least one column width.
7709
73acf815 77102008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7711
7712 * Makefile.in: Remove redundant HAVE_XFT clause.
7713
73acf815 77142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7715
7716 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
7717
73acf815 77182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7719
7720 * fontset.c (Finternal_char_font): Fix for the case of POSITION
7721 being nil.
7722
73acf815 77232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7724
7725 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
7726
73acf815 77272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7728
7729 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
7730
73acf815 77312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7732
7733 * search.c (simple_search): Fix previous change.
7734
73acf815 77352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7736
7737 * xftfont.c (ftfont_font_format): Extern declaration.
7738
7739 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
7740
7741 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
7742 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
7743
7744 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
7745 (ftfont_font_format): Fix previous change.
7746
7747 * font.h (Ffont_xlfd_name): EXFUN it.
7748
7749 * font.c (font_parse_xlfd): Fix the array size of `f'.
7750 (register_font_driver): Use EQ to compare driver->type.
7751
7752 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
7753 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
7754 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
7755
73acf815 77562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7757
4c4475a8
GM
7758 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
7759 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 7760
73acf815 77612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7762
7763 * xfont.c (xfont_open): Set font->format.
7764
7765 * xftfont.c (xftfont_open): Set font->format.
7766
7767 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
7768 (ftfont_list): Include FC_FONTFORMAT in FcObject.
7769 (ftfont_open): Set font->format.
7770 (ftfont_font_format): New function.
7771
7772 * font.h (struct font): New memeber format.
7773
7774 * font.c (Qopentype): New variable.
7775 (syms_of_font): Defsym it.
7776 (Fquery_font): Change the format of the last element of the return
7777 value.
7778
73acf815 77792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7780
7781 * xfns.c (xic_create_xfontset): Try the default fontset name as a
7782 last resort.
7783
73acf815 77842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7785
7786 * coding.c (detect_coding_charset): Fix detection of multi-byte
7787 charset.
7788
73acf815 77892008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
7790
7791 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
7792
73acf815 77932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7794
7795 * xdisp.c (get_next_display_element): Set it->face_id for the
7796 first component of a composition.
1f45f627 7797 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 7798
73acf815 77992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7800
7801 * fontset.c (Qlatin): New variable.
7802 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 7803 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 7804
73acf815 78052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7806
7807 * font.c (font_unparse_fcname): Pay attention to the case that
7808 some of font property is a null string.
7809
73acf815 78102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7811
7812 * term.c: Include "composite.h".
7813 (encode_terminal_code): Output all components of composition.
7814 Check the size of encode_terminal_src.
424c157f 7815 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
7816 (append_composite_glyph, produce_composite_glyph): New functions.
7817
7818 * xdisp.c (x_produce_glyphs): In handling composition, if a font
7819 is not found, get font_info from the current ascii face.
7820
73acf815 78212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7822
7823 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
7824 buffer-file-name to Qnil before calling insert_from_buffer.
7825
7826 * font.c (font_unparse_fcname): Pay attention to the case that
7827 foundry is a null string.
7828
73acf815 78292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7830
7831 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
7832
7833 * font.c (Qunicode_sip): New variable.
7834 (syms_of_font): Declare it as a Lisp symbol.
7835
7836 * font.h (Qunicode_sip): Extern it.
7837
73acf815 78382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7839
1f45f627 7840 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
7841
7842 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 7843 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
7844 the first elememnt of allocated memory.
7845
1f45f627 7846 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
7847
7848 * xdisp.c (handle_composition_prop): Set it->c to the first
7849 non-TAB component.
1f45f627
GM
7850 (fill_composite_glyph_string): Change argument.
7851 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
7852 (x_produce_glyphs): Fix handling of left/right padding.
7853
73acf815 78542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7855
7856 * coding.c (detect_coding_system): Fix for handling off
7857 inhibit_iso_escape_detection. Fix for the case that no coding
7858 system is defined for a specific coding category.
7859
73acf815 78602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7861
1f45f627 7862 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
7863
7864 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
7865 opening a font.
7866
7867 * fileio.c (Finsert_file_contents): On recovering a file, assume
7868 Unix-like eol.
7869 (choose_write_coding_system): On auto-saving a file, force
7870 Unix-like eol.
7871
7872 * coding.c (setup_coding_system): Fix setting of
7873 coding->common_flags based on eol_type.
7874 (coding_inherit_eol_type): If PARENT is not nil, be sure to
7875 inherit from it.
7876
73acf815 78772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7878
1f45f627 7879 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 7880
73acf815 78812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7882
1f45f627 7883 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
7884 (ftfont_list): Don't check :name property.
7885 (ftfont_match): New function.
7886 (ftfont_pattern_entity): If the pattern doesn't contain
7887 FC_SPACING, don't assuce FC_MONO.
7888
7889 * font.h (struct font_driver): New member `match'.
1f45f627 7890 (font_update_drivers): Adjust prototype.
aca7a3d2 7891
4c4475a8
GM
7892 * font.c (font_parse_fcname, font_parse_name): Don't change :name
7893 property of FONT.
aca7a3d2
MB
7894 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
7895 them unconditionally.
7896 (font_matching_entity): New function.
7897 (font_open_by_name): Try font_matching_entity if exact match is
7898 not found.
7899 (font_update_drivers): Delete the arg FONT. Return a list of
7900 actually used backends. Don't free faces, font caches here.
7901 Don't store data in frame parameters. Don't call x_set_font.
7902 (Ffont_spec): Store :name property as is.
7903 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
7904 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
7905 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
7906 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
7907 Call font->driver->otf_gsub instead of font_otf_gsub.
7908
7909 * frame.c (x_set_font_backend): Do more works that were done in
7910 font_update_drivers before.
7911
7912 * xfont.c (xfont_match): New function.
7913 (xfont_driver): Set xfont_driver.match to xfont_match.
7914 (xfont_draw): Set font in GC if necessary.
7915
7916 * ftxfont.c (ftxfont_match): New function.
7917 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
7918
7919 * xftfont.c (xftfont_match): New function.
7920 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
7921
73acf815 79222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7923
7924 * font.h (struct font): New member scalable.
7925 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 7926 (font_otf_gsub): Adjust prototype.
aca7a3d2 7927
1f45f627
GM
7928 * font.c (font_otf_capability): Fix handling of the default langsys.
7929 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
7930 Check the contents of SPEC.
7931 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
7932 (check_gstring): New function.
7933 (REPLACEMENT_CHARACTER): New macro.
7934 (font_otf_gsub): New arg alternate_subst. Be sure to set all
7935 glyph codes of GSTRING.
7936 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
7937 (font_prepare_composition): Set cmp->glyph_len.
7938 (font_open_entity): Set font->scalable.
7939 (Ffont_get): Handle :otf property.
7940 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
7941 functions.
7942 (Fquery_font): Use font->font.full_name.
7943 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
7944 Sfont_otf_alternates.
7945
7946 * ftfont.c (ftfont_open): Set font->font.full_name and
7947 font->font.name properly. Fix calculation of font->font.height
7948 and font->min_width.
7949
7950 * ftxfont.c (ftxfont_create_gcs): New function.
7951 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
7952 (ftxfont_draw_backgrond): Fix filling region.
7953 (ftxfont_default_fid): New function.
7954 (ftxfont_open): Set xfotn->fid to the return value of
7955 ftxfont_default_fid.
7956 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
7957 (ftxfont_done_face): Free only GCs that are created by
7958 ftxfont_create_gcs.
7959 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
7960
7961 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
7962 Clip to src->width, etc (not src->clip_XXX).
7963
7964 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
7965 FontBackend frame parameter.
7966
73acf815 79672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7968
7969 * font.h (struct font_driver_list): New member `on'.
7970 (Fclear_font_cache): EXFUN it.
7971 (font_update_drivers): Extern it.
7972
7973 * font.c (font_unparse_fcname): Fix typo (swidth->width).
7974 (font_list_entities): Check driver_list->on.
7975 (register_font_driver): Initalize `on' member to 0.
7976 (font_update_drivers): New function.
7977 (Fclear_font_cache): Check driver_list->on.
7978
7979 * frame.h (Qfont_backend): Extern it.
7980 (x_set_font_backend): Extern it.
7981
7982 * frame.c (Qfont_backend): New variable.
7983 (frame_parms): New element for font-backend.
7984 (x_set_font_backend): New function.
7985
7986 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
7987 FontBackend frame parameter.
7988 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
7989 x_set_font_backend.
7990
7991 * xfont.c (xfont_list): Don't try listing by :name property if the
7992 name is not for XLFD.
7993
73acf815 79942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7995
7996 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
7997 (LGLYPH_SET_TO): New macros.
7998 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
7999 element of G is vector or not.
8000 (font_at): Extern it.
8001
8002 * font.c: Include window.h.
8003 (font_lispy_object): New function.
8004 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8005 end of valid glyph.
8006 (font_close_object): Fix getting (struct font *).
8007 (font_at): New function.
8008 (Ffont_get): If FONT is a font-object, get entity from it.
8009 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8010 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8011 range check.
8012 (Ffont_at): New function.
8013 (syms_of_font): Defsubr Sfont_at.
8014
8015 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 8016 before the entry for Qcomposition.
1f45f627 8017 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
8018 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8019 the font in gstring.
8020 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8021 LGLYPH_FORM (g) to detect the end of valid glyph.
8022 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8023 we are composing with gstring.
8024
8025 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8026 Check if adjustment is vector or not.
8027
8028 * Makefile.in (font.o): Make it depends on window.h.
8029
73acf815 80302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8031
8032 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8033 adjustment is vector or not.
8034
73acf815 80352008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
8036
8037 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8038
73acf815 80392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8040
8041 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8042 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8043 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8044
1f45f627 8045 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 8046 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
8047 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8048 LGLYPH format.
aca7a3d2 8049
1f45f627 8050 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
8051 the change of LGLYPH format.
8052
73acf815 80532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8054
8055 * ftfont.c (ftfont_list): Fix typo.
1f45f627 8056 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 8057
880820fe 80582008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
8059
8060 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8061
8062 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8063 xftface_info is non-NULL.
8064
880820fe 80652008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 8066
1f45f627 8067 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 8068
73acf815 80692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8070
8071 * ftfont.c (ftfont_list): Pay attention to the case that
8072 FC_CAPABILITY is not defined.
8073
73acf815 80742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8075
8076 * xftfont.c (xftfont_open): Set charset related members to -1.
8077
1f45f627
GM
8078 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8079 QCname.
aca7a3d2
MB
8080 (ftfont_open): Set charset related members to -1.
8081
8082 * fontset.c (Votf_script_alist): New variable.
8083 (syms_of_fontset): Initialize it.
8084 (fontset_font): Delete unused variable.
8085
8086 * fontset.h (Votf_script_alist): Extern it.
8087
1f45f627 8088 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
8089
8090 * font.h (font_close_object, font_merge_old_spec): Extern them.
8091
73acf815 80922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8093
8094 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8095 (syms_of_font): Initialize them.
8096 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
8097 (font_prop_validate_type): Delete.
8098 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8099 Change caller.
8100 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8101 (font_prop_validate_extra): Delete.
aca7a3d2
MB
8102 (font_prop_validate_spacing): New function.
8103 (font_property_table): Add elements for all known properties.
1f45f627
GM
8104 (get_font_prop_index): Rename from check_font_prop_name. New
8105 argument FROM. Change caller.
aca7a3d2 8106 (font_prop_validate): Validate all known properties.
1f45f627 8107 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
8108 (font_expand_wildcards): Make it static. Fix the way of shrinking
8109 the possible range.
1f45f627 8110 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 8111 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 8112 Change caller.
aca7a3d2 8113 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
8114 (font_parse_fcname): Delete argument merge. Fix parsing of point
8115 size. Don't validate properties values here. Change caller.
8116 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
8117 (font_open_by_name): Delete unused variable.
8118 (Ffont_spec): Likewise. Validate property values.
8119 (Ffont_match_p): New function.
8120
8121 * font.h (QCscalable): Extern it.
1f45f627 8122 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 8123
1f45f627 8124 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 8125
1f45f627 8126 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
8127 (xfont_list_pattern): New function.
8128 (xfont_list): Use xfont_list_pattern.
8129
73acf815 81302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8131
8132 * font.h (Flist_fonts): EXFUN it.
8133
73acf815 81342008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
8135
8136 * w32term.c (w32_initialize): Add back smoothing_type and
8137 smoothing_enabled definitions.
8138
73acf815 81392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8140
8141 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8142 s->face->font on determining underline position.
8143
73acf815 81442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8145
8146 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8147 (font_has_char): Accept font-object too.
8148 (font_find_for_lface): Try at first with a size specified in face.
8149
73acf815 81502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8151
8152 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8153 font_open_by_name.
8154
73acf815 81552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8156
8157 * font.h (QCspacing, QCdpi): Extern them.
8158 (enum font_spacing): New enum.
8159 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8160
8161 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
8162 (QCspacing, QCdpi): New variables.
8163 (syms_of_font): Initialize them.
8164 (font_pixel_size): New function.
8165 (font_put_extra): New function.
8166 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8167 in FONT_EXTRA.
e9184ccb
JB
8168 (font_parse_fcname): Handle enumenrated values (e.g. bold).
8169 Fix handling font size. Add QCname property that contains only
aca7a3d2 8170 unknown properties.
1f45f627 8171 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 8172 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
8173 (font_sort_entites, font_list_entities, font_find_for_lface)
8174 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 8175 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
8176
8177 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8178 include weight in listing pattern, instead check weight of each
8179 listed font. Don't include scalable in pattern. Pay attention to
8180 FONT_PIXEL_SIZE_QUANTUM.
8181
73acf815 81822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8183
aca7a3d2 8184 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 8185 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
8186 (font_list_entities): Handle float size correctly.
8187 (font_open_by_name): Prefer `normal' property values if the name
8188 doesn't specify them.
8189
8190 * fontset.c (Finternal_char_font): Use font_get_name, not
8191 Ffont_xlfd_name.
8192
8193 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8194 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8195 pattern. Don't force scalable.
8196
8197 * xftfont.c (xftfont_open): For generating a name, start from
8198 96-byte buffer.
8199
880820fe 82002008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
8201
8202 * frame.h (x_new_fontset2): Fix prototype.
8203
73acf815 82042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8205
1f45f627 8206 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
8207 (font_match_p, font_get_spec, font_parse_fcname)
8208 (font_unparse_fcname): Extern them.
1f45f627 8209 (font_get_name): Adjust prototype.
aca7a3d2
MB
8210
8211 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8212 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8213 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8214 unnecessary checks for weight, slant, and swidth.
8215 (font_parse_fcname): New function.
8216 (font_unparse_fcname): New function.
8217 (font_parse_name): New function.
8218 (font_match_p): New function.
1f45f627 8219 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
8220 (font_get_spec): New function.
8221 (Qunspecified, Qignore_defface): Don't extern them.
8222 (font_find_for_lface): Assume that LFACE is fully specified.
8223 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8224 object, use it for FACE.
8225 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8226 driver->parse_name.
8227 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8228
1f45f627
GM
8229 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8230 prototype.
aca7a3d2 8231
1f45f627
GM
8232 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8233 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
8234 make_fontset.
8235
1f45f627 8236 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 8237
1f45f627 8238 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
8239 of x_new_fontset2.
8240
8241 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8242 (Qsans__serif): New variables.
8243 (ftfont_generic_family_list): New variable.
8244 (syms_of_ftfont): Initialize the above variables.
1f45f627 8245 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
8246 (ftfont_list_generic_family): New function.
8247 (ftfont_parse_name): Delete this function.
1f45f627 8248 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
8249 (ftfont_list_family): Fix args to FcObjectSetBuild.
8250
8251 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8252 object in attrs[LFACE_FONT_INDEX].
8253 (set_lface_from_font_name): Cancel all changes for font-backend.
8254 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8255 function.
8256 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8257 font object in QCfont attribute.
8258 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8259 (realize_default_face) [USE_FONT_BACKEND]: Call
8260 set_lface_from_font_and_fontset.
8261
8262 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8263 "fixed", and signal error here if no suitable font was found.
8264
8265 * xfont.c (xfont_parse_name): Delete this function.
8266
8267 * xftfont.c (xftfont_open): Change coding style of error
8268 handling. Generate fontconfig's fontname pattern.
8269
8270 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8271 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8272
8273 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8274 Both args FONTSET and FONT_OBJECT must be existing ones.
8275
73acf815 82762008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8277
8278 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8279
73acf815 82802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8281
8282 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8283
8284 * font.h (struct font): Fix typo.
8285
8286 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8287 XLFD_XXX_INDEX.
8288 (enum xlfd_field_mask): New enum.
1f45f627 8289 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
8290 are followed by non-digits, return a symbol.
8291 (font_expand_wildcards): New function.
8292 (font_parse_xlfd): Fix wildcard handling.
8293 (Ffont_spec): If :name is specified, reflect the info in the other
8294 properties.
8295
8296 * ftfont.c (ftfont_pattern_entity): Fix typo.
8297 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8298 locale.
8299
73acf815 83002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8301
8302 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8303
1f45f627 8304 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
8305 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8306 registry doesn't specify encoding part.
8307 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8308 (font_open_by_name): At first try parsing the name.
8309 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8310 as Lisp symbols.
8311
8312 * fontset.c (reorder_font_vector): Pay attention to the case that
8313 the 3rd element of font_def is nil.
8314 (fontset_font): For the default fontset, append one more fontset
8315 elements for a script-based font specification. Don't add script
8316 attribute on finding a font.
8317 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8318 font name.
8319 (fontset_ascii_font): If a font can't be opened, return nil.
8320
1f45f627 8321 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
8322 (ftfont_pattern_entity): New function.
8323 (ftfont_get_cache): Assume that freetype_font_cache is already
8324 initialized.
8325 (ftfont_list): Handle the case that a file is specified in font
8326 name. Use ftfont_pattern_entity to generate entities.
8327 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
8328 (syms_of_ftfont): Initialize freetype_font_cache.
8329
8330 * xftfont.c (xftfont_open): Make the font name fontconfig's
8331 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8332 (xftfont_close): Free font->font.name if not NULL.
8333
8334 * xfont.c (xfont_list): If script is specified for a font, return
8335 null_vector.
8336 (xfont_list_family): Declare argument type.
8337
8338 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8339 name, set LFACE_FONT (lface) to nil.
8340
8341 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8342 return Qnil.
8343
73acf815 83442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8345
1f45f627 8346 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
8347 (standard_args): Add "-enable-font-backend".
8348
73acf815 83492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8350
8351 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
8352 (struct xftdraw_list, xftdraw_list): Delete them.
8353 (register_xftdraw, check_xftdraw): Delete them.
8354 (xftfont_prepare_face): Don't call register_xftdraw.
8355 (xftfont_done_face): Don't call check_xftdraw.
8356 (xftfont_draw): Get backroudn color only when with_background is
8357 nonzero.
8358
8359 * xfont.c (xfont_encode_char): Fix calculation of char2b.
8360
73acf815 83612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8362
8363 These changes are for the new font handling codes.
8364
8365 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
8366 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
8367 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
8368 (FONTSRC, FONTOBJ): New variables.
8369 (obj): Add $(FONTOBJ).
8370 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
8371 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
8372 @LIBOTF_LIBS@.
8373 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 8374 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 8375
1f45f627 8376 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
8377
8378 * character.h (Vscript_representative_chars): Extern it.
8379
8380 * character.c (Vscript_representative_chars): New variable.
8381 (syms_of_character): Declare it as a Lisp variable.
8382
8383 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
8384 enable_font_backend is nonzero, accept the composition method
8385 COMPOSITION_WITH_GLYPH_STRING.
8386
8387 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
8388 enumeration COMPOSITION_WITH_GLYPH_STRING.
8389
aca7a3d2
MB
8390 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
8391 members clip_x, clip_y, clip_width, and clip_height.
8392 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
8393
8394 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
8395 --enable-font-backend. Call syms_of_font.
8396
8397 * fns.c (assoc_no_quit): New function.
8398
8399 * fontset.h (FONT_INFO_FROM_FACE): New macro.
8400 (face_for_font, new_fontset_from_font)
8401 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
8402
8403 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
8404 (fontset_font, fontset_ascii, face_for_char)
8405 (make_fontset_for_ascii_face, Ffont_info)
8406 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
8407 is nonzero, use font-backend mechanism.
8408 (find_font_encoding): Make it non-static.
8409 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
8410 New functions.
8411
8412 * frame.h (struct frame): New members resx and resy.
8413 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
8414 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
8415
8416 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 8417 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
8418
8419 * lisp.h (assoc_no_quit): Extern it.
8420
8421 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
8422 Through out the file, use FONT_INFO_FROM_FACE instead of
8423 FONT_INFO_FROM_ID, use get_per_char_metric instead of
8424 rif->per_char_metric.
8425 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
8426 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
8427 (get_glyph_face_and_encoding, fill_composite_glyph_string)
8428 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8429 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
8430 nonzero, use font-backend mechanism.
8431 (get_per_char_metric): New function.
8432
8433 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
8434 (set_lface_from_font_name)
8435 (set_font_frame_param, free_realized_face)
8436 (prepare_face_for_display, clear_face_gcs)
8437 (Finternal_set_font_selection_order, realize_x_face)
8438 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
8439 font-backend mechanism.
1f45f627 8440 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
8441 (load_face_font) [USE_FONT_BACKEND]: Abort.
8442 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 8443 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
8444
8445 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
8446 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
8447 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
8448 nonzero, register all available font drivers. Call
8449 x_default_font_parameter for deciding a font.
8450 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
8451
8452 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
8453 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
8454 (x_set_glyph_string_clipping_exactly)
8455 (x_compute_glyph_string_overhangs)
8456 (x_draw_glyph_string_foreground)
8457 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
8458 (x_free_frame_resources) [USE_FONT_BACKEND]: If
8459 enable_font_backend is nonzero, use font-backend mechanism.
8460 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
8461
73acf815 84622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8463
fcb314b2 8464 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
8465 system_eol_type.
8466 (syms_of_coding): Initialize system_eol_type.
8467
fcb314b2
GM
8468 * process.c (Fset_process_coding_system): Inherit system's eol
8469 format if necessary.
aca7a3d2 8470
73acf815 84712008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8472
8473 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
8474
73acf815 84752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8476
8477 * coding.c (decode_eol): Pay attention to buffer relocation in
8478 del_range_2.
8479 (decode_coding): Call decode_eol before restoring undo_list.
8480
73acf815 84812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8482
8483 * charset.c (Fdefine_charset_internal): Fix setting of
8484 emacs_mule_bytes.
8485
73acf815 84862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8487
8488 * keyboard.c (read_char): Check if C is a character or not before
8489 looking up Vkeyboard_translate_table.
8490
73acf815 84912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8492
8493 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
8494 condition to terminate the loop.
8495
73acf815 84962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8497
8498 * coding.c (produce_composition): Compare charbuf[i] instead of
8499 args[i] against 0.
8500 (Fterminal_coding_system): Use EQ to compare Lisp objects.
8501
73acf815 85022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8503
8504 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
8505 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
8506 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
8507 detect_coding.
8508 (emacs_mule_char): Handle old style (Emacs 20) component character
8509 of a composition.
4c4475a8
GM
8510 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
8511 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
8512 composition rule.
aca7a3d2
MB
8513 (decode_coding_emacs_mule): Handle invalid bytes correctly.
8514
73acf815 85152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8516
8517 * coding.c (encode_coding_ccl): Allocate destination dynamically
8518 when necessary.
8519
73acf815 85202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8521
8522 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
8523 the loop. When quitted, show a proper error message.
8524
73acf815 85252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8526
aca7a3d2
MB
8527 * xterm.c (x_set_glyph_string_clipping_exactly): Set
8528 src->clip_head and src->clip_tail temporarily instead of src->hl.
8529
8530 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
8531 character sequence.
8532 (Fccl_execute_on_string): Use ASET, not XSET.
8533
73acf815 85342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8535
1f45f627 8536 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 8537
73acf815 85382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8539
8540 * coding.c (decode_coding): Fix the condition of terminating the
8541 decoding loop.
8542
73acf815 85432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8544
8545 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 8546 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 8547
73acf815 85482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8549
8550 * charset.c (map_charset_chars): Fix for ascii-compatible charset
8551 made by a mapping table.
8552
73acf815 85532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8554
8555 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
8556 not.
8557 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
8558 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
8559
8560 * xterm.c (x_draw_composite_glyph_string_foreground): Check
8561 s->face is NULL or not.
8562
73acf815 85632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8564
8565 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
8566 (x_draw_glyph_string): Fix drawing of right_overhang and
8567 left_overhang around/on cursor.
8568
1f45f627 8569 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 8570
73acf815 85712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8572
8573 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
8574
73acf815 85752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8576
4c4475a8
GM
8577 * coding.c (Fdefine_coding_system_internal)
8578 (Fdefine_coding_system_alias): Avoid a duplicated element in
8579 Vcoding_system_alist.
aca7a3d2 8580
73acf815 85812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8582
8583 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
8584
fcb314b2 8585 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
8586 (syms_of_coding): Intern and staticpro it.
8587 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 8588 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
8589
8590 * coding.h (CODING_SYSTEM_P): If ID is not available, call
8591 Fcoding_system_p.
8592 (CHECK_CODING_SYSTEM): If ID is not available, call
8593 Fcheck_coding_system.
4c4475a8
GM
8594 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
8595 Try also Fcheck_coding_system.
aca7a3d2 8596
73acf815 85972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8598
aca7a3d2
MB
8599 * coding.c (code_conversion_restore): GCPRO arg.
8600
73acf815 86012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8602
8603 * character.c (lisp_string_width): Check multibyteness of STRING.
8604
73acf815 86052008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8606
8607 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
8608 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
8609 (decode_mac_font_name): Use decode_coding_c_string instead of
8610 decode_coding.
8611 (x_load_font): Initialize fontp->fontset to -1. Set
8612 fontp->encoding_type.
8613
73acf815 86142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8615
8616 * search.c (search_buffer): Give up BM search on case-fold-search
8617 if one of a target character has a case-equivalence of different
8618 byte length even if that target charcter is an ASCII.
1f45f627
GM
8619 (simple_search): Fix calculation of byte length of matched text.
8620 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 8621
73acf815 86222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8623
8624 * coding.c (decode_coding): Fix handling of invalid bytes.
8625
73acf815 86262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8627
8628 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
8629 Unicode characters.
8630
73acf815 86312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8632
8633 * coding.c (encode_coding_object): If a pre-write-conversion
8634 function makes a new buffer, kill it.
8635
73acf815 86362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8637
8638 * coding.c (QCascii_compatible_p): New variable.
8639 (syms_of_coding): Initialize it.
4c4475a8
GM
8640 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
8641 calling string_char.
aca7a3d2
MB
8642 (record_conversion_result): Add `default:' case.
8643 (coding_charset_list): Delete unused variable `coding_type'.
8644 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
8645 property in the plist of the coding system.
8646 (Fcoding_system_put): Check QCascii_compatible_p.
8647
73acf815 86482008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
8649
8650 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
8651 removed calculation of frame `f', as it's now used.
8652
73acf815 86532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8654
1f45f627 8655 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
8656 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
8657 (UNIDATA): New variable.
8658 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
8659 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
8660 $(RUN_TEMACS) unconditionally.
8661
73acf815 86622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8663
1f45f627 8664 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
8665 (admindir): New variable.
8666 ($(lispsource)international/charprop.el): New target.
8667
73acf815 86682008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 8669
1f45f627 8670 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
8671 (syms_of_character): Remove its initialization.
8672
73acf815 86732008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
8674
8675 * w32select.c (validate_coding_system)
8676 (setup_windows_coding_system): New functions.
8677 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
8678 setup_windows_coding_system.
8679 (setup_config, Fw32_get_clipboard_data): Use
8680 validate_coding_system.
8681 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 8682 where signals are allowed.
aca7a3d2
MB
8683
8684 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
8685 (Fcheck_coding_system): Add declarations.
8686
73acf815 86872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8688
1f45f627 8689 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 8690
73acf815 86912008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8692
8693 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
8694 string as the second argument for x_new_fontset.
8695
73acf815 86962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8697
8698 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
8699 (encode_coding_object): Use safe_call instead of call2.
8700
73acf815 87012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8702
1f45f627 8703 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
8704
8705 * Makefile.in (lisp): Include charprop.el.
8706
73acf815 87072008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8708
8709 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
8710 Not sure if it's unnecessary.
8711
73acf815 87122008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
8713
8714 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
8715 some possibly unnecessary fontset checking code that crashed
1f45f627 8716 when creating a new frame.
aca7a3d2 8717
73acf815 87182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8719
8720 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
8721 lookup_face.
8722
8723 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
8724
1f45f627 8725 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 8726
73acf815 87272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8728
73acf815 8729 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
8730 (coding_charset_list): New function.
8731
8732 * coding.h (coding_charset_list): Extern it.
8733
73acf815 87342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8735
8736 * fontset.c (Fset_fontset_font): Call find_font_encoding with
8737 concatenation of family and registry.
8738
73acf815 87392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8740
8741 * character.h (BYTE8_STRING): Fix typo.
8742
8743 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
8744 string to multibyte (sync to HEAD).
8745
8746 * casefiddle.c (casify_region): Handle changes in byte-length
8747 using replace_range_2 (sync to HEAD).
8748
73acf815 87492008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
8750
8751 * chartab.c (map_char_table): GCPRO table and arg.
8752
73acf815 87532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8754
8755 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
8756 already at limit.
8757
73acf815 87582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8759
8760 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
8761 instead of fast_c_string_match_ignore_case.
1f45f627 8762 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 8763 fast_string_match_ignore_case instead of
1f45f627 8764 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 8765
73acf815 87662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8767
8768 * xdisp.c (get_next_display_element): In unibyte case, decide to
8769 display in octal form by checking a chacter by
8770 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
8771
1f45f627 8772 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
8773
8774 * character.c (unibyte_has_multibyte_table): New variable.
8775
8776 * character.h (unibyte_has_multibyte_table): Extern it.
8777 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
8778
73acf815 87792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8780
8781 * coding.c (encode_coding_iso_2022): Fix handling of charset
8782 annotation.
8783
73acf815 87842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8785
8786 * coding.c (setup_coding_system): If coding_system is nil, use
8787 Qundecided.
8788 (Fterminal_coding_system): Return nil if terminal coding system is
8789 `undecided'.
8790 (syms_of_coding): Define coding-system `undecided' here. Setup
8791 terminal_coding as `undecided'.
8792
73acf815 87932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8794
8795 * xdisp.c (message_dolog, set_message_1): Call
8796 unibyte_char_to_multibyte with arg type int.
8797
aca7a3d2
MB
8798 * lread.c (read1): Fix reading of a char-table.
8799
8800 * print.c (print_object): Include sub char-table in cicularities
8801 detection.
8802
73acf815 88032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8804
8805 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 8806 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 8807
73acf815 88082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8809
8810 * fileio.c (report_file_error): Make a unibyte string from
8811 strerror (errorno).
8812 (Fsubstitute_in_file_name): Fix the arg to
8813 unibyte_char_to_multibyte. It is evaluated twice.
8814
73acf815 88152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8816
8817 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
8818
73acf815 88192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8820
8821 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
8822 BOM is not found.
4c4475a8
GM
8823 (detect_coding, detect_coding_system): Optimization for ISO-2022
8824 when no 8-bit data is found.
aca7a3d2 8825
73acf815 88262008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
8827
8828 * w32fns.c (x_to_w32_font): Update to use new coding struct.
8829
73acf815 88302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8831
4c4475a8
GM
8832 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
8833 CHARS.
aca7a3d2 8834
73acf815 88352008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
8836
8837 * macterm.c (mac_encode_char): Add charset argument and update
8838 to use encoding_type.
2a2e8de7 8839 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
8840 switch to pure fontset.
8841 (decode_mac_font_name): Temporarily remove decoding.
8842 (x_font_name_to_mac_font_name): Temporarily remove encoding.
8843 (x_load_font): Temporarily remove encoding.
aca7a3d2 8844
73acf815 88452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8846
8847 * xfaces.c (Fface_font): If frame is not on a window system,
8848 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
8849 refer to face->font.
8850 (split_font_name_into_vector, build_font_name_from_vector)
8851 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
8852 whne HAVE_WINDOW_SYSTEM is defined.
8853
73acf815 88542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8855
8856 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
8857 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 8858 cmp->glyph_len is zero.
aca7a3d2 8859
1f45f627 8860 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
8861 (Ffontset_info): Make it backward compatible. New arg ALL.
8862
73acf815 88632008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
8864
8865 * process.c (read_process_output): Grow decoding_buf when needed;
8866 this could cause a crash in allocate_string and compact_small_strings.
8867
73acf815 88682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8869
1f45f627 8870 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 8871
73acf815 88722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8873
8874 * coding.c (setup_coding_system): Set coding->common_flags
8875 correctly for raw-text.
8876 (consume_chars): On encoding unibyte text by raw-text, don't check
8877 multibyte form.
1f45f627 8878 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
8879
8880 * fileio.c (e_write): Short cut for the case of no encoding.
8881
73acf815 88822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8883
4c4475a8
GM
8884 * coding.c (detect_coding, detect_coding_system): Delete unused
8885 variables.
aca7a3d2 8886
73acf815 88872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8888
8889 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
8890 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
8891
73acf815 88922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8893
8894 * coding.c (Ffind_coding_systems_region_internal): Include
8895 raw-text and no-conversion in the result.
8896
73acf815 88972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8898
1f45f627 8899 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
8900 (load_font_get_repertory): Delete unnecessary check of ENCODING of
8901 FONT_DEF.
8902 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 8903 (set_fontset_font): Change argument.
aca7a3d2
MB
8904 (Fset_fontset_font): Fix for the case that TARGET is a script
8905 name and charset name.
8906 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
8907
73acf815 89082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8909
1f45f627
GM
8910 * fontset.c (fontset_font): Rename from fontset_face. Change return
8911 value.
4c4475a8
GM
8912 (face_suitable_for_char_p, face_for_char): Adjust for the change
8913 of fontset_font.
aca7a3d2
MB
8914 (make_fontset_for_ascii_face): Fix setting of the fontset element
8915 for ASCII.
8916 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
8917 to get a font name.
1f45f627 8918 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 8919
fcb314b2 8920 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
8921
8922 * character.h (LEADING_CODE_LATIN_1_MIN)
8923 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
8924
73acf815 89252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8926
fcb314b2 8927 * editfns.c (check_translation): New function.
aca7a3d2
MB
8928 (Ftranslate_region_internal): Handle M:N mapping.
8929
73acf815 89302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8931
8932 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
8933
73acf815 89342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8935
8936 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
8937 goto invalid_code.
8938 (decode_coding_iso_2022): Fix handling of invalid designation.
8939
8940 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
8941 after calling code_conversion_save.
8942
73acf815 89432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8944
8945 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
8946
8947 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
8948
8949 * fontset.c: Include "intervals.h".
8950 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
8951 (free_face_fontset, new_fontset_from_font_name): Fix
8952 Lisp_Object/int mixup.
aca7a3d2
MB
8953
8954 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
8955
8956 * coding.c: Add many prototypes for static functions.
8957 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 8958 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
8959 (Funencodable_char_position, Fcheck_coding_systems_region): Call
8960 get_translation_table with max_lookup NULL.
aca7a3d2 8961
73acf815 89622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8963
8964 * coding.c (get_translation_table): Declare it as Lisp_Object.
8965 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
8966 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
8967 instead of CHAR_TABLE_REF.
aca7a3d2 8968
73acf815 89692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8970
1f45f627 8971 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
8972 annotation data format.
8973 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 8974 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 8975 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 8976 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
8977 (decode_coding_ccl, decode_coding_charset): Pay attention to
8978 coding->charbuf_used.
aca7a3d2
MB
8979 (get_translation): New function.
8980 (produce_chars): New arguments translation_table and last_block.
8981 Translate characters here. Return number of carryover chars.
1f45f627
GM
8982 Change caller.
8983 (produce_composition): New argument pos. Change caller.
8984 Adjust for the change of annotation data format.
aca7a3d2
MB
8985 (produce_charset, produce_annotation): Likewise.
8986 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
8987 (consume_chars): New arg translation_table. Change caller.
8988 (translate_chars): Delete.
8989 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 8990
73acf815 89912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8992
8993 * search.c (simple_search): Fix setting this_pos_byte in backward
8994 search.
8995
8996 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
8997 byte sequence.
8998 (detect_coding_ccl): Fix setting of the variable valids.
8999
73acf815 90002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9001
9002 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9003
9004 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9005
1f45f627 9006 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
9007 Ftranslate_region. Accept a char-table in TABLE.
9008 (syms_of_editfns): Defsubr Stranslate_region_internal.
9009
9010 * xfaces.c (set_lface_from_font_name): If a font is specified for
9011 a frame, generate a fontset from the font.
9012 (build_scalable_font_name): If the scalable font is requested for
9013 a specific size, don't change that size.
9014 (try_font_list): Try a scalable font also in the case that a
1f45f627 9015 pattern string is specified.
aca7a3d2 9016
73acf815 90172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9018
9019 * xfaces.c (Fface_font): New optional arg CHARACTER.
9020
73acf815 90212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9022
9023 * charset.h (CHARSET_OFFSET): New macro.
9024
73acf815 90252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9026
9027 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9028
9029 * fontset.c (fontset_face): Handle the case that repertory is a
9030 char-table.
9031 (find_font_encoding): Return nil for unknown encoding.
9032 (Fset_fontset_font): Ignore a font of unknown encoding.
9033
73acf815 90342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9035
1f45f627 9036 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
9037
9038 * fontset.c (fontset_face): Handle fallback fonts correctly.
9039 (Ffontset_info): Return infomation about fallback fonts.
9040
73acf815 90412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9042
9043 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 9044 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
9045 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9046 the case that it is nil.
9047 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 9048 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
9049
9050 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9051 subset or superset.
9052
73acf815 90532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9054
9055 * emacs.c (main): Call init_charset after syms_of_XXX.
9056
1f45f627 9057 * charset.c (Vcharset_map_directory): Delete.
1f204af3 9058 (Vcharset_map_path): New variable.
aca7a3d2
MB
9059 (load_charset_map_from_file): Use Vcharset_map_path instead.
9060 (init_charset): Initialize Vcharset_map_path.
9061 (syms_of_charset): Delete declaration of "charset-map-directory",
9062 add declaration of "charset-map-path".
9063
73acf815 90642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9065
4c4475a8
GM
9066 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9067 ASCII only string.
aca7a3d2
MB
9068
9069 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9070
9071 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 9072 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 9073
73acf815 90742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9075
9076 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9077
9078 * coding.c (QCmnemonic, QCdefalut_char)
9079 (QCdecode_translation_table, QCencode_translation_table)
9080 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9081 (get_translation_table): Return a list of translation tables if
9082 necessary.
9083 (decode_coding): Call get_translation_table with ENCODEP 0.
9084 (char_encodable_p): If translation_table is non-nil, always call
9085 translate_char.
9086 (Fdefine_coding_system_internal): Accept list of translation
9087 tables as :encode-translation-table and :decode-translation-table.
9088 (Fcoding_system_put): New function.
9089 (syms_of_coding): Declare new symbols. Defsubr
9090 Scoding_system_put.
4c4475a8
GM
9091 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9092 typically JISX0212.
aca7a3d2
MB
9093
9094 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9095 when the charset is superset type.
9096
9097 * character.c (translate_char): Accept list of translation tables.
9098
73acf815 90992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9100
1f45f627 9101 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
9102 (CODING_ATTR_TRANS_TBL): New macro.
9103
9104 * coding.c (get_translation_table): New function.
9105 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
9106 (decode_coding, encode_coding): Utilize get_translation_table.
9107 (char_encodable_p, Funencodable_char_position): Translate char if
9108 necessary.
9109 (Ffind_coding_systems_region_internal)
9110 (Fcheck_coding_systems_region): Setup translation table for encode
9111 in a coding system attribute vector in advance.
aca7a3d2
MB
9112 (Fdefine_coding_system_internal): Allow a symbol as translation
9113 table. For shift-jis type coding system, allow 4th charset.
9114
73acf815 91152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9116
9117 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9118
9119 * xdisp.c (get_next_display_element): Pass -1 as POS to
9120 FACE_FOR_CHAR if displaying a C-string.
9121
73acf815 91222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9123
9124 * composite.c (get_composition_id): Handle xoff and yoff in a
9125 composition rule.
9126
9127 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9128 (struct composition): New member lbearing and rbearing.
9129
9130 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9131 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 9132 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
9133
9134 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9135 composition glyph.
9136
73acf815 91372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9138
9139 * print.c: Include charset.h.
9140 (Vprint_charset_text_property): New variable.
9141 (Qdefault): Extern it.
9142 (PRINT_STRING_NON_CHARSET_FOUND)
9143 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9144 (print_check_string_result): New variable.
9145 (print_check_string_charset_prop): New function.
9146 (print_prune_charset_plist): New variable.
9147 (print_prune_string_charset): New function.
9148 (print_object): Call print_prune_string_charset if
9149 Vprint_charset_text_property is not t.
9150 (print_interval): Print nothing if itnerval->plist is nil.
9151 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9152 variable. Init and staticpro print_prune_charset_plist.
9153
73acf815 91542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9155
9156 * fontset.c (new_fontset_from_font_name): Use the specified font
9157 for all characters in the new fontset.
9158
9159 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9160 OBJECT args.
9161
9162 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9163 OBJECT args for composition too.
9164
9165 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9166 OBJECT args.
9167
73acf815 91682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9169
9170 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9171
1f45f627 9172 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 9173 FONT_DEF format.
1f45f627 9174 (fontset_face): New arg id. Change caller.
aca7a3d2 9175 (face_for_char): New args pos and object.
1f204af3 9176 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
9177 (fs_query_fontset): Check NAME by Fassoc too.
9178 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 9179 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 9180
1f45f627 9181 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 9182
4c4475a8
GM
9183 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9184 (append_space, extend_face_to_end_of_line)
9185 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9186 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
9187
9188 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9189 POS and OBJECT args.
9190
9191 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9192 POS and OBJECT args.
9193
73acf815 91942008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
9195
9196 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9197 of GlobalAlloc'ed memory.
9198
73acf815 91992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9200
9201 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9202
9203 * charset.h (charset_table_used): Delete extern.
9204
9205 * charset.c (charset_table_used): Make it static.
9206 (map_charset_chars): Fix args to c_function with.
9207
9208 * chartab.c (map_sub_char_table_for_charset): Fix args to
9209 c_function with.
9210
9211 * coding.h (enum coding_result_code): Delete
9212 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9213
9214 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 9215 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
9216 (Vlast_code_conversion_error): New variables.
9217 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9218 (ONE_MORE_BYTE): Record error if any instead of signaling an
9219 error. If non-ASCII multibyte char is found, return the negative
9220 value of the code. All callers changed to check it.
9221 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
9222 (record_conversion_result): New function. Change all codes setting
9223 coding->result to call this function.
4c4475a8
GM
9224 (detect_coding_utf_8, decode_coding_utf_8)
9225 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9226 Don't use the local variable incomplete.
aca7a3d2 9227 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
9228 (decode_coding): Fix of flushing out unprocessed data.
9229 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 9230 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
9231
9232 * fontset.c (set_fontset_font): Fix args.
9233
9234 * lisp.h (CHARACTERBITS): Define as 22.
9235
9236 * process.c (send_process): Be sure to set coding->src_multibyte.
9237
9238 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9239
73acf815 92402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9241
9242 * xdisp.c (handle_auto_composed_prop): Give limit to
9243 Fnext_single_char_property_change.
9244
73acf815 92452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9246
424c157f 9247 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 9248 table weak.
aca7a3d2
MB
9249
9250 * fontset.c (Fset_fontset_font): Fix docstring.
9251
9252 * lisp.h (detect_coding_system): Adjust prototype.
9253
9254 * fileio.c (kill_workbuf_unwind): Delete this function.
9255 (Finsert_file_contents): Adjust the call of detect_coding_system.
9256 Get conversion_buffer by code_conversion_save. Use the macor
9257 CODING_MAY_REQUIRE_DECODING. After decoding, update
9258 coding_system.
9259
9260 * coding.h (make_conversion_work_buffer): Delete extern.
9261 (code_conversion_save): Extern it.
9262
9263 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 9264 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
9265 (decode_coding_utf_8): Don't do eol converion.
9266 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 9267 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
9268 (decode_coding_emacs_mule, decode_coding_iso_2022)
9269 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9270 Don't do eol converion.
aca7a3d2
MB
9271 (adjust_coding_eol_type): Return a new coding system.
9272 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9273 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9274 each change.
9275 (decode_coding): Pay attention to undo_list. Do eol convesion for
9276 all types of coding-systems (if necessary).
9277 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 9278 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
9279 Vcode_conversion_reused_work_buf.
9280 (Vcode_conversion_workbuf_name): New variable.
9281 (reused_workbuf_in_use): New variable.
9282 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 9283 (code_conversion_restore): Change argument to cons.
1f45f627
GM
9284 (code_conversion_save): Delete the argument BUFFER. Change callers.
9285 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
9286 Fix for utf-16 detection.
9287 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 9288 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
9289 reused_workbuf_in_use.
9290
73acf815 92912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9292
9293 * keymap.c (store_in_keymap): Pay attention to the case that idx
9294 is a cons specifying a character range.
9295
73acf815 92962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9297
9298 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9299 HANDLED_RECOMPUTE_PROPS.
9300
9301 * coding.c (Fdefine_coding_system_internal): Fix checking of
9302 ascii compatibility.
9303
73acf815 93042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9305
1f45f627 9306 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
9307 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9308
9309 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9310 Resync charset_list to Vemacs_mule_charset_list.
9311
9312 * keymap.c (store_in_keymap): Pay attention to the case that idx
9313 is a cons specifying a character range.
9314
73acf815 93152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9316
9317 * composite.c (update_compositions): Bind inhibit-read-only, etc
9318 to t before calling remove-list-of-text-properties.
9319
9320 * print.c (print_object): Always print ASCII chars as is.
9321
73acf815 93222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9323
1f45f627 9324 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 9325
4c4475a8
GM
9326 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9327 is a char table.
aca7a3d2 9328
73acf815 93292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9330
1f45f627 9331 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 9332
73acf815 93332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9334
9335 * xfaces.c (set_lface_from_font_name): Fix for the case that
9336 FONTNAME is not fontset name.
9337
73acf815 93382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9339
9340 * fns.c (base64_encode_1): Fix previous change.
9341
73acf815 93422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9343
9344 * fontset.c (set_fontset_font): New function.
9345 (Fset_fontset_font): If a font is specified for a charset, use
9346 map_charset_chars to store the font spec in a fontset.
9347
73acf815 93482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9349
1f204af3 9350 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
9351 (make_fontset): Don't create a fallback fontset here.
9352 (free_face_fontset): Free a fallback fontset (if any) too.
9353 (n_auto_fontsets): Delete this variable.
9354 (auto_fontset_alist): New variable.
9355 (new_fontset_from_font_name): Check auto_fontset_alist.
9356 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
9357 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
9358 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
9359 Defsubr Sfontset_list_all.
9360
73acf815 93612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9362
9363 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
9364
73acf815 93652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9366
9367 * fontset.c (Fnew_fontset): Check NAME more rigidly.
9368
73acf815 93692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9370
9371 * editfns.c (Fgoto_char): Fix docstring.
9372
73acf815 93732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9374
9375 * insdel.c (insert_from_gap): Adjust intervals correctly.
9376
73acf815 93772008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
9378
9379 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
9380 (pfnGetFontUnicodeRanges): New dynamically loaded function.
9381 (w32_initialize): Try to load it.
9382 (x_get_font_repertory): Use it if available.
9383 (w32_encode_char): Add shortcut for unicode output.
9384
9385 * w32fns.c (w32_load_system_font): Default charset to -1.
9386 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 9387 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
9388 or wildcard charsets.
9389 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
9390 (w32_codepage_for_font): Return CP_UNICODE for unicode.
9391 (w32_to_x_font): Match charset to real charset.
9392 (enum_font_cb2): Always list unicode versions.
9393
9394 * makefile.w32-in (temacs): Increase EMHEAP.
9395
73acf815 93962008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
9397
9398 * w32term.c (w32_encode_char): New charset parameter.
9399 font_info.encoding becomes encoding_type.
1f45f627 9400 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
9401 (x_new_font): Return quickly if font already set.
9402 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
9403 Use new fs_query_fontset. Try new_fontset_from_font_name.
9404 Use fontset_name for return value.
aca7a3d2
MB
9405
9406 * w32term.h: Declare x_get_font_repertory.
9407
9408 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 9409 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
9410 of encode_coding.
9411 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
9412 decode_coding.
9413
9414 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
9415 of x_new_fontset.
9416 (w32_load_system_font): Initialize charset as unicode.
9417 font_info.encoding becomes encoding_type.
1f45f627
GM
9418 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
9419 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
9420 (syms_of_w32fns): Set get_font_repertory_func.
9421
1f45f627 9422 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 9423 from term.c.
1f45f627 9424 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
9425 encode_coding_object in place of encode_coding.
9426
9427 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
9428 encoding becomes encoding_type.
9429
9430 * term.c (terminal_encode_buffer): Make externally visible.
9431
9432 * makefile.w32-in: Add character.h dependancies.
9433 (character.o, chartab.o): New targets.
9434
73acf815 94352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9436
9437 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 9438 CODING_ID_EOL_TYPE.
aca7a3d2 9439
73acf815 94402008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
9441
9442 * coding.c (produce_chars): Revert last change.
9443
73acf815 94442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9445
9446 * charset.h (charset_unicode): Extern it.
9447
9448 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 9449 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 9450 arg MULTIBYTE.
1f45f627 9451 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
9452 change of find_charsets_in_text.
9453 (Fsplit_char): Fix doc. Never return unknown.
9454
9455 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
9456
9457 * coding.c (Fdefine_coding_system_alias): Update
9458 Vcoding_system_list.
9459
9460 * fontset.c (load_font_get_repertory): Pay attention to the case
9461 that ENCODING of a font is specified by a char-table.
9462
9463 * xterm.c (x_get_font_repertory): Handle the case that the
9464 encoding of font is other than Unicode.
9465
73acf815 94662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9467
9468 * term.c (encode_terminal_code): Don't handle glyph-table. Check
9469 if a character is encodable by the terminal coding system. If
9470 not, produces proper number of `?'s. Update
9471 terminal_encode_buffer and terminal_encode_buf_size if necessary.
9472 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
9473
73acf815 94742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9475
9476 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
9477 variables.
1f45f627 9478 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
9479 characters at once. Store the result of encoding in
9480 terminal_encode_buffer.
4c4475a8
GM
9481 (write_glyphs, insert_glyphs): Adjust for the change of
9482 encode_terminal_code.
aca7a3d2
MB
9483 (term_init): Initialize terminal_encode_buffer and
9484 terminal_encode_buf_size.
9485
9486 * coding.c (consume_chars): If coding->src_object is nil, don't
9487 check annotation.
9488
73acf815 94892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9490
9491 * character.c (char_string): Use ASCII_CHAR_P instead of
9492 SINGLE_BYTE_CHAR_P.
9493
73acf815 94942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9495
9496 * xdisp.c (handle_auto_composed_prop): Check if the last
9497 characters of auto-composed region is newly composed with the
9498 following characters.
9499 (handle_composition_prop): Fix checking of point being inside
9500 composition.
9501
73acf815 95022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9503
9504 * fns.c (concat): Don't change multibyteness of the result by
9505 concatenating an 8-bit character.
9506
9507 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
9508 multibyteness of the result when newelt is an 8-bit character.
9509
73acf815 95102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9511
9512 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
9513 EMACS_INT.
9514
9515 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
9516
9517 * xfaces.c (face_numeric_value): Declare dim size_t.
9518 (Finternal_lisp_face_equal_p): Remove unused f.
9519
9520 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
9521 (MATRIX_ROW): Remove unused vars.
9522 (draw_glyphs, x_insert_glyphs, fast_find_position)
9523 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
9524 byte/char counts.
9525
9526 * regex.c (regex_compile): Remove unused var.
9527
9528 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9529
9530 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
9531 (Faccessible_keymaps, where_is_internal): Remove unused vars.
9532
9533 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
9534
9535 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
9536
9537 * fileio.c (Fwrite_region): Remove unused var.
9538
9539 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
9540 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
9541
9542 * composite.c (Fremove_list_of_text_properties): Declare.
9543
1f45f627
GM
9544 * coding.c (inhibit_pre_post_conversion): Remove (unused).
9545 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
9546 (coding_inherit_eol_type): Remove unused attrs.
9547 (detect_coding): Cast arg of detect_eol.
9548
9549 * charset.c (syms_of_charset): Remove unused var p.
9550 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
9551 byte/char counts.
9552
9553 * casetab.c (set_case_table): Remove unused var.
9554
9555 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 9556 unused vars.
aca7a3d2 9557
73acf815 95582008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9559
9560 * xterm.c (x_bitmap_mask): Declare.
9561
73acf815 95622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9563
9564 * xterm.c (x_term_init): Fix type error.
9565
9566 * lisp.h: Add Funibyte_char_to_multibyte.
9567
9568 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
9569 (Fset_coding_system_priority): Doc fix.
9570
aca7a3d2
MB
9571 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
9572
9573 * indent.c (check_composition): Make start and end EMACS_INT.
9574
9575 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
9576
9577 * xdisp.c (handle_composition_prop, check_point_in_composition):
9578 Make buffer positions EMACS_INT.
9579
9580 * composite.c (find_composition, run_composition_function)
9581 (update_compositions, Ffind_composition_internal): Make buffer
9582 positions EMACS_INT.
9583
9584 * composite.h (find_composition, update_compositions): Make
9585 position args EMACS_INT.
9586
1f45f627 9587 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
9588
9589 * intervals.c (get_property_and_range):
9590 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
9591
9592 * unexalpha.c: Don't include varargs.h.
9593
73acf815 95942008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9595
9596 * coding.h (ENCODE_UTF_8): New.
9597
9598 * Makefile.in (gtkutil.o): Depend on coding.h.
9599
9600 * coding.c (Fset_coding_system_priority): Doc fix.
9601
73acf815 96022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9603
9604 * fileio.c (Finsert_file_contents): Call setup_coding_system in
9605 the case of auto saving.
9606
73acf815 96072008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 9608
4c4475a8
GM
9609 * chartab.c (map_char_table, map_char_table_for_charset): Protect
9610 `range' from GC.
aca7a3d2 9611
73acf815 96122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9613
9614 * coding.c (decode_coding_sjis): Check bytes more rigidly.
9615
73acf815 96162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9617
1f45f627 9618 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
9619 (Fwrite_region): Set Vlast_coding_system_used to the return value
9620 of choose_write_coding_system.
9621
73acf815 96222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9623
9624 * charset.c (Fset_charset_priority): Pay attention to duplicated
9625 arguments.
9626
9627 * coding.c (QCcategory): New variable.
9628 (syms_of_coding): Defsym it. Set all elements of
9629 Vcoding_category_table and their symbol values.
9630 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
9631 coding-category-XXX, and coding-category-list.
9632 (Fdefine_coding_system_internal): Add category in the plist.
9633
73acf815 96342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9635
9636 * callproc.c (Fcall_process): Handle carryover correctly.
9637
1f45f627 9638 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
9639 (raw_text_coding_system): Check NILP (coding_system).
9640 (coding_inherit_eol_type): Check NILP (coding_system) and
9641 NILP (parent).
9642 (consume_chars): Fix for the case of raw-text.
9643
9644 * process.c (read_process_output): Handle carryover correctly.
9645
73acf815 96462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9647
9648 * regex.c (re_search_2): Fix last change.
9649
73acf815 96502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9651
9652 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
9653 target_multibyte. Even in a unibyte case, return a converted
9654 multibyte char.
9655 (GET_CHAR_AFTER): New macro.
9656 (PATFETCH): Translate via multibyte char.
9657 (HANDLE_UNIBYTE_RANGE): Delete this macro.
9658 (SETUP_MULTIBYTE_RANGE): New macro.
9659 (regex_compile): Setup compiled code so that its multibyteness
9660 matches that of a target. Fix the handling of "[X-YZ]" using
9661 SETUP_MULTIBYTE_RANGE.
9662 (analyse_first) <charset>: For filling fastmap for all multibyte
9663 characters, don't check by BASE_LEADING_CODE_P.
9664 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
9665 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 9666 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
9667 (TARGET_CHAR_AND_LENGTH): Delete this macro.
9668 (TRANSLATE_VIA_MULTIBYTE): New macro.
9669 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
9670 It is the same as RE_MULTIBYTE_P (bufp) now.
9671 <exactn>: Translate via multibyte.
9672 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
9673 translate it.
9674 <charset, charset_not>: Fetch a character by
9675 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
9676 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
9677 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
9678 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
9679 by GET_CHAR_AFTER.
c5ad7a3d 9680 (bcmp_translate): Likewise.
aca7a3d2
MB
9681
9682 * search.c (compile_pattern): Check the member target_multibyte,
9683 not the member multibyte of buf.
9684
9685 * lread.c (read1): While reading a string, set force_singlebyte
9686 and force_multibyte correctly.
9687
4c4475a8
GM
9688 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
9689 up of unibyte_to_multibyte_table.
aca7a3d2 9690
73acf815 96912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9692
9693 * coding.c (setup_coding_system): If coding has
9694 post-read-conversion or pre-write-conversion, set
9695 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
9696 respectively.
9697 (decode_coding_gap): Run post-read-conversion if any.
9698
9699 * fileio.c (Finsert_file_contents): Even if we read into a
9700 unibyte buffer, check if we must decode the result or not.
9701
73acf815 97022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9703
9704 * coding.c (make_conversion_work_buffer): Change the work buffer
9705 name to the same one as that of Emacs 21.
9706
73acf815 97072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9708
1f45f627 9709 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
9710 (code_conversion_restore): Don't extern it.
9711
9712 * coding.c (detected_mask): Delete unused variable.
9713 (decode_coding_iso_2022): Pay attention to the byte sequence of
9714 CTEXT extended segment, and retain those bytes as is.
9715 (decode_coding_ccl): Delete unused variable `valids'.
9716 (setup_coding_system): Delete unused variable `category'.
9717 (consume_chars): Delete unused variable `category'. Make it work
9718 for non-multibyte case.
1f45f627 9719 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
9720 (saved_coding): Delete unused variable.
9721 (code_conversion_restore): Don't check saved_coding->destination.
9722 (code_conversion_save): New function.
9723 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
9724 instead of record_unwind_protect.
1f45f627 9725 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 9726 (detect_coding_system): Delete unused variable `mask'.
1f45f627 9727 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
9728
9729 * fileio.c (kill_workbuf_unwind): New function.
9730 (Finsert_file_contents): On replacing, call
9731 make_conversion_work_buffer with correct args, and call
9732 record_unwind_protect with the first arg kill_workbuf_unwind.
9733
9734 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
9735
73acf815 97362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9737
1f45f627 9738 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
9739 (fontset_add): Fix for the case that TO is less than TO1.
9740 (Ffontset_info): Don't use fallback fontset on checking the
9741 default fontset.
9742 (dump_fontset): New function for debugging.
9743
9744 * coding.c (Fdefine_coding_system_internal): Fix for the case that
9745 coding_type is Qcharset.
9746
73acf815 97472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9748
9749 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
9750 (map_char_table): Don't inherit the value from the parent on
1f45f627 9751 initializing VAL. Adjust for the above change.
aca7a3d2 9752
73acf815 97532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9754
9755 * coding.c (Qsignature, Qendian): Delete these variables.
9756 (syms_of_coding): Don't initialize them.
9757 (CATEGORY_MASK_UTF_16_AUTO): New macro.
9758 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
9759 detect_info->found.
9760 (decode_coding_utf_16): Don't detect BOM here.
9761 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
9762 is NOT utf_16_without_bom.
9763 (setup_coding_system): For a coding system of type utf-16, check
9764 if the attribute :endian is Qbig or not (not nil or not), and set
9765 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
9766 (detect_coding): If coding type is utf-16 and BOM detection is
9767 required, detect it.
9768 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 9769 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 9770
73acf815 97712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9772
9773 * coding.c (coding_set_source): Fix for the case that the current
9774 buffer is different from coding->src_object.
9775 (decode_coding_object): Don't use the conversion work buffer if
9776 DST_OBJECT is a buffer.
9777
73acf815 97782008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9779
9780 * lread.c (read_emacs_mule_char) [len==2]: Index
9781 emacs_mule_charset correctly.
9782
73acf815 97832008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9784
9785 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
9786 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 9787 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
9788 treated specially.)
9789 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
9790 (detected_mask): Remove Big5 bits.
9791
73acf815 97922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9793
9794 The following changes are to make the font rescaling facility
9795 compatible with Emacs 21.
9796
1f45f627 9797 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
9798 Vface_resizing_fonts.
9799 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 9800 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
9801 (split_font_name): Set font->rescale_ratio.
9802 (better_font_p): Pay attention to font->rescale_ratio.
9803 (build_scalable_font_name): Likewise. Change RESX, and RESY
9804 fields.
1f45f627 9805 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 9806
73acf815 98072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9808
9809 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
9810 (Qutf_16_le): Remove these variables.
9811 (syms_of_coding): Don't DEFSYM them.
9812 (decode_coding_utf_16): Fix handling of BOM.
9813 (encode_coding_utf_16): Fix handling of BOM.
9814
73acf815 98152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9816
9817 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 9818 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 9819
73acf815 98202008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9821
9822 * coding.c (Fcheck_coding_systems_region): Fix type errors.
9823
73acf815 98242008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9825
9826 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
9827 and fix C types.
9828
73acf815 98292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9830
9831 * xdisp.c (SKIP_GLYPHS): New macro.
9832 (set_cursor_from_row): Pay attention to string display properties.
9833
9834 * category.c (copy_category_entry): Fix for the case that RANGE
9835 is an integer.
9836
9837 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
9838
1f45f627 9839 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 9840
73acf815 98412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9842
9843 * charset.c (Fcharset_id_internal): New function.
9844 (syms_of_charset): Defsubr it.
9845
9846 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
9847 with the last arg charset_list acquired from coding.
9848 (Fdefine_coding_system_internal): For ccl-based coding system, fix
9849 the attribute coding_attr_ccl_valids.
9850
9851 * coding.h (enum define_coding_ccl_arg_index): Set the first
9852 member coding_arg_ccl_decoder to coding_arg_max.
9853
1f45f627 9854 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
9855
9856 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
9857 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
9858 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
9859 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
9860 last arg Qnil.
aca7a3d2 9861
73acf815 98622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9863
9864 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
9865 call encode_char.
9866
1f45f627 9867 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 9868
73acf815 98692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9870
1f45f627 9871 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 9872
73acf815 98732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9874
9875 * dispextern.h (check_face_attributes, generate_ascii_font_name)
9876 (font_name_registry): Don't extern them.
1f45f627 9877 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
9878
9879 * fontset.h (Qfontset): Don't extern it.
9880 (new_fontset_from_font_name): Extern it.
9881
9882 * fontset.c: Give 8 extra slots to fontset objects.
9883 (Qfontset_info): New variable.
9884 (syms_of_fontset): Defsym it.
9885 (FONTSET_FALLBACK): New macro.
9886 (fontset_face): Try also the default fontset.
1f45f627
GM
9887 (make_fontset): Realize a fallback fontset from the default fontset.
9888 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
9889 using split_font_name_into_vector and build_font_name_from_vector.
9890 (Fset_fontset_font): Access the elements of font_spec by enum
9891 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
9892 name by using split_font_name_into_vector.
9893 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
9894 generate a proper font name from the fontset name. Update
9895 Vfontset_alias_alist.
9896 (n_auto_fontsets): New variable.
9897 (new_fontset_from_font_name): New function.
9898 (Ffont_info): Store the information about fonts generated from the
1f45f627 9899 default fontset in the first extra slot of the returned char-table.
aca7a3d2 9900
1f45f627
GM
9901 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
9902 (font_name_registry): Delete function.
aca7a3d2
MB
9903 (split_font_name_into_vector): New function.
9904 (build_font_name_from_vector): New function.
1f45f627 9905 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
9906 (choose_face_font): If we are choosing an ASCII font, and ATTRS
9907 specifies an explicit font name, return the name as is. Make a
9908 list of registy names.
9909
1f45f627 9910 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
9911 of x_new_fontset.
9912 (Fx_create_frame): Don't call x_new_fontset here. Just use
9913 x_list_fonts to check the existence of fonts.
9914
1f45f627 9915 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
9916
9917 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
9918 string. Use new_fontset_from_font_name to create a fontset from a
9919 font name.
9920
1c8658b9
GM
99212008-02-01 Kenichi Handa <handa@m17n.org>
9922
9923 * syntax.c (Vfind_word_boundary_function_table): New name for
9924 Vnext_word_boundary_function_table.
9925 (find-word-boundary-function-table): New name for
9926 next-word-boundary-function-table.
9927
73acf815 99282008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9929
9930 * Makefile.in: Fix some dependencies.
9931
9932 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
9933 set it to nil before returning.
9934
9935 * composite.c (update_compositions): Fix type error.
9936
9937 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
9938
73acf815 99392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9940
9941 * xterm.c (x_new_font): Optimize for the case that the font is
9942 already set for the frame.
9943
73acf815 99442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9945
9946 * chartab.c (char_table_ascii): Check if the char table contents
9947 is sub-char-table or not.
4c4475a8
GM
9948 (char_table_set, char_table_set_range): Fix argument to
9949 char_table_ascii.
aca7a3d2
MB
9950
9951 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
9952 (detect_coding_utf_8, detect_coding_utf_16)
9953 (detect_coding_emacs_mule, detect_coding_iso_2022)
9954 (detect_coding_sjis, detect_coding_big5)
9955 (detect_coding_ccl, detect_coding_charset): Change argument MASK
9956 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 9957 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
9958 (MAX_ANNOTATION_LENGTH): New macro.
9959 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
9960 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
9961 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 9962 (ADD_CHARSET_DATA): New macro.
1f45f627 9963 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
9964 (decode_coding_emacs_mule, decode_coding_iso_2022)
9965 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9966 Produce charset annotation data in coding->charbuf.
9967 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
9968 to charset annotation data in coding->charbuf.
9969 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
9970 coding->common_flags if the coding system is iso-2022 based and
9971 uses designation.
1f45f627 9972 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
9973 (produce_charset): New function.
9974 (produce_annotation): Handle charset annotation.
9975 (handle_composition_annotation, handle_charset_annotation): New
9976 functions.
9977 (consume_chars): Handle charset annotation. Utilize the above two
9978 functions.
9979 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
9980 buffer, get the deleted text as a string and set
9981 coding->src_object to that string.
9982 (detect_coding, detect_coding_system): Use the new struct
9983 coding_detection_info.
9984
9985 * coding.h (struct coding_detection_info): New structure.
1f45f627 9986 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
9987 (CODING_ANNOTATE_CHARSET_MASK): New macro.
9988
73acf815 99892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9990
9991 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
9992
73acf815 99932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 9994
1f45f627 9995 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
9996 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
9997 to new local and nullify apropos_accumulate before returning.
9998 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
9999
73acf815 100002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10001
10002 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10003 correctly.
10004
73acf815 100052008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10006
10007 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10008
73acf815 100092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10010
10011 The following changes are to make character composition happen
10012 automatically on displaying.
10013
2a2e8de7 10014 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 10015
1f45f627
GM
10016 * composite.h (Qauto_composed, Vauto_composition_function)
10017 (Qauto_composition_function): Extern them.
aca7a3d2 10018
1f45f627
GM
10019 * composite.c (Vcomposition_function_table)
10020 (Qcomposition_function_table): Delete variables.
10021 (Qauto_composed, Vauto_composition_function)
10022 (Qauto_composition_function): New variables.
aca7a3d2
MB
10023 (run_composition_function): Don't call
10024 compose-chars-after-function.
10025 (update_compositions): Clear `auto-composed' text property.
10026 (compose_chars_in_text): Delete this function.
10027 (syms_of_composite): Staticpro Qauto_composed and
10028 Qauto_composition_function. Declare Vauto_composition_function as
10029 a Lisp variable.
10030
10031 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10032
10033 * xdisp.c (it_props): Add an entry for Qauto_composed.
10034 (handle_auto_composed_prop): New function.
10035
10036 * xselect.c (selection_data_to_lisp_data): Don't call
10037 compose_chars_in_text.
10038
73acf815 100392008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10040
10041 * keyboard.c (read_char): Modify checking around use of
10042 Vkeyboard_translate_table.
10043
10044 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10045 and fix C types.
10046
73acf815 100472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10048
4c4475a8
GM
10049 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10050 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10051 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 10052 the case that the last byte is '\r' correctly.
1f45f627
GM
10053 (decode_coding): Flush out the unprocessed data correctly.
10054 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 10055
73acf815 100562008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10057
f245f2c6
JB
10058 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10059 Add XK_ISO... case.
aca7a3d2
MB
10060 (xaw_scroll_callback): Revert last change.
10061
73acf815 100622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10063
1f45f627 10064 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 10065
73acf815 100662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10067
10068 * xfaces.c (Vface_resizing_fonts): New variable.
10069 (struct font_name): New member `resizing_ratio'.
10070 (font_resizing_ratio): New function.
10071 (split_font_name): Set font->resizing_ratio.
10072 (better_font_p): Pay attention to font->resizing_ratio.
10073 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10074 RESX, and RESY fields.
10075 (try_alternative_families): Try scalable fonts if
10076 Vscalable_fonts_allowed is not Qt.
10077 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10078
73acf815 100792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10080
10081 * xterm.c (xaw_scroll_callback): Cast correctly.
10082
73acf815 100832008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10084
10085 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10086 (lispy_kana_keys): Comment out.
10087 (make_lispy_event) [XK_kana_A]: Comment out.
10088
10089 * xterm.c (xaw_scroll_callback): Cast call_data.
10090 (XTread_socket): Deal with ASCII keysyms.
10091 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10092
73acf815 100932008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10094
10095 * xterm.c (Vx_keysym_table): New.
10096 (syms_of_xterm): Initialize it.
10097 (XTread_socket): Use it.
10098 From head: Eliminate incorrect optimization that tried to avoid
10099 decoding the output of X*LookupString.
10100 (x_get_font_repertory): Delete charset declaration.
10101
73acf815 101022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10103
1f45f627
GM
10104 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10105 return 0.
aca7a3d2
MB
10106 (Fdefine_coding_system_internal): Setup
10107 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10108
73acf815 101092008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10110
10111 * coding.c (Fcheck_coding_system): Doc fix.
10112
10113 * editfns.c (Finsert_byte): Return a proper value.
10114
73acf815 101152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10116
10117 * coding.c (decode_coding): Fix args to translate_chars. Pay
10118 attention to Vstandard_translation_table_for_decode.
10119 (encode_coding): Fix args to translate_chars. Pay attention to
10120 Vstandard_translation_table_for_encode.
10121
10122 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10123 SINGLE_BYTE_CHAR_P.
10124
10125 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10126 not by SINGLE_BYTE_CHAR_P.
10127
10128 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10129 SINGLE_BYTE_CHAR_P.
10130
10131 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10132 SINGLE_BYTE_CHAR_P.
10133
10134 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10135 by SINGLE_BYTE_CHAR_P.
10136
10137 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10138 SINGLE_BYTE_CHAR_P.
10139
73acf815 101402008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10141
10142 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10143
73acf815 101442008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10145
10146 * fns.c (Flanginfo): Fix typo.
10147
10148 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10149
73acf815 101502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10151
4c4475a8
GM
10152 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10153 (detect_coding_emacs_mule, detect_coding_iso_2022)
10154 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10155 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 10156 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 10157 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 10158 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 10159
73acf815 101602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10161
1f45f627
GM
10162 * character.c (char_string): Rename from
10163 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10164 (string_char): Rename from string_char.
aca7a3d2 10165
4c4475a8
GM
10166 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10167 if C is greater than MAX_3_BYTE_CHAR.
10168 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10169 string_char instead of string_char_with_unification.
aca7a3d2 10170
73acf815 101712008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10172
10173 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10174
73acf815 101752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10176
1f45f627 10177 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
10178
10179 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10180
73acf815 101812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10182
10183 * charset.c (define_charset_internal): Rename `supprementary'.
10184
10185 * Makefile.in (lisp, shortlisp): Remove latin-N.
10186
73acf815 101872008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10188
10189 * xfns.c (x_window, x_window): Use use_xim.
10190
10191 * xterm.c (use_xim): Initialize.
10192 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10193 (x_term_init): Maybe set use_xim.
10194
10195 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10196
73acf815 101972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10198
10199 * search.c (search_buffer): Fix case-fold-search of multibyte
10200 characters.
10201 (boyer_moore): Rename the last argument to char_high_bits.
10202
73acf815 102032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10204
10205 * xdisp.c (display_string): Fix for the case of zero width glyph.
10206
10207 * xfns.c (x_set_font): Change the error message of the case that
10208 x_new_fontset returns Qt.
10209
10210 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10211 (Finternal_set_lisp_face_attribute): Use signal_error for the
10212 error of invalid fontset.
10213
10214 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10215 fontset, return Qt.
10216
73acf815 102172008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10218
aca7a3d2
MB
10219 * unexelf.c (unexec): Make .got handling not SGI-specific.
10220
10221 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10222
10223 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10224
10225 * keyboard.c (read_key_sequence): Fix type error.
10226
10227 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10228 type error.
10229
10230 * fontset.c (fontset_add): Return Lisp_Object.
10231
73acf815 102322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10233
10234 * charset.h (charset_ordered_list_tick): Declare extern.
10235
73acf815 102362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10237
73acf815 10238 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
10239 for handling syntax, category, and case conversion for unibyte
10240 characters by converting them to multibyte on the fly. With these
10241 changes, we don't have to setup syntax and case tables for unibyte
10242 characters in each language environment.
10243
10244 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10245 multibyte if necessary.
10246
10247 * bytecode.c (Fbyte_code): Likewise.
10248
10249 * character.h (LEADING_CODE_LATIN_1_MIN)
10250 (LEADING_CODE_LATIN_1_MAX): New macros.
10251 (unibyte_to_multibyte_table): Extern it.
10252 (unibyte_char_to_multibyte): New macro.
10253 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10254 (CHAR_LEADING_CODE): New macro.
10255 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10256
10257 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 10258 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
10259 (multibyte_char_to_unibyte): If C is an eight-bit character,
10260 convert it to the corresponding byte value.
10261
10262 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10263 not 1, singals an error. Update the elements of
10264 unibyte_to_multibyte_table.
10265 (init_charset_once): Initialize unibyte_to_multibyte_table.
10266 (syms_of_charset): Define the charset `iso-8859-1'.
10267
aca7a3d2
MB
10268 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10269 as is without converting it to unibyte. In a unibyte buffer,
10270 convert C to multibyte before checking the syntax.
10271
1f45f627 10272 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
10273
10274 * minibuf.c (Fminibuffer_complete_word): Use the macro
10275 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10276
10277 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10278
10279 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10280 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10281 that is zero, convert an eight-bit char to multibyte.
10282 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10283 non-emacs case.
10284 (PATFETCH): Convert an eight-bit char to multibyte.
10285 (HANDLE_UNIBYTE_RANGE): New macro.
10286 (regex_compile): Setup the compiled pattern for multibyte chars
10287 even if the given regex string is unibyte. Use PATFETCH_RAW
10288 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 10289 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 10290 only for ASCII chars.
1f45f627 10291 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
10292 is multibyte.
10293 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10294 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 10295 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
10296 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10297 multibyte always 1.
10298 (re_search_2): In emacs, set the locale variable multibyte to 1,
10299 otherwise to 0. New local variable target_multibyte. Check it
10300 to decide the multibyteness of STR1 and STR2. If
10301 target_multibyte is zero, convert unibyte chars to multibyte
10302 before translating and checking fastmap.
10303 (TARGET_CHAR_AND_LENGTH): New macro.
10304 (re_match_2_internal): In emacs, set the locale variable multibyte
10305 to 1, otherwise to 0. New local variable target_multibyte. Check
10306 it to decide the multibyteness of STR1 and STR2. Use
10307 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10308 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 10309 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
10310 target_multibyte, not with multibyte.
10311 <begline>: Declare the local variable C as `unsigned'.
10312 (bcmp_translate): Change the last arg name to target_multibyte.
10313
10314 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10315 the regexp pattern and the matching target. Set cp->buf.multibyte
10316 to the multibyteness of the regexp pattern. Set
1f45f627 10317 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
10318 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10319 FETCH_STRING_CHAR_ADVANCE.
10320 (Freplace_match): Convert unibyte chars to multibyte.
10321
4c4475a8
GM
10322 * syntax.c (char_quoted, back_comment, scan_words)
10323 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10324 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 10325 unibyte chars to multibyte.
1f45f627
GM
10326 (skip_chars): Delete the arg syntaxp, and move the code for
10327 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
10328 Fix the case that the multibyteness of STRING and the current
10329 buffer doesn't match.
10330 (skip_syntaxes): New function.
10331 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10332 SINGLE_BYTE_CHAR_P.
aca7a3d2 10333
73acf815 103342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10335
10336 * xfaces.c (QCfontset): New variable.
10337 (LFACE_FONTSET): New macro.
10338 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10339 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
10340 (Finternal_set_lisp_face_attribute)
10341 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
10342 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10343 check also LFACE_FONTSET_INDEX.
10344 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10345 attrs[LFACE_FONT_INDEX].
10346 (syms_of_xfaces): Intern and staticpro QCfontset.
10347
10348 * dispextern.h (enum lface_attribute_index): New member
10349 LFACE_FONTSET_INDEX.
10350
10351 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
10352
73acf815 103532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10354
10355 * coding.c (coding_set_destination): Fix coding->destination for
10356 the case converting a region.
10357 (encode_coding_utf_8): Encode eight-bit chars as single byte.
10358 (encode_coding_object): Fix coding->dst_pos and
10359 coding->dst_pos_byte for the case converting a region.
10360
10361 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
10362
10363 * character.h (BYTE8_STRING): New macro.
10364
10365 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
10366
73acf815 103672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10368
10369 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
10370 characters by octal form.
10371
10372 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10373
1f45f627 10374 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
10375 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
10376 _fetch_multibyte_char_len.
aca7a3d2
MB
10377 (FETCH_CHAR_AS_MULTIBYTE): New macro.
10378
1f45f627 10379 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 10380
1f45f627 10381 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 10382 the case conversion change the byte length.
1f45f627 10383 (casify_region): Likewise.
aca7a3d2 10384
1f45f627 10385 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 10386
1f45f627 10387 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
10388 (syms_of_character): Setup Vprintable_chars.
10389
10390 * editfns.c (Fchar_equal): Fix for the unibyte case.
10391 (Finsert_byte): New function.
10392 (syms_of_editfns): Defsubr it.
10393
10394 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
10395 of direct code 0x3ffff.
10396
10397 * search.c (Freplace_match): Fix for the unibyte case.
10398
73acf815 103992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10400
10401 * lread.c (safe_to_load_p): Fix the logic.
10402
10403 * syntax.c (scan_words): Don't treat characters belonging to
10404 different scripts as constituting a word.
10405
10406 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10407
1f45f627 10408 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
10409
10410 * emacs.c (main): In the case of --unibyte, instead of aborting on
10411 finding non-empty buffer, make it unibyte.
10412
73acf815 104132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10414
10415 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
10416 to create a fontset.
10417
73acf815 104182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10419
10420 * character.c (Funibyte_char_to_multibyte): Doc fix.
10421
10422 * xfns.c [HAVE_STDLIB_H]: Fix last change.
10423
73acf815 104242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10425
10426 * fontset.c (fontset_add): Make the type `int'.
10427 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
10428
4c4475a8
GM
10429 * character.c (unibyte_char_to_multibyte)
10430 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 10431 charset_unibyte, not charset_primary.
aca7a3d2 10432
1f45f627 10433 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 10434
1f45f627
GM
10435 * charset.c (charset_unibyte): Rename from charset_primary.
10436 (Funibyte_charset): Rename from Fprimary_charset.
10437 (Fset_unibyte_charset): Rename from Fset_primary_charset.
10438 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
10439
10440 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10441 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10442 it->multibyte_p is zero.
10443
10444 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 10445 Delete extern.
aca7a3d2 10446
73acf815 104472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10448
10449 * coding.c (Fdefine_coding_system_internal): Fix category setting
10450 for a coding system of type iso-2022.
10451
73acf815 104522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10453
1f45f627 10454 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 10455
73acf815 104562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10457
10458 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
10459 (next-word-boundary-function-table): Declare it as a Lisp variable
10460 in syms_of_syntax.
aca7a3d2
MB
10461 (scan_words): Call functions in Vnext_word_boundary_function_table
10462 if any.
10463
10464 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
10465
10466 * fontset.c (fs_load_font): If fontp->charset is not negative,
10467 return fontp without setting its members.
10468
73acf815 104692008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10470
aca7a3d2
MB
10471 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
10472
10473 * m/sparc.h (HAVE_ALLOCA): Delete.
10474
10475 * s/irix6-5.h: Don't include strings.h.
10476 (bcopy, bzero, bcmp): Don't undef.
10477
10478 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
10479
10480 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
10481 (TIOCSIGSEND): Don't test IRIX6.
10482 (bcopy, bzero, bcmp): Define conditionally.
10483
73acf815 104842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10485
10486 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 10487 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
10488 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
10489
10490 * callproc.c (Fcall_process): Don't call insert_1_both directly if
10491 we are inserting a process output into a multibyte buffer.
10492
10493 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
10494 multibyte_char_to_unibyte.
10495
10496 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
10497 by the primary charset, make it eight-bit char.
10498 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
10499
1f45f627
GM
10500 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
10501 (charset_8_bit__control, charset_8_bit_graphic)
10502 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
10503 (define_charset_internal): New function.
10504 (syms_of_charset): Call define_charset_internal for pre-defined
10505 charsets.
10506
10507 * charset.h (charset_8_bit): Extern it.
10508
1f45f627 10509 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
10510 of Fset_buffer_multibyte.
10511 (encode_coding_raw_text): Increment p0 in the loop.
10512
1f45f627 10513 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 10514
1f45f627 10515 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
10516 for the change of Fset_buffer_multibyte.
10517
10518 * fns.c (Fstring_to_multibyte): New function.
10519 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
10520
73acf815 105212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10522
10523 * xfns.c (x_put_x_image): Declare args.
10524
1f45f627 10525 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
10526 (try_font_list): Declare an arg.
10527
10528 * xdisp.c (message2_nolog, set_message): Declare an arg.
10529
10530 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
10531
10532 * syntax.c (scan_sexps_forward): Declare an arg.
10533
10534 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
10535 Declare an arg.
10536
10537 * lisp.h (Fnew_fontset): Declare.
10538
10539 * keymap.c (push_key_description): Call CHARACTERP correctly.
10540
1f45f627 10541 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
10542 (face_for_char): Delete unused vars.
10543 (Fset_fontset_font): Doc fix. Delete unused vars.
10544
10545 * doc.c (Fsubstitute_command_keys): Delete unused vars.
10546
10547 * composite.c (update_compositions): Declare arg.
10548
10549 * cm.c (calccost, cmgoto): Declare args.
10550
10551 * charset.c: Remove `emacs' conditional. Doc fixes.
10552 (map_char_table_for_charset): Declare.
10553
1f45f627 10554 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 10555
1f45f627 10556 * ccl.c: Remove `emacs' conditional.
aca7a3d2 10557
73acf815 105582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10559
10560 The following changes are to allow specifying multiple font
10561 patterns for a character range (specified by script or charset).
10562
10563 * Makefile.in (abbrev.o): Depend on syntax.h.
10564 (xfaces.o): Depend on charset.h.
10565
10566 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
10567 SINGLE_BYTE_CHAR_P.
10568
10569 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
10570
10571 * character.h (Vchar_script_table): Extern it.
10572
1f45f627 10573 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
10574 (Vchar_script_table, Qchar_script_table): New variable.
10575 (syms_of_character): Declare Vchar_script_table as a lisp variable
10576 and initialize it.
10577
1f45f627 10578 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
10579 have property char-table-extra-slots, make no extra slot.
10580
1f45f627 10581 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
10582 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
10583 SINGLE_BYTE_CHAR_P.
1f45f627
GM
10584 (choose_face_font, lookup_non_ascii_face, font_name_registry):
10585 Add prototypes.
10586 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
10587 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
10588
10589 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 10590 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
10591 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
10592
10593 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 10594 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
10595 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
10596 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
10597 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
10598 (fontset_ref_and_range, fontset_add, reorder_font_vector)
10599 (load_font_get_repertory): New functions.
1f45f627 10600 (fontset_set): Delete.
aca7a3d2 10601 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 10602 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
10603 (free_face_fontset): Use ASET istead of AREF (X) = Y.
10604 (face_for_char): Don't call lookup_face.
10605 (make_fontset_for_ascii_face): New arg FACE.
10606 (fs_load_font): New arg CHARSET_ID. Don't check
10607 Vfont_encoding_alist here.
10608 (find_font_encoding): New function.
10609 (list_fontsets): Use STRINGP, not ! NILP.
10610 (accumulate_script_ranges): New function.
10611 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
10612 re-written to handle new fontset structure.
10613 (Ffontset_font): Return a copy of element.
10614 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
10615 docstring of font-encoding-alist.
10616
10617 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
10618 (Fset_fotset_font): Fix arguments to 5.
10619
1f45f627 10620 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
10621
10622 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
10623 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 10624 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
10625 lookup_named_face.
10626
10627 * xfaces.c: Include charset.h.
1f45f627
GM
10628 (load_face_font): Delete argument C. Change caller.
10629 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
10630 (font_name_registry): New function.
10631 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 10632 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
10633 Lookup only ascii faces.
10634 (lookup_non_ascii_face): New function.
1f45f627
GM
10635 (lookup_named_face): Delete argument C. Change caller.
10636 (lookup_derived_face): Delete argument C. Change caller.
10637 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 10638 a string, just call font_list with it.
1f45f627
GM
10639 (choose_face_font): Delete arguments FACE and C. New arg
10640 FONT_SPEC. Change caller.
4c4475a8
GM
10641 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
10642 Change caller.
aca7a3d2
MB
10643 (realize_non_ascii_face): New function.
10644 (realize_x_face): Call load_face_font here.
1f45f627 10645 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
10646 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
10647 get a face ID.
10648 (dump_realized_face): Don't print charset of FACE.
10649
10650 * xfns.c (x_set_font): Always call x_new_fontset and
10651 store_frame_parameter.
10652 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 10653 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
10654
10655 * xterm.h (x_get_font_repertory): Extern it.
10656
10657 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10658 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10659 it->multibyte_p is zero.
10660 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10661 (x_new_fontset): If FONTSETNAME doesn't match any existing
10662 fontsets, create a new one.
10663 (x_get_font_repertory): New function.
10664
73acf815 106652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10666
10667 * coding.c (Ffind_coding_systems_region_internal): Detect an
10668 ASCII only string correctly.
10669
10670 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
10671 version is 0.
10672
73acf815 106732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10674
10675 * lread.c: Include "coding.h".
1f45f627
GM
10676 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
10677 (load_each_byte, unread_char): New variables.
10678 (readchar_backlog): Delete.
aca7a3d2
MB
10679 (readchar): Return a character unless load_each_byte is nonzero.
10680 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
10681 cons. If unread_char is not -1, simply return it.
10682 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
10683 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
10684 (read_multibyte): Delete.
aca7a3d2
MB
10685 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
10686 (read_emacs_mule_char): New functions.
10687 (Fload): Even if the file doesn't have the extention ".elc", if
10688 safe_to_load_p returns a positive version number, assume that the
10689 file contains bytecompiled code. If the version is less than 22,
10690 load the file while decoding multibyte sequences by emacs-mule.
10691 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
10692 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
10693 (Fread_from_string): Pay attention to the case that STREAM is a cons.
10694 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
10695 (read1): Set load_each_byte to 1 temporarily while handling
10696 #@NUMBER. Don't call read_multibyte.
10697 (read_vector): Call Fread with a cons. If readcharfun is
10698 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 10699 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
10700 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
10701 and Qload_force_doc_strings.
10702
73acf815 107032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10704
10705 * xdisp.c (face_before_or_after_it_pos): Call
10706 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
10707
73acf815 107082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10709
10710 * character.h (TRAILING_CODE_P): New macro.
1f45f627 10711 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
10712 (string_char_with_unification): Fix prototype.
10713 (Vscript_alist): Extern it.
10714
10715 * character.c (Vscript_alist): New variable.
4c4475a8
GM
10716 (string_char_with_unification, str_as_unibyte)
10717 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
10718 (syms_of_character): Declare script-alist as a Lisp variable.
10719
10720 * charset.h (Vcharset_ordered_list): Extern it.
10721 (charset_ordered_list_tick): Extern it.
10722 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
10723 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
10724 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 10725 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 10726 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
10727
10728 * charset.c (charset_ordered_list_tick): New variable.
10729 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
10730 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
10731 deunify intead of unify a charset.
10732 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
10733 (find_charsets_in_text): Add `const' to arguemnts and local variables.
10734 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
10735 detecting of invalid code.
10736 (Fset_charset_priority): Increment charset_ordered_list_tick.
10737 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
10738 and TO_CODE.
10739
10740 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
10741 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
10742 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
10743 (decode_coding_ccl, consume_chars)
10744 (Ffind_coding_systems_region_internal)
10745 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
10746
10747 * print.c (print_object): Use octal form for printing the
10748 contents of a bool vector.
10749
73acf815 107502008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10751
10752 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
10753 <version == 20>: Refuse to load.
10754
73acf815 107552008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10756
10757 * fns.c: Move coding.h.
10758 (Qcodeset, Qdays, Qmonths): New.
10759 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 10760 (Flocale_codeset): Delete.
aca7a3d2 10761 (Flanginfo): New function.
1f45f627 10762 (syms_of_fns): Change accordingly.
aca7a3d2
MB
10763
10764 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
10765
73acf815 107662008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10767
10768 * casetab.c (init_casetab_once, init_casetab_once): Fix
10769 CHAR_TABLE_SET call.
10770
10771 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
10772
10773 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
10774
10775 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
10776 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
10777 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
10778
10779 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
10780
10781 * coding.c (ENCODE_DESIGNATION, decode_eol)
10782 (make_conversion_work_buffer, code_conversion_restore)
10783 (Fdefine_coding_system_internal): Convert Lisp types.
10784 (code_conversion_restore): Use EQ, not ==.
10785 (Fencode_coding_string): Fix code_convert_string call.
10786
10787 * coding.h (code_convert_region): Fix prototype.
10788
1f45f627 10789 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
10790
10791 * fontset.c (fontset_ref, fontset_set, fs_load_font)
10792 (Ffontset_info): Convert Lisp types.
10793
10794 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
10795
10796 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
10797
10798 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
10799
10800 * chartab.c: Include "...h", not <...h> in some cases.
10801
10802 * callproc.c (Fcall_process): Remove unused variables.
10803
73acf815 108042008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10805
10806 * coding.c (Fset_coding_system_priority): Allow null arg list.
10807
73acf815 108082008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10809
10810 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10811 (Fself_insert_and_exit): Use CHARACTERP.
10812
10813 * callproc.c (Fcall_process): Remove unused vars.
10814
10815 * xterm.c (XTread_socket): Add extra dead keysyms.
10816
10817 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
10818
10819 * dispextern.h: Remove prototypes for redraw_frame,
10820 redraw_garbaged_frames.
10821
10822 * cmds.c (Fself_insert_command): Use CHARACTERP.
10823
10824 * chartab.c (make_sub_char_table): Remove unused var.
10825 (Fset_char_table_default, Fmap_char_table): Doc fix.
10826
10827 * keymap.c (access_keymap): Remove generic char code.
10828 (push_key_description): Use CHARACTERP.
10829
73acf815 108302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10831
10832 * charset.c: Doc fixes.
10833 (Funify_charset): Extra checking.
10834
73acf815 108352008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10836
10837 * lread.c: Remove some unused variables.
10838 (safe_to_load_p): If safe, return the magic number version byte.
10839 (Fload): Maybe use load-with-code-conversion.
10840
73acf815 108412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10842
10843 * category.c (Fmodify_category_entry): Don't modify the contents
10844 of category_set for characters out of the range. Avoid
10845 unnecessary modification.
10846
1f45f627 10847 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
10848 Vchar_unify_table. The default value of the table is now nil.
10849
10850 * character.c (syms_of_character): Setup Vchar_width_table for
10851 eight-bit-control and raw-byte chars.
10852
10853 * charset.h (enum define_charset_arg_index): Delete
10854 charset_arg_parents and add charset_arg_subset and
10855 charset_arg_superset.
10856 (enum charset_attr_index): Delete charset_parents and add
10857 charset_subset and charset_superset.
10858 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
10859 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 10860 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
10861 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
10862 (CHARSET_SUPERSET): New macros.
10863 (charset_work): Extern it.
10864 (ENCODE_CHAR): Use charset_work.
1f45f627 10865 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
10866 (map_charset_chars): Extern it.
10867
10868 * charset.c (load_charset_map): Set the default value of encoder
10869 and deunifier char-tables to nil.
1f45f627 10870 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
10871 map_char_table_for_charset instead of map_char_table.
10872 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 10873 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
10874 `define-charset' (:parents -> :subset or :superset).
10875 (charset_work): New variable.
4c4475a8
GM
10876 (encode_char, syms_of_charset): Adjust for the change of
10877 Fdefine_charset_internal.
aca7a3d2
MB
10878 (Ffind_charset_string): Setup the vector `charsets' correctly.
10879
1f45f627 10880 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 10881 the previous change.
1f45f627 10882 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
10883 (map_sub_char_table_for_charset): New function.
10884 (map_char_table_for_charset): New function.
10885
10886 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 10887 (describe_char_table): Delete.
aca7a3d2 10888
1f45f627 10889 * lisp.h (map_charset_chars): Delete.
aca7a3d2 10890
73acf815 108912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10892
10893 * fns.c (count_combining): Comment out (unused).
10894 (Flocale_codeset): New.
10895 (syms_of_fns): Defsubr it.
10896
10897 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 10898 (size_t): Remove.
aca7a3d2 10899
73acf815 109002008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10901
6f69e89b 10902 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 10903
73acf815 109042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10905
10906 * character.c (syms_of_character): Set the default value of
10907 Vprintable_chars to Qnil.
10908
73acf815 109092008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10910
10911 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
10912
73acf815 109132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10914
10915 * charset.c (load_charset_map): Handle the case that from < to
10916 correctly.
10917
4c4475a8
GM
10918 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
10919 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
10920 Pay attention to raw-8-bit chars.
aca7a3d2 10921
73acf815 109222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10923
4c4475a8
GM
10924 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
10925 It is not bytecompiled now.
aca7a3d2
MB
10926
10927 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
10928 (charset_jisx0208): New variables.
10929 (Fdefine_charset_internal): Setup them if appropriate.
10930 (init_charset_once): Initialize them to -1.
10931
1f45f627
GM
10932 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
10933 (charset_jisx0208): Extern them.
aca7a3d2 10934
1f204af3 10935 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 10936 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
10937 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
10938 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
10939 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
10940 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
10941 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
10942 (encode_coding_iso_2022): Change the 1st arg to
10943 ENCODE_ISO_CHARACTER to a variable.
10944
73acf815 109452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10946
10947 * charset.h (enum define_charset_arg_index): New enums
10948 charset_arg_min_code and charset_arg_max_code.
10949 (struct charset): New member char_index_offset.
10950
4c4475a8
GM
10951 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
10952 Take charset->char_index_offset into account.
aca7a3d2
MB
10953 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
10954 args[charset_arg_max_code]. Setup charset.char_index_offset.
10955 (syms_of_charset): Fix args to Fdefine_charset_internal.
10956
73acf815 109572008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10958
10959 * coding.c (decode_coding_utf_8): Reject overlong sequences.
10960
73acf815 109612008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10962
10963 * coding.c: Doc fixes.
10964 (Fcoding_system_aliases): Fix return value.
10965 (Qmac): Remove (duplicated) definition.
10966
73acf815 109672008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10968
10969 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
10970 functions.
10971
10972 * character.c (Fstring): Doc fix.
10973
10974 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
10975
10976 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
10977 ids.
10978 (font-encoding-alist): Doc fix.
10979
73acf815 109802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10981
10982 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 10983 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
10984
10985 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
10986 for K&R.
10987
10988 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
10989
10990 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 10991 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 10992
1f45f627 10993 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
10994
10995 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
10996
73acf815 109972008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10998
10999 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11000
1f45f627 11001 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 11002
2a2e8de7 110032008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
11004
11005 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11006
1f45f627 11007 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 11008
73acf815 110092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11010
4c4475a8 11011 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 11012 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 11013
73acf815 110142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11015
1f45f627 11016 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
11017 Fdefine_coding_system_internal.
11018 (Fdefine_coding_system_internal): For a coding system of
11019 `charset' type, store a list of charset IDs in
11020 `charset_attr_charset_valids' element of coding attributes.
11021
73acf815 110222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11023
11024 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
11025 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11026 caller. Handle 2-byte and 3-byte charsets correctly.
11027 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11028 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
11029 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11030 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11031 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11032 sequence.
11033 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 11034 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
11035 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11036 and alt&rule composition.
11037 (decode_coding_iso_2022): Handle composition correctly.
11038 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11039
11040 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11041 re-defining a charset. If the charset has :emacs-mule-id, setup
11042 emacs_mule_bytes.
1f45f627 11043 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 11044
73acf815 110452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11046
4c4475a8
GM
11047 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11048 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
11049 encoding, produce a character specified by
11050 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 11051
73acf815 110522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11053
11054 * xterm.c (XSetIMValues): Declare.
11055
11056 * process.c: Conditionally include sys/wait.h, pty.h.
11057
1f45f627 11058 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 11059
1f45f627 11060 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
11061
11062 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
11063
11064 * fontset.c (Fclear_face_cache): Declare.
1f45f627 11065 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
11066 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11067 variables.
11068
11069 * character.h (string_escape_byte8): Declare.
11070
11071 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11072 unused vars.
11073 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11074 (Fmap_charset_chars): Doc fix.
11075
1f45f627 11076 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
11077 (Fset_coding_system_priority, Fset_coding_system_priority)
11078 (Fdefine_coding_system_internal): Doc fix.
11079
73acf815 110802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11081
11082 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11083
73acf815 110842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11085
11086 * character.c (string_escape_byte8): Make multibyte string with
11087 correct size.
11088
11089 * charset.c (Fmake_char): Delete unnecessary code.
11090
73acf815 110912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11092
11093 * xfns.c (x_encode_text): Allocate coding.destination here, and
11094 call encode_coding_object with dst_object Qnil.
11095
11096 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11097 multibyte form correctly.
11098
11099 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11100 against Vfont_encoding_alist.
11101
11102 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11103 handling of charset list.
11104 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11105 (decode_coding_object): Move point to coding->dst_pos before
11106 calling post-read-conversion function.
11107 (encode_coding_object): Give correct arguments to
11108 pre-write-conversion. Ignore the return value of
11109 pre-write-conversion function. Pay attention to the case that
11110 pre-write-conversion changes the current buffer. If dst_object is
11111 Qt, even if coding->src_bytes is zero, allocate at least one byte
11112 to coding->destination.
11113
11114 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11115
11116 * charset.c (Fmake_char): Make it more backward compatible.
11117 (Fmap_charset_chars): Fix docstring.
11118
73acf815 111192008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11120
11121 * coding.c: Doc fixes.
11122 (Fdefine_coding_system_alias): Use names, not symbols, in
11123 coding-system-alist.
11124
73acf815 111252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11126
11127 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11128 of calling free_realized_face.
11129
2a2e8de7 111302008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 11131
1f45f627
GM
11132 * charset.c (read_hex): Don't treat SPC as a comment starter.
11133 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
11134 (Fdecode_char): Fix typo.
11135
73acf815 111362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11137
11138 * charset.h (struct charset): New member `code_space_mask'.
11139
1f45f627 11140 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
11141 (encode_coding_charset, Fdefine_coding_system_internal):
11142 Delete the local variable charset.
aca7a3d2
MB
11143 (Fdefine_coding_system_internal): Setup
11144 attrs[coding_attr_charset_valids] correctly.
11145
11146 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11147 member to check if CODE is valid or not.
11148 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11149 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11150 is within the range of charset->min_code and carset->max_code.
11151
73acf815 111522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11153
11154 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11155
11156 * dispextern.h (generate_ascii_font): Fix return type.
11157
11158 * xfaces.c (generate_ascii_font): Fix arg declaration.
11159
11160 * coding.c (coding_inherit_eol_type)
11161 (Fset_terminal_coding_system_internal)
11162 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11163
73acf815 111642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11165
11166 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11167 multiple charsets correctly.
11168
73acf815 111692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11170
11171 * search.c (boyer_moore): Fix handling of mulitbyte character
11172 translation.
11173
11174 * xdisp.c (display_mode_element): When the variable `elt' is
11175 changed, update `this' and `lisp_string'.
11176
73acf815 111772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11178
11179 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11180
11181 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 11182 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
11183
11184 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
11185 (load_charset_map): Rename from parse_charset_map. New args
11186 entries and n_entries. Change caller.
11187 (load_charset_map_from_file): Rename from load_charset_map.
11188 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
11189 the tail.
11190 (load_charset_map_from_vector): New function.
11191 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11192 (encode_char): If the charset is compact, change a character index
11193 to a code point.
11194
11195 * coding.c (coding_alloc_by_making_gap): Check the case that the
11196 source and destination are the same correctly.
11197 (decode_coding_raw_text): Set coding->consumed_char and
11198 coding->consumed to 0.
11199 (produce_chars): If coding->chars_at_source is nonzero, update
11200 coding->consumed_char and coding->consumed before calling
11201 alloc_destination.
11202 (Fdefine_coding_system_alias): Register ALIAS in
11203 Vcoding_system_alist.
11204 (syms_of_coding): Define `no-convesion' coding system at the tail.
11205
11206 * fileio.c (Finsert_file_contents): Set coding_system instead of
11207 val. If the current buffer is multibyte, always call
11208 decode_coding_gap.
11209
11210 * xfaces.c (try_font_list): Give higher priority to fontset's
11211 family than face's family.
11212
73acf815 112132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11214
11215 * callproc.c (Fcall_process): Be sure to give the current buffer
11216 to decode_coding_c_string.
11217
11218 * xfaces.c (try_font_list): Give a family specified in a fontset
11219 higher priority than a family specified in a face.
11220
73acf815 112212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11222
11223 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11224 Fix arguments to insert_from_buffer.
11225
11226 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11227
73acf815 112282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11229
11230 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11231 (decode_coding_gap): Set coding->dst_multibyte correctly.
11232
73acf815 112332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11234
11235 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 11236 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
11237 (encode_coding_utf_16): Substitute coding->default_char for
11238 non-Unicode characters.
11239 (decode_coding): Don't call record_insert here.
11240 (setup_coding_system): Initialize `surrogate' of
11241 coding->spec.utf_16 to 0.
11242 (EMIT_ONE_BYTE): Fix for multibyte case.
11243
11244 * insdel.c (insert_from_gap): Call record_insert.
11245
73acf815 112462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11247
11248 * casefiddle.c (casify_region): Fix multibyte case.
11249
11250 * character.c (c_string_width): Add return type `int'.
1f45f627 11251 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
11252
11253 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 11254 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
11255 (CHAR_STRING_ADVANCE): Make it do-while statement.
11256
1f45f627 11257 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
11258 DEPTH == 3. Add workaround code for a GCC optimization bug.
11259
11260 * charset.c (parse_charset_map): Remove an unused variable.
11261
11262 * coding.c: Delete unused variables.
11263
11264 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11265 earlier. If inserted is zero and the coding system doesn't
11266 require flushing, don't call decode_coding_gap.
11267
11268 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11269
73acf815 112702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11271
11272 The following changes are for using Unicode as an internal
11273 character model, and use UTF-8 format for buffer/string
11274 representation.
11275
1f45f627 11276 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
11277 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11278
11279 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 11280 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
11281 (*.o): For many files, change dependency on charset.h to
11282 character.h, and add dependency on character.h.
11283 (character.o, chartab.o): New targets.
11284
1f45f627
GM
11285 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11286 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11287 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
11288 of "charset.h".
11289
11290 * dired.c, filelock.c: Include "character.h".
11291
11292 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 11293 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
11294 (syms_of_alloc): Remove defsubr for Smake_char_table.
11295
11296 * buffer.c: Include "character.h" instead of "charset.h", don't
11297 include "coding.h".
1f45f627 11298 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
11299
11300 * buffer.h: EXFUN Fbuffer_live_p.
11301
11302 * callproc.c: Include "character.h" instead of "charset.h".
11303 (Fcall_process): Big change for the new code-conversion APIs.
11304
11305 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 11306 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
11307 map_char_table spec.
11308 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11309 accessing the char table structure.
11310
11311 * chartab.c: New file that implements char table.
11312
11313 * category.c: Include "character.h".
11314 (copy_category_entry): New function.
11315 (copy_category_table): Call map_char_table and copy_category_entry.
11316 (Fmake_category_table): Initialize all top-vel slots.
11317 (char_category_set): New function.
1f45f627 11318 (modify_lower_category_set): Delete.
aca7a3d2
MB
11319 (Fmodify_category_entry): Call char_table_ref_and_range.
11320
11321 * category.h (CATEGORY_SET): Just call char_category_set.
11322
11323 * ccl.c: Include "character.h".
11324 (Qccl, Qcclp): New variables.
11325 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11326 it's less than 256.
1f45f627
GM
11327 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
11328 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 11329 and DST type.
1f45f627
GM
11330 (ccl_driver): Change types of argument, adjust code accordingly.
11331 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
11332 ccl_driver.
11333 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11334
1f45f627
GM
11335 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11336 New members src_multibyte, dst_multibyte, consumed, and produced.
11337 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 11338 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 11339 (ccl_driver): Update prototype.
aca7a3d2
MB
11340 (Qccl, Qcclp, Fccl_program_p): Extern them.
11341 (CHECK_CCL_PROGRAM): New macro.
11342
11343 * character.c, character.h, chartab.c: New files.
11344
1f45f627
GM
11345 * charset.c: Mostly re-written. Move character and multibyte sequence
11346 handling codes to character.c.
aca7a3d2 11347
1f45f627
GM
11348 * charset.h: Mostly re-written. Move character and multibyte sequence
11349 handling codes to character.h.
aca7a3d2
MB
11350
11351 * coding.c, coding.h: Mostly re-written.
11352
11353 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
11354 (CHAR_WIDTH): Move to character.h.
11355 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 11356
1f45f627
GM
11357 * composite.h (enum composition_method): Change order of enumeration
11358 symbols.
aca7a3d2
MB
11359
11360 * data.c: Include "character.h" instead of "charset.h".
11361 (Faref): Call CHAR_TABLE_REF for a char table.
11362 (Faset): Call CHAR_TABLE_SET for a char table.
11363
1f45f627
GM
11364 * dispextern.h (free_realized_face, check_face_attribytes)
11365 (generate_ascii_font): Extern them.
11366 (free_realized_multibyte_face): Delete extern.
aca7a3d2 11367
1f45f627 11368 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
11369 table structure.
11370
11371 * editfns.c: Include "character.h" instead of "charset.h".
11372 (Fchar_to_string): Always call CHAR_STRING.
11373
11374 * emacs.c (main): Call init_charset_once, init_charset,
11375 syms_of_chartab, and syms_of_character.
11376
11377 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 11378 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 11379 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 11380 (build_annotations_2): Delete.
aca7a3d2
MB
11381 (e_write): Big change for the new code-conversion API.
11382
11383 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 11384 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
11385 (Fcopy_sequence): Call copy_char_table for a char table.
11386 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
11387 (string_char_to_byte, string_byte_to_char): Adjust for the new
11388 multibyte form.
1f45f627
GM
11389 (internal_equal): Adjust for the change of char table structure.
11390 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
11391 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
11392 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
11393 (char_table_translate, optimize_sub_char_table)
11394 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 11395 chartab.c.
1f45f627
GM
11396 (char_table_ref_and_index): Delete.
11397 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 11398 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
11399 Vcoding_category_list. Adjust for the new code-conversion API.
11400 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
11401 chartab.c.
11402
11403 * fontset.c: Mostly re-written.
11404
1f45f627 11405 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 11406 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
11407 (fontset_font_pattern, fs_load_font): Update prototype.
11408 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
11409
11410 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 11411 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
11412
11413 * insdel.c: Include "character.h" instead of "charset.h".
11414 (copy_text): Don't refer to Vnonascii_translation_table.
11415 (insert_from_gap): New function.
11416
11417 * keyboard.c: Include "character.h" instead of "charset.h".
11418 (command_loop_1): Never call direct_output_forward_char before
11419 a non-ASCII character.
11420 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 11421 translate a character.
aca7a3d2
MB
11422
11423 * keymap.c: Include "character.h".
11424 (store_in_keymap): Handle the case that IDX is a cons.
11425 (Fdefine_key): Handle the case that KEY is a cons and the car part
11426 is also a cons (range).
1f45f627 11427 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
11428 (describe_vector): Call describe_char_table for a char table.
11429 (describe_char_table): New function.
11430
11431 * keymap.h (describe_char_table): Extern it.
11432
11433 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
11434 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
11435 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
11436 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
11437 Delete.
11438 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
11439 structure.
11440 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
11441 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
11442 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 11443 (chartab_size): Extern it.
1f45f627 11444 (struct Lisp_Char_Table): Re-design.
aca7a3d2 11445 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
11446 (HASH_KEY, HASH_VALUE): Move from fns.c.
11447 (CHARACTERBITS): Define as 22.
11448 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
11449 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
11450 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
11451 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
11452 (code_convert_string_norecord): Deleted extern.
11453 (init_character_once, syms_of_character, init_charset)
11454 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
11455
11456 * lread.c: Include "character.h".
11457 (read_multibyte): New arg NBYTES.
1f45f627
GM
11458 (read_escape): Change the meaning of returned *BYTEREP.
11459 (to_multibyte): Delete.
11460 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
11461
11462 * print.c: Include "character.h" instead of "charset.h".
11463 (print_string): Convert 8-bit raw bytes to octal form by
11464 string_escape_byte8.
1f45f627 11465 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
11466 raw bytes always in octal form. Handle sub char table correctly.
11467
11468 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
11469 (read_process_output, send_process): Adjust for the new
11470 code-conversion API.
aca7a3d2 11471
1f45f627 11472 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
11473
11474 * regex.c: Include "character.h" instead of "charset.h".
11475 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
11476 (regex_compile): Accept a range whose starting and ending
11477 character have different leading bytes.
1f45f627 11478 (analyse_first): Adjust for the above change.
aca7a3d2
MB
11479
11480 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
11481 (search_buffer, boyer_moore): Adjust for the new multibyte form.
11482 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
11483
11484 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 11485 (syntax_parent_lookup): Delete.
aca7a3d2 11486 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 11487 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
11488 (init_syntax_once): Call char_table_set_range instead of directly
11489 accessing the structure of a char table.
11490
11491 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 11492 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
11493 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
11494 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
11495
11496 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
11497 (encode_terminal_code, write_glyphs): Adjust for the new
11498 code-conversion API.
aca7a3d2
MB
11499 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
11500
1f45f627 11501 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
11502
11503 * xdisp.c: Include "character.h".
1f45f627
GM
11504 (get_next_display_element): Adjust for the new multibyte form.
11505 (disp_char_vector): Adjust for the new char table structure.
11506 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 11507 coding system.
1f45f627 11508 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
11509
11510 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 11511 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
11512 FS_LOAD_FONT.
11513 (generate_ascii_font): New function.
1f45f627
GM
11514 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
11515 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 11516 (free_realized_face): Make it public.
1f45f627 11517 (free_realized_faces_for_fontset): Rename from
aca7a3d2 11518 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 11519 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
11520 fontset_font_pattern and FS_LOAD_FONT.
11521
11522 * xfns.c: Include "character.h".
1f45f627 11523 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
11524
11525 * xselect.c: Don't include "charset.h".
1f45f627 11526 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
11527
11528 * xterm.c: Include "character.h".
1f45f627 11529 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
11530 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
11531 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
11532 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
11533 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
11534 (XTread_socket): Adjust for the new code-conversion API.
11535 (x_new_font): Adjust for the change of FS_LOAD_FONT.
11536 (x_load_font): Adjust for the change of struct font.
aca7a3d2 11537
d6abfc14
SM
115382008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11539
11540 * xfaces.c (face_at_buffer_position): Remove unused vars.
11541
0acdaf8d
KH
115422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11543
4c4475a8
GM
11544 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
11545 Fix overflow checking.
0acdaf8d 11546
6c8a0ebf
GM
115472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11548
11549 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
11550 Cancel previous change.
11551
115522008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11553
11554 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
11555 ccl->eight_bit_control. Fix check for buffer overflow.
11556 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
11557 (ccl_driver): Initialize extra_bytes to 0.
11558
a32aad64
KH
115592008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11560
11561 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
11562 return it ORed with ctrl_modifier.
11563
8b329dba
MB
115642008-01-29 Miles Bader <miles@gnu.org>
11565
11566 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
11567
548667aa
JR
115682008-01-28 Jason Rumney <jasonr@gnu.org>
11569
11570 * w32.c (stat): Don't double check for networked drive.
11571
0975aa24
SM
115722008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
11573
ef264c42
SM
11574 * window.c (run_window_configuration_change_hook): New function.
11575 Code extracted from set_window_buffer. Set the selected frame.
11576 (set_window_buffer): Use it.
11577 * window.h (run_window_configuration_change_hook): Declare.
11578 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
11579
0975aa24
SM
11580 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
11581
9c28b587
DN
115822008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
11583
11584 * Makefile.in: Remove references to unused macros.
11585
c617afce
EZ
115862008-01-26 Eli Zaretskii <eliz@gnu.org>
11587
11588 * w32.c (g_b_init_get_sid_sub_authority)
11589 (g_b_init_get_sid_sub_authority_count): New static variables.
11590 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
11591 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
11592 (init_user_info): Use them to retrieve uid and gid.
11593 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
11594 (fstat): Use pw_uid and pw_gid from the_passwd structure for
11595 st_uid and st_gid of the file.
c617afce 11596
302d7d54
JR
115972008-01-26 Jason Rumney <jasonr@gnu.org>
11598
11599 * w32.c (logon_network_drive): New function.
11600 (stat): Use it.
11601
3ac7a21e
CY
116022008-01-26 Chong Yidong <cyd@stupidchicken.com>
11603
11604 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
11605 invisible text covered with an ellipsis.
11606
bbb9fc1f
RS
116072008-01-25 Richard Stallman <rms@gnu.org>
11608
11609 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
11610 jump back to beginning. Move some other initializations after that.
11611 (Qwindow_text_change_functions, Vwindow_text_change_functions):
11612 New variables.
11613 (syms_of_xdisp): Init them.
11614
11615 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
11616
0975aa24
SM
11617 * buffer.c (reset_buffer_local_variables):
11618 Implement `permanent-local-hook'.
bbb9fc1f 11619 (Qpermanent_local_hook): New variable.
0975aa24 11620 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 11621
79235cbe
MA
116222008-01-25 Michael Albinus <michael.albinus@gmx.de>
11623
11624 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
11625
ccd8f7fe
TTN
116262008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
11627
11628 * fns.c (Fclrhash): Return TABLE.
11629
dfbe40f2 116302008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
11631
11632 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
11633 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
11634 is set even without positional changes.
11635 (x_scroll_bar_clear): Set bar->redraw_needed_p.
11636
11637 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
11638
dfbe40f2 116392008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 11640
d6169680
JR
11641 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
11642
602e142f
JR
11643 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
11644 the unicode range available in MULE by locale-coding-system.
c041e2d1 11645 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
11646 earlier.
11647
dfbe40f2 116482008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
11649
11650 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
11651 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 11652 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
11653 when used on child processes.
11654
8c7a4ac5
MA
116552008-01-21 Michael Albinus <michael.albinus@gmx.de>
11656
e0df1b73 11657 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 11658 Fdbus_method_return.
e0df1b73 11659 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 11660 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 11661 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 11662
8abe0f97
MR
116632008-01-20 Martin Rudalics <rudalics@gmx.at>
11664
11665 * undo.c (undo_inhibit_record_point): New variable.
11666 (syms_of_undo): Initialize it.
11667 (record_point): Don't record point when undo_inhibit_record_point
11668 is set.
11669
c3b232e4
SM
116702008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
11671
e69c4cae
SM
11672 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
11673
823e0ebb
SM
11674 * xdisp.c (Qauto_hscroll_mode): New var.
11675 (syms_of_xdisp): Initialize it.
11676 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
11677 window's buffer.
11678 (hscroll_windows): Don't check automatic_hscrolling_p here.
11679
c3b232e4
SM
11680 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
11681 vscroll if we're setting window-buffer to the value it already has.
11682
76ed5e01
DN
116832008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
11684
11685 * m/intel386.h: Remove references to XENIX.
11686
55e6d9b2
AS
116872008-01-17 Andreas Schwab <schwab@suse.de>
11688
11689 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
11690 instead of HAVE_X86_64_LIB64_DIR.
11691 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
11692
b16ed52d
GM
116932008-01-17 Glenn Morris <rgm@gnu.org>
11694
11695 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
11696 to HAVE_X86_64_LIB64_DIR.
11697
6bed5c4a
DN
116982008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
11699
11700 * s/irix3-3.h:
11701 * s/irix4-0.h:
11702 * s/386-ix.h:
11703 * s/domain.h:
11704 * s/hpux9-x11r4.h:
11705 * s/hpux9shxr4.h: Remove files for systems no longer supported.
11706
11707 * sysdep.c: Remove code containing references to symbols defined
11708 by unsupported systems.
11709
fdecf907
GM
117102008-01-16 Glenn Morris <rgm@gnu.org>
11711
11712 * coding.c (select-safe-coding-system-function): Doc fix.
11713
9292328f
GM
117142008-01-15 Glenn Morris <rgm@gnu.org>
11715
11716 * config.in: Revert 2008-01-13 change: this is a generated file.
11717
944df511
MO
117182008-01-13 Tom Tromey <tromey@redhat.com>
11719
11720 * lisp.h: Fix typo.
11721
8111ec05
DN
117222008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11723
f40f5dc3
DN
11724 * m/sequent-ptx.h:
11725 * m/sequent.h:
11726 * s/ptx.h:
11727 * s/ptx4-2.h:
11728 * s/ptx4.h: Remove files for systems no longer supported.
11729
ce20b664 11730 * callproc.c (Fcall_process): Fix previous change.
8111ec05 11731
e39a993c
DN
117322008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
11733
052e457f 11734 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 11735
290afd83
JB
11736 * m/mips.h:
11737 * m/intel386.h:
e39a993c
DN
11738 * callproc.c:
11739 * config.in:
11740 * ecrt0.c:
11741 * emacs.c:
11742 * fileio.c:
11743 * frame.c:
11744 * getpagesize.h:
11745 * keyboard.c:
11746 * lread.c:
11747 * process.c:
11748 * puresize.h:
11749 * sysdep.c:
11750 * systty.h:
11751 * syswait.h:
11752 * unexec.c:
11753 * xdisp.c:
11754 * alloc.c: Remove code containing references to symbols defined by
11755 unsupported systems.
11756
81cd7687
KH
117572008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
11758
11759 * coding.c (detect_coding_mask): Fix previous change.
11760
218b3b76
KH
117612008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
11762
11763 * coding.c (detect_coding_iso2022): New arg
11764 latin_extra_code_state. Allow Latin extra codes only
11765 when *latin_extra_code_state is nonzero.
11766 (detect_coding_mask): If there is a NULL byte, detect the encoding
11767 as UTF-16 or binary. If Latin extra codes exist, detect the
11768 encoding as ISO-2022 only when there's no other proper encoding is
11769 found.
11770
59ce725a 117712008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 11772
59ce725a
MB
11773 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
11774 #ifdef MAC_OS.
048addec 11775
59ce725a 117762008-01-08 Richard Stallman <rms@gnu.org>
048addec 11777
59ce725a 11778 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 11779
8290574e
NR
117802008-01-06 Nick Roberts <nickrob@snap.net.nz>
11781
a0a3805c 11782 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
11783 menu bar in parentheses.
11784
f3041af1
DN
117852008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
11786
11787 * m/7300.h:
11788 * m/acorn.h:
11789 * m/alliant-2800.h:
11790 * m/alliant.h:
11791 * m/alliant1.h:
11792 * m/alliant4.h:
11793 * m/altos.h:
11794 * m/amdahl.h:
11795 * m/apollo.h:
11796 * m/att3b.h:
11797 * m/aviion-intel.h:
11798 * m/aviion.h:
11799 * m/celerity.h:
11800 * m/clipper.h:
11801 * m/cnvrgnt.h:
11802 * m/convex.h:
11803 * m/cydra5.h:
11804 * m/delta88k.h:
11805 * m/dpx2.h:
11806 * m/dual.h:
11807 * m/elxsi.h:
11808 * m/f301.h:
11809 * m/gould-np1.h:
11810 * m/gould.h:
11811 * m/i860.h:
11812 * m/ibmps2-aix.h:
11813 * m/ibmrt-aix.h:
11814 * m/ibmrt.h:
11815 * m/irist.h:
11816 * m/is386.h:
11817 * m/isi-ov.h:
11818 * m/mega68.h:
11819 * m/mg1.h:
11820 * m/news-r6.h:
11821 * m/news-risc.h:
11822 * m/news.h:
11823 * m/nh3000.h:
11824 * m/nh4000.h:
11825 * m/ns16000.h:
11826 * m/ns32000.h:
11827 * m/nu.h:
11828 * m/orion.h:
11829 * m/orion105.h:
11830 * m/paragon.h:
11831 * m/pfa50.h:
11832 * m/plexus.h:
11833 * m/pyramid.h:
11834 * m/pyrmips.h:
11835 * m/sh3el.h:
11836 * m/sps7.h:
11837 * m/sr2k.h:
11838 * m/stride.h:
11839 * m/sun1.h:
11840 * m/sun2.h:
11841 * m/sun3-68881.h:
11842 * m/sun3-fpa.h:
11843 * m/sun3-soft.h:
11844 * m/sun3.h:
11845 * m/sun386.h:
11846 * m/symmetry.h:
11847 * m/tad68k.h:
11848 * m/tahoe.h:
11849 * m/targon31.h:
11850 * m/tek4300.h:
11851 * m/tekxd88.h:
11852 * m/tower32.h:
11853 * m/tower32v3.h:
11854 * m/ustation.h:
11855 * m/wicat.h:
11856 * m/xps100.h:
11857 * s/cxux.h:
11858 * s/cxux7.h:
11859 * s/dgux.h:
11860 * s/dgux4.h:
11861 * s/dgux5-4-3.h:
11862 * s/dgux5-4r2.h:
11863 * s/esix.h:
11864 * s/esix5r4.h:
11865 * s/hiuxmpp.h:
11866 * s/hiuxwe2.h:
11867 * s/iris3-5.h:
11868 * s/iris3-6.h:
11869 * s/isc2-2.h:
11870 * s/isc3-0.h:
11871 * s/isc4-0.h:
11872 * s/isc4-1.h:
11873 * s/newsos5.h:
11874 * s/newsos6.h:
11875 * s/osf1.h:
11876 * s/osf5-0.h:
11877 * s/riscix1-1.h:
11878 * s/riscix12.h:
11879 * s/sco4.h:
11880 * s/sco5.h:
11881 * s/sunos4-0.h:
11882 * s/sunos4-1.h:
11883 * s/sunos413.h:
11884 * s/sunos4shr.h:
11885 * s/umax.h:
11886 * s/unipl5-2.h:
11887 * s/xenix.h:
11888 * cxux-crt0.s:
11889 * unexapollo.c:
11890 * unexconvex.c:
11891 * unexenix.c:
11892 * unexsni.c: Remove files for systems no longer supported.
11893
11894 * m/intel386.h: Remove references to unsupported systems.
11895
11896 * w32.c (get_emacs_configuration): Remove reference to i860.
11897
11898 * sysdep.c: Remove dead code.
11899
d35e1cd7
DN
119002008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
11901
11902 * s/rtu.h:
a0a3805c 11903 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 11904
abe136ee
MA
119052008-01-04 Michael Albinus <michael.albinus@gmx.de>
11906
11907 * dbusbind.c (Fdbus_method_return): New function.
11908 (xd_read_message): Add the serial number to the event.
11909 (Fdbus_register_method): Activate the function.
11910
87df3c32
SM
119112008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
11912
11913 * keyboard.c (read_key_sequence): Fix typo.
11914
5125905e
MA
119152008-01-03 Michael Albinus <michael.albinus@gmx.de>
11916
11917 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
11918 (xd_signature, xd_append_arg): Handle element type detection for
11919 empty arrays.
11920 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
11921 SDATA () calls; this must be solved more general.
11922 (Fdbus_register_signal): Use SBYTES instead of strlen.
11923
8bba1b5c
MH
119242008-01-03 Magnus Henoch <magnus@zemdatav>
11925
11926 * dbusbind.c (xd_append_arg): Use unsigned char instead of
11927 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 11928 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 11929
a0a3805c 119302007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
11931
11932 * dbusbind.c (xd_read_message): Use non-static input_event struct.
11933
a271e124
MH
119342007-12-31 Magnus Henoch <mange@freemail.hu>
11935
11936 * dbusbind.c (xd_signature): Signature of variant is just "v".
11937
17bc8f94
MA
119382007-12-30 Michael Albinus <michael.albinus@gmx.de>
11939
87df3c32 11940 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 11941 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
11942 (XD_ERROR, XD_DEBUG_MESSAGE)
11943 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
11944 (xd_append_arg): Part for basic D-Bus types rewitten.
11945 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
11946 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
11947 appropriate.
11948 (xd_read_message): Return Qnil. Don't signal an error; it is not
11949 useful during event reading.
11950 (Fdbus_register_signal): Signal an error if the check for
11951 FUNCTIONP fails.
11952 (Fdbus_register_method): New function. The implementation is not
11953 complete, the call of the function signals an error therefore.
11954 (Fdbus_unregister_object): New function, renamed from
11955 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 11956 the object is not well formed.
17bc8f94 11957
dd6f2802
RS
119582007-12-30 Richard Stallman <rms@gnu.org>
11959
11960 * textprop.c (get_char_property_and_overlay):
11961 Signal error if POSITION is out of range in a buffer.
11962
1da8a031
MR
119632007-12-29 Martin Rudalics <rudalics@gmx.at>
11964
11965 * w32fns.c (Fx_create_frame): Make copy of frame parameters
11966 because the original parameters are in pure storage now.
11967
5742be86
YM
119682007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11969
11970 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
11971
b014713c
EZ
119722007-12-22 Eli Zaretskii <eliz@gnu.org>
11973
b17f53ab
MB
11974 * callint.c (syms_of_callint) <command-history>: Add reference to
11975 history-length in the doc string.
048addec 11976
b17f53ab 119772007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 11978
b17f53ab
MB
11979 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
11980 before passing as wParam.
048addec 11981
9af5078b
MA
119822007-12-22 Michael Albinus <michael.albinus@gmx.de>
11983
11984 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
11985 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
11986 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
11987 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
11988 as number.
11989 (Fdbus_call_method): Fix docstring.
11990
87cf1a39
MA
119912007-12-21 Michael Albinus <michael.albinus@gmx.de>
11992
11993 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
11994 New macros.
87df3c32 11995 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
11996 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
11997 Simplify.
87cf1a39
MA
11998 (xd_signature): New function.
11999 (xd_append_arg): Compute also signatures. Major rewrite.
12000 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
12001 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12002 Check for signatures of arguments.
87cf1a39 12003
54371585
MA
120042007-12-19 Michael Albinus <michael.albinus@gmx.de>
12005
12006 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12007 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12008 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12009 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12010 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 12011 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
12012 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12013 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 12014 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
12015 (xd_append_arg): New function.
12016 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12017
f5306ca3
MA
120182007-12-16 Michael Albinus <michael.albinus@gmx.de>
12019
12020 * dbusbind.c (top): Include <stdio.h>.
12021 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12022 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
12023 (Fdbus_register_signal): Rename unique_name to uname.
12024 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
12025 non-existing unique name. Fix typos in matching rule. Return an
12026 object which is useful in Fdbus_unregister_signal.
12027 (Fdbus_unregister_signal): Reimplementation, in order to remove
12028 only the corresponding entry.
12029 (Vdbus_registered_functions_table): Change the order of entries.
12030 Apply these changes in xd_read_message and Fdbus_register_signal.
12031
77a28bbf
AS
120322007-12-16 Andreas Schwab <schwab@suse.de>
12033
12034 * fileio.c (Finsert_file_contents): Fix overflow check to not
12035 depend on undefined integer overflow.
12036
2e3566d8
JR
120372007-12-14 Jason Rumney <jasonr@gnu.org>
12038
12039 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12040 for characters above 127.
12041
bf254037
JR
120422007-12-13 Jason Rumney <jasonr@gnu.org>
12043
12044 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12045 before dereferencing array.
12046 (lookup_vk_code): Remove zero comparison.
12047
eb7c7bf5
MA
120482007-12-14 Michael Albinus <michael.albinus@gmx.de>
12049
12050 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
12051 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12052 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
12053 (xd_read_message, Fdbus_register_signal): Split expressions into
12054 multiple lines before operators "&&" and "||", according to the
12055 GNU Coding Standards.
12056
34fb0fc9
EZ
120572007-12-14 Eli Zaretskii <eliz@gnu.org>
12058
12059 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12060
c7d97628
JL
120612007-12-12 Juri Linkov <juri@jurta.org>
12062
12063 * buffer.c (Frename_buffer): In interactive spec replace
12064 `read-buffer' with `read-string' that uses `buffer-name-history'
12065 as history, and the current buffer's name as default.
12066
3709505e
SM
120672007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12068
12069 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12070 manipulating the backtrace manually.
12071 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12072 (struct backtrace, backtrace_list): Remove.
12073 (command_loop_1): Remove dead var `no_direct'.
12074
12075 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12076 preserve non-built-in buffer-local variables.
12077 (Fkill_all_local_variables): Don't re-create&re-set permanent
12078 buffer-local variables.
12079
e2bec886
JL
120802007-12-09 Juri Linkov <juri@jurta.org>
12081
12082 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12083 Lisp code that uses `read-buffer' with current buffer as default.
12084
a31d47c7
MA
120852007-12-08 Michael Albinus <michael.albinus@gmx.de>
12086
12087 * dbusbind.c (xd_read_message): Generate an event for every
12088 registered handler. There might be several handlers registered
12089 for the same signal.
12090 (Fdbus_register_signal): Don't overwrite a registration for the
12091 same signal. Add a new registration if handlers are different.
12092 (Vdbus_registered_functions_table): Rework doc string.
12093
52da95fa
MA
120942007-12-07 Michael Albinus <michael.albinus@gmx.de>
12095
12096 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12097 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12098 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12099 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12100 Unify argument lists.
a0a3805c 12101 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
12102 arguments and hash table keys. Use unique name for service.
12103 (Fdbus_unregister_signal): Remove checks.
12104 (Vdbus_registered_functions_table): Fix doc string.
12105
e5e76c04 121062007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
12107
12108 * process.c (make_process): Initialize pty_flag to 0.
12109
e5e76c04 121102007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
12111
12112 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12113 specified XBMs.
12114
e5e76c04 121152007-12-05 Richard Stallman <rms@gnu.org>
048addec 12116
e5e76c04 12117 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 12118
e5e76c04 121192007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 12120
e5e76c04
MB
12121 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12122 New variable.
12123 (mac_try_close_socket) [MAC_OSX]: New function.
12124 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12125 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 12126
e5e76c04
MB
12127 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12128 Use mac_try_close_socket.
048addec 12129
e5e76c04 121302007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 12131
e5e76c04
MB
12132 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12133 reloc_base.
12134 (copy_dysymtab): Compute relocation base here.
12135 (rebase_reloc_address) [__ppc64__]: New function.
12136 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12137 changed.
048addec 12138
e5e76c04 121392007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 12140
e5e76c04 12141 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 12142
e5e76c04 121432007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 12144
e5e76c04
MB
12145 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12146 __objc_* sections.
12147 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 12148
96faeb40
MA
121492007-12-05 Michael Albinus <michael.albinus@gmx.de>
12150
12151 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12152 Move check for Vdbus_registered_functions_table to
12153 xd_read_queued_messages.
12154 (xd_read_queued_messages): Protect xd_read_message calls by
12155 internal_condition_case_1.
12156
39abdd4a
MA
121572007-12-04 Michael Albinus <michael.albinus@gmx.de>
12158
87df3c32 12159 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 12160 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 12161 (Vdbus_intern_symbols): Remove.
39abdd4a 12162 (Vdbus_registered_functions_table): New hash table.
87df3c32 12163 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 12164 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 12165 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
12166 Vdbus_registered_functions_table.
12167
880820fe 121682007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
12169
12170 * xterm.c: Update URL to Window Manager Specification in comment.
12171
033b73e2
MA
121722007-12-02 Michael Albinus <michael.albinus@gmx.de>
12173
12174 * config.in (HAVE_DBUS): Add.
12175
a0a3805c 12176 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
12177 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12178 (obj): Add $(DBUS_OBJ).
12179 (LIBES): Add $(DBUS_LIBS).
12180 (dbusbind.o): New target.
12181
12182 * dbusbind.c: New file.
12183
12184 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12185
12186 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 12187 (Qdbus_event): New Lisp symbol.
033b73e2 12188 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 12189 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
12190 (keys_of_keyboard ): Define dbus-event.
12191
12192 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12193
39d0bf74
RS
121942007-12-01 Richard Stallman <rms@gnu.org>
12195
12196 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12197
f3157c65
JR
121982007-11-30 Jason Rumney <jasonr@gnu.org>
12199
12200 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12201 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
12202 (w32_face_attributes): Don't use color indexes that are out of range.
12203 Only reverse the default colors.
f3157c65
JR
12204
12205 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12206 WINDOWSNT.
12207
12208 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12209
b510360c
JR
122102007-11-29 Jason Rumney <jasonr@gnu.org>
12211
12212 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12213 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12214 if the terminal colors are initialized.
12215 (unspecified_fg, unspecified_bg): Remove unused declarations.
12216
4b7ab1c4
AS
122172007-11-29 Andreas Schwab <schwab@suse.de>
12218
12219 * keyboard.c (apply_modifiers): Fix typo.
12220
4bb6c266
RS
122212007-11-29 Richard Stallman <rms@gnu.org>
12222
12223 * keymap.c (Fcurrent_local_map): Doc fix.
12224
aa44cd84
GM
122252007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12226
12227 * s/gnu-kfreebsd.h: New file.
12228
21ec2c43
SM
122292007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12230
cc648cef
SM
12231 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12232 Don't cast redundantly.
12233
21ec2c43
SM
12234 * keyboard.c (KEY_TO_CHAR): New macro.
12235 (parse_modifiers, apply_modifiers): Accept integer arguments.
12236 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12237 for chars and symbol keys.
12238 After doing such remapping, apply function-key-map again.
12239
73e72da4
DN
122402007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12241
12242 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12243 compiled anymore.
12244
254693ff
AS
122452007-11-26 Andreas Schwab <schwab@suse.de>
12246
12247 * process.c (list_processes_1): Fix indentation level of the
12248 command column.
12249
ff6e6ac8
AS
122502007-11-23 Andreas Schwab <schwab@suse.de>
12251
12252 * editfns.c (Fformat): Handle %c specially since it requires the
12253 argument to be of type int.
12254
f7cf8b20
SM
122552007-11-23 Markus Triska <markus.triska@gmx.at>
12256
12257 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 12258 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 12259
569c11e3
SM
122602007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12261
8787dd73
SM
12262 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12263 (find_symbol_value): Use do_symval_forwarding.
12264
569c11e3
SM
12265 * data.c (set_internal): Set the value in the `cons-cell' (for
12266 Buffer_Local_values) not only for frame-local variables.
12267
6af1696d
AS
122682007-11-22 Andreas Schwab <schwab@suse.de>
12269
12270 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12271 values to sprintf.
12272 * keymap.c (Fsingle_key_description): Likewise.
12273 * print.c (print_object): Likewise.
12274
880820fe 122752007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
12276
12277 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12278 file for image is nil.
12279
7c401d15
DN
122802007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12281
12282 * term.c: Include stdarg.h.
569c11e3 12283 (fatal): Implement using varargs.
a0a3805c 12284 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 12285
64e16c3c
SM
122862007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12287
12288 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12289 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12290 Update call to buffer_slot_type_mismatch.
12291 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12292 (buffer_slot_type_mismatch): Update.
12293 * buffer.c (buffer_local_types): Remove.
12294 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12295 (defvar_per_buffer): Set the type in the buffer_objfwd.
12296
d4aa48db 122972007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 12298
64e16c3c
SM
12299 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12300 CreateFileMapping returns NULL on failure.
5f42a7eb 12301
d4aa48db 123022007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 12303
d4aa48db
MB
12304 * search.c (Fset_match_data): Remove the `evaporate' feature.
12305 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 12306
bdae0540
JR
123072007-11-21 Jason Rumney <jasonr@gnu.org>
12308
12309 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12310
12311 * w32console.c (w32con_write_glyphs): Remove unused variables.
12312
202c09a8
DN
123132007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12314
b951420f
DN
12315 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12316
202c09a8
DN
12317 * s/darwin.h (MULTI_KBOARD): Remove.
12318
12319 * macfns.c (x_create_tip_frame, Fx_create_frame)
12320 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12321
bae72c12
SM
123222007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12323
e7c10f83
SM
12324 * buffer.c (Fbuffer_local_value): Remove redundant test.
12325 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12326 than in `current-buffer' to match the comment.
12327 Do the swap using swap_in_global_binding.
12328
136eb6ed
SM
12329 * data.c (store_symval_forwarding, set_internal):
12330 * eval.c (specbind): Remove dead code.
12331
bae72c12
SM
12332 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12333 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12334 Since we do not want to see internal Lisp_*fwd objects here.
12335
880820fe 123362007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 12337
3d66b985
JD
12338 * sysdep.c (init_system_name): Use getaddrinfo if available.
12339
95fbaefc
JD
12340 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12341 (x_scroll_bar_note_movement): start, end, with, height in struct
12342 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12343
6c1d8cb6
DN
123442007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12345
12346 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12347
30f95089
SM
123482007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12349
66b04bd4
SM
12350 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
12351 This undoes Richard's change of 14-Oct-2002.
12352
6d3f2bb2
SM
12353 * alloc.c (allocate_other_vector):
12354 * lisp.h (allocate_other_vector): Remove.
12355
b05b4e27
SM
12356 * window.c (struct save_window_data): Move non-lisp data to the end
12357 and make it `int' rather than Lisp_Object.
12358 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
12359 Done wrap/unwrap integer values.
12360 (Fset_window_configuration, compare_window_configurations):
12361 Update use of fields to their new types.
12362
056ce195
SM
12363 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
12364 Turn integer fields into `int'. Merge x_window_low and x_window_high.
12365 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
12366 (SET_SCROLL_BAR_X_WINDOW): Remove.
12367 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
12368 Access the new x_window field directly.
12369 * xterm.c (x_scroll_bar_create): Use a pseudovector.
12370 Don't wrap/unwrap integers into Lisp_Objects.
12371 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
12372 (x_scroll_bar_report_motion):
12373 Don't wrap/unwrap integers into Lisp_Objects.
12374 (x_term_init): Use SDATA.
12375 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
12376 (x_scroll_bar_set_handle, x_scroll_bar_remove)
12377 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
12378 (x_scroll_bar_report_motion, x_scroll_bar_clear):
12379 * xfns.c (x_set_background_color):
12380 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
12381 Access the new x_window field directly.
12382
30f95089
SM
12383 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
12384 (allocate_pseudovector): Make non-static.
6d3f2bb2 12385
30f95089
SM
12386 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
12387 (allocate_pseudovector): Declare.
6f69e89b 12388 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 12389
9b6112e8
AS
123902007-11-15 Andreas Schwab <schwab@suse.de>
12391
30f95089
SM
12392 * editfns.c (Fformat): Correctly format EMACS_INT values.
12393 Also take precision into account when formatting an integer.
0f860bd7 12394
9b6112e8
AS
12395 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
12396
262fcd41
SM
123972007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
12398
58da34c7
SM
12399 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
12400 (syms_of_keyboard): Defsubr it.
12401
262fcd41
SM
12402 * data.c (swap_in_global_binding): Fix longstanding bug where
12403 store_symval_forwarding was not called with the right second argument,
12404 thus causing objfwd-ing from being dropped.
12405
d29a9848
JB
124062007-11-14 Juanma Barranquero <lekktu@gmail.com>
12407
12408 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
12409 (Fx_display_pixel_height, Fx_display_planes)
12410 (Fx_display_color_cells, Fx_server_max_request_size)
12411 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12412 (Fx_display_visual_class, Fx_display_save_under):
12413 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
12414 (Fx_display_pixel_height, Fx_display_planes)
12415 (Fx_display_color_cells, Fx_server_max_request_size)
12416 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
12417 (Fx_display_mm_height, Fx_display_mm_width)
12418 (Fx_display_backing_store, Fx_display_visual_class)
12419 (Fw32_select_font, Fx_display_save_under):
12420 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
12421 (Fx_display_pixel_height, Fx_display_planes)
12422 (Fx_display_color_cells, Fx_server_max_request_size)
12423 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12424 (Fx_display_save_under): Fix typos in docstrings.
12425
74084731
JB
124262007-11-14 Juanma Barranquero <lekktu@gmail.com>
12427
12428 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
12429 corresponding to deleted entries; they are an implementation detail.
12430 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
12431 Remove variables.
12432 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
12433 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
12434 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
12435 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
12436 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 12437 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 12438 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
12439 Fix typos in docstrings.
12440 (Fx_server_version): Reflow docstring.
12441 (Fw32_shell_execute): Doc fixes.
74084731 12442
fb053a1f
JB
124432007-11-13 Juanma Barranquero <lekktu@gmail.com>
12444
12445 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
12446 if w32_parse_hot_key returned nil.
12447
a457417e 124482007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 12449
a457417e 12450 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 12451
4b219faa
JR
124522007-11-09 Jason Rumney <jasonr@gnu.org>
12453
12454 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
12455
12456 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
12457
12458 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
12459 Remove W32_SCROLL_BAR_CLICK_EVENT.
12460
12461 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
12462 Add MULTIMEDIA_KEY_EVENT.
12463
12464 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
12465 (lispy_multimedia_keys) [WINDOWSNT]: New array.
12466 (make_lispy_event) [WINDOWSNT]: Use it to translate
12467 MULTIMEDIA_KEY_EVENT.
12468
12469 * w32term.h (WM_APPCOMMAND): Define if not already.
12470 (GET_APPCOMMAND_LPARAM): Likewise.
12471
12472 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
12473 WM_APPCOMMAND.
12474
12475 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
12476 (syms_of_w32fns): Export and initialize it.
12477 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
12478
c12ecb0a 124792007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
12480
12481 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
12482 twice.
12483
12484 * xdisp.c (handle_face_prop): Fix last change.
12485
c12ecb0a 124862007-11-09 Richard Stallman <rms@gnu.org>
048addec 12487
c12ecb0a
MB
12488 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
12489 not just for after-strings and before-strings.
12490 Call face_for_overlay_string and pass the overlay to it.
12491 (handle_display_prop): Determine whether property came from an overlay.
12492 Pass OVERLAY arg to handle_single_display_spec.
12493 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
12494 (load_overlay_strings): Fill in it->string_overlays.
12495 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 12496
c12ecb0a
MB
12497 * xfaces.c (face_for_overlay_string): Function renamed from
12498 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 12499
c12ecb0a
MB
12500 * dispextern.h (struct it): New elt string_overlays.
12501 New elt from_overlay, also in stack.
12502 Rearrange a few elements.
12503 (face_for_overlay_string): Decl renamed from
12504 face_at_buffer_position_no_overlays, and add argument.
15fff01d 12505
c12ecb0a 125062007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 12507
c12ecb0a
MB
12508 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
12509 to get the base face for an overlay string.
0d8466cc 12510
c12ecb0a 12511 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 12512
c12ecb0a 12513 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 12514
c12ecb0a 12515 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 12516
c12ecb0a 125172007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 12518
c12ecb0a
MB
12519 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
12520 Fix conversion from Lisp object to ATSUFontID.
07025a55 12521
c12ecb0a 125222007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 12523
c12ecb0a 12524 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 12525
c12ecb0a 125262007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 12527
c12ecb0a
MB
12528 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
12529 Don't assume regions are aligned to page boundary.
12530 (print_load_command_name): Add LC_UUID if defined.
3a232704 12531
c12ecb0a 125322007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 12533
c12ecb0a 12534 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 12535
b8ddfbcc
JR
125362007-11-07 Jason Rumney <jasonr@gnu.org>
12537
12538 * s/windows95.h: Remove.
12539
880820fe 125402007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
12541
12542 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
12543 abort with a message on unhandled store_type values.
12544
880820fe 125452007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
12546
12547 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
12548 Remove HAVE_X11R5 and HAVE_X11R4.
12549
04a697fe
DN
125502007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12551
12552 * Makefile.in: Remove references to sunfns.c and sunfns.o.
12553
880820fe 125542007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
12555
12556 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 12557 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
12558 x_set_glyph_string_gc from x_draw_glyph_string.
12559
07e5c0b0
DN
125602007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12561
2a2e8de7 12562 * sunfns.c: Remove file.
07e5c0b0
DN
12563
12564 * m/sun386.h:
12565 * m/sun2.h:
12566 * m/sparc.h: Remove Sun windows code.
12567
1bc973c2
SM
125682007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
12569
12570 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
12571 (init_keyboard): Set current_kboard's window-system to nil.
12572 (tty_read_avail_input): Typo.
12573 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
12574
c22140f6
DN
125752007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
12576
12577 * s/usg5-4.h:
12578 * s/usg5-3.h:
12579 * s/ptx.h:
12580 * m/is386.h:
12581 * m/ibmps2-aix.h:
2a2e8de7 12582 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
12583
12584 * dispnew.c (syms_of_display): Don't mention version 10.
12585
660a8219
JB
125862007-10-28 Juanma Barranquero <lekktu@gmail.com>
12587
12588 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
12589 ($(BLD)/abbrev.$(O)): Remove.
12590
e047f448
SM
125912007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
12592
12593 Rewrite abbrev.c in Elisp.
12594 * image.c (Qcount): Don't declare as extern.
12595 (syms_of_image): Initialize and staticpro `Qcount'.
12596 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
12597 * emacs.c (main): Don't call syms_of_abbrev.
12598 * Makefile.in (obj): Remove abbrev.o.
12599 (abbrev.o): Remove.
12600 * abbrev.c: Remove.
12601
67b73e3a
MR
126022007-10-26 Martin Rudalics <rudalics@gmx.at>
12603
12604 * window.c (window_min_size_2): Don't count header-line.
12605
e3d7bd83
DN
126062007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
12607
12608 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 12609 field to take advantage of the available space. Group all the
e3d7bd83
DN
12610 chars together to reduce wasted space due to padding.
12611
a3547743
JB
126122007-10-26 Juanma Barranquero <lekktu@gmail.com>
12613
e298936f
JB
12614 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
12615
d3d47262
JB
12616 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
12617 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
12618 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
12619 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
12620 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
12621 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
12622 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
12623 (last_marked, mark_object_loop_halt): Make static.
12624
a3547743
JB
12625 * frame.c (syms_of_frame) <delete-frame-functions>:
12626 Fix typo in docstring.
12627
14c71d8b
JB
126282007-10-25 Juanma Barranquero <lekktu@gmail.com>
12629
12630 * w32.c (init_environment): Fix tiny memory leak.
66199f74 12631 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 12632
70b8d0a4
SM
126332007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
12634
12635 Make `window-system' into a keyboard-local variable (rather than
12636 frame-local as done originally by multi-tty).
12637
12638 * keyboard.h (struct kboard): Add Vwindow_system.
12639 * keyboard.c (init_kboard): Set a default for Vwindow_system.
12640 (mark_kboards): Mark Vwindow_system.
12641
12642 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
12643 (init_display): Don't set the obsolete `window-system' frame-param.
12644
12645 * xterm.c (x_term_init):
12646 * w32term.c (w32_create_terminal):
12647 * term.c (init_tty): Set Vwindow_system.
12648 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
12649 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
12650
12651 * xfns.c (Fx_create_frame, x_create_tip_frame):
12652 * w32fns.c (Fx_create_frame, x_create_tip_frame):
12653 * macfns.c (Fx_create_frame):
12654 Don't set the obsolete `window-system' frame-param.
12655
12656 * frame.h (Qwindow_system): Remove.
12657 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
12658 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
12659
fdc90613 126602007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 12661
fdc90613
MB
12662 * frame.c (x_figure_window_size): For fullscreen case,
12663 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 12664
fdc90613 12665 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 12666
fdc90613 12667 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 12668
7357cb04
SM
126692007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
12670
98228e72
SM
12671 * process.c (unwind_request_sigio): Only define if __ultrix__.
12672
1baf6db9
SM
12673 * callproc.c (child_setup): Remove spurious *.
12674
4d0ac3d7
SM
12675 * lisp.h (Fget_text_property): Declare.
12676 (have_menus_p): Declare it here rather than in sys-dep header files.
12677 * macterm.h (have_menus_p):
12678 * msdos.h (have_menus_p):
12679 * xterm.h (have_menus_p): Remove.
12680
7357cb04
SM
12681 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
12682 (Fmake_variable_frame_local): Just check the variable's const-ness
12683 rather than checking nil or t.
12684
866e6dd6
JR
126852007-10-22 Jason Rumney <jasonr@gnu.org>
12686
b00afeae
JR
12687 * w32fns.c: Include math.h.
12688 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 12689
c8f7c76b
JR
12690 * s/ms-w32.h (HAVE_STDLIB_H): Define.
12691 (abort): Redefinition moved to nt/config.nt.
12692
866e6dd6
JR
12693 * m/windowsnt.h: Remove.
12694
e79beb56
JB
126952007-10-22 Juanma Barranquero <lekktu@gmail.com>
12696
12697 * emacs.c (Fdump_emacs): Fix typo in message.
12698 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
12699 <installation-directory>: Reflow docstring.
12700
fb30dfd2
JL
127012007-10-22 Juri Linkov <juri@jurta.org>
12702
12703 * minibuf.c: Allow minibuffer default to be a list of default values.
12704 With empty input use the first element of this list as returned default.
e79beb56 12705 (string_to_object)
0f7f11b7 12706 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
12707 (read_minibuf): If defalt is cons, set histstring to its car.
12708 (Fread_string): If default_value is cons, set val to its car.
12709 (Fread_buffer): If def is cons, use its car.
12710 (Fcompleting_read): If defalt is cons, set val to its car.
12711
1f163f28
MA
127122007-10-21 Michael Albinus <michael.albinus@gmx.de>
12713
12714 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
12715
db3534c3
JB
127162007-10-20 Juanma Barranquero <lekktu@gmail.com>
12717
12718 * doc.c (Fdocumentation): Check for advice in all cases.
12719
c6f18a07
CY
127202007-10-19 Chong Yidong <cyd@stupidchicken.com>
12721
12722 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
12723
2a1534d3
RS
127242007-10-19 Richard Stallman <rms@gnu.org>
12725
12726 * doc.c (Fdocumentation): Check for and handle an advised function.
12727
7b82c3b6
JB
127282007-10-19 Juanma Barranquero <lekktu@gmail.com>
12729
12730 * process.c (Fset_process_filter): Doc fix.
12731
3278f20e
SM
127322007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
12733
12734 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
12735 which caused key-translation-map to applied repeatedly (thus breaking
12736 double-mode).
12737
99784d63
SM
127382007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12739
12740 * xselect.c (x_own_selection, x_handle_selection_clear)
12741 (x_clear_frame_selections):
12742 * w32menu.c (list_of_panes, list_of_items):
12743 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
12744 * textprop.c (validate_plist, interval_has_all_properties)
12745 (interval_has_some_properties, interval_has_some_properties_list)
12746 (add_properties, text_property_list):
12747 * process.c (Fget_buffer_process, list_processes_1, status_notify):
12748 * minibuf.c (Fassoc_string):
12749 * macselect.c (x_own_selection, x_clear_frame_selections)
12750 (Fx_disown_selection_internal):
12751 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
12752 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
12753
44bb704d
CY
127542007-10-17 Chong Yidong <cyd@stupidchicken.com>
12755
12756 * process.c: Link to libs for calling res_init() if available.
12757 (Fmake_network_process): Call res_init() before getaddrinfo or
12758 gethostbyname, if possible.
12759
d314756e
SM
127602007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
12761
2504022a
SM
12762 * lread.c (read1): Set pvectype for char_tables.
12763
19fa82b9
SM
12764 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
12765 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
12766 Add type checks.
12767 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
12768
d314756e
SM
12769 * alloc.c (free_misc): Use XMISCTYPE.
12770 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
12771
94b9aaa2
GM
127722007-10-17 Glenn Morris <rgm@gnu.org>
12773
12774 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
12775 (syms_of_minibuf): Add Qcompletion_ignore_case.
12776 * dired.c (Qcompletion_ignore_case): Change to external.
12777 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
12778 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
12779 (Fread_file_name): Use it rather than intern'ing.
12780
12781 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
12782 (Fread_coding_system): Ignore case of user input.
12783
da6658e8
YM
127842007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12785
12786 * xdisp.c (handle_display_prop): Ignore display specs after
12787 replacing one when string text is being replaced.
12788 (handle_single_display_spec): Pretend as if characters with display
12789 property haven't been consumed only when buffer text is being replaced.
12790
11fb4bdb
SM
127912007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
12792
9beb8baa
SM
12793 * xfns.c (Fx_create_frame, Fx_display_list):
12794 * window.c (window_fixed_size_p, enlarge_window)
12795 (shrink_window_lowest_first):
12796 * macterm.c (init_font_name_table):
12797 * macfns.c (Fx_create_frame, Fx_display_list):
12798 * lread.c (close_load_descs):
12799 * keyboard.c (read_char_x_menu_prompt):
12800 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
12801 * coding.c (code_convert_region_unwind): Test the type of an object
12802 rather than just !NILP before extracting data from it.
12803
d3f41ff5
SM
12804 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
12805
67ee9f6e
SM
12806 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
12807 (XMISCANY): New macro.
12808 (XMISCTYPE): Use it.
12809 (struct Lisp_Misc_Any): New type.
12810 (union Lisp_Misc): Use it.
12811 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
12812 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
12813 (find_symbol_value, set_internal, default_value, Fset_default)
12814 (Fmake_variable_buffer_local, Fmake_local_variable)
12815 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
12816 (Flocal_variable_if_set_p, Fvariable_binding_locus):
12817 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
12818 * alloc.c (allocate_buffer): Set the size and tag.
12819 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
12820 Use XMISCANY.
12821 (die): Follow the GNU convention for error messages.
12822 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
12823 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
12824 tag any more.
12825 (set_buffer_internal_1):
12826 * frame.c (store_frame_param):
12827 * eval.c (specbind):
12828 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
12829
11fb4bdb
SM
12830 * doc.c (Fsnarf_documentation): Simplify.
12831
decb374a
JB
128322007-10-14 Juanma Barranquero <lekktu@gmail.com>
12833
12834 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
12835 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
12836
b5a40ee7
SM
128372007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
12838
12839 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
12840
35277b03
JB
128412007-10-14 Juanma Barranquero <lekktu@gmail.com>
12842
12843 * eval.c (do_autoload): Don't save autoloads.
12844
12845 * data.c (Ffset): Save autoload of the function being set.
12846
35fdaa62
GM
128472007-10-07 John Paul Wallington <jpw@pobox.com>
12848
12849 * xfns.c (x_create_tip_frame): Set the `display-type' frame
12850 parameter before setting up faces.
12851
1ea40aa2
EZ
128522007-10-13 Eli Zaretskii <eliz@gnu.org>
12853
35fdaa62 12854 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
12855 * keyboard.c (append_tool_bar_item): Reformat last change.
12856
1ea40aa2
EZ
12857 * lisp.h (eabs): Rename from `abs'. All callers changed.
12858
35277b03 128592007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
12860
12861 * buffer.c (add_overlay_mod_hooklist):
12862 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
12863 * fontset.c (make_fontset):
12864 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
12865 (append_tool_bar_item):
12866 * macmenu.c (grow_menu_items):
35fdaa62 12867 * w32menu.c (grow_menu_items):
71d00ce4 12868 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 12869
bc82f120
EZ
128702007-10-13 Eli Zaretskii <eliz@gnu.org>
12871
12872 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
12873 selected frame'' on MSDOS).
12874
d57d5a78
MR
128752007-10-12 Martin Rudalics <rudalics@gmx.at>
12876
12877 * frame.c (Qexplicit_name): New variable.
12878 (x_report_frame_params): Report it in parameter alist.
12879 (syms_of_frame): Intern and staticpro it.
12880
35277b03 128812007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
12882
12883 * macfns.c (x_create_tip_frame): Set terminal for frame.
12884
c7a4b95b
SM
128852007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
12886
26f9c7b7
SM
12887 * frame.c (Qenvironment): Remove.
12888 (syms_of_frame) <Qenvironment>: Don't initialize.
12889 (Fdelete_frame): Don't treat the `environment' param specially.
12890 * frame.h (Qenvironment): Don't declare.
12891 * callproc.c (set_initial_environment): Don't set unused frame param.
12892
c7a4b95b
SM
12893 * frame.c (Fframe_with_environment): Remove.
12894 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 12895
c7a4b95b
SM
12896 * lisp.h (Fframe_with_environment): Don't declare.
12897
c86f7377
JB
128982007-10-10 Juanma Barranquero <lekktu@gmail.com>
12899
12900 * indent.c (indent_tabs_mode, last_known_column)
12901 (last_known_column_modified): Make static.
12902 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
12903
d1b3a122
KY
129042007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
12905
12906 * puresize.h (BASE_PURESIZE): Increase to 1170000.
12907
d57d5a78
MR
129082007-10-09 Jason Rumney <jasonr@gnu.org>
12909
12910 * w32term.c (x_set_window_size): Disable code that attempts to tell
12911 Lisp code about a size change before it actually happens.
12912
81d3d428 129132007-10-09 Richard Stallman <rms@gnu.org>
91175673 12914
81d3d428
MB
12915 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
12916 return HANDLED_RETURN.
91175673 12917
1af74d06 129182007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 12919
1af74d06
MB
12920 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
12921 when there's an unread command event.
e0fead5d 12922
c7a4b95b 12923 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
12924 window autoselection act appropriately when leaving selected frame.
12925 (syms_of_frame): Initialize focus_follows_mouse.
12926 * frame.h (focus_follows_mouse): Extern it.
12927 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 12928 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
12929 * msdos.c (dos_rawgetc): Likewise.
12930 * w32term.c (w32_read_socket): Likewise.
12931 * xterm.c (handle_one_xevent): Likewise.
12932 * xdisp.c (syms_of_xdisp): In doc-string of
12933 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 12934
1af74d06 129352007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 12936
1af74d06
MB
12937 * macterm.c (mac_load_query_font): Fix missing return value.
12938 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
12939 Add BLOCK_INPUT.
c186cdb3 12940
1af74d06 129412007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 12942
1af74d06
MB
12943 * xdisp.c (get_window_cursor_type): Implement documented behavior
12944 for cursor-in-non-selected-windows = t.
c186cdb3 12945
1af74d06 129462007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 12947
1af74d06 12948 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 12949
1af74d06 129502007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 12951
1af74d06 12952 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 12953
1af74d06 12954 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 12955
1af74d06 129562007-10-08 Richard Stallman <rms@gnu.org>
a3c83618 12957
c7a4b95b 12958 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 12959
1af74d06 129602007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 12961
1af74d06 12962 * buffer.c (Foverlays_at): Doc fix.
036e218d 12963
1af74d06 129642007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 12965
1af74d06 12966 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 12967
1af74d06 129682007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 12969
1af74d06 12970 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 12971
1af74d06 12972 * frame.h (enum): Remove trailing comma.
90647b07 12973
8993ad2e 129742007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 12975
1af74d06 12976 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 12977
1af74d06 129782007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 12979
1af74d06 12980 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 12981
1af74d06
MB
12982 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
12983 last-repeatable-command.
12984 (init_kboard): Initialize Vlast_repeatable_command.
12985 (command_loop_1): Set it to real_this_command unless that was
12986 bound to an input event.
12987 (mark_kboards): Mark it.
9fbc32aa 12988
1af74d06 129892007-10-08 Richard Stallman <rms@gnu.org>
036e218d 12990
1af74d06 12991 * eval.c (condition-case): Doc fix.
9fbc32aa 12992
1af74d06 129932007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 12994
1af74d06
MB
12995 * xfaces.c (tty_supports_face_attributes_p): Fix code
12996 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
12997 was copied and not edited.
9fbc32aa 12998
beb9f745
SM
129992007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13000
c86f7377 13001 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
13002 escape sequences.
13003 * keyboard.h (struct kboard): Add Vinput_decode_map.
13004 Remove Vlocal_key_translation_map.
13005 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13006 (init_kboard): Init input-decode-map.
13007 Replace local-key-translation-map back with key-translation-map.
13008 (syms_of_keyboard): Declare input-decode-map.
13009 Remove local-key-translation-map. Update docstrings.
13010 (mark_kboards): Mark Vinput_decode_map.
13011 Don't mark Vlocal_key_translation_map.
13012 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13013 Replace local-key-translation-map back with key-translation-map.
13014 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13015 Bind in input-decode-map rather than function-key-map.
13016
beb9f745
SM
13017 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13018 This was made redundant by the previous introduction of XSETPVECTYPE.
13019
65342ae3
RS
130202007-10-09 Richard Stallman <rms@gnu.org>
13021
beb9f745 13022 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
13023
130242007-09-29 Richard Stallman <rms@gnu.org>
13025
13026 * eval.c (internal_condition_case_2, internal_condition_case_1)
13027 (internal_condition_case): Reenable abort if x_catching_errors ()
13028 to see if that really happens and why.
13029
6cff77fd
AS
130302007-10-06 Andreas Schwab <schwab@suse.de>
13031
13032 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13033
bbe6f2aa
JB
130342007-10-04 Juanma Barranquero <lekktu@gmail.com>
13035
13036 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13037
a390930c
SM
130382007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13039
13040 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13041
d6aa1876
SM
130422007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13043
d0fdb6da
SM
13044 * window.h (struct window):
13045 * window.c (struct save_window_data, struct saved_window):
13046 * termhooks.h (struct terminal):
13047 * process.h (struct Lisp_Process):
13048 * frame.h (struct frame):
13049 * buffer.h (struct buffer):
13050 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13051 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13052 The size field of (pseudo)vectors is now unsigned.
13053 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13054
878f97ff
SM
13055 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13056 Turn `count' into an integer.
d0fdb6da 13057
878f97ff
SM
13058 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13059 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13060 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13061 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13062 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13063
d2029e5b
SM
13064 * alloc.c (allocate_pseudovector): New fun.
13065 (ALLOCATE_PSEUDOVECTOR): New macro.
13066 (allocate_window, allocate_terminal, allocate_frame)
13067 (allocate_process): Use it.
13068 (mark_vectorlike): New function.
13069 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13070 (mark_terminals): Use it.
13071 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13072 (Fmake_byte_code): Use XSETPVECTYPE.
13073
13074 * frame.c (Fframe_parameters): Minor simplification.
13075
13076 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13077
13078 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13079
13080 * buffer.c (Fget_buffer_create, init_buffer_once):
13081 * lread.c (defsubr):
13082 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13083
13084 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13085 defined differently in the m/*.h files.
13086 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13087 (XSETPVECTYPE): New macro.
13088 (XSETPSEUDOVECTOR): Use it.
13089
d6aa1876
SM
13090 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13091 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 13092
d6aa1876
SM
13093 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13094 * lread.c (defvar_per_buffer):
13095 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13096
13097 * window.c (candidate_window_p): Only consider as visible frames that
13098 are on the same terminal.
13099
13100 * m/ibms390x.h (MARKBIT): Remove unused macro.
13101
88852d45
JB
131022007-10-01 Juanma Barranquero <lekktu@gmail.com>
13103
13104 * lread.c (Fload): Fix typo in docstring.
13105
880820fe 131062007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
13107
13108 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13109 of a non-zero value can't yield zero.
13110
ed0c79c6
SM
131112007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13112
b870aa61
SM
13113 * term.c (term_clear_mouse_face, term_mouse_highlight)
13114 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13115
4c37a414
SM
13116 * print.c (safe_debug_print): Use XHASH.
13117
b9466edb
SM
13118 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13119 Lisp elements such as tags.
13120 (XHASH): New macro.
13121 (EQ): Use it.
13122 (SREF, SSET, STRING_COPYIN): Use SDATA.
13123 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13124
9c545a55
SM
13125 * alloc.c (mark_terminal): Remove left-over declaration.
13126 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13127 (allocate_vectorlike): Remove type argument. Adjust callers.
13128 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13129 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13130
dafc79fa
SM
13131 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13132 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13133 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13134 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13135 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13136 Use them.
13137
ed0c79c6
SM
13138 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13139 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13140 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13141
3c81afd4
DN
131422007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13143
13144 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13145 loaded by default.
13146
6178ce5e
SM
131472007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13148
4ce5ab77
SM
13149 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13150 on this tty.
13151 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13152
6178ce5e
SM
13153 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13154 Update all users.
13155 (handle_one_term_event): Use Gpm_DrawPointer.
13156 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13157 Signal errors instead of returning nil. Always return nil.
13158 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13159 Make it a noop if gpm-mouse was not activated.
13160 (syms_of_term): Update names.
13161
bdf5f8ef
SM
131622007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13163
75a8734b
SM
13164 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13165 (init_sys_modes): Check that gpm_tty is the current tty.
13166
13559ee0
SM
13167 * alloc.c (allocate_terminal): Set the vector size to only count the
13168 lisp fields. Initialize those to nil.
13169 (mark_object): Don't treat terminals specially.
13170 (mark_terminal): Remove.
13171 (mark_terminals): Use mark_object instead.
13172
ff16b875
SM
13173 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13174 the GC to the beginning.
13175
83155776
SM
13176 * indent.h:
13177 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13178
bdf5f8ef
SM
13179 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13180
ec8705b6
JR
131812007-09-25 Jason Rumney <jasonr@gnu.org>
13182
13183 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13184
13185 * w32console.c (create_w32cons_output): Remove.
13186
13187 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13188
13189 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13190 (reset_sys_modes): Use reset_terminal_modes_hook.
13191
7351b242
SM
131922007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13193
13194 * eval.c (do_autoload): Don't output any message.
13195
16706228
JL
131962007-09-24 Juri Linkov <juri@jurta.org>
13197
13198 * emacs.c (standard_args): Change priority of "--no-splash"
13199 from 40 to 3. Add "--no-desktop" with the same priority.
13200
3ae2e3a3
RS
132012007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13202
13203 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13204 and optimize the case where they are all 1.
13205
7a58fb43
GM
132062007-09-23 Johannes Weiner <hannes@saeurebad.de>
13207
3ae2e3a3
RS
13208 * lisp.h (abs): Define if not defined.
13209 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13210 Don't define `abs', since it's defined in lisp.h.
7a58fb43 13211
78048085
EZ
132122007-09-22 Eli Zaretskii <eliz@gnu.org>
13213
c7a4b95b 13214 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
13215 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13216 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13217 (init_tty): Use DEV_TTY instead of "/dev/tty".
13218 [WINDOWSNT]: No need to protect from NAME arg being null.
13219
23d4cba5
DN
132202007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13221
13222 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13223 up the tty state.
13224
71f44e7a
SM
132252007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13226
13227 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13228 (gpm_tty): Change its type.
13229 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13230 (gpm_tty): Change its type and initialize it.
13231 (Fterm_open_connection): Check the frame is indeed a tty.
13232 Use the new gpm_tty.
13233 (Fterm_close_connection): Use the new gpm_tty.
13234 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13235 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13236
def7fa34
JB
132372007-09-21 Juanma Barranquero <lekktu@gmail.com>
13238
13239 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13240 underline_color, to draw strike-through.
13241
d2bb6598
SM
132422007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13243
273f164c
SM
13244 * lisp.h (allocate_terminal): Declare.
13245
ca2d5566
SM
13246 * window.c (candidate_window_p): Consider frames that are being placed
13247 by the user as somewhere between visible and iconified.
13248 (window_loop): Prefer windows on the current frame.
13249 (Fselect_window): Move the use of select-frame to the beginning so we
13250 can just delegate all the work (it'll call us back anyway).
13251
6168122d
SM
13252 * frame.c (Qdisplay_environment_variable):
13253 * frame.h (Qdisplay_environment_variable): Delete.
13254
c51842ec
SM
13255 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13256 of the first arg, since that value may be a union.
13257
d2bb6598
SM
13258 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13259 parameter rather than Qdisplay_environment_variable. If all else
13260 fails, look for DISPLAY in initial-environment.
13261
6f022c19
GM
132622007-09-21 Glenn Morris <rgm@gnu.org>
13263
13264 * Makefile.in (emacstool): Remove target.
f466320b 13265 (lisp, shortlisp): Remove termdev.elc.
6f022c19 13266
ea1bf8c7
GM
132672007-09-21 Markus Triska <markus.triska@gmx.at>
13268
d2bb6598 13269 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 13270
d30a25b3
SM
132712007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13272
db699fc6
SM
13273 * callproc.c (getenv_internal_1): New function.
13274 (getenv_internal): Use it.
13275 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13276
d2bb6598 13277 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
13278 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13279 (Fset_terminal_parameter): Work with dead terminals as well.
13280 (Fmodify_terminal_parameters): Remove.
13281
d30a25b3
SM
13282 * terminal.c (get_terminal): Handle terminals.
13283 Make sure the terminal returned is live.
13284 (create_terminal): Use allocate_terminal.
13285 (mark_terminals): Move to alloc.c.
13286 (delete_terminal): Use terminal->name as liveness status.
13287 NULL out fields after freeing their contents.
13288 Don't deallocate the object.
13289 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13290 rather than an int.
13291 (Fterminal_live_p): Accept non-integer arguments.
13292 (Fterminal_list): Return terminal objects rather than an ints.
13293
13294 * alloc.c (enum mem_type): New member for `terminal' objects.
13295 (allocate_terminal): New function.
d2bb6598
SM
13296 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13297 Handle terminals.
d30a25b3
SM
13298 (mark_terminal): New fun.
13299 (mark_terminals): Move from terminal.c.
13300
13301 * term.c (get_tty_terminal): Don't treat output_initial specially.
13302 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13303 (delete_tty): Use terminal->name as liveness status.
13304
13305 * termhooks.h (struct terminal): Make it into a pseudovector.
13306 Remove `deleted' replaced by checking `name's nullness.
13307
13308 * print.c (print_object): Handle terminals.
13309
13310 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13311 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13312
13313 * frame.c (make_terminal_frame):
13314 * keyboard.c (tty_read_avail_input):
13315 * w32term.c (x_delete_terminal):
13316 * xfns.c (Fx_create_frame, x_create_tip_frame):
13317 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13318
eba25e7c
GM
133192007-09-20 Glenn Morris <rgm@gnu.org>
13320
13321 * process.c (Fmake_network_process): Doc fix.
13322
2a29c3c1
JR
133232007-09-19 Jason Rumney <jasonr@gnu.org>
13324
13325 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13326
880820fe 133272007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
13328
13329 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13330 Fix a C warning regarding variable constness.
13331
13332 * xterm.c (handle_one_xevent): Fix a C warning.
13333
334a1195
JR
133342007-09-18 Jason Rumney <jasonr@gnu.org>
13335
13336 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13337
880820fe 133382007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
13339
13340 * gtkutil.c (gdpy_def): New variable.
13341 (xg_initialize): Initialize gdpy_def.
13342 (xg_display_close): If no other display exists, set gdpy_def to a
13343 new connection.
13344
880820fe 133452007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
13346
13347 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13348 when we have no file name for the icon.
13349 (xg_tool_bar_expose_callback): Remove.
13350 (xg_create_tool_bar): Don't connect expose signal to
13351 xg_tool_bar_expose_callback.
13352 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
13353
4d580af2
AS
133542007-09-16 Andreas Schwab <schwab@suse.de>
13355
13356 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
13357 values instead of zapping them.
13358
aca946f3
GM
133592007-09-14 Glenn Morris <rgm@gnu.org>
13360
13361 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
13362 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
13363 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
13364 scope and rename to omfib_buffer for clarity.
13365 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
13366
25c460e5
KH
133672007-09-14 Kenichi Handa <handa@m17n.org>
13368
13369 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
13370
09b69f01
JR
133712007-09-13 Jason Rumney <jasonr@gnu.org>
13372
13373 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
13374
13375 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
13376
13377 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
13378 (mac_term_init): Call here instead, passing rif.
13379
442218db
GM
133802007-09-13 Glenn Morris <rgm@gnu.org>
13381
13382 * s/hpux.h: No longer define `static' as nothing.
13383
880820fe 133842007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
13385
13386 * callint.c (Fcall_interactively): Remove unused var `fun'.
13387
1971a872
RF
133882007-09-12 Romain Francoise <romain@orebokech.com>
13389
13390 * window.c (prefer_window_split_horizontally, display_buffer):
13391 Revert 2007-09-08 change.
13392
2d33f506
GM
133932007-09-12 Glenn Morris <rgm@gnu.org>
13394
585474ae 13395 * alloca.c: Remove file.
ca7af97a
GM
13396 * Makefile.in (alloca): Do not undef.
13397 (allocaobj, alloca.o): Remove.
13398 (otherobj): Remove allocaobj.
13399 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
13400 * regex.c (C_ALLOCA): Remove all references and code that was only
13401 used when this was defined.
13402 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
13403 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
13404 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
13405
2d33f506 13406 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
13407
13408 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
13409 (menu_grab_callback): All uses changed.
13410
13411 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
13412 (x_reply_selection_request): All uses changed.
2d33f506 13413
18a4a65e
SM
134142007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
13415
13416 * lread.c (load_warn_old_style_backquotes): Change message to look
13417 better when it appears in the middle of byte-compiler messages.
13418
47cc8819
DN
134192007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
13420
b7ea0894
DN
13421 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
13422
47cc8819
DN
13423 * xterm.c (x_create_terminal): Add comment.
13424
13425 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
13426
5632bd0f
RS
134272007-09-10 Richard Stallman <rms@gnu.org>
13428
13429 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
13430
880820fe 134312007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 13432
4bca9161
MC
13433 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
13434 (DEFUN): Document `intspec', use it instead of `prompt'.
13435
04724b69
MC
13436 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
13437
8a6d230a
MC
13438 * data.c (Finteractive_form): If the interactive specification starts
13439 with a `(', use it as a Lisp form.
13440
09fbdf6c
MC
13441 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
13442 name and file modes.
13443
ccb5c14f
MC
13444 * callint.c (Fcall_interactively): Comment fixes.
13445
023accd6
SM
134462007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
13447
13448 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
13449 and compiled functions.
13450
f26b9544
EZ
134512007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
13452
13453 * window.c (prefer_window_split_horizontally): New variable.
13454 (display_buffer): Consider splitting window horizontally depending
13455 on prefer_window_split_horizontally.
13456
4d395425
EZ
134572007-09-08 Eli Zaretskii <eliz@gnu.org>
13458
97ddc760 13459 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 13460
08c1d235
SM
134612007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13462
179cef48
SM
13463 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
13464
08c1d235
SM
13465 * frame.c (x_set_frame_parameters): Check number is positive before
13466 using XFASTINT.
13467
13468 * window.c (freeze_window_start): Don't presume selected_window holds
13469 a window object.
92f94a12 13470 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 13471
97ddc760 134722007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
13473
13474 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
13475
90ab5c62
SM
134762007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13477
13478 * window.c (Vsplit_window_preferred_function): New var.
13479 (Fdisplay_buffer): Use it.
13480 (syms_of_window): Export, and initialize it.
13481
1ab2cd43
TTN
134822007-09-06 Pixel <pixel@mandriva.com> (tiny change)
13483
13484 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
13485
0b0515bc
GM
134862007-09-06 Glenn Morris <rgm@gnu.org>
13487
57fd5c55 13488 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
13489 * xselect.c (x_reply_selection_request) <cnt>: Move static
13490 variable to file scope.
13491
98594580
SM
134922007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
13493
13494 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
13495 consistent values of selected_frame and selected_window.
13496
0f4c7aef
JR
134972007-09-04 Jason Rumney <jasonr@gnu.org>
13498
13499 * w32console.c (initialize_w32_display): Zero unused hooks.
13500
e4019195
DN
135012007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13502
13503 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
13504 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
13505
bce179b5
JR
135062007-09-04 Jason Rumney <jasonr@gnu.org>
13507
a0236551
JR
13508 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
13509 in w32console.c. Set up input. Remove XXX comments that have been
13510 confirmed as correct.
13511
a4926668
JR
13512 * s/ms-w32.h (MULTI_KBOARD): Define.
13513
953bf0dc
JR
13514 * w32console.c (one_and_only_w32cons): Remove.
13515 (initialize_w32_display): Take terminal argument.
13516
13517 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
13518 initialize_w32_display.
13519 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
13520
bce179b5
JR
13521 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
13522
13523 * keyboard.c (discard_mouse_events): Discard it.
13524 (make_lispy_event): Translate it to a lisp event.
13525 (lispy_wheel_names): Add wheel-left and right events.
13526 (syms_of_keyboard): Enlarge wheel_syms.
13527
13528 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
13529 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
13530
13531 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
13532
13533 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
13534 from WM_MOUSEHWHEEL.
13535 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
13536
13537 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
13538 terminal.
13539
13540 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
13541 keyboard for the terminal.
13542
92cd6a7c
DN
135432007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13544
13545 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
13546 (Vresume_tty_hook): Rename from Vresume_tty_functions.
13547 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
13548 and resume-tty-function to resume-tty-hook.
13549 (Fsuspend_tty, Fresume_tty): Use new names.
13550
880820fe 135512007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
13552
13553 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
13554 if it starts with "n:".
13555
880820fe 135562007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
13557
13558 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
13559
6b8e474c
SM
135602007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
13561
92d9c1d4
SM
13562 * frame.h:
13563 * frame.c (Qterm_environment_variable): Remove.
13564 (syms_of_frame): Don't init and staticpro it.
13565
92d9c1d4
SM
13566 * callproc.c (getenv_internal): Remove special case for $TERM.
13567
6b8e474c
SM
13568 * callproc.c (Vinitial_environment): New variable.
13569 (set_initial_environment): Initialize it.
13570 (syms_of_callproc): Declare it.
13571 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
13572 TERM under which a process runs is never related to the TERM in which
13573 Emacs is running.
13574
0f1444e1
DN
135752007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13576
13577 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
13578 * s/darwin.h: ... do it here.
13579
b8866860
SM
135802007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
13581
13582 * lisp.h (set_initial_environment): Rename from set_global_environment.
13583
13584 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
13585 removed by mistake on the multi-tty branch.
13586
13587 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
13588 (Fmodify_frame_parameters): Return a value.
13589
13590 * image.c (png_load): Comment-out var only used in commented-out code.
13591
13592 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
13593 before passing it to mark_object.
13594
13595 * xfaces.c (internal_resolve_face_name): Return a value.
13596 (internal_resolve_face_name, resolve_face_name_error): Comment out.
13597
13598 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
13599 (x_icon): Comment-out var only used in commented-out code.
13600
0a42be6d
RF
136012007-08-29 Romain Francoise <romain@orebokech.com>
13602
13603 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
13604 QUIT hasn't been provided.
13605
8d9cc0b7
MB
136062007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13607
13608 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 13609 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
13610 (set_initial_environment): Initialise Vprocess_environment.
13611
13612 * config.in: Disable multi-keyboard support on a mac.
13613
13614 * frame.c (Qterm_environment_variable)
13615 (Qdisplay_environment_variable): New variables.
13616 (syms_of_frame): Intern and staticpro them.
13617 (Fmake_terminal_frame): Disable output method test.
13618
13619 * frame.h: Declare them here.
13620
13621 * macfns.c (x_set_mouse_color): Get rif from the frame.
13622 (x_set_tool_bar_lines): Don't use updating_frame.
13623 (mac_window): Add 2 new parameters for consistency with other systems.
13624 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
13625 frame parameters following what is done in X11 and w32. Don't use
13626 FRAME_MAC_DISPLAY_INFO.
13627 (Fx_open_connection, start_hourglass): Remove window-system check.
13628 (x_create_tip_frame): Get the keyboard from the terminal.
13629
13630 * macmenu.c: Reorder includes.
13631 (Fx_popup_menu): Use terminal specific mouse_position_hook.
13632
13633 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
13634 terminal parameter.
13635 (x_clear_frame): Add a frame parameter.
13636 (note_mouse_movement): Get rif from the frame.
13637 (mac_term_init): Initialize the terminal.
13638 (mac_initialize): Make static and move terminal initialization ...
13639 (mac_create_terminal): ... to this new function.
13640
13641 * macterm.h (struct mac_display_info): Add terminal.
7196c970 13642 (mac_initialize): Delete declaration.
8d9cc0b7 13643
381864b2 13644 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
13645
13646 * sysdep.c: Comment out text after #endif.
13647
13648 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
13649 is defined. Better initialize ttys in windows. Use terminal
13650 specific mouse_position_hook.
13651
13652 * termhooks.h (union display_info): Add mac_display_info.
13653
b8866860
SM
13654 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
13655 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
13656 frame parameters following what is done in X11.
13657
13658 * w32term.c (w32_initialize): Make static.
13659
13660 * xselect.c (x_handle_selection_clear): Only access
13661 terminal->kboard when MULTI_KBOARD is defined.
13662
13663 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
13664 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
13665
136662007-08-29 Jason Rumney <jasonr@gnu.org>
13667
13668 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
13669 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
13670
13671 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
13672 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
13673
13674 * keyboard.c (restore_kboard_configuration): Only define when
13675 MULTI_KBOARD defined.
13676
35277b03 13677 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
13678 (OBJ1): Add terminal.$(O)
13679
b8866860
SM
13680 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
13681 Don't define function body.
8d9cc0b7
MB
13682 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
13683
13684 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
13685
13686 * w32.c (request_sigio, unrequest_sigio): Remove.
13687
13688 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
13689 (w32con_clear_frame, w32con_clear_end_of_line)
13690 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
13691 (w32con_delete_glyphs, w32con_set_terminal_window)
13692 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
13693 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
13694 Add terminal arg.
8d9cc0b7
MB
13695 (PICK_FRAME): Remove.
13696 (w32con_write_glyphs): Use frame specific terminal coding.
13697 (one_and_only_w32cons): New global variable.
13698 (initialize_w32_display): Use it for storing hooks.
13699 (create_w32cons_output): New function.
13700
13701 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
13702 arg a frame.
13703
b8866860
SM
13704 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
13705 Set window_system.
8d9cc0b7
MB
13706 (x_set_tool_bar_lines): Don't use updating_frame.
13707 (Fx_create_frame): Set terminal and ref count.
13708 (Fx_open_connection): Remove window-system check.
13709
13710 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
13711
13712 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
13713 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
13714 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
13715 Add frame arg.
13716 (x_delete_terminal, w32_create_terminal): New functions.
13717 (w32_term_init): Create a terminal.
13718 (w32_initialize): Move terminal specific initialization to
13719 w32_create_terminal.
13720
b8866860 13721 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
13722 (w32_clear_rect, w32_clear_area): Use background from frame.
13723 (w32_display_info): Add terminal.
13724 (w32_sys_ring_bell, x_delete_display): Declare here.
13725
13726 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
13727
13728 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
13729
137302007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
13731
13732 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
13733 Fix get_named_tty calls for the controlling tty.
13734
137352007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
13736
13737 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
13738
137392007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
13740
13741 * term.c (tty_insert_glyphs): Add missing first parameter.
13742
880820fe 137432007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 13744
b8866860
SM
13745 * buffer.c (Fbuffer_list, Fbury_buffer):
13746 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
13747
13748 * cm.c (current_tty): New variable, for cmputc().
13749 (cmputc): Use it.
13750 (cmcheckmagic): Add tty parameter, look up terminal streams there.
13751 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
13752 (cmgoto): Add tty parameter. Pass it on to calccost().
13753 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
13754
13755 * cm.h (emacs_tputs): New macro to set current_tty, and then call
13756 tputs().
13757 (current_tty): New variable, for cmputc().
13758 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
13759
13760 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
13761 (internal_condition_case, internal_condition_case_1)
13762 (internal_condition_case_2): Don't abort when x_catching_errors.
13763
13764 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
13765 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
13766 prevent crashes caused by bogus longjmps in read_char.
13767
13768 * keymap.h (Fset_keymap_parent): Add EXFUN.
13769
13770 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
13771 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13772 Remove redundant definition.
13773
b8866860
SM
13774 * macfns.c (x_set_mouse_color, x_make_gc):
13775 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 13776
b8866860
SM
13777 * w32term.c (x_free_frame_resources):
13778 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
13779 (w32_initialize): Use the accessor macros for terminal characteristics.
13780
13781 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
13782 Use the accessor macros for terminal characteristics.
13783 * msdos.c (internal_terminal_init): Use the accessor macros for
13784 terminal characteristics.
b8866860
SM
13785 (ScreenVisualBell, internal_terminal_init):
13786 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
13787
13788 * termopts.h (no_redraw_on_reenter): Declare.
13789
13790 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 13791 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 13792 (Fgarbage_collect): Call them.
03f06e5c 13793 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
13794
13795 * prefix-args.c: Include stdlib.h for exit.
13796
13797 * syssignal.h: Add comment.
13798
13799 * indent.c: Include stdio.h.
13800
13801 * window.h (Vinitial_window_system): Declare.
13802 (Vwindow_system): Delete declaration.
13803
13804 * fontset.c (Finternal_char_font): Use FRAME_RIF.
13805
13806 * image.c (lookup_image): Don't initialize `c' until the xasserts
13807 have been run.
13808
13809 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
13810 FRAME_FOREGROUND_PIXEL.
13811
13812 * print.c (print_preprocess): Don't lose print_depth levels while
13813 iterating.
13814
b8866860
SM
13815 * widget.c (update_from_various_frame_slots):
13816 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
13817
13818 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
13819 frames.
13820 (window_internal_height): Remove bogus make_number call.
b8866860 13821 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
13822
13823 * fileio.c (Fread_file_name): Update comment.
13824
b8866860
SM
13825 * callint.c (Fcall_interactively):
13826 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
13827 Make sure it is correctly unwound.
13828
13829 * xsmfns.c (x_session_close): New function.
13830
03f06e5c 13831 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
13832 Delete declarations.
13833
13834 * xterm.h: Remove declaration for x_fully_uncatch_errors.
13835 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 13836 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 13837 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
13838
13839 * lread.c: Include setjmp.h. Update declaration of `read_char'.
13840 (read_filtered_event): Call `read_char' with a local
13841 `wrong_kboard_jmpbuf'.
13842
b8866860
SM
13843 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
13844 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
13845
13846 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
13847 systems.
13848
b8866860 13849 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 13850 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 13851 (Fset_quit_char): EXFUN.
03f06e5c 13852 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
13853 (init_sys_modes, reset_sys_modes): Update prototypes.
13854 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
13855
b8866860
SM
13856 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
13857 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 13858 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 13859 Delete declarations.
03f06e5c
JB
13860 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
13861 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
13862 New declarations.
13863
13864 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
13865 already does that during init_display(). Call syms_of_keymap
b8866860
SM
13866 before syms_of_keyboard. Call `syms_of_terminal'.
13867 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
13868 (shut_down_emacs): Call reset_all_sys_modes() instead of
13869 reset_sys_modes().
13870
13871 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
13872 (internal_resolve_face_name, resolve_face_name_error): New functions.
13873 (resolve_face_name): Protect against loops and errors thrown by Fget.
13874 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
13875 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
13876
13877 * scroll.c: Replace CURTTY() with local variables throughout the
13878 file (where applicable).
13879 (calculate_scrolling, calculate_direct_scrolling)
13880 (scrolling_1, scroll_cost): Use the accessor macros for terminal
13881 characteristics.
13882
13883 * keymap.c (Vfunction_key_map): Remove.
b8866860 13884 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
13885 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
13886 (Vkey_translation_map): Remove.
13887 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 13888 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
13889 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
13890 Update for terminal-local key-translation-map.
13891
13892 * Makefile.in (callproc.o): Update dependencies.
13893 (lisp, shortlisp): Add termdev.elc.
13894 (obj): Add terminal.o.
13895 (terminal.o): Add dependencies.
13896 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
13897 (data.o, fns.o): Add termhooks.h dependency.
13898 (SOME_MACHINE_LISP): Add dnd.elc.
13899 (minibuf.o): Fix typo.
13900 Update dependencies.
13901
13902 * data.c (do_symval_forwarding, store_symval_forwarding)
13903 (find_symbol_value): Use the selected frame's keyboard, not
13904 current_kboard.
13905
13906 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
13907 Vwindow_system.
13908
13909 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
13910 Fmenu_bar_open.
13911 (syms_of_xmenu): Update defsubr.
13912 (mouse_position_for_popup, Fx_popup_menu)
13913 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
13914 (set_frame_menubar, free_frame_menubar)
13915 (create_and_show_popup_menu, xmenu_show, )
13916 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
13917 an X frame.
13918
13919 * xselect.c (x_own_selection): Abort if not an X frame.
13920 (some_frame_on_display): Check if it is an X frame.
13921 (x_handle_selection_clear): Deal with MULTI_KBOARD.
13922
13923 * coding.c: Include frame.h and termhooks.h.
03f06e5c 13924 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
13925 (Fset_terminal_coding_system_internal)
13926 (Fset_keyboard_coding_system_internal)
13927 (Fkeyboard_coding_system)
03f06e5c
JB
13928 (Fterminal_coding_system): Add a terminal parameter.
13929 Get terminal_coding from the terminal.
8d9cc0b7
MB
13930 (init_coding_once): Don't call setup_coding_system here.
13931
13932 * dispextern.h (set_scroll_region, turn_off_insert)
13933 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
13934 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 13935 (delete_tty, updating_frame)
8d9cc0b7
MB
13936 (produce_special_glyphs, produce_glyphs, write_glyphs)
13937 (insert_glyphs): Remove.
13938 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 13939 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 13940 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
13941
13942 * frame.h (enum output_method): Add output_initial.
13943 (struct x_output): Delete.
b8866860
SM
13944 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
13945 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
13946 (tty_display): Delete.
13947 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 13948 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
13949 (union output_data): Add tty.
13950 (FRAME_KBOARD): Get the kboard from the terminal.
13951 (FRAME_INITIAL_P): New macro.
13952 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
13953 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
13954 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
13955 New declarations.
8d9cc0b7
MB
13956
13957 * termchar.h (tty_output, tty_display_info): New structures.
13958 (tty_list): Declare.
13959 (FRAME_TTY, CURTTY): New macros.
13960 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
13961 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
13962 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
13963 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
13964
13965 * callproc.c: Include frame.h and termhooks.h, for terminal
13966 parameters.
13967 (add_env): New function.
13968 (child_setup): Use it.
b8866860 13969 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
13970 (getenv_internal): Fix get_terminal_param call.
13971 (Fgetenv_internal, egetenv): Update doc.
13972 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 13973 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
13974 strings.
13975 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
13976 (getenv_internal): Add terminal parameter.
13977 Handle Vlocal_environment_variables.
8d9cc0b7
MB
13978 (Fgetenv_internal): Add terminal parameter.
13979 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 13980 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
13981 (set_initial_environment): Rename from set_global_environment.
13982 Store Emacs environment in initial frame parameter.
13983
13984 * xdisp.c (redisplay_internal): Update references to
13985 `previous_terminal_frame'.
13986 (display_mode_line, Fformat_mode_line): Replace calls to
13987 `push_frame_kboard' with `push_kboard'.
13988 (get_glyph_string_clip_rects): Add extra parentheses and
13989 braces to prevent compiler warnings.
13990 (calc_pixel_width_or_height): Add xassert to check that the
13991 frame is alive. Don't call `lookup_image' on a termcap frame.
13992 (message2_nolog, message3_nolog, redisplay_internal)
13993 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
13994 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
13995 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
13996 (Fx_display_pixel_width, Fx_display_pixel_height)
13997 (Fx_display_planes, Fx_display_color_cells)
13998 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
13999 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14000 (Fx_display_backing_store, Fx_display_visual_class)
14001 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 14002 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
14003
14004 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
14005 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14006 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
14007 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14008 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14009 terminal that is being deleted.
14010 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 14011 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
14012 (Fx_close_connection, Fx_synchronize): Unify argument names with
14013 the rest of the DEFUNs.
14014
14015 * dispnew.c (Fsend_string_to_terminal): Update call to
14016 `get_tty_terminal'.
14017 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 14018 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
14019 FRAME_TERMCAP_P and FRAME_TTY.
14020 (window_change_signal): Don't believe width/height values that are
14021 impossibly small.
14022 (Vinitial_window_system): Rename from Vwindow_system.
14023 (termscript, Wcm, rif): Delete.
14024
14025 * termhooks.h (struct terminal): New struct containing the
14026 previously global text display hooks and new members NAME,
14027 DELETED and PARAM_ALIST.
14028 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14029 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14030 (FRAME_RIF): New macros.
14031 (get_terminal_param, get_device): New declarations.
14032 (termscript): Delete declaration.
14033
14034 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14035 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14036 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14037 FRAME_FOREGROUND_PIXEL.
14038 (x_fully_uncatch_errors): Disable definition.
14039 (x_scroll_bar_expose): Fix reference to foreground pixel.
14040 (XTread_socket): Disable loop on all X displays.
14041 (x_delete_terminal): Don't set terminal->deleted and let
14042 delete_terminal delete the frames on the terminal.
14043 (x_delete_display): Doc update to reflect changes in
14044 delete_terminal.
14045 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
14046 (deleting_tty): Remove old variable.
14047 (Fsuspend_tty): Call clear_tty_hooks.
14048 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
14049 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14050 errors on X frames.
14051 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14052 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 14053 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
14054 (XTset_terminal_modes, XTreset_terminal_modes)
14055 (XTread_socket, x_connection_closed, x_term_init)
14056 (x_term_init, x_delete_display): Add terminal parameter.
14057 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14058 X connections.
14059
bf380f53
GM
14060 * frame.c: Include termchar.h.
14061 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14062 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14063 (Qdisplay_environment_variable): New vars.
14064 (Fframep): Deal with output_initial.
14065 (Fframe-live-p): Doc fix.
14066 (Fwindow-system): New function.
8d9cc0b7
MB
14067 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14068 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 14069 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 14070 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
14071 (Fmake_terminal_frame): Handle NULL tty names correctly.
14072 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
14073 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14074 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 14075 (Fframe_with_environment): New function.
b8866860 14076 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
14077 (get_future_frame_param): New function.
14078 (Fmake_terminal_frame): Use it.
2d33f506 14079 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
14080
14081 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14082 * sysdep.c (reset_sys_modes): Update for renames.
14083
14084 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 14085 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
14086 (syms_of_keyboard): Defsubr them.
14087 (Fset_input_meta_mode, Fset_quit_char): New functions.
14088 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
14089 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14090 parameter. Use it in call to `read_char'.
b8866860
SM
14091 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14092 Set wrong_kboard_jmpbuf correctly in recursive calls.
14093 Use current_kboard to access Vkeyboard_translate_table.
14094 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14095 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14096 Update longjmp invocations. Remember the original current_kboard,
14097 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14098 changes it. Comment out unnecessary calls to
14099 `record_single_kboard_state' and `any_kboard_state'.
14100 Update recursive calls.
8d9cc0b7
MB
14101 (wrong_kboard_jmpbuf): Remove global variable.
14102 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14103 Handle deleted interrupted_kboards correctly; that is a legal
14104 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 14105 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
14106 (any_kboard_state, single_kboard_state)
14107 (push_frame_kboard): Remove function.
14108 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
14109 been deleted. Remove unused variable. Help debugging by not
14110 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
14111 kboard of the selected frame when the stored kboard object has
14112 been deleted before pop_kboard.
14113 (temporarily_switch_to_single_kboard): Change first parameter to a
14114 frame pointer. Throw an error when caller wants to change kboards
14115 while in single_kboard mode. Don't push_kboard if we weren't in
14116 single kboard state. Don't pop_kboard if we popped into any
14117 kboard state.
14118 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 14119 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
14120 up single_kboard mode.
14121 (Frecursive_edit): Switch to single_kboard mode only in nested
14122 command loops.
b8866860
SM
14123 (cmd_error, command_loop, command_loop_1, timer_check):
14124 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
14125 `record_single_kboard_state'.
14126 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 14127 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
14128 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14129 `fatal_error_signal'.
14130 (record_single_kboard_state): Don't push_kboard if we weren't in
14131 single kboard state. Don't pop_kboard if we popped into any
14132 kboard state.
14133 (push_frame_kboard): Rename to push_kboard.
14134 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14135 (read_avail_input): Read input from all terminals.
14136 (mark_kboards): Also mark Vkeyboard_translate_table.
14137 (kbd_buffer_store_event_hold): Simplify condition.
14138 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14139 (Vkeyboard_translate_table): Move to struct kboard.
14140 (init_kboard): Initialize Vkeyboard_translate_table.
14141 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14142 Vkeyboard_translate_table. Update doc strings. Update docs of
14143 local-function-key-map and function-key-map.
14144
14145 * terminal.c: New file.
14146
14147 * term.c: Include errno.h.
14148 (Vring_bell_function, device_list, initial_device)
14149 (next_device_id, ring_bell, update_begin, update_end)
14150 (set_terminal_window, cursor_to, raw_cursor_to)
14151 (clear_to_end, clear_frame, clear_end_of_line)
14152 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14153 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14154 (syms_of_term): Move their initialization to terminal.c.
14155 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14156 (Ftty_display_color_cells)
14157 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 14158 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
14159 (init_tty, maybe_fatal): New functions.
14160 (Ftty_type): Return nil if terminal is not on a tty instead of
14161 throwing an error. Doc update.
14162 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 14163 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
14164 (delete_tty): Use terminal->deleted.
14165 (tty_set_terminal_modes): Rename from set_terminal_modes.
14166 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14167 (set_scroll_region): Rename to `tty_set_scroll_region'.
14168 (turn_on_insert): Rename to `tty_turn_on_insert'.
14169 (turn_off_insert): Rename to `tty_turn_off_insert'.
14170 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14171 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14172 (toggle_highligh): Rename to `tty_toggle_highlight'.
14173 (background_highlight): Rename to `tty_background_highlight'.
14174 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14175 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14176 (tty_set_scroll_region, tty_background_highlight)
14177 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14178 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14179 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14180 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14181 Add static modifier.
14182 (tty_reset_terminal_modes, tty_set_terminal_window)
14183 (tty_set_scroll_region, tty_background_highlight)
14184 (tty_highlight_if_desired, tty_cursor_to)
14185 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14186 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14187 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14188 renames.
14189
880820fe 141902007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
14191
14192 * keyboard.c: Qrtl is new.
14193 (parse_tool_bar_item): Handle :rtl keyword.
14194 (syms_of_keyboard): Intern :rtl keyword.
14195
14196 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14197
14198 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14199 so no Lisp code is executed.
14200 (file_for_image, find_rtl_image): New functions.
1f204af3 14201 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
14202 (update_frame_tool_bar): If direction is RTL, use RTL image if
14203 defined. Use Gtk stock images if defined.
14204
83cc8d35
YM
142052007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14206
14207 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14208 for nonexistent or zero-width glyph in composition glyph.
14209
e60c4e15
SM
142102007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14211
d7e2a28f
SM
14212 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14213
e60c4e15
SM
14214 * xdisp.c (Finvisible_p): New function.
14215 (syms_of_xdisp): defsubr it.
14216
ee163e6d
JB
142172007-08-24 Juanma Barranquero <lekktu@gmail.com>
14218
14219 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14220 Doc fixes.
14221
90fa408d
YM
142222007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14223
35277b03 14224 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 14225
cac4219c
MR
142262007-08-24 Martin Rudalics <rudalics@gmx.at>
14227
14228 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14229 whether decoding has modified buffer contents.
14230
5fc9fdeb
JR
142312007-08-24 Jason Rumney <jasonr@gnu.org>
14232
14233 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14234 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14235 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14236 (init_svg_functions) [HAVE_NTGUI]: New function.
14237 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14238 (svg_load_image): Use them.
14239 (svg_load_image) [HAVE_NTGUI]: Implement background.
14240
93b23406
YM
142412007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14242
14243 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14244 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14245 (LIBX): Remove @RSVG_LIBS@.
14246 (LIBES): Add $(RSVG_LIBS).
14247
14248 * image.c (svg_load_image): Blend with specified background if exists.
14249 Use IMAGE_BACKGROUND. Add Mac OS Support.
14250
14251 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14252 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14253 Remove macros.
14254 [MAC_OSX] (socket_callback): Do nothing.
14255 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14256 ReceiveNextEvent.
14257 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14258 socket_callback.
14259 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14260
2467875c
GM
142612007-08-22 Glenn Morris <rgm@gnu.org>
14262
ff8da443 14263 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 14264
4ab27a43
GM
142652007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14266
14267 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 14268
666e0eda
GM
14269 * image.c: Add support for SVG images. Some additional comments
14270 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14271 (svg_image_p): New function to test for SVG image.
14272 (svg_load): New function to load SVG image.
14273 (svg_load_image): New function, helper for svg_load.
14274 (Qsvg): New Lisp_object.
14275 (svg_keyword_index): New enum.
14276 (svg_format): New static `image_keyword' struct.
14277 (svg_type): New static `image_type' struct.
14278 (librsvg/rsvg.h): Include it.
4ab27a43 14279
b636b4c1
SM
142802007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14281
14282 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14283
9ecb827b
SM
142842007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14285
1d064697
SM
14286 * lread.c (Qold_style_backquotes): New var.
14287 (syms_of_lread): Init and staticpro it.
14288 (load_warn_old_style_backquotes): New fun.
14289 (Fload): Use them to warn about old style backquotes.
14290 (end_of_file_error, Fload): Remove unused vars.
14291
5772ed4b
SM
14292 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14293
9ecb827b 14294 * lread.c (Vold_style_backquotes): New var.
5aa273b0 14295 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
14296 (read1): Set it when we find an old-style (back)quote.
14297
32e1c7b1
JR
142982007-08-22 Jason Rumney <jasonr@gnu.org>
14299
14300 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14301
b8fa755b
KY
143022007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14303
14304 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14305
1283140e
RS
143062007-08-19 Richard Stallman <rms@gnu.org>
14307
14308 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14309
2c4685ee
AS
143102007-08-19 Andreas Schwab <schwab@suse.de>
14311
14312 * alloc.c (pure): Round PURESIZE up.
14313
880820fe 143142007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
14315
14316 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14317 active frame.
14318
6e33efc4
RS
143192007-08-16 Richard Stallman <rms@gnu.org>
14320
14321 * eval.c (Fcommandp): Add parens to clarify.
14322
14323 * minibuf.c (Fall_completions): Use enum for type of table.
14324
14325 * emacs.c (USAGE2): Improve text.
14326
fcf8ff2e
GM
143272007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
14328
5205ee62
GM
14329 * term.c (tty_default_color_capabilities): Declare static
14330 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 14331
880820fe 143322007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
14333
14334 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14335 to gtk_toolbar_insert.
14336
4a181359
SM
143372007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14338
1bc99c9c
SM
14339 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14340
4a181359
SM
14341 * insdel.c (reset_var_on_error): New fun.
14342 (signal_before_change, signal_after_change):
14343 Use it to reset (after|before)-change-functions to nil in case of error.
14344 Bind inhibit-modification-hooks to t.
14345 Don't bind (after|before)-change-functions to nil while they run.
14346
6c28435c
YM
143472007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14348
14349 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
14350 filling pixmap with stippled background.
14351
ad3b3e02
YM
143522007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14353
14354 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
14355 Don't use invisible frame as parent window for repositioning.
14356
a22dec27
SM
143572007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
14358
14359 * print.c (new_backquote_output): Rename from old_backquote_output.
14360 (print): Inverse its logic (according to its name) so as to match the
14361 behavior of new_backquote_flag in lread.c.
14362
7b7d07bb
YM
143632007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14364
14365 * gmalloc.c (posix_memalign): New function.
14366
14367 * macterm.c (frame_highlight, frame_unhighlight): Don't call
14368 ActivateControl/DeactivateControl here.
14369 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
14370 frame-notice-user-settings is non-nil.
14371 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
14372 for kEventParamFMFontStyle.
14373 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
14374 mac_pass_command_to_system and mac_pass_control_to_system here.
14375 (XTread_socket): Call ActivateControl/DeactivateControl here.
14376 (XTread_socket) [TARGET_API_MAC_CARBON]:
14377 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
14378 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
14379 for window repositioning.
7b7d07bb 14380
22e9fe24
GM
143812007-08-08 Glenn Morris <rgm@gnu.org>
14382
14383 * Replace `iff' in doc-strings and comments.
14384
ae494350
CY
143852007-08-07 Chong Yidong <cyd@stupidchicken.com>
14386
14387 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
14388
6f2528d8
MR
143892007-08-07 Martin Rudalics <rudalics@gmx.at>
14390
14391 * fileio.c (Finsert_file_contents): Run format-decode and
14392 after_insert_file_functions on entire buffer when REPLACE is
14393 non-nil and inhibit modification_hooks and point_motion_hooks.
14394 For consistency, run after_insert_file_functions iff something
14395 got inserted. Move signal_after_change and update_compositions
14396 after code running after_insert_file_functions. Make sure that
6b8e474c 14397 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 14398
3ceeb306
YM
143992007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14400
14401 * emacs.c (main)
14402 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
14403 Call malloc_enable_thread on interactive startup.
14404
14405 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
14406 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
14407 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
14408 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
14409 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
14410 New functions.
14411
ca5e6fd5
CY
144122007-08-06 Chong Yidong <cyd@stupidchicken.com>
14413
32bfce5d
CY
14414 * xdisp.c (redisplay_window): When restoring original buffer
14415 position, make sure it is still valid.
14416
ca5e6fd5
CY
14417 * image.c (png_load): Ignore png-supplied background color.
14418
a5b11587
YM
144192007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14420
14421 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
14422 Use kCFAbsoluteTimeIntervalSince1970.
14423
14424 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
14425 New variable.
14426 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
14427 event loop should be quit.
14428 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
14429 Quit dialog event loop if quit_dialog_event_loop is set.
14430
14431 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
14432 (Selection): New typedef. Use instead of ScrapRef.
14433 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
14434 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
14435 (mac_clear_selection): Rename from clear_scrap.
14436 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 14437 scrap_has_target_type. All uses changed.
a5b11587
YM
14438 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
14439 (mac_selection_has_target_p): New functions.
14440 (mac_put_selection_value): Rename from put_scrap_string.
14441 (mac_get_selection_value): Rename from get_scrap_string.
14442 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
14443 (put_scrap_private_timestamp, scrap_has_target_type)
14444 (get_scrap_private_timestamp): Remove functions.
14445 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
14446 (x_own_selection, x_get_local_selection):
14447 Use mac_valid_selection_value_p.
14448 (x_own_selection): Don't use put_scrap_private_timestamp.
14449 Record OWNERSHIP-INFO into Vselection_alist instead.
14450 (x_get_local_selection): Don't check type if request is local.
14451 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
14452 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
14453
880820fe 144542007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
14455
14456 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
14457 add comment explaining why.
14458
73ff9d42
RS
144592007-08-03 Richard Stallman <rms@gnu.org>
14460
14461 * fileio.c (Fvisited_file_modtime): Use make_time.
14462
54ed9a2d 144632007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
14464
14465 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
14466 build.
14467
65a9c8e2
SM
144682007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
14469
14470 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
14471
c5925799
KY
144722007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
14473
14474 * puresize.h (BASE_PURESIZE): Increase to 1130000.
14475
adef3de7
RS
144762007-07-30 Richard Stallman <rms@gnu.org>
14477
14478 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
14479
880820fe 144802007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
14481
14482 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
14483
a10421a1
NR
144842007-07-28 Nick Roberts <nickrob@snap.net.nz>
14485
14486 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
14487 remote default-directory.
14488
14489 * buffer.c (mode-line-format): Update doc string.
14490
0cb1ae20
YM
144912007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14492
14493 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
14494 scroll bar gap.
14495 (x_scroll_bar_create): Set bar->fringe_extended_p.
14496 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
14497 on frame edge. Check fringe background extension. Don't clear
14498 extended fringe background area.
14499
14500 * w32term.h (struct scroll_bar): New member fringe_extended_p.
14501 (w32_fill_area): Enclose multiple statements with do ... while (0).
14502
14503 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
14504 Extend fringe background to scroll bar gap.
14505 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
14506 Set bar->fringe_extended_p.
14507 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14508 Put leftmost/rightmost scroll bars on frame edge. Check fringe
14509 background extension. Don't clear extended fringe background area.
14510
14511 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14512 New member fringe_extended_p.
14513
cacc7b51
GM
145142007-07-25 Glenn Morris <rgm@gnu.org>
14515
14516 * Relicense all FSF files to GPLv3 or later.
14517
14518 * COPYING: Switch to GPLv3.
14519
89835619
SM
145202007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
14521
c4f46926
SM
14522 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
14523
14524 * data.c (Finteractive_form): Check for the presence of an
14525 `interactive-form' symbol property more thoroughly.
14526
14527 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
14528 present, analogous to the function-documentation property.
14529
ee04257d
JR
145302007-07-24 Jason Rumney <jasonr@gnu.org>
14531
14532 * w32fns.c (x_real_positions): Get real position from OS instead of
14533 calculating it.
14534
50624218
JR
145352007-07-23 Jason Rumney <jasonr@gnu.org>
14536
14537 * filelock.c (current_lock_owner): Allow for @ sign in username.
14538
3650f60e
NR
145392007-07-22 Nick Roberts <nickrob@snap.net.nz>
14540
14541 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
14542 remote default-directory.
14543
14544 * buffer.c (mode-line-format): Describe above case in doc string.
14545
1e899515 145462007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 14547
75be5258
EZ
14548 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
14549 Define if not defined.
14550
2b6e2f4d
JR
145512007-07-18 Jason Rumney <jasonr@gnu.org>
14552
14553 * w32proc.c (w32_executable_type): Handle 64 bit executables.
14554
23dacf80
JB
145552007-07-18 Richard Stallman <rms@gnu.org>
14556
14557 * data.c (Fsetq_default): Doc fix.
14558
14559 * eval.c (Fsetq): Doc fix.
14560
145612007-07-18 Juanma Barranquero <lekktu@gmail.com>
14562
14563 * coding.c (Ffind_operation_coding_system):
14564 * eval.c (For, Fand): Doc fixes.
880820fe 14565 Reported by Johan Bockgård.
23dacf80 14566
880820fe 145672007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 14568
23dacf80 14569 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 14570
23dacf80 14571 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
14572
14573 * xterm.c (x_ewmh_activate_frame): New function.
14574 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
14575
71ec17e6
MR
145762007-07-17 Martin Rudalics <rudalics@gmx.at>
14577
14578 * window.c (Fdisplay_buffer): If largest or LRU window is the
14579 only window, split it even if it is not eligible for splitting.
14580 This restores the original behavior broken by the 2007-07-15
14581 change.
14582
e9818042
GM
145832007-07-17 Glenn Morris <rgm@gnu.org>
14584
14585 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
14586 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
14587 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
14588 constituents. Doc fix.
14589
e6fca843
SM
145902007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
14591
14592 * process.c (Fstart_process, Fmake_network_process)
14593 (read_process_output): Fix up last changes.
14594
b5d2b4ab
EZ
145952007-07-16 Eli Zaretskii <eliz@gnu.org>
14596
14597 * makefile.w32-in (clean): Don't delete *~.
14598
413a79ad
AS
145992007-07-16 Andreas Schwab <schwab@suse.de>
14600
14601 * window.c (Fdisplay_buffer): Use NILP.
14602 (Fset_window_scroll_bars): Likewise.
14603
f1de8c77
MR
146042007-07-15 Martin Rudalics <rudalics@gmx.at>
14605
14606 * window.c (window_min_size_2): New function.
14607 (window_min_size_1, size_window, Fdisplay_buffer)
14608 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
14609 windows without mode- or header-lines when window-min-height is
14610 too small.
14611 (size_window): Reset nodelete_p after testing it, following an
14612 earlier note by Kim F. Storm.
14613 (display_buffer): Do not set split_height_threshold to twice the
14614 value of window_min_height to avoid changing the value of a
14615 customizable variable. Rather explicitly check whether the
14616 height of the window that shall be splitted is at least as large
14617 as split_height_threshold.
1af74d06
MB
14618 (Fwindow_full_width_p): New defun.
14619 (syms_of_window): Defsubr it.
d31053f9 14620
1af74d06 14621 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 14622
5e1ab613
JR
146232007-07-14 Jason Rumney <jasonr@gnu.org>
14624
14625 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
14626
f01cbfdd
RS
146272007-07-14 Richard Stallman <rms@gnu.org>
14628
14629 * eval.c (maybe_call_debugger): New function.
14630 (find_handler_clause): Use maybe_call_debugger.
14631 Call it when the handler says `debug'.
14632 Eliminate DEBUGGER_VALUE_PTR.
14633 (Fsignal): Eliminate debugger_value.
14634 (Qdebug): New variable.
14635 (syms_of_eval): Initialize it.
14636
1bab435a
JB
146372007-07-14 Juanma Barranquero <lekktu@gmail.com>
14638
14639 * eval.c (Fprogn):
14640 * keyboard.c (Ftrack_mouse):
14641 * print.c (Fwith_output_to_temp_buffer):
14642 * window.c (Fsave_window_excursion): Doc fix.
14643
be436d23
SM
146442007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
14645
14646 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
14647
60f0fb11
SM
146482007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
14649
14650 * process.h (struct Lisp_Process): Turn slots infd, outfd,
14651 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
14652 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
14653 read_output_delay, and read_output_skip from Lisp_Objects to ints.
14654 Remove unused encoding_carryover.
14655 * process.c: Adjust all functions accordingly.
14656
d8b18043
RS
146572007-07-12 Richard Stallman <rms@gnu.org>
14658
14659 * term.c: Include unistd.h only if HAVE_UNISTD_H.
14660
d5781bb6
JR
146612007-07-11 Jason Rumney <jasonr@gnu.org>
14662
14663 * makefile.w32-in (LIBS): Include OLE32.
14664
14665 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
14666 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
14667
5bb7dfee
SM
146682007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
14669
14670 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
14671 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
14672 from a Lisp_Object into a bare pointer.
14673 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
14674 Adjust the code correspondingly.
14675
14676 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
14677
14678 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
14679 (term_show_mouse_face): Remove unused var `j'.
14680 (handle_one_term_event): Remove unused vars `i' and `j'.
14681 Don't cast return value of ttyname since it's not necessary.
14682
a1be1ce8
SM
146832007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
14684
5045e68e
SM
14685 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
14686 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
14687
8071c00f
SM
14688 * fns.c (map_char_table): Use an array of int for `indices' rather than
14689 an array of Lisp_Objects (which are only ever integers anyway).
14690 (Fmap_char_table): Update caller.
14691 * lisp.h: Update prototype.
14692 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
14693 * fontset.c (Ffontset_info):
14694 * casetab.c (set_case_table): Update callers.
14695
14696 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
14697
fab84e3c
SM
14698 * keymap.c (struct accessible_keymaps_data)
14699 (struct where_is_internal_data): New structures.
14700 (accessible_keymaps_1, where_is_internal_1): Use them to change
14701 interface to adhere to the one used by map_keymap.
14702 (Faccessible_keymaps, where_is_internal): Use map_keymap.
14703 (accessible_keymaps_char_table, where_is_internal_2): Remove.
14704
a1be1ce8
SM
14705 * keymap.h (map_keymap_function_t): More informative prototype.
14706
ef887810
RS
147072007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
14708
14709 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
14710 (looking_at_1): Don't change search_regs and last_thing_searched
14711 if `inhibit-changing-match-data' is non-nil.
14712 (string_match_1, search_buffer, set_search_regs): Likewise.
14713 (syms_of_search): Add Lisp level definition for
14714 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
14715 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
14716 start and end of the match, instead of using values in search_regs.
ef887810 14717
4d02fc25
SM
147182007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
14719
14720 * minibuf.c (Fcompleting_read): New value `confirm-only'
14721 for `require-match'.
14722
fe45b81f
SM
147232007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
14724
14725 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
14726 part of the 2007-06-27 change to syms_of_fileio.
14727
a56dd283
YM
147282007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14729
14730 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
14731 Check WINDOWP before using XWINDOW. Consolidate return statements.
14732
0cf9f5b5
RS
147332007-06-27 Richard Stallman <rms@gnu.org>
14734
14735 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
14736
a66f285a
JB
147372007-06-27 Juanma Barranquero <lekktu@gmail.com>
14738
14739 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
14740
8d0d84d2
YM
147412007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14742
14743 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
14744 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
14745 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
14746 (_free_internal, memalign): Use them.
14747 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
14748 Initialize to PTHREAD_MUTEX_INITIALIZER.
14749 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
14750 (morecore_nolock): Rename from morecore. All uses changed.
14751 Use only nolock versions of internal allocation functions.
14752 (_malloc_internal_nolock, _realloc_internal_nolock)
14753 (_free_internal_nolock): New functions created from
14754 _malloc_internal, _realloc_internal, and _free_internal.
14755 (_malloc_internal, _realloc_internal, _free_internal): Use them.
14756 Copy hook value to automatic variable before its use.
14757 (memalign): Copy hook value to automatic variable before its use.
14758
5a0bbd9a
KH
147592007-06-26 Kenichi Handa <handa@m17n.org>
14760
14761 * coding.c (Ffind_operation_coding_system): Docstring improved.
14762 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
14763
9a51747b
DK
147642007-06-25 David Kastrup <dak@gnu.org>
14765
14766 * keymap.c (Fcurrent_active_maps): Add `position' argument.
14767 (Fwhere_is_internal): Adjust call to `current-active-maps' to
14768 cater for additional parameter.
14769
14770 * keymap.h: Adjust number of parameters to `current-active-maps'.
14771
14772 * doc.c (Fsubstitute_command_keys): Adjust call of
14773 `current-active-maps'.
14774
e4305426
DK
147752007-06-25 David Kastrup <dak@gnu.org>
14776
14777 * callint.c (Fcall_interactively): Make the parsing of interactive
14778 specs somewhat more readable.
14779
511a18d9
YM
147802007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14781
14782 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
14783 to scroll bar gap also when bitmap fills fringe. Draw only foreground
14784 if extended background has already been filled.
14785
512eb161
YM
147862007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14787
14788 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
14789 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
14790
14791 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
14792 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
14793 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
14794 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
14795 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
14796 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
14797 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
14798 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
14799 Run timers during dialog popup.
14800 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
14801
2386b1f1
JR
148022007-06-21 Jason Rumney <jasonr@gnu.org>
14803
14804 * image.c (convert_mono_to_color_image): Swap fore and background.
14805
fab8b787
JR
148062007-06-20 Jason Rumney <jasonr@gnu.org>
14807
14808 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
14809 (w32_free_bdf_font): Unmap memory not handle.
14810
15bdd7a0 148112007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
14812
14813 * gmalloc.c (__morecore): Fix the declaration to comply with the
14814 definition.
14815
1bb8a291
JB
148162007-06-20 Juanma Barranquero <lekktu@gmail.com>
14817
14818 * w32term.c (w32_delete_display): Remove leftover declaration.
14819 (w32_define_cursor, w32_initialize): Make static.
14820
14821 * w32.c (_wsa_errlist): Fix typo in error message.
14822 (init_environment): Ignore any environment variable from the
14823 registry having a null value.
14824
92648dea
GM
148252007-06-20 Glenn Morris <rgm@gnu.org>
14826
14827 * Makefile.in (LIBGIF): Default to -lgif.
14828
ff25d115
JR
148292007-06-17 Jason Rumney <jasonr@gnu.org>
14830
14831 * w32menu.c (add_menu_item): Don't use multibyte string functions on
14832 unicode strings.
14833
a1a578a5
JB
148342007-06-16 Juanma Barranquero <lekktu@gmail.com>
14835
14836 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
14837 Fix typo in docstring.
14838
af41f8a8
EZ
148392007-06-16 Eli Zaretskii <eliz@gnu.org>
14840
14841 * w32menu.c (add_menu_item): Escape `&' characters in menu items
14842 and their keybindings.
14843
8b29cab9
CY
148442007-06-15 Chong Yidong <cyd@stupidchicken.com>
14845
14846 * composite.c (update_compositions): Fix last fix.
14847
c433c134
JR
148482007-06-14 Jason Rumney <jasonr@gnu.org>
14849
14850 * w32.c (get_process_times_fn): New function pointer.
14851 (globals_of_w32): Intialize it if present in kernel32.dll.
14852 (w32_get_internal_run_time): New function.
14853
14854 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
14855
553d3164
KH
148562007-06-14 Kenichi Handa <handa@etlken.m17n.org>
14857
14858 * composite.c (update_compositions): Check the validness of
14859 compositions.
14860
446ba96f
YM
148612007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14862
14863 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
14864 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
14865
14866 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
14867 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
14868
14869 * macgui.h (USE_MAC_TOOLBAR): New define.
14870
14871 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
14872 Return immediately unless popup is activated.
14873
14874 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
14875 background to scroll bar gap.
14876 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
14877 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
14878 scroll bars on frame edge. Check fringe background extension.
14879 Don't clear extended fringe background area.
14880 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
14881 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
14882 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
14883 [USE_MAC_TOOLBAR]: New macros.
14884 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
14885 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
14886 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
14887 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
14888 [USE_MAC_TOOLBAR]: New functions.
14889 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
14890 manually if previous repositioning has failed.
14891 (mac_handle_keyboard_event): Use precomputed event kind.
14892 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
14893 as tool bar item click. Handle mouse movement over tool bar items.
14894
14895 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
14896 toolbar_win_gravity.
14897 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
14898 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
14899 Add externs.
14900
14901 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
14902 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
14903
9720173f
CY
149042007-06-14 Chong Yidong <cyd@stupidchicken.com>
14905
14906 * image.c (search_image_cache): Remove unused variable.
14907
1217dd00
CY
149082007-06-13 Chong Yidong <cyd@stupidchicken.com>
14909
14910 * xfns.c, xmenu.c: Link to xaw3d if available.
14911
c5b8e0ea
YM
149122007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14913
14914 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
14915 frame_foreground and frame_background.
14916
14917 * image.c (lookup_image): Save frame foreground and background colors.
14918 (search_image_cache): Check if saved and current frame colors match.
14919
c69b0314
SM
149202007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
14921
14922 * regex.c (regex_compile): Remove the `regnum' counter.
14923 Use bufp->re_nsub instead. Add support for \(?N:RE\).
14924
c9612b8e
SM
149252007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
14926
14927 * term.c: Include intervals.h to declare Fget_text_property.
14928
843d2458
JR
149292007-06-10 Jason Rumney <jasonr@gnu.org>
14930
14931 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
14932
1e0d2d60 149332007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
14934
14935 * callint.c (Fcall_interactively):
14936 * editfns.c (Fdelete_and_extract_region):
14937 * fileio.c (Fread_file_name):
14938 * fns.c (Fmapconcat):
14939 * keyboard.c (cmd_error_internal):
14940 * keymap.c (Fkey_description):
14941 * lread.c (openp):
14942 * minibuf.c (read_minibuf):
14943 * search.c (wordify):
14944 * sunfns.c (sel_read):
14945 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
14946 * xfns.c (x_default_scroll_bar_color_parameter):
14947 * xmenu.c (menu_help_callback):
14948 * xselect.c (Fx_get_atom_name):
14949 * xterm.c (x_term_init): Use empty_unibyte_string.
14950
15bdd7a0 149512007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
14952
14953 * alloc.c (init_strings): Initialize canonical empty strings.
14954 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
14955 canonical empty string when the requested size is 0.
14956
14957 * emacs.c (empty_unibyte_string): Rename from empty_string.
14958 (empty_multibyte_string): New canonical empty string.
14959 (syms_of_emacs): Don't initialize empty_string.
14960
14961 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
14962 string, if appropriate.
14963 (empty_unibyte_string, empty_multibyte_string): New externs.
14964 (empty_string): Remove extern.
14965
14966 * lread.c (syms_of_lread): Use empty_unibyte_string.
14967
42c4c67a
JR
149682007-06-07 Jason Rumney <jasonr@gnu.org>
14969
14970 * s/ms-w32.h: Don't define HAVE_TZNAME.
14971
14972 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
14973
aa8280d3
YM
149742007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14975
14976 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
14977
14978 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
14979 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
14980
14981 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
14982 Don't call next handler.
14983 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
14984 Remove argument. Install handler to application.
14985 (set_frame_menubar): Don't change deep_p.
1e0d2d60 14986 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
14987 FRAME_OUTER_TO_INNER_DIFF_Y.
14988 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
14989 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
14990 [HAVE_DIALOGS]: New macros.
14991 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
14992 Use them.
14993 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
14994
14995 * macselect.c [MAC_OSX] (install_service_handler): Rename from
14996 init_service_handler. All callers changed. Return OSStatus value.
14997
14998 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
14999 All callers changed so as not to call SetPortWindowPort.
15000 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15001 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15002 mac_draw_string_common.
15003 (mac_draw_image_string_qd): Likewise.
15004 (mac_draw_string_common): Use them. Add INLINE.
15005 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15006 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15007 GetGlobalMouse.
15008 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15009 and FRAME_OUTER_TO_INNER_DIFF_Y.
15010 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15011 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15012 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15013 repositioning window to mac_handle_window_event.
15014 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15015 saving window location to mac_handle_window_event
15016 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15017 (install_menu_target_item_handler): Remove argument in extern.
15018 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15019 Also accept command events.
15020 (do_keystroke): New function created from XTread_socket.
15021 (init_command_handler): Remove functions.
15022 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15023 and save window location by kEventWindowShowing and kEventWindowHiding
15024 handlers here. Don't call next handler for window state change and
15025 focus events.
15026 (mac_handle_application_event, mac_handle_keyboard_event)
15027 [TARGET_API_MAC_CARBON]: New functions.
15028 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15029 kEventWindowShowing and kEventWindowHiding events. Move installation
15030 of mouse, font, text input and menu target item handlers to
15031 install_application_handler.
15032 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15033 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15034 New function.
15035 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15036 Register it.
c9612b8e
SM
15037 (XTread_socket) [TARGET_API_MAC_CARBON]:
15038 Consolidate SendEventToEventTarget calls.
15039 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15040 Move application activation handler to mac_handle_application_event.
15041 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
15042 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15043 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15044 init_command_handler. Call install_application_handler.
15045
15046 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15047 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15048
6926c954
GM
150492007-06-07 Glenn Morris <rgm@gnu.org>
15050
15051 * emacs.c (main): Use `emacs-copyright' in --version output.
15052
6fe04c89
CY
150532007-06-06 Chong Yidong <cyd@stupidchicken.com>
15054
c9612b8e 15055 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 15056
7eb0d727
YM
150572007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15058
15059 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
785ce0ac 15060
7eb0d727
YM
15061 * macgui.h: Replace WindowPtr with WindowRef.
15062
15063 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15064 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15065 Replace ControlHandle with ControlRef.
15066 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15067
15068 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15069 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15070 Replace ControlHandle with ControlRef.
15071 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15072 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15073
15074 * macterm.h (struct scroll_bar): Rename member control_handle_low
15075 and control_handle_high to control_ref_low and control_ref_high.
15076 All uses changed.
15077 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15078 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15079 respectively. All uses changed.
15080 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15081 (install_window_handler, remove_window_handler): Replace WindowPtr
15082 with WindowRef in externs.
15083
65fddb74
JB
150842007-06-05 Juanma Barranquero <lekktu@gmail.com>
15085
15086 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15087
db1213a9
NR
150882007-06-03 Nick Roberts <nickrob@snap.net.nz>
15089
15090 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15091
65fddb74 15092 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
15093 Condition on HAVE_GPM too.
15094
15095 * term.c (term_mouse_highlight): Remove unused variables.
15096 (Fterm_open_connection): Set gpm_zerobased to 1.
15097 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15098 Use zero based co-ordinates.
15099 (handle_one_term_event): Report a drag as mouse movement too.
15100
15101 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15102
d94df25b
CY
151032007-06-03 Chong Yidong <cyd@stupidchicken.com>
15104
15105 * image.c (search_image_cache): New function. Require background
15106 color match if background color is unspecified in the image spec.
15107 (uncache_image, lookup_image): Use it.
15108
4797b6d9
JB
151092007-06-01 Juanma Barranquero <lekktu@gmail.com>
15110
15111 * window.c (Fshrink_window): Reflow docstring.
15112
1ffe7343
NR
151132007-06-02 Chong Yidong <cyd@stupidchicken.com>
15114
15115 * Version 22.1 released.
15116
151172007-06-01 Richard Stallman <rms@gnu.org>
15118
15119 * xfns.c (x_encode_text): Add GCPRO.
15120
151212007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15122
15123 * xfns.c (x_set_name_internal): Save encoded name before
15124 x_encode_text in case string data is relocated.
15125
151262007-05-31 Richard Stallman <rms@gnu.org>
15127
15128 * buffer.c (syms_of_buffer): Doc fix.
15129
151302007-05-30 Nick Roberts <nickrob@snap.net.nz>
15131
15132 * sysdep.c (init_sys_modes): Add rather than replace with
15133 O_NONBLOCK.
15134
15135 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15136 term_mouse_moveto.
15137
15138 * termhooks.h (term_mouse_moveto): New extern.
15139
15140 * term.c (mouse_face_window): Rename...
15141 (Qmouse_face_window): ...to this.
15142 (term_show_mouse_face, term_clear_mouse_face)
15143 (term_mouse_highlight): Use Qmouse_face_window.
15144 (term_mouse_moveto): New function.
15145 (term_mouse_position): Make it work.
15146 (syms_of_term): Uncomment assignment to mouse_position_hook.
15147 Staticpro Qmouse_face_window.
15148
151492007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15150
15151 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15152 around current_column call.
15153
151542007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15155
15156 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15157 * xdisp.c (next_element_from_buffer):
15158 * window.c (delete_window):
15159 * term.c (term_mouse_highlight):
15160 * msdos.c (getdefdir):
15161 * macterm.c (mac_create_bitmap_from_bitmap_data)
15162 (init_font_name_table):
15163 * fns.c (Fsxhash):
15164 * data.c (Fmake_local_variable):
15165 * ccl.c (ccl_driver): Likewise.
15166
151672007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15168
15169 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15170 Call mac_wakeup_from_rne on window size change.
15171
151722007-05-25 Chong Yidong <cyd@stupidchicken.com>
15173
15174 * image.c (uncache_image): Fix typo.
15175
151762007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15177
15178 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15179
151802007-05-22 Richard Stallman <rms@gnu.org>
15181
15182 * xterm.c (x_connection_closed): Remove NO_RETURN.
15183
151842007-05-22 Martin Rudalics <rudalics@gmx.at>
15185
15186 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15187
151882007-05-21 Chong Yidong <cyd@stupidchicken.com>
15189
15190 * image.c (uncache_image): New function.
15191 (Fimage_refresh): New function.
15192
880820fe 151932007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
15194
15195 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15196
151972007-05-20 Nick Roberts <nickrob@snap.net.nz>
15198
15199 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15200 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15201
152022007-05-20 Nick Roberts <nickrob@snap.net.nz>
15203
15204 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15205 conditional on [HAVE_GPM_H].
15206
152072007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15208
15209 * syntax.c (skip_chars): Update syntax-table only after we checked that
15210 the new location is valid.
15211
152122007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15213
15214 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15215 mac_get_window_bounds.
15216
152172007-05-20 Nick Roberts <nickrob@snap.net.nz>
15218
15219 * Makefile.in (LIBGPM): Allow it to be set from configure.
15220 If set then link Emacs with it.
15221
15222 * config.in: Regenerate.
15223
15224 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15225 New externs.
15226
15227 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15228 Include gpm.h.
15229 (handle_one_term_event, term_gpm): New externs.
15230
15231 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15232 and allow it to be interrupted by SIGIO.
15233
15234 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15235 (wait_reading_process_output): Wait on gpm_fd too.
15236 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15237 (add_gpm_wait_descriptor_called_flag): New variable.
15238 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15239
15240 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15241 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15242 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15243 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15244 (make_lispy_event): Add case GPM_CLICK_EVENT.
15245 (read_avail_input): Handle mouse input.
15246
15247 * term.c (write_glyphs_with_face): New function.
15248 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15249 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15250 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15251 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15252 (last_mouse_x, last_mouse_y): New variables.
15253 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15254 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15255 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15256 (Fterm_close_connection): New functions.
15257 (term_init): Initialise mouse_face_window.
15258
152592007-05-19 Chong Yidong <cyd@stupidchicken.com>
15260
15261 * xdisp.c (redisplay_window): If first window line is a
15262 continuation line, recompute the new window start instead of
15263 recentering.
15264
152652007-05-18 Glenn Morris <rgm@gnu.org>
15266
15267 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15268 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15269
152702007-05-17 Glenn Morris <rgm@gnu.org>
15271
15272 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15273
152742007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15275
15276 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15277 dead key repeat and up events.
15278
152792007-05-14 Chong Yidong <cyd@stupidchicken.com>
15280
15281 * image.c (pbm_load): Check image size for monochrome pbm.
15282
152832007-05-13 Chong Yidong <cyd@stupidchicken.com>
15284
15285 * xterm.c (XTread_socket): Revert last change.
15286
152872007-05-12 Chong Yidong <cyd@stupidchicken.com>
15288
15289 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15290
15291 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15292
152932007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15294
15295 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15296 mixup (YAILOM).
15297
152982007-05-07 Andreas Schwab <schwab@suse.de>
15299
15300 * keymap.c (Flookup_key): Fix typo in last change.
15301
153022007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15303
15304 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15305 mapping for unibyte strings.
15306
153072007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15308
15309 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15310 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15311
153122007-04-29 Richard Stallman <rms@gnu.org>
15313
15314 * insdel.c (replace_range): For undo, record insertion first.
15315
153162007-04-29 Andreas Schwab <schwab@suse.de>
15317
15318 * lisp.h (VECSIZE): Use OFFSETOF.
15319
153202007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15321
15322 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15323 disabled lines.
15324
153252007-04-28 Richard Stallman <rms@gnu.org>
15326
15327 * lread.c (read_escape): In a string, \s is always space.
15328
880820fe 153292007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
15330
15331 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15332
15333 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15334 submenu for menu bar items.
15335
382c648d 15336See ChangeLog.10 for earlier changes.
6922b018
KH
15337
15338;; Local Variables:
880820fe 15339;; coding: utf-8
33462dfa 15340;; add-log-time-zone-rule: t
67e8d28a 15341;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
6922b018 15342;; End:
2a34a036 15343
59ce725a 15344 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
15345
15346 This file is part of GNU Emacs.
15347
5a1dde61 15348 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 15349 it under the terms of the GNU General Public License as published by
5a1dde61
GM
15350 the Free Software Foundation, either version 3 of the License, or
15351 (at your option) any later version.
7f6d64f8
GM
15352
15353 GNU Emacs is distributed in the hope that it will be useful,
15354 but WITHOUT ANY WARRANTY; without even the implied warranty of
15355 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15356 GNU General Public License for more details.
15357
15358 You should have received a copy of the GNU General Public License
5a1dde61 15359 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 15360
28f60c3d 15361;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40