(Fx_family_fonts): Use font_parse_family_registry instead of
[bpt/emacs.git] / src / ChangeLog
CommitLineData
7740d2c7
KH
12008-06-05 Kenichi Handa <handa@m17n.org>
2
3 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4 is unspecified.
5
6 * xfaces.c (realize_x_face): If the font-related face attributes
7 are the same as those of default face, realize a new fontset
8 from default->fontset.
9
c876b227
SM
102008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
11
12 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
13 (move_it_in_display_line): New wrapper.
14
15 * window.c (window_scroll_pixel_based_preserve_x)
16 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
17 (window_scroll_pixel_based, window_scroll_line_based):
18 Use them to preserve column positions.
19 (syms_of_window): Initialize them.
20
21 * indent.c (Fvertical_motion): Extend first arg to allow passing an
22 (HPOS . VPOS) pair.
23
24 * dispextern.h (move_it_in_display_line): Declare.
25
927abf37
JB
262008-06-05 Juanma Barranquero <lekktu@gmail.com>
27
28 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
29 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
30 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
31
9d14503e
JB
322008-06-04 Juanma Barranquero <lekktu@gmail.com>
33
34 * window.c (Fset_window_parameter): Doc fix.
35 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
36
e6841c3b
JB
372008-06-04 Joakim Verona <joakim@verona.se>
38
39 * window.h (struct window): Add new member window_parameters.
40
41 * window.c (Fwindow_parameters, Fwindow_parameter)
42 (Fset_window_parameter): New defuns.
43 (syms_of_window): Defsubr the new defuns.
44 (make_window): Initialize window_parameters to nil.
45
4ba50634
JPW
462008-06-04 John Paul Wallington <jpw@pobox.com>
47
48 * eval.c (Fdefmacro): Doc fix.
49
c0e16b14
KH
502008-06-04 Kenichi Handa <handa@m17n.org>
51
52 * coding.c (detect_coding): Fix handling of coding->head_ascii.
53 Be sure to call setup_coding_system when a proper coding system is
54 found.
55 (detect_coding_system): Fix handling of coding->head_ascii.
56
0615d903
AS
572008-06-03 Andreas Schwab <schwab@suse.de>
58
59 * font.c (font_prop_validate_spacing): Fix last change.
60
8a1816bb
KH
612008-06-03 Kenichi Handa <handa@m17n.org>
62
eea9c5c4
KH
63 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
64 (font_parse_fcname): Fix handling of unknown key.
65
66 * xfont.c (xfont_list): Try an alias.
67
8a1816bb
KH
68 * charset.c (char_charset): Return NULL if the arg charset_list is
69 specified and C doesn't belong to any of them.
70
2f593f4c 712008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
72
73 * font.c (font_pixel_size): Don't take cdr of an integer.
74
c2cd06e6
JM
752008-06-02 Jim Meyering <meyering@redhat.com>
76
70fdbb46
JM
77 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
78 * alloc.c (xfree): Return right away for a NULL arg.
79 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
80 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
81 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
82 (create_apple_event_from_drag_ref, cfstring_create_normalized):
83 Likewise.
70fdbb46
JM
84 * doprnt.c (doprnt1): Likewise.
85 * frame.c (frame): Likewise.
86 * keyboard.c (wipe_kboard): Likewise.
87 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap):
88 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
89 * term.c (tty_default_color_capabilities, maybe_fatal)
90 (delete_tty): Likewise.
91 * w16select.c (string): Likewise.
92 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
93 * w32bdf.c (w32_free_bdf_font): Likewise.
94 * w32fns.c (w32_unload_font): Likewise.
95 * w32font.c (w32font_close): Likewise.
96 * window.c (size_window): Likewise.
97 * xselect.c (receive_incremental_selection): Likewise.
98 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
99 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
100 * w32.c (stat): Likewise.
101
2f593f4c 102 Remove useless if-before-free tests.
70fdbb46
JM
103 * editfns.c (Fset_time_zone_rule): Likewise.
104 * lread.c (nosuffix): Likewise.
105 * ralloc.c (get_bloc): Likewise.
106 * regex.c (reg_free): Likewise.
107 * xftfont.c (xftfont_open, xftfont_close): Likewise.
108 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
109 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 110
4fc1984a
KH
1112008-06-02 Kenichi Handa <handa@m17n.org>
112
1d1e1245
KH
113 * font.c (font_find_for_lface): Handle float font size.
114 (font_open_for_lface): Likewise.
115
4fc1984a
KH
116 * xfaces.c (x_supports_face_attributes_p): Check face->font before
117 comparing the properties.
118
aee986fd
JR
1192008-06-01 Jason Rumney <jasonr@gnu.org>
120
e6841c3b
JB
121 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
122 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
123 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
124 Don't add empty script list.
125 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 126
60a3d7ee
DN
1272008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
128
aee986fd 129 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
130 ".." has been used elsewhere in the file for a long time.
131 (LIBXT_STATIC): Remove conditional based on unused variable.
132
f2cec7a9
MB
1332008-06-01 Miles Bader <miles@gnu.org>
134
135 * xfaces.c (Vface_remapping_alist): New variable.
136 (syms_of_xfaces): Initialize it.
137 (enum named_merge_point_kind): New type.
138 (struct named_merge_point): Add `named_merge_point_kind' field.
139 (push_named_merge_point): Make cycle detection respect different
140 named-merge-point kinds.
c876b227 141 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
142 Remove face-name alias resolution.
143 (lface_from_face_name): New definition using
144 `lface_from_face_name_no_resolve'.
c876b227 145 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
146 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
147 (get_lface_attributes): New definition that layers face-remapping on
148 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
149 (lookup_basic_face): New function.
150 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
151 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
152 `get_lface_attributes'.
153 (face_at_buffer_position): Use `lookup_basic_face' to lookup
154 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
155 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
156
157 * xdisp.c (init_iterator): Pass base_face_id through
158 `lookup_basic_face' when we actually use it as a face-id.
159 (handle_single_display_prop): Use `lookup_basic_face' to lookup
160 DEFAULT_FACE_ID.
161
162 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
163 lookup the initial face-id.
164
165 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
166
518c0b83
JB
1672008-06-01 Juanma Barranquero <lekktu@gmail.com>
168
169 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
170 (Fremove_text_properties): Fix typos in docstrings.
171
719b3d63
KH
1722008-05-31 Kenichi Handa <handa@m17n.org>
173
e4c93315
KH
174 * font.c (font_list_entities): Fix the car part of data to be
175 stored in the cache.
176
719b3d63
KH
177 * ftfont.c (ftfont_font_format): Don't use strcasestr.
178
d0827857
SM
1792008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
180
181 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
182 Add a `test' argument so another predicate than `equal' can be used.
183 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
184 (map_char_table): Remove unused vars `c' and `i'.
185 * lisp.h (Foptimize_char_table): Adjust declaration.
186 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
187
a266686a
KH
1882008-05-30 Kenichi Handa <handa@m17n.org>
189
d0827857 190 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
191 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
192 defined.
193
fd9440c5
SM
1942008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
195
196 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
197 (Fmake_variable_frame_local): Disallow mixing buffer-local and
198 frame-local settings for the same variable.
199
fd2ae9b2
KH
2002008-05-30 Kenichi Handa <handa@m17n.org>
201
202 * fontset.c (Ffont_info): Moved to font.c.
203 (syms_of_fontset): Delete defsubr of Sfont_info.
204
205 * font.c (font_style_to_value, font_score): Delete casting of the
206 args to xstcasecmp.
207 (register_font_driver): Increment num_font_drivers only when
208 registering the driver globally.
209 (Ffont_info): Moved from fontset.c. Handle a font object too.
210 (syms_of_font): Defsubr Sfont_info.
211
eaf11618
KH
2122008-05-29 Kenichi Handa <handa@m17n.org>
213
214 * coding.h (enum define_coding_utf8_arg_index): New enum.
215 (enum coding_attr_index): Change coding_attr_utf_16_bom to
216 coding_attr_utf_bom.
fd9440c5
SM
217 (enum utf_bom_type): Rename from utf_16_bom_type.
218 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
219 (struct coding_system): Add utf_8_bom in `spec' union.
220
221 * coding.c (CODING_UTF_8_BOM): New macro.
222 (enum coding_category): Delete coding_category_utf_8, add
223 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
224 coding_category_utf_8_sig.
225 (CATEGORY_MASK_UTF_8): Delete it.
226 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
227 (CATEGORY_MASK_UTF_8_SIG): New macros.
228 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
229 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
230 CATEGORY_MASK_UTF_8_SIG.
231 (CATEGORY_MASK_UTF_8): New macro.
232 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
233 (detect_coding_utf_8): Check BOM.
234 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 235 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
236 (encode_coding_utf_16): Likewise.
237 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
238 (detect_coding, detect_coding_system): Handle utf-8-auto.
239 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
240 (syms_of_coding): Fix setting up of Vcoding_category_table.
241
891bd142
SM
2422008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
243
244 * process.c (Faccept_process_output): If `millisec' is non-nil,
245 `seconds' default to 0.
246 (wait_reading_process_output): Also return non-nil if we read output
247 from a non-running process.
248
1519d52e
JR
2492008-05-29 Jason Rumney <jasonr@gnu.org>
250
fd9440c5
SM
251 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
252 `raster' specified.
253 (add_font_entity_to_list): Allow non-opentype truetype fonts back
254 in the uniscribe backend, but disallow any font that has no
255 unicode subrange support.
1519d52e 256
d5ab09cd
JB
2572008-05-29 Juanma Barranquero <lekktu@gmail.com>
258
259 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
260 Fix typos in docstrings.
261
a4eec626
KH
2622008-05-29 Kenichi Handa <handa@m17n.org>
263
264 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 265 (Fx_family_fonts): Set frame correctly.
a4eec626 266
a6e0b7e5
JR
2672008-05-28 Jason Rumney <jasonr@gnu.org>
268
d5ab09cd 269 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 270
6b3d752c
SM
2712008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
272
273 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
274 calling build_annotations.
275
c3f9fba8
JB
2762008-05-28 Juanma Barranquero <lekktu@gmail.com>
277
278 * coding.c (Fdecode_coding_region, Fencode_coding_region)
279 (Fencode_coding_string):
280 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
281 <latin-extra-code-table>: Fix typos in docstrings.
282 (syms_of_coding) <coding-system-alist>: Doc fix.
283 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
284
00c670e1
KH
2852008-05-28 Kenichi Handa <handa@m17n.org>
286
b75d7f28
KH
287 * fontset.c (Ffont_info): Don't call font_close_object.
288
289 * font.c (font_parse_family_registry): Use Ffont_put to validate
290 foundry and family.
291 (font_delete_unmatched): Don't check spacing.
292 (font_list_entities): Add spacing to the spec to list fonts.
293
294 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 295 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 296
00c670e1
KH
297 * coding.c (encode_coding_raw_text): Fix previous change.
298 (encode_coding_object): When the dst_object is a buffer and is
299 different from src_object, move gap to PT.
300
45feca91
CY
3012008-05-27 Chong Yidong <cyd@stupidchicken.com>
302
c3f9fba8 303 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 304
5dd5d9eb
SM
3052008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
306
01d45367
SM
307 * coding.c (encode_coding_raw_text): Set coding->produced_char for
308 all branches. Compute it differently.
309
5dd5d9eb
SM
310 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
311
9c623c85
JB
3122008-05-27 Juanma Barranquero <lekktu@gmail.com>
313
314 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
315 into "else if () ... else ...".
316
943f2093
JR
3172008-05-27 Jason Rumney <jasonr@gnu.org>
318
5dd5d9eb
SM
319 * w32font.c (w32font_open_internal): Determine if glyph indices
320 are likely to work here.
943f2093 321
7385fe74
CY
3222008-05-27 Chong Yidong <cyd@stupidchicken.com>
323
324 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
325 draw overlap glyphs with appropriate highlighting.
326
4f64a164
KH
3272008-05-27 Kenichi Handa <handa@m17n.org>
328
329 * xfont.c (xfont_open): Fix calculation of font->average_width.
330
1fb5aad7
SM
3312008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
332
333 * casefiddle.c (casify_object): Try to guess better whether the
334 argument is a byte or a char.
335
f8eb1603
AS
3362008-05-26 Andreas Schwab <schwab@suse.de>
337
1fb5aad7
SM
338 * xselect.c (x_reply_selection_request): Properly handle format == 32.
339 Always send multiples of format size.
5a9c35e5 340
f8eb1603
AS
341 * xterm.c (x_set_frame_alpha): Fix type mismatch.
342
ba93d684
JR
3432008-05-26 Jason Rumney <jasonr@gnu.org>
344
1fb5aad7
SM
345 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
346 (compute_metrics): Don't set failure if we just cleared the cache.
347 (w32_weight_table): Remove unused variable.
348 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
349 backwards compatibility.
ba93d684 350
505ecc49
KH
3512008-05-25 Kenichi Handa <handa@m17n.org>
352
1fb5aad7
SM
353 * w32term.c (x_draw_glyph_string):
354 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
355
356 * xfaces.c: Delete unused function prototypes.
357 (xstrlwr, font_frame): Delete them.
358 (clear_face_cache): Delete unused variable.
359
1fb5aad7
SM
360 * xftfont.c (xftfont_open): Delete unused variable.
361 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
362
363 * ftxfont.c (ftxfont_open): Delete unused variable.
364
365 * fontset.c (face_for_char): Optimize for the case of no charset
366 property.
367
368 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
369 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
370 (otf_open, font_otf_capability, generate_otf_features)
371 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 372 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
373 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
374 (syms_of_font): Codes for accessing above commented out.
375
f481eb31
EZ
3762008-05-24 Eli Zaretskii <eliz@gnu.org>
377
378 * w32proc.c: Include dispextern.h.
379
380 * w32.c: Include dispextern.h.
381
20746fe4
JB
3822008-05-23 Juanma Barranquero <lekktu@gmail.com>
383
384 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
385 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
386 Fix typos in docstrings.
387
e7150846
JR
3882008-05-23 Jason Rumney <jasonr@gnu.org>
389
20746fe4 390 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 391
dbf46ba6
KH
3922008-05-23 Kenichi Handa <handa@m17n.org>
393
6c652beb
KH
394 * charset.c (Qemacs, charset_emacs): New variables.
395 (char_charset): Fix for non-Unicode characters.
396 (syms_of_charset): Define charset_emacs.
397
baf4d3b3 398 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
399 s->underline_thickness and s->underline_position. Be sure to draw
400 underline within the current line area.
baf4d3b3
KH
401
402 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 403 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 404 underline within the current line area.
baf4d3b3 405
dbf46ba6
KH
406 * fontset.c: Delete unused variables and add casting for char *
407 throughout the file.
408 (fontset_font): Try the fallback fonts of the current fontset
409 before consulting the default fontset.
410
411 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
412
413 * xfont.c (xfont_list_pattern): Free names returned from
414 XListFonts.
415
3b780338
JR
4162008-05-22 Jason Rumney <jasonr@gnu.org>
417
20746fe4 418 * font.c: Don't include strings.h.
577eba22 419
20746fe4 420 * dispextern.h, xfaces.c (xstrcasecmp): Renamed from xstricmp.
05131107 421
20746fe4
JB
422 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
423 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
424 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
425 to call xstrcasecmp.
05131107 426
b1722a46 427 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 428
b1722a46 429 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 430
b1722a46 431 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 432
b1722a46 433 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 434
a30e1957
KH
4352008-05-22 Kenichi Handa <handa@m17n.org>
436
20746fe4 437 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 438
20746fe4 439 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
440 change of font_style_table.
441
a30e1957
KH
442 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
443 two args.
444
445 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
446 two args.
447
631248e5
SM
4482008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
449
450 * minibuf.c (keys_of_minibuf): Delete.
451 * lisp.h (keys_of_minibuf): Delete.
452 * emacs.c (main): Don't call keys_of_minibuf.
453
318548be
KH
4542008-05-22 Kenichi Handa <handa@m17n.org>
455
631248e5 456 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
457 ftfont_list_generic_family. Return a single family for each
458 generic family.
459 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
460 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
461 Call font_add_log.
318548be
KH
462 (ftfont_match): Call font_add_log.
463
464 * font.h (Ffont_xlfd_name): EXFUN adjusted.
465 (FONT_DEBUG): Define it.
466 (font_add_log): Extern it.
631248e5 467 (font_assert): Rename from xassert.
318548be
KH
468
469 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
470 (xfont_list_family): Call font_add_log.
471 (xfont_match): Likewise.
631248e5 472 (memq_no_quit): Delete.
318548be
KH
473
474 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
475 call of Ffont_xlfd_name.
476
477 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 478 (swidth_table): Move to font.c.
318548be
KH
479
480 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 481 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
482 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
483 New variables.
631248e5
SM
484 (struct table_entry): Move from xfaces.c and modified.
485 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 486 contents adjusted for the change of struct table_entry.
20746fe4 487 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 488 format change of font_style_table.
318548be
KH
489 (font_parse_family_registry): Don't overwrite existing foundry and
490 family of font_spec.
491 (font_score): Fix calculation of diff for sizes.
492 (font_sort_entites): Call font_add_log.
493 (font_delete_unmatched): Return a newly created list.
494 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
495 (font_matching_entity, font_open_entity, font_close_entity):
496 Call font_add_log.
318548be 497 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 498 (Finternal_set_font_style_table): Delete.
318548be
KH
499 (BUILD_STYLE_TABLE): New macro.
500 (build_style_table): New function.
501 (Vfont_log, font_log_env_checked): New variables.
502 (font_add_log): New function.
503 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
504 Declare Lisp variables "font-weight-table", "font-slant-table",
505 "font-width-table", and "font-log". Initialize font_style_table.
506
6aac1c03
DN
5072008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
508
bcc850aa 509 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 510
7950790f
GM
5112008-05-21 Seiji Zenitani <zenitani@mac.com>
512 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 513
7950790f 514 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 515 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 516 (x_set_alpha): New function.
a2979e8e 517
7950790f 518 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 519
7950790f
GM
520 * xfns.c (x-create-frame, Qalpha):
521 Initialize the frame parameter `alpha'.
b9fb2c45
GM
522 * xterm.c (OPAQUE, OPACITY): New.
523 (x_set_frame_alpha): New function.
524 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 525
7950790f
GM
526 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
527 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 528
5c2a72d9
JR
5292008-05-20 Jason Rumney <jasonr@gnu.org>
530
20746fe4
JB
531 * w32font.c (add_font_entity_to_list): Don't add non-opentype
532 truetype fonts to opentype list.
5c2a72d9 533
eb152aa9
JB
5342008-05-20 Juanma Barranquero <lekktu@gmail.com>
535
536 * fontset.c (Ffontset_info): Doc fix.
537 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
538 <ignore-relative-composition>: Fix typos in docstrings.
539
540 * font.c (syms-of-font) <font-encoding-alist>:
541 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
542 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
543 (Ffont_otf_alternates): Doc fixes.
544
ad00e1a3
KH
5452008-05-20 Kenichi Handa <handa@m17n.org>
546
547 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
548 font.h through out the file.
549 (FONT_DRIVERS): Renamed from FONTOBJ.
12855572 550 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
551 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
552
553 * emacs.c (main): Call syms_of_font unconditionally.
554
555 * font.h (find_font_encoding): Extern it.
556
557 * font.c (Vfont_encoding_alist, find_font_encoding): Moved from
558 fontset.c.
559 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
560 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
561 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
562 only when HAVE_WINDOW_SYSTEM is defined.
563 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
564 when HAVE_WINDOW_SYSTEM is defined.
565
566 * fontset.c (Vfont_encoding_alist, find_font_encoding): Moved to
567 font.c.
568 (syms_of_fontset): Declaration of font-encoding-alist moved to
569 font.c.
570
571 * xfaces.c: Include font.h unconditionally.
572 (merge_face_ref, merge_face_vectors)
573 (Finternal_set_lisp_face_attribute): Cancel the previous change.
574
40a69fac
SM
5752008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
576
577 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
578 indirect_variable.
579 * eval.c (lisp_indirect_variable): New fun.
580 (Fuser_variable_p): Use it.
581
8c2dccbf
SM
5822008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
583
ad97b375
SM
584 * lisp.h (indirect_variable):
585 * data.c (indirect_variable, let_shadows_buffer_binding_p):
586 Use Lisp_Symbol pointers rather than Lisp_Object.
587 Adjust callers.
588 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
589 To this end, change calling-convention.
590
8c2dccbf
SM
591 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
592 if some non-hidden buffers are selected by string&pred.
593
ad97b375
SM
5942008-05-19 Chong Yidong <cyd@stupidchicken.com>
595
596 * process.c (wait_reading_process_output): Always check status
597 when in batch mode.
598
25b81df4
KH
5992008-05-19 Kenichi Handa <handa@m17n.org>
600
601 * font.c (font_list_entities): Fix handling of cache.
602 (font_matching_entity): Likewise.
603
8c2dccbf 604 * ftfont.c (cs_iso8859_1): Delete.
25b81df4
KH
605 (ft_face_cache): New variable.
606 (struct ftfont_info): New member fc_charset_idx;
8c2dccbf 607 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
608 (fc_charset_table): New variable.
609 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
610 . FC_CHARSET_IDX) as :font-entity property in the font entity.
611 Callers changed.
dde8403f 612 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
613 (ftfont_spec_pattern): New argument fc_charset_idx.
614 Check registry more rigidly. Change callers.
a2979e8e 615 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
616 change of :font-entity property of the font.
617
a2979e8e 618 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
619 property of the font.
620
d4a1d553
JB
6212008-05-18 Juanma Barranquero <lekktu@gmail.com>
622
623 * coding.c (Fcoding_system_p): Rename argument to match docstring.
624 (Funencodable_char_position, Fcheck_coding_systems_region)
625 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
626 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
627 (Ffind_operation_coding_system, Fset_coding_system_priority)
628 (Fcoding_system_eol_type): Doc fixes.
629
07cfc4e7
GM
6302008-05-17 Glenn Morris <rgm@gnu.org>
631
632 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
633
1cab27d2
EZ
6342008-05-16 Eli Zaretskii <eliz@gnu.org>
635
636 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
637 and st_gid.
638
dde8403f 639 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
640 HAVE_WINDOW_SYSTEM is not defined.
641
642 * xfaces.c (merge_face_ref, merge_face_vectors)
643 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
644 HAVE_WINDOW_SYSTEM is defined.
645 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
646
86b89713
SM
6472008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
648
649 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
650
6750bd93
YM
6512008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
652
62867b11 653 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 654
79f105c9
KH
6552008-05-15 Kenichi Handa <handa@m17n.org>
656
657 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
658 preference.
659
6b33da9f
GM
6602008-05-15 Glenn Morris <rgm@gnu.org>
661
662 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
663
d0e4433b
CY
6642008-05-15 Chong Yidong <cyd@stupidchicken.com>
665
666 * fns.c (init_fns): Don't initialize weak_hash_tables here.
667 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
668
669 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
670
5f2d79e0
KH
6712008-05-15 Kenichi Handa <handa@m17n.org>
672
fd8a1cae
KH
673 * ftfont.c (ftfont_list): Downcase family name to check generic
674 families.
675
676 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
677 font-spec for QCfont value.
678
5f2d79e0
KH
679 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
680 buffer. Check the return value of it.
681
e5e29349
JR
6822008-05-14 Jason Rumney <jasonr@gnu.org>
683
684 * w32term.c (w32_get_glyph_overhangs): Remove.
685 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
686
1f09f444
KH
6872008-05-14 Kenichi Handa <handa@m17n.org>
688
689 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
690 (font_clear_cache): Check if the cached vector of entities is nil
691 or not.
1f09f444 692
ecae6af9 6932008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
694
695 * emacs.c (main_thread): Conditionalize on
696 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
697 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
698
699 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
700 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
701 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
702
c6b278e7
KH
7032008-05-14 Kenichi Handa <handa@m17n.org>
704
705 * coding.c (detect_coding_iso_2022): Ignore a coding category that
706 has no corresponding coding system.
707
7082008-05-14 Jason Rumney <jasonr@gnu.org>
709
710 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
711
712 * w32font.h (w32font_open_internal): Update declaration.
713
714 * w32font.c (w32font_open_internal): Change last argument from
715 w32font_info struct to font object. Fill in font object from
716 font_entity. Get Outline metrics if possible. Use them to
717 calculate underline position and thickness. Use xlfd name as name
718 property. Don't set codepage.
719 (w32font_open): Pass font_object to w32font_open_internal. Don't
720 update dpyinfo->smallest_font_height and
721 dpyinfo->smallest_char_width.
722 (w32font_draw): Use s->font.
723 (clear_cached_metrics): Don't clear non-existent blocks.
724
725 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
726 font was not found.
727 (x_draw_glyph_string): Use underline position and thickness from
728 font.
729
730 * w32uniscribe.c (uniscribe_open): Pass font_object to
731 w32font_open_internal.
732
7332008-05-14 Kenichi Handa <handa@m17n.org>
734
735 These changes are to delete all legacy font-handling codes, and
736 make Emacs use only font-backends.
737
738 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
739 (frame.o, image.o, print.o): Depend on $(FONTSRC).
740
741 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
742
743 * charset.h (Vcharset_non_preferred_head)
744 (Vcurrent_iso639_language): Extern them.
745
746 * charset.c (Vcharset_non_preferred_head): New variable.
747 (Vcurrent_iso639_language): New variable.
748 (syms_of_charset): Declare it as a Lisp variable.
749 (char_charset): Don't check non preferred charsets. As a last
750 resort, return charset_unicode.
751 (Fset_charset_priority): Update Vcharset_non_preferred_head.
752
753 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
754 conditionals. Don't check enable_font_backend. Delete all codes
755 used only when USE_FONT_BACKEND is not defined.
756
757 * dispextern.h (struct glyph_string): Change type of `font' to
758 `struct font *'.
759 (struct glyph_string): New member underline_position and
760 underline_thickness.
761 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
762 (struct face): Change type of `font' to `struct font *'. Remove
763 members `font_name', `font_info_id'.
764 (per_char_metric, encode_char): Delete externs.
765 (calc_pixel_width_or_height): Adjust the prototype.
766
767 * emacs.c (enable_font_backend): Delete extern.
768 (main): Don't set enable_font_backend. Don't check the command
769 line argument "-disable-font-backend".
770
771 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
772 (enum font_property_index): New members FONT_DPI_INDEX,
773 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
774 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
775 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
776 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
777 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
778 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
779 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
780 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
781 (struct font_spec, struct font_entity): New structs.
782 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
783 (struct font): Many members from old "struct font_info" moved to
784 here. Members font and entity deleted.
785 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
786 the new font-related objects.
787 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
788 (CHECK_FONT_GET_OBJECT): Likewise.
789 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
790 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
791 (struct font_driver): New members case_sensitive anc check. Type
792 of the member list and open changed.
793 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
794 (font_symbolic_width, font_find_object, font_get_spec)
795 (font_set_lface_from_name): Delete extern.
20746fe4 796 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
797
798 * font.c: Include <strings.h>.
799 (enable_font_backend): Delete it.
800 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
801 (CHECK_VALIDATE_FONT_SPEC): Delete it.
802 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
803 (null_string): Delete it.
804 (null_vector): Make it static.
805 (font_family_alist): Delete it.
806 (Qnormal): Extern it.
807 (QCextra, QClanguage): Delete it.
20746fe4 808 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
809 (font_make_spec, font_make_entity, font_make_object)
810 (font_intern_prop): Renamed from intern_downcase. Don't downcase
811 the string. Callers changed.
812 (font_pixel_size): Adjusted for the format change of font-related
813 objects.
814 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
815 (font_style_to_value, font_style_symbolic): New function.
816 (build_font_family_alist): Delete it.
817 (font_registry_charsets): Use Fassoc_string instead of
818 assq_no_quit.
819 (font_prop_validate_symbol): Don't return null_string.
820 (font_prop_validate_style): Adjusted for the change of
821 style-related values in a font vector.
20746fe4 822 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
823 QCantialias, add entries for QCavgwidth.
824 (get_font_prop_index): Delete the 2nd argument FROM.
825 (font_prop_validate): Arguments changed.
826 (font_put_extra): Adjusted for the change of font-related objects.
827 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
828 (font_parse_fcname, font_unparse_fcname)
829 (font_prepare_composition): Likewise.
830 (font_parse_family_registry): Renamed from font_merge_old_spec.
831 (otf_open): Delete the 1st arg entity.
832 (font_otf_capability): Adjusted for the above change.
833 (font_score): New arg alternate_families. Adjusted for the change
834 of font-related objects.
835 (font_sort_entites): New arg best_only.
836 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
837 Delete them.
838 (font_match_p): Check alternate families.
839 (font_find_object): Delete it.
840 (font_check_object): New function.
c3f9fba8 841 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
842 (font_delete_unmatched): New arg.
843 (font_list_entities): Call font_driver->list with a spec that
844 doesn't specify style-related properties.
845 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 846 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
847 (font_close_object, font_has_char, font_encode_char)
848 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
849 (font_spec_from_name, font_clear_prop, font_update_lface):
850 New functions.
851 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
852 (font_prepare_for_face, font_done_for_face, font_open_by_name)
853 (font_at): Adjusted for the change of font-related objects.
854 (font_range): New function.
855 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 856 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
857 (Fcopy_font_spec, Fmerge_font_spec): New function.
858 (Ffont_family_list): Renamed from list-families.
859 (Finternal_set_font_style_table): Arguments changed.
860 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
861 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
862 change of font-related objects.
c3f9fba8 863 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7
KH
864
865 * fontset.h (struct font_info): Delete it. Most memnbers go to
866 struct font.
867 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
868 (enum FONT_SPEC_INDEX): Delete it.
869 (font_info, list_fonts_func, load_font_func, query_font_func)
870 (set_frame_fontset_func, find_ccl_program_func)
871 (get_font_repertory_func, new_fontset_from_font_name): Delete
872 externs.
873 (fontset_from_font_name): Extern it.
874 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
875 (FONT_INFO_FROM_FACE): Deleted.
876 (face_for_font): Adjust prototype.
877
878 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
879 conditionals. Don't check enable_font_backend. Delete all codes
880 used only when USE_FONT_BACKEND is not defined.
881 (get_font_info_func, list_font_func, load_font_func)
882 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
883 (get_font_repertory_func): Delete them.
884 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
885 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
886 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
887 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
888 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
889 (fontset_compare_rfontdef): New function.
890 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
891 ront-defs by qsort. Adjusted for the change of font-group vector.
892 (load_font_get_repertory): Deleted.
893 (fontset_find_font): Use new macros to ref/set elements of
894 font-def and rfont-def.
895 (fontset_font): Fix the timing of remembering that no font for C.
896 (free_face_fontset): Do nothing if the face has no fontset.
897 (face_suitable_for_char_p): Use new macros to ref/set elements of
898 rfont-def.
899 (face_for_char): Likewise. Call face_for_char with font_object.
900 (fs_load_font): Delete. Delete #pragma surrounding it.
901 (fs_query_fontset): Use strcasecmp instead of strcmp.
902 (generate_ascii_font_name): Adjusted for the format change of
903 font-spec.
904 (Fset_fontset_font): Likewise. Use new macros to set elements of
905 font-def.
906 (Fnew_fontset): Use font_unparse_xlfd to generate
907 FONTSET_ASCII (fontset).
908 (new_fontset_from_font_name): Deleted.
909 (fontset_from_font): Renamed from new_fontset_from_font. Check if
910 a fontset is already created for the font. FIx updating of
911 Vfontset_alias_alist.
912 (fontset_ascii_font): Deleted.
913 (Ffont_info): Adjusted for the format change of font-spec.
914 (Finternal_char_font): Likewise.
915 (Ffontset_info): Likewise.
916 (syms_of_fontset): Don't check load_font_func.
917
918 * fns.c (internal_equal): Handle PREV_FONT.
919
920 * frame.h: Delete USE_FONT_BACKEND conditional.
921
922 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
923 conditionals. Don't check enable_font_backend. Delete all codes
924 used only when USE_FONT_BACKEND is not defined.
925 (x_set_font): Call x_new_font, not x_new_fontset2.
926 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
927 already set for the frame.
928
929 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
930 a font-entity by font_make_entity. Use font_intern_prop instead
931 of intern_downcase. Use FONT_SET_STYLE to set a style-related
932 font property. If a font is scalable, set avgwidth property to 0.
933 Set font-entity property by font_put_extra.
934 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
935 (ffont_driver): Adjusted for the change of struct font_driver.
936 (ftfont_spec_pattern): New function.
937 (ftfont_list): Return a list, not vector.
938 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
939 (ftfont_list_family): Don't downcase names.
940 (ftfont_free_entity): Deleted.
941 (ftfont_open): Return a font-ojbect. Adjusted for the change of
942 struct font. Get underline_thickness and underline_position from
943 font property. Don't update dpyinfo->smallest_font_height and
944 dpyinfo->smallest_char_width.
945 (ftfont_close): Don't free `struct font'.
946 (ftfont_has_char): Adjusted for the format change of font-entity.
947 (ftfont_encode_char, ftfont_text_extents): Likewise.
948
949 * ftxfont.c (ftxfont_list): Return a list, not vector.
950 (ftxfont_open): Return a font-ojbect. Adjusted for the change of
951 struct font. Get underline_thickness and underline_position from
952 font property. Don't update dpyinfo->smallest_font_height and
953 dpyinfo->smallest_char_width.
954 (ftxfont_close): Don't decrese FRAME_X_DISPLAY_INFO (f)->n_fonts.
955 (ftxfont_draw): Adjusted for the change of struct font.
956
957 * image.c (image_ascent): Don't include "charset.h". Include
958 "character.h" and "font.h".
959
960 * lisp.h (enum pvec_type): New member PREV_FONT.
961 (Fassoc_string): EXFUN it.
962
963 * print.c: Include font.h.
964 (print_object): Handle font-related objects.
965
966 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
967 conditionals. Don't check enable_font_backend. Delete all codes
968 used only when USE_FONT_BACKEND is not defined.
969 (handle_auto_composed_prop): Do nothing if it->f is not on a
970 window system. Check how many following characters can be
971 displayed by the same font.
972 (calc_pixel_width_or_height): Type of the 4th arg is changed to
973 'struct font *'.
974 (get_char_face_and_encoding): Assign the whole encoding task to
975 the `encode-char' method of a font driver.
976 (fill_composite_glyph_string): Adjusted for the change of `struct
977 face' and `struct glyph_string'.
978 (fill_glyph_string): Likewise.
979 (get_per_char_metric): Arguments changed.
980 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
981 and `struct glyph_string'.
982 (produce_stretch_glyph, calc_line_height_property)
983 (x_produce_glyphs): Likewise.
984
985 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
986 conditionals. Don't check enable_font_backend. Delete all codes
987 used only when USE_FONT_BACKEND is not defined. Use
988 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
989 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
990 (Qp): Extern them.
991 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
992 Deleted.
993 (struct font_name): Deleted.
994 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
995 (compare_fonts_by_sort_order): New function.
996 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
997 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
998 Deleted.
999 (Fx_family_fonts): Use font_list_entities, and sort fonts by
1000 compare_fonts_by_sort_order.
1001 (Fx_font_family_list): Call Ffont_family_list.
1002 (face_numeric_value, face_numeric_weight, face_numeric_slant)
1003 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
1004 (face_symbolic_slant, face_symbolic_swidth)
1005 (split_font_name_into_vector, build_font_name_from_vector)
1006 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
1007 (font_rescale_ratio, split_font_name, build_font_name)
1008 (free_font_names, sort_fonts, x_face_list_fonts)
1009 (face_font_available_p, sorted_font_list, cmp_font_names)
1010 (font_list_1, concat_font_list, font_list, remove_duplicates):
1011 Deleted.
1012 (Fx_list_fonts): Use Ffont_list.
1013 (LFACE_AVGWIDTH): Deleted.
1014 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
1015 by FONTP.
1016 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1017 (set_lface_from_font_name): Delete it.
1018 (set_lface_from_font): Renamed from
1019 set_lface_from_font_and_fontset. Caller changed. Don't set
1020 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
1021 for face.
c3f9fba8
JB
1022 (merge_face_vectors): Copy font-spec if necessary.
1023 Clear properties of the font-spec if necessary.
c6b278e7
KH
1024 (merge_face_ref): Clear properties of the font-spec if necessary.
1025 (Finternal_set_lisp_face_attribute): Likewise.
1026 (set_font_frame_param): Use font_load_for_lface to load a
1027 font-object, and call Fmodify_frame_parameters with it.
1028 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
1029 font name by Ffont_xlfd_name.
1030 (Finternal_lisp_face_attribute_values): Don't check QCweight,
1031 QCslant, and QCwidth.
1032 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
1033 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
1034 Compare fonts by EQ.
1035 (lookup_non_ascii_face): Deleted.
1036 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
1037 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
1038 Check atomic font properties by case insensitive.
c6b278e7
KH
1039 (realize_non_ascii_face): Set face->overstrike correctly.
1040 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
1041 (dump_realized_face): Get font name from
1042 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
1043
1044 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
1045 conditionals. Don't check enable_font_backend. Delete all codes
1046 used only when USE_FONT_BACKEND is not defined.
1047 (xic_create_xfontset): Original code deleted and renamed from
1048 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
1049 (x_make_gc): Don't set GCFont in GCs.
1050 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
1051 opened by "fixed".
1052 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
1053 find_ccl_program_func, query_font_func, set_frame_fontset_func,
1054 get_font_repertory_func.
1055
1056 * xfont.c: Include <stdlib.h> and "ccl.h".
1057 (struct xfont_info): New structure.
1058 (xfont_query_font): Deleted.
1059 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
1060 moved from xterm.c.
1061 (xfont_driver): Adjusted for the change of struct font_driver.
1062 (compare_font_names): New function.
1063 (xfont_list_pattern): Sort font names case insensitively. Make
1064 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
1065 (xfont_list): Return a list, not vector.
1066 (xfont_match): If the font doesn't have QCname property, generate
1067 a name from the other font properties.
1068 (xfont_open): Return a font-ojbect. Adjusted for the change of
1069 struct font. Get underline_thickness and underline_position from
1070 font property. Don't update dpyinfo->smallest_font_height and
1071 dpyinfo->smallest_char_width.
1072 (xfont_close): Don't free struct font.
1073 (xfont_prepare_face): Adjusted for the change of struct font.
1074 (xfont_done_face): Deleted.
1075 (xfont_has_char): Adjusted for the change of struct font.
1076 (xfont_encode_char, xfont_draw): Likewise.
1077 (xfont_check): New function.
1078
1079 * xftfont.c (xftfont_list): Adjusted for the change of `list'
1080 callback function.
1081 (xftfont_match): Adjusted for the fontmat change of font-entity.
1082 (xftfont_open): Adjusted for the format change of font-entity and
1083 font-object. Adjusted for the change of struct font. Return a
1084 font-object. Don't update dpyinfo->smallest_font_height and
1085 dpyinfo->smallest_char_width.
1086 (xftfont_close): Block input while calling XftFontClose.
1087 (xftfont_prepare_face): Don't block input while calling
1088 xftfont_get_colors. Adjusted for the change of struct font.
1089 (xftfont_shape): Return value of error case fixed.
1090
1091 * xrdb.c (x_load_resources): Don't setup a fontset resource.
1092
1093 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
1094 conditionals.
1095 (FONT_WIDTH): Return (f)->max_width.
1096 (struct x_display_info): Delete member `font'.
1097 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
1098 (x_find_ccl_program, x_get_font_repertory): Delete externs.
1099 (struct x_output): Change type of `font' to `struct font *'.
1100
1101 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
1102 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 1103 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
1104 (x_per_char_metric, x_encode_char): Deleted.
1105 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
1106 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 1107 `struct face'.
c6b278e7
KH
1108 (x_draw_glyph_string_foreground)
1109 (x_draw_composite_glyph_string_foreground): Likewise.
1110 (x_draw_glyph_string): Likewise. Use font->underline_position and
1111 font->underline_thickness.
1112 (x_new_font): Renamed from x_new_fontset2.
1113 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
1114 (x_check_font): Call `check' method of a font driver.
1115 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
1116 (x_query_font, x_get_font_repertory): Deleted.
1117 (x_find_ccl_program): Renamed and moved to xfont.c.
1118 (x_redisplay_interface): Adjusted for the change of `struct
1119 redisplay_interface'.
1120
1121 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
1122 conditionals. Don't check enable_font_backend. Delete all codes
1123 used only when USE_FONT_BACKEND is not defined. Surround non-used
1124 code by "#ifdef OLD_FONT" and "endif".
1125 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
1126
1127 * w32font.h (struct w32font_info): New member.
1128 (FONT_COMPAT): New macro.
1129 (w32font_open_internal): Prototype adjusted.
1130
1131 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
1132 OLD_FONT" and "endif".
1133
1134 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
1135 conditionals. Don't check enable_font_backend. Delete all codes
1136 used only when USE_FONT_BACKEND is not defined.
1137 (w32font_open): Return a font-object. Make a font-object by
1138 font_make_object. Adjusted for the change of struct w32font_info.
1139 (w32font_close): Don't free struct font. Adjusted for the change
1140 of struct w32font_info.
1141 (w32font_encode_char, w32font_text_extents, w32font_draw):
1142 Adjusted for the change of struct w32font_info.
1143 (w32font_draw): Likewise.
1144 (w32font_list_internal): Return a list, not vector.
1145 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 1146 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
1147 (add_font_name_to_list): Don't downcase names.
1148 (w32_enumfont_pattern_entity): Make a font-entity by
1149 font_make_entity. Adjusted for the format change of font-entity.
1150 Use FONT_SET_STYLE to set a style-related font property. If a
1151 font is scalable, set avgwidth property to 0. Set font-entity
1152 property by font_put_extra.
c3f9fba8 1153 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
1154 (w32_weight_table, w32_decode_weight): New variables.
1155 (w32_encode_weight): New function.
1156 (fill_in_logfont): Adjusted for the format change of font-spec.
1157 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
1158 weight value.
1159 (w32font_driver): Adjusted for the change of struct font_driver.
1160
1161 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
1162 conditionals. Don't check enable_font_backend. Surround non-used
1163 code by "#ifdef OLD_FONT" and "endif".
1164 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
1165 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
1166
1167 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
1168 conditionals. Don't check enable_font_backend. Delete all codes
1169 used only when USE_FONT_BACKEND is not defined. Surround non-used
1170 code by "#ifdef OLD_FONT" and "endif".
1171
1172 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
1173 (uniscribe_open): Return value changed to font-object.
1174 Adjusted for the format change of font-object.
1175 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
1176 (add_opentype_font_name_to_list): Don't downcase names.
1177 (uniscribe_font_driver): Adjusted for the change of struct
1178 font_driver.
1179
f9d4c199
CY
11802008-05-13 Chong Yidong <cyd@stupidchicken.com>
1181
1182 * dispnew.c (update_frame_1): Check if tty output is still valid
1183 before flushing it.
1184
44f249c0
JD
11852008-05-13 Jan Djärv <jan.h.d@swipnet.se>
1186
1187 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
1188 to Gtk+ menus.
1189
01bb4018
SM
11902008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
1191
3271a8f5
SM
1192 * dired.c (file_name_completion): Tweak the code so as to always do it
1193 in a single pass. Tighten the scope of some variables.
1194
01bb4018
SM
1195 * dired.c (Qdefault_directory): New var.
1196 (file_name_completion): Use it instead of Fexpand_file_name.
1197 (syms_of_dired): Initialize it.
1198
728bb8e0
SM
11992008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
1200
1201 * fileio.c (double_dollars): Remove dead code.
1202
ed4c17bb
EZ
12032008-05-10 Eli Zaretskii <eliz@gnu.org>
1204
6c5665e9
EZ
1205 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
1206 Mention w32-get-true-file-attributes in doc string.
1207
ed4c17bb
EZ
1208 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
1209
71e1f69d
GM
12102008-05-09 Glenn Morris <rgm@gnu.org>
1211
1212 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
1213 2008-04-23.
1214
ee7a2e7a
EZ
12152008-05-09 Eli Zaretskii <eliz@gnu.org>
1216
8aaaec6b
EZ
1217 Support for reporting owner and group of each file on MS-Windows:
1218 * dired.c (stat_uname, stat_gname): New functions, with special
1219 implementation for w32.
1220 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
1221
ee7a2e7a
EZ
1222 * w32.c: Rename the_passwd_* to dflt_passwd_*.
1223 (dflt_group_name): New static variable.
728bb8e0 1224 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
1225 (init_user_info): Init dflt_group fields. Get user's group name
1226 from LookupAccountSid.
8aaaec6b
EZ
1227 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
1228 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
1229 New initialization states.
1230 (globals_of_w32): Initialize them to zero. Initialize the default
1231 group name to "None".
1232 (GetFileSecurity_Name): New global var, the name of the function
1233 to call for GetFileSecurity.
1234 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
1235 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
1236 (get_file_security, get_security_descriptor_owner)
1237 (get_security_descriptor_group, is_valid_sid)
1238 (get_file_security_desc, get_rid, get_name_and_id)
1239 (get_file_owner_and_group): New functions.
1240 (stat): Use get_file_security_desc and get_file_owner_and_group to
1241 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
1242 high 32 bits of file's size, now that st_size is 64-bit wide.
1243 Fix test when to get true file attributes.
8aaaec6b
EZ
1244 (init_user_info): Use get_rid instead of equivalent inline code.
1245 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 1246
b199c436
CY
12472008-05-09 Chong Yidong <cyd@stupidchicken.com>
1248
1249 * image.c (png_load): Use correct bit-depth for setting background
1250 color.
1251
86914123
EZ
12522008-05-08 Eli Zaretskii <eliz@gnu.org>
1253
1254 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
1255 epa-hook.elc.
1256
67b5d7de
JB
12572008-05-08 Juanma Barranquero <lekktu@gmail.com>
1258
1259 * font.c (Ffont_match_p): Don't use `iff' in docstring.
1260
1a111394
DN
12612008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
1262
1263 * macfns.c (Fx_create_frame): Make a copy of frame parameters
1264 because the original parameters are in pure storage now.
1265 (mac_window): Remove unused params. Update callers.
1266
6d77fa95
SM
12672008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1268
7a3d90dc
SM
1269 * lread.c (substitute_object_recurse): Use lower-level primitives.
1270 Don't signal errors when traversing sub-char-tables.
1271 Don't loop over all the possible characters when traversing char-tables.
1272
6d77fa95
SM
1273 * print.c (print_preprocess): Add sub-char-tables to the print-table,
1274 just like we do in print.c.
1275
140eb764
SM
12762008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
1277
1278 * minibuf.c (Ftry_completion): Remove code left over from when we used
1279 scmp instead of Fcompare_strings.
1280
e9184ccb
JB
12812008-05-04 Juanma Barranquero <lekktu@gmail.com>
1282
1283 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
1284
0e9378b3
YM
12852008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1286
1287 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
1288 Create bitmap context in native byte order.
1289
f67e15be
MB
1290 * macterm.c (XDrawLine)
1291 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
1292 context in native byte order.
064032d0 1293
f67e15be 12942008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
1295
1296 * config.in: Regenerate.
1297
1298 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
1299 New definitions for Image I/O support.
1300 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1301 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
1302 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1303 (mac_data_provider_release_data, image_load_image_io)
1304 [USE_MAC_IMAGE_IO]: New functions.
1305 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
1306 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
1307 (init_image_func_pointer) [MAC_OSX]: Remove function.
1308 (image_load_quartz2d) [MAC_OSX]: Check availability of
1309 CGImageCreateWithPNGDataProvider at compile time.
1310 Use lowercase `false' for boolean constant.
1311 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
1312 Use image_load_image_io.
1313 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
1314 Don't check MyCGImageCreateWithPNGDataProvider.
1315 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
1316 Don't call init_image_func_pointer.
1317
1318 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
1319
1320 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
1321 Make variable non-static.
1322 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1323 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
1324
1325 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
1326 (RED_FROM_ULONG): Mask off higher bits.
1327 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
1328
1329 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
1330 Include AvailabilityMacros.h.
1331 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
1332 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
1333
c6bff69e
SM
13342008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
1335
1336 * chartab.c (Fset_char_table_range): If range is t, really set all
1337 chars to that value.
1338
7412d429
EZ
13392008-05-03 Eli Zaretskii <eliz@gnu.org>
1340
1341 * dired.c (Ffile_attributes): Don't allow the device number become
1342 negative.
1343
f83bbfac
DU
13442008-05-02 Daiki Ueno <ueno@unixuser.org>
1345
5a81d3d7 1346 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 1347
2e3148e2
JL
13482008-05-02 Juri Linkov <juri@jurta.org>
1349
1350 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
1351 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
1352 DEFAULT argument as a list of default values in docstrings.
2e3148e2 1353
923fb88c
CY
13542008-05-01 Chong Yidong <cyd@stupidchicken.com>
1355
1356 * puresize.h (BASE_PURESIZE): Increase to 1210000.
1357
047aaeb9
MR
13582008-05-01 Martin Rudalics <rudalics@gmx.at>
1359
1360 * dispnew.c (change_frame_size_1): Preserve small windows when
1361 shrinking frames by calling set_window_height|width with third
1362 arg 2.
1363
1364 * window.h (struct window): Replace field too_small_ok by field
1365 resize_proportionally.
1366
1367 * window.c (make_window): Initialize resize_proportionally.
1368 (enlarge_window): Temporarily set resize_proportionally to make
1369 sure that shrink_windows does scale the window proportionally.
1370 (shrink_windows): When window has resize_proportionally set try
1371 to shrink it proportionally by stealing from other windows.
1372 (struct saved_window, Fset_window_configuration)
1373 (compare_window_configurations): Handle resize_proportionally.
1374 (WINDOW_TOTAL_SIZE): New macro.
1375 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 1376 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
1377 window-min-height|width are handled by window_min_size_2 now.
1378 (size_window, Fsplit_window, enlarge_window)
1379 (adjust_window_trailing_edge, grow_mini_window): Don't call
1380 check_min_window_sizes.
c6bff69e
SM
1381 (window_min_size_2, window_min_size_1, window_min_size):
1382 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 1383 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
1384 (adjust_window_trailing_edge, grow_mini_window):
1385 Adjust arguments of window_min_size... functions.
047aaeb9
MR
1386 (shrink_windows): Argument min_size removed. New argument
1387 safe_p allows shrinking windows to their safe minimum sizes.
1388 Calculate minimum size and decide whether a window shall be
1389 deleted for each window individually.
1390 (size_window): When nodelete_p equals 2, tell shrink_windows to
1391 delete windows only if their new minimum size is no more safe.
1392 (shrink_window_lowest_first): Call window_min_size_1 to make
1393 sure to preserve modeline of bottom-most window when resizing
1394 the minibuffer.
1395 (Fset_window_configuration, Fcurrent_window_configuration)
1396 (compare_window_configurations): Do not handle
1397 window-min-height|width any more.
1398 (syms_of_window): Clarify window-min-height|width doc-strings.
1399
2a54a229
SM
14002008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
1401
1402 * dired.c (file_name_completion): Fix up the encoding/decoding issue
1403 some more. Copy some of the code from Ftry_completions.
1404 Remove special case code that dates back to initial revision when the
1405 slash was only added when necessary and that can't trigger nowadays.
1406
384bc634
KH
14072008-04-27 Kenichi Handa <handa@m17n.org>
1408
1409 * font.c (font_prop_validate): Signal `error' instead of `font'.
1410
2c2279c6
JR
14112008-04-29 Jason Rumney <jasonr@gnu.org>
1412
1413 * w32fns.c (Fw32_battery_status): New defun.
1414 (syms_of_w32fns): Defsubr it.
1415
fb4a622a
AS
14162008-04-28 Andreas Schwab <schwab@suse.de>
1417
1418 * dired.c (file_name_completion): Fix another mixing of encoded
1419 and decoded names.
1420
23f250f4
JB
14212008-04-28 Juanma Barranquero <lekktu@gmail.com>
1422
1423 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
1424
d8d30dff
JB
14252008-04-27 Juanma Barranquero <lekktu@gmail.com>
1426
1427 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
1428
ea6104a8
AS
14292008-04-27 Andreas Schwab <schwab@suse.de>
1430
9c691c00
AS
1431 * dired.c (file_name_completion): Fix inappropriate mixing of
1432 encoded and decoded names.
1433
ec1bf773
AS
1434 * xterm.c (XTread_socket): Fix use of uninitialized variable.
1435
ea6104a8
AS
1436 * puresize.h (BASE_PURESIZE): Increase to 1200000.
1437
01388a3d
EZ
14382008-04-26 Eli Zaretskii <eliz@gnu.org>
1439
1440 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
1441 2008-03-31, it's not needed anymore with `struct stat' definition
1442 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
1443 for the same reasons.
1444
175aea10 14452008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
1446
1447 * m/sparc.h: Additional redefinitions for GNU/Linux.
1448
1289aeb8
YM
14492008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1450
1451 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
1452 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
1453 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
1454 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
1455 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1456 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
1457 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1458 Likewise.
1459
1460 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 1461 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
1462 (mac_ax_number_of_characters): Add externs.
1463 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
1464 [USE_MAC_TSM]: Likewise.
1465 (mac_handle_text_input_event) [MAC_OSX]:
1466 Handle kEventTextInputOffsetToPos for no active input area case.
1467 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1468 (mac_handle_document_access_event)
1469 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
1470 (install_application_handler) [MAC_OSX]: Register handlers for
1471 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
1472 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
1473 Register mac_handle_document_access_event.
1474
1475 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
1476 Make functions non-static.
1477
dbd50d4b
SM
14782008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
1479
1480 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
1481 (read_file_name_completion_ignore_case, insert_default_directory)
1482 (Qdefault_directory): Move to minibuffer.el.
1483 (Fread_file_name): Call the new `read-file-name' instead.
1484
9ea37b9d 14852008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
1486
1487 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
1488 Make function non-static.
1489 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
1490 Remove function.
1491 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1492 Move to mactoolbox.c.
1493 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
1494
1495 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
1496 (mac_rect_make): New macro.
1497
1498 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
1499 instead of float.
1500 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1501 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
1502 (XSetBackground) [USE_CG_DRAWING]: Likewise.
1503 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
1504 CGRectMake.
1505 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
1506 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
1507 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
1508 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1509 instead of WindowRef in argument type.
1510 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
1511 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
1512 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
1513 instead of DISPLAY. All uses changed.
1514 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
1515 (x_calc_absolute_position): Simplify so as not to use
1516 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
1517
1518 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
1519 instead of WindowRef in argument type.
1520 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
1521 [TARGET_API_MAC_CARBON]: Remove externs.
1522 (create_apple_event, mac_event_parameters_to_lisp)
1523 [TARGET_API_MAC_CARBON]: Add externs.
1524
d8d30dff 1525 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
1526 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
1527 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
1528 is clicked.
1529 (x_activate_menubar): Remove extern for saved_menu_event_location.
1530 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
1531 Move from mac.c.
1532
9ea37b9d 15332008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
1534
1535 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
1536 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
1537
9ea37b9d 15382008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
1539
1540 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
1541 attributes only for local files.
1542
1543 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 1544 default to Qlocal.
bd735631 1545
88970542
JL
15462008-04-22 Juri Linkov <juri@jurta.org>
1547
1548 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
1549 read-buffer-to-switch instead of using the letter "B".
1550
92ec67e3
SM
15512008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
1552
1553 * fileio.c (Qdefault_directory): New variable.
1554 (Fread_file_name): Use it to pass `dir' to the completion functions.
1555
a32b2382
CY
15562008-04-20 Chong Yidong <cyd@stupidchicken.com>
1557
2a2e8de7 1558 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 1559
6c8b4f07
SM
15602008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
1561
ece5f847
SM
1562 * keyboard.c (Vpre_help_message): Remove.
1563 (show_help_echo): Remove default C code.
1564
6c8b4f07
SM
1565 * dired.c (directory_files_internal, file_name_completion):
1566 Only call ENCODE_FILE if the string is indeed decoded.
1567
73d798d5
SM
15682008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
1569
1570 * Makefile.in (TOOLKIT_DEFINES): Remove.
1571 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
1572
d8d30dff 15732008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
1574
1575 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
1576 (mactoolbox.o): New target.
1577
1578 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
1579 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
1580
1581 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
1582 Use mac_set_frame_window_background instead of XSetWindowBackground.
1583 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
1584 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
1585 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
1586 instead of SetWindowTitleWithCFString.
1587 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
1588 Move function to mactoolbox.c.
1589 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
1590 Use mac_set_window_modified instead of SetWindowModified.
1591 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
1592 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
1593 (Fx_focus_frame): Use mac_front_non_floating_window instead of
1594 FrontNonFloatingWindow. Use mac_activate_window instead of
1595 ActivateWindow. Use mac_active_non_floating_window instead of
1596 ActiveNonFloatingWindow.
1597 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
1598 Use mac_show_hourglass and mac_hide_hourglass.
1599 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
1600 instead of GetGlobalMouse.
1601 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
1602 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
1603 Use mac_bring_window_to_front instead of BringToFront.
1604 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
1605 mactoolbox.c.
1606 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
1607 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
1608 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
1609 mactoolbox.c.
1610
1611 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
1612 (XtPointer): Move typedef from macmenu.c.
1613 (enum button_type): Move enum from macmenu.c.
1614 (widget_value): Move typedef from macmenu.c.
1615 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
1616 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
1617 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
1618 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
1619 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
1620 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
1621 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
1622 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
1623 (Selection): Move typedef from macselect.c.
1624 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
1625 macterm.c.
1626 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
1627 (mac_is_window_collapsed, mac_bring_window_to_front)
1628 (mac_send_window_behind, mac_hide_window, mac_show_window)
1629 (mac_collapse_window, mac_front_non_floating_window)
1630 (mac_active_non_floating_window, mac_activate_window)
1631 (mac_move_window_structure, mac_move_window, mac_size_window)
1632 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
1633
1634 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
1635 (enum mac_menu_kind): Move enum to mactoolbox.c.
1636 (min_menu_id): Move variable to mactoolbox.c.
1637 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
1638 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
1639 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
1640 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
1641 [TARGET_API_MAC_CARBON]: Likewise.
1642 (XtPointer): Move typedef to macgui.h.
1643 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
1644 (widget_value): Move typedef to macgui.h.
1645 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
1646 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
1647 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
1648 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
1649 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
1650 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
1651 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
1652 (popup_activated_flag): Make variable non-static.
1653 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
1654 (add_menu_item, fill_menu, dispose_menus):
1655 Move functions to mactoolbox.c.
1656 (restore_show_help_function, menu_target_item_handler)
1657 (install_menu_target_item_handler, mac_handle_dialog_event)
1658 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
1659 [TARGET_API_MAC_CARBON]: Likewise.
1660 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
1661 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
1662 (find_and_call_menu_selection, name_is_separator): Make function
1663 non-static.
1664 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
1665 to mactoolbox.c.
1666 (set_frame_menubar): Don't call install_menu_quit_handler.
1667 (menu_item_selection): New variable.
1668 (mac_menu_show): Use create_and_show_popup_menu.
1669 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
1670 selection but set variable menu_item_selection. All uses changed.
1671 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
1672 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 1673
d02fe47d
MB
1674 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
1675 (Selection): Move typedef to macgui.h.
1676 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
1677 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
1678 Make variables non-static.
1679 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
1680 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
1681 Make functions non-static.
1682 (Vmac_service_selection) [MAC_OSX]: Likewise.
1683 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
1684 (mac_valid_selection_target_p, mac_clear_selection)
1685 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
1686 (mac_put_selection_value, mac_selection_has_target_p)
1687 (mac_get_selection_value, mac_get_selection_target_list)
1688 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
1689 Move functions to mactoolbox.c.
1690 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
1691 Likewise.
1692 (copy_scrap_flavor_data, mac_handle_service_event)
1693 (install_service_handler) [MAC_OSX]: Likewise.
1694 (syms_of_macselect) <Vmac_dnd_known_types>:
1695 Use mac_dnd_default_known_types.
463f55ee 1696
d02fe47d
MB
1697 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
1698 Move to mactoolbox.c.
1699 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
1700 (Fx_selection_owner_p): Add EXFUN.
1701 (install_window_handler, remove_window_handler, XSetWindowBackground):
1702 Remove externs.
1703 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
1704 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
1705 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
1706 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
1707 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
1708 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
1709 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
1710 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
1711 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
1712 (create_and_show_popup_menu, mac_get_selection_from_symbol)
1713 (mac_valid_selection_target_p, mac_clear_selection)
1714 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
1715 (mac_put_selection_value, mac_selection_has_target_p)
1716 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
1717 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
1718 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
1719 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
1720 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
1721 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
1722 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
1723 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
1724 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 1725
d02fe47d 1726 * mactoolbox.c: New file.
af253914 1727
d8d30dff 17282008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 1729
d02fe47d 1730 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 1731
8ee085a4
SM
17322008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
1733
73d798d5
SM
1734 * character.c (Fmultibyte_char_to_unibyte):
1735 Return latin1 chars unchanged.
5556875b 1736
8ee085a4
SM
1737 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
1738 relocated if it points to `name'.
1739
5dff5999
KH
17402008-04-17 Kenichi Handa <handa@m17n.org>
1741
1742 * data.c (Faset): Allow setting a multibyte character in an
1743 ASCII-only unibyte string.
1744
1745 * lisp.h (STRING_SET_MULTIBYTE): New macro.
1746
a51f4969
SM
17472008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
1748
1749 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
1750 done in config.h.
1751
add553ac
JB
17522008-04-16 Juanma Barranquero <lekktu@gmail.com>
1753
1754 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
1755 (Fchar_direction): Add usage in the docstring.
1756
8ad7b280
CY
17572008-04-15 Chong Yidong <cyd@stupidchicken.com>
1758
1759 * keyboard.c (read_key_sequence): Remove always-true checks.
1760
e157d7ba
JR
17612008-04-14 Jason Rumney <jasonr@gnu.org>
1762
1763 * w32font.c (w32font_open_internal): Set max_bounds.descent in
1764 compatibility struct, for better underline positioning.
1765
9ec3aaef 17662008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
1767
1768 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
1769 string.
1770
36c08864
DN
17712008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
1772
1773 * m/hp800.h (XUINT, XSET): Remove.
1774
f5acc071
JB
17752008-04-12 Juanma Barranquero <lekktu@gmail.com>
1776
1777 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
1778 previous change.
1779
5b5a2ea1
SM
17802008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
1781
1782 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
1783 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
1784
492d9fd6
SM
17852008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
1786
1787 * keymap.h (map_keymap_canonical): Declare.
1788 * xmenu.c (single_keymap_panes): Use it.
1789
dd60787c
GM
17902008-04-11 Glenn Morris <rgm@gnu.org>
1791
1792 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
1793 set the target's value to that of the alias.
1794
c23b5410
SM
17952008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
1796
1797 * term.c (set_tty_color_mode): Left over typo.
1798
e89b536d
MA
17992008-04-10 Michael Albinus <michael.albinus@gmx.de>
1800
1801 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 1802 only after check for file name handler functions. Signal, when
e89b536d
MA
1803 native functionality is not supported.
1804 (syms_of_fileio): Declare it unconditionally.
1805
40a339c8
JR
18062008-04-10 Jason Rumney <jasonr@gnu.org>
1807
31403b24
JR
1808 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
1809 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
1810
40a339c8
JR
1811 * w32.c (logon_network_drive): Also logon to remote drives that
1812 are mapped to drive letters.
1813
96a7394f
GM
18142008-04-10 Glenn Morris <rgm@gnu.org>
1815
1816 * xdisp.c (truncate-partial-width-windows): Doc fix.
1817
34b67b0f
SM
18182008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
1819
1820 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
1821 Move functions to minibuffer.el.
1822 (syms_of_fileio): Don't declare them.
1823
c025fb0a
SM
18242008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
1825
ba5ff07b
SM
1826 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
1827 (syms_of_minibuf): Remove its initialization.
1828
c025fb0a
SM
1829 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
1830
7a6a86ad
JB
18312008-04-09 Juanma Barranquero <lekktu@gmail.com>
1832
1833 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
1834
cf907d69
JR
18352008-04-09 Jason Rumney <jasonr@gnu.org>
1836
3dc94c30
JR
1837 * makefile.w32-in (distclean): Delete makefile too.
1838 (maintainer-clean): New target.
1839
8d28646b
JR
1840 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
1841
cf907d69
JR
1842 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
1843 for new font backend and composite cases.
1844
ef5eb925
JD
18452008-04-09 Jan Djärv <jan.h.d@swipnet.se>
1846
1847 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
1848 Most of the code moved to run_timers.
1849 (do_pending_atimers): Call run_timers.
1850 (run_timers): New function.
1851
cf907d69
JR
1852 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
1853 run atimers.
ef5eb925
JD
1854
1855 * process.c (wait_reading_process_output): The same as above.
1856
9b2cd403
SM
18572008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
1858
32bae13c
SM
1859 * minibuf.c (last_exact_completion): Remove variable.
1860 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
1861 (complete_and_exit_1, complete_and_exit_2)
1862 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
1863 (Fdisplay_completion_list, display_completion_list_1)
1864 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
1865 (Fexit_minibuffer, Fminibuffer_message): Move functions to
1866 minibuffer.el.
32bae13c
SM
1867 (syms_of_minibuf): Remove corresponding initializations.
1868
5c4cc82a
SM
1869 * keyboard.c (Qdeactivate_mark): New var.
1870 (command_loop_1): Use it to call `deactivate-mark'.
1871 (syms_of_keyboard): Initialize it.
1872
9b2cd403
SM
1873 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
1874 to another frame.
1875 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
1876 Don't call set_tty_color_mode.
1877 (store_frame_param): Reset previous_frame rather than call
1878 set_tty_color_mode.
1879 * term.c (set_tty_color_mode): Rewrite.
1880 * dispextern.h (set_tty_color_mode): New type.
1881 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
1882
84cb7b45
SM
18832008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
1884
1885 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
1886 for generic chars, which do not exist any more in emacs-unicode.
1887
3ed051d4
MA
18882008-04-08 Michael Albinus <michael.albinus@gmx.de>
1889
1890 * coding.c (detect_coding_emacs_mule)
1891 (Ffind_operation_coding_system): Fix typo.
1892
58c3ea42
JR
18932008-04-08 Jason Rumney <jasonr@gnu.org>
1894
3bf8d230
JR
1895 * w32uniscribe.c (SNAME): Extract only symbol name.
1896
56a70cca
JR
1897 * w32font.h (struct w32_metric_cache): New struct.
1898 (w32font_info): Use it.
1899 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
1900 (CACHE_BLOCKSIZE): New constants.
3ed051d4 1901
58c3ea42
JR
1902 * w32font.c (Qja, Qko, Qzh): New symbols.
1903 (syms_of_w32font): Initialise them.
1904 (font_matches_spec): Use them to filter by language.
1905 (recompute_cached_metrics): Remove function.
1906 (compute_metrics, clear_cached_metrics): New functions.
1907 (w32font_encode_char): Use them to manage metric cache.
1908 (w32font_text_extents): Cache metrics for all glyphs on demand.
1909 Delay converting glyph indices to WORD until needed.
1910 (w32font_open_internal): Initialize metric cache to empty.
1911 (registry_to_w32_charset): Charset should always be a symbol.
1912 (fill_in_logfont, list_all_matching_fonts): Family should
1913 always be a symbol.
1914
0ce24b2d
JR
19152008-04-06 Jason Rumney <jasonr@gnu.org>
1916
1917 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
1918 Give up if glyph indices not supported. Use uniscribe obtained
1919 ABC widths for individual metrics. Map glyph clusters back to
1920 characters using fClusterStart flag. Return number of glyphs
1921 produced, not chars processed.
b7655e0c 1922 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 1923
5bc6ddff 19242008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 1925
fbf57abb
JB
1926 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
1927 Use SetMenuItemHierarchicalMenu.
56613f06 1928
5bc6ddff 19292008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 1930
5bc6ddff
MB
1931 * image.c (pbm_load): Allow color values up to 65535.
1932 Throw an error if max_color_idx is outside the supported range.
1933 Report an error when image size is invalid.
1934 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 1935
5bc6ddff 19362008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 1937
5bc6ddff
MB
1938 * w32.c (readdir): If FindFirstFile/FindNextFile return in
1939 cFileName a file name that includes `?' characters, use the 8+3
1940 alias in cAlternateFileName instead.
5ed6ba5b 1941
5bc6ddff 19422008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 1943
5bc6ddff
MB
1944 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
1945 append "CCL: Quitted" when the CCL program is quitted.
1946 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 1947
5bc6ddff 1948 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 1949
c36e15db
CY
19502008-04-05 Chong Yidong <cyd@stupidchicken.com>
1951
9605d567
CY
1952 * search.c (compile_pattern_1): Treat non-nil and non-string of
1953 search-spaces-regexp as nil.
1954
c36e15db
CY
1955 * minibuf.c (Fassoc_string): Tweak docstring.
1956
40beb147
EZ
19572008-04-05 Eli Zaretskii <eliz@gnu.org>
1958
1959 * dired.c (Ffile_attributes): Support inode numbers wider than 32
1960 bits. Remove ugly WINDOWSNT-specific kludge introduced on
1961 2008-03-14 to force inode be positive.
1962
1963 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
1964 _S_* ones, since we now use our own sys/stat.h.
1965 (stat, fstat): Don't mangle the inode number.
aa08d1ff 1966 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 1967
4591d6cb
SM
19682008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
1969
d4417eb0
SM
1970 * frame.h (struct frame): Give one more bit to `visible' since we use
1971 values larger than 1 to indicate obscured frames on ttys.
1972
00f7c5ed
SM
1973 * keymap.c (Qkeymap_canonicalize): New var.
1974 (Fmap_keymap_internal): New fun.
1975 (describe_map): Use keymap-canonicalize.
1976
4591d6cb
SM
1977 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
1978 (Fundo_boundary): Set them.
1979 (syms_of_undo): Initialize them.
1980 (record_point): Use them instead of last_point_position*.
1981 (last_undo_buffer): Change type.
1982
3187540e
JR
19832008-04-04 Jason Rumney <jasonr@gnu.org>
1984
0ce24b2d
JR
1985 * w32font.c (w32font_text_extents): Use font's ascent and descent.
1986 (recompute_cached_metrics): Don't set ascent and descent per char.
1987
3187540e 1988 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 1989 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 1990 Rearrange loop for counting features.
3187540e 1991
f1a6b216
SM
19922008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
1993
1994 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
1995 buffer with byte-size of source buffer.
1996
1d8dcf63
CY
19972008-04-03 Chong Yidong <cyd@stupidchicken.com>
1998
1999 * callint.c (Fcall_interactively): Handle temporary region even
2000 when shift-select-mode is off.
2001
6b8aa22a
JR
20022008-04-03 Jason Rumney <jasonr@gnu.org>
2003
2004 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
2005
2f3cbb32
KH
20062008-04-03 Kenichi Handa <handa@m17n.org>
2007
2008 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
2009 (CATEGORY_MASK_UTF_16): Likewise.
2010 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
2011 binary file.
2012 (detect_coding): Add null-byte detection for a binary file.
2013 (detect_coding_system): Likewise.
2014
43f4f91c
JR
20152008-04-03 Jason Rumney <jasonr@gnu.org>
2016
0c1b4ae2
JR
2017 * w32uniscribe.c: New file.
2018
2019 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
2020
2021 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
2022
2023 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
2024 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
2025 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
2026 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
2027 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
2028 (Qphonetic): New symbols.
2029 (syms_of_w32font): Initialize them.
2030 (font_supported_scripts): Use them.
2031 (w32font_list_family): List all charsets.
2032 (w32font_text_extents, recompute_cached_metrics): Fix metric
2033 calculations.
2034 (w32_enumfont_pattern_entity): Make full_type a DWORD.
2035 Give opentype fonts their own format.
2036 (font_matches_spec): New arguments backend and logfont.
2037 Handle :otf spec for uniscribe backend.
2038 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
2039 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 2040
0c1b4ae2
JR
2041 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
2042 font backend.
2043 (globals_of_w32fns): Initialize uniscribe font backend.
2044
fbf57abb 2045 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
2046 dependencies.
2047 (w32uniscribe.$(O)): New file to build.
2048 (FONT_OBJ): Include w32uniscribe.$(O).
2049 (LIBS): Add uniscribe libraries.
2050
43f4f91c
JR
2051 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
2052
75043a7d
CY
20532008-04-02 Chong Yidong <cyd@stupidchicken.com>
2054
2055 * callint.c (Vshift_select_mode): New var.
2056 (Finteractive): Document new ^ spec.
2057 (Fcall_interactively): Call handle-shift-selection if the ^ spec
2058 is present.
2059
2060 * keyboard.c (Vthis_command_keys_shift_translated): New var.
2061 (command_loop_1): Avoid running the direct display versions of
2062 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
2063 (read_key_sequence): Set Vthis_command_keys_shift_translated if
2064 shift-translation takes place.
2065
2066 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
2067 avoid clobbering by define-minor-mode.
2068
2069 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
2070 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
2071
2072 * syntax.c (Fforward_word): Add ^ interactive spec.
2073
2074 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
2075 (Fscroll_right): Add ^ interactive spec.
2076
b2b7f29e
SM
20772008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
2078
a432c0a6
SM
2079 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
2080
994b75e0
SM
2081 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
2082
b2b7f29e
SM
2083 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
2084
e99c7806
JL
20852008-03-31 Juri Linkov <juri@jurta.org>
2086
2087 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
2088
1c9c1270
JD
20892008-03-30 Jan Djärv <jan.h.d@swipnet.se>
2090
2091 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 2092 (xg_resize_outer_widget): Remove.
1c9c1270
JD
2093 (x_wm_size_hint_off): Fix indentation.
2094 (xg_frame_set_char_size): Call flush_and_sync after
2095 gtk_window_resize.
2096 (x_wm_set_size_hint): Pass NULL as geometry window to
2097 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
2098 Add menu bar and tool bar height to base height.
2099 (xg_update_frame_menubar, free_frame_menubar)
2100 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
2101 (update_frame_tool_bar, free_frame_tool_bar):
2102 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 2103
90b3fc84
MA
21042008-03-30 Michael Albinus <michael.albinus@gmx.de>
2105
2106 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
2107 (Fdbus_call_method): New parameter TIMEOUT.
2108 (dbus-send-signal): Optimize UNGCPRO call.
2109
7ae6d1d1
JL
21102008-03-29 Juri Linkov <juri@jurta.org>
2111
2112 * window.c (Fdisplay_buffer): Move call to
2113 Vsplit_window_preferred_function out of conditions that check
2114 if window is eligible for vertical splitting.
2115 When Vsplit_window_preferred_function is non-nil, call it and use
2116 its non-nil return value as window. Otherwise, continue doing
2117 vertical splitting using Fsplit_window with arg horflag=nil.
2118 (syms_of_window) <Vsplit_window_preferred_function>: Change the
2119 default value from `split-window' to nil.
2120
f03f8f2c
JL
21212008-03-29 Juri Linkov <juri@jurta.org>
2122
2123 * callint.c (Fcall_interactively): Revert 2008-03-16 change
2124 for interactive code letters 'b' and 'B'.
2125
6d557778
EZ
21262008-03-29 Eli Zaretskii <eliz@gnu.org>
2127
2128 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
2129 multibyte string.
2130
58555d81
SM
21312008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
2132
2133 * keyboard.c (pending_funcalls): New var.
2134 (timer_check): Run it.
2135 (syms_of_keyboard): Initialize it.
2136 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
2137 (Vdelete_terminal_functions): New vars.
2138 (syms_of_terminal): Initialize them.
2139 (Fdelete_terminal): Run delete-terminal-functions.
2140 * xdisp.c (safe_eval): Rewrite.
2141 (safe_call2): New fun.
2142 * frame.c (Qdelete_frame_functions): New var.
2143 (syms_of_frame): Initialize it.
2144 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
2145 * lisp.h (safe_call2, pending_funcalls): Declare.
2146
4c92f429
AS
21472008-03-28 Andreas Schwab <schwab@suse.de>
2148
2149 * indent.c (Fmove_to_column): Move declaration before statements.
2150
a1567c45
SM
21512008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
2152
2806a183
SM
2153 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
2154 (struct frame): Use bit fields for boolean vars.
2155
eef60308
SM
2156 * process.c (server_accept_connection): Simplify naming.
2157 (emacs_get_tty_pgrp): Use SDATA.
2158
a1567c45
SM
2159 * coding.c (decode_coding_object): Fix last change.
2160
30076589
JR
21612008-03-27 Jason Rumney <jasonr@gnu.org>
2162
2163 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
2164
880820fe
KH
21652008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
2166
2167 * charset.c (Fdefine_charset_internal): Change the way of
2168 registering charsets in Vcharset_order_list.
2169 (syms_of_charset): Make the charset `eight-bit' supplementary.
2170
3cf8cdfb
CY
21712008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
2172
2173 * regex.c (EXTEND_BUFFER): Change order of pointer addition
2174 operations, to avoid having the difference between pointers
2175 overflow.
2176
ef6f5c0e
SM
21772008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
2178
80e3db56
SM
2179 * indent.c (check_display_width): New fun.
2180 (scan_for_column): Use it.
2181
c397dc7a
SM
2182 * data.c (syms_of_data): Mark most-positive-fixnum and
2183 most-negative-fixnum as constants.
2184
bf6b4d58
SM
2185 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
2186
ef6f5c0e
SM
2187 * indent.c (scan_for_column): Extract from current_column_1.
2188 Merge with the same code from Fmove_to_column.
2189 (current_column_1, Fmove_to_column): Use it.
2190
72d5003d
SM
21912008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
2192
12270607
SM
2193 * keymap.c (map_keymap_internal): New fun.
2194 (map_keymap): Use it.
2195 (Fmap_keymap_internal): New fun.
2196 (Fmap_keymap): Remove left-out test from before make_save_value.
2197
a10cca6c
SM
2198 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
2199
d7b10f4c
SM
2200 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
2201 Use XCAR/XCDR.
2202
5431bd6a
SM
2203 * process.h (struct Lisp_Process): Remove filter_multibyte.
2204 * process.c (QCfilter_multibyte): Remove.
2205 (setup_process_coding_systems): Don't use filter_multibyte.
2206 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
2207 (read_process_output): Don't adjust multibyteness to filter_multibyte.
2208 (Fset_process_filter_multibyte): Change the coding-system to
2209 approximate the previous behavior.
2210 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
2211 coding-system.
2212
72d5003d
SM
2213 * coding.c (decode_coding_object): When not decoding into a buffer,
2214 obey the coding system's preference of (uni|multi)byte.
2215
438eba3c
SM
22162008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
2217
2218 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
2219 every char is changed and has a different byte-length.
2220 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
2221 Fix int -> EMACS_INT.
2222
9ec3aaef 22232008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 2224
438eba3c 2225 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
2226 strings. Check for NULL `interface' or `member'.
2227
b07103dc
EZ
22282008-03-22 Eli Zaretskii <eliz@gnu.org>
2229
2230 * w32.c (readdir): If FindFirstFile/FindNextFile return in
2231 cFileName a file name that includes `?' characters, use the 8+3
2232 alias in cAlternateFileName instead.
2233
5371d722
SM
22342008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
2235
2236 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
2237
6ba7f443
SM
22382008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2239
2240 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
2241 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
2242 work on current_buffer only instead (that was already the case
2243 for some of the code anyway).
2244 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
2245 (temp_set_point, temp_set_point_both): Use EMACS_INT.
2246 (SET_PT, SET_PT_BOTH): Adjust.
2247 * intervals.h (set_point, temp_set_point, set_point_both)
2248 (temp_set_point_both): Remove redundant declarations.
2249
bf1c0f27
SM
22502008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
2251
2252 * fileio.c (Finsert_file_contents):
2253 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
2254 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
2255 when buffer != current_buffer anyway.
2256
acab783e
AS
22572008-03-20 Andreas Schwab <schwab@suse.de>
2258
2259 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
2260 as default.
2261
d148e14d
JR
22622008-03-19 Jason Rumney <jasonr@gnu.org>
2263
2264 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
2265 (syms_of_w32fns): Initialize them.
2266 (HOURGLASS_ID): New constant.
2267 (x_window_to_frame): Don't check hourglass_window.
2268 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
2269 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
2270 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
2271 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
2272 Only change the cursor if hourglass is not active.
2273 (Fx_create_frame): Initialize frame's current_cursor.
2274 (hourglass_atimer): Remove.
2275 (hourglass_started): New function.
2276 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
2277 (show_hourglass): Adapt to w32, changing argument to frame.
2278
2279 * w32term.h (struct w32_output): Remove hourglass_window.
2280 Add current_cursor.
2281
2282 * eval.c (call_debugger, Fsignal):
2283 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
2284 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
2285 (Fexecute_extended_command, cancel_hourglass_unwind):
2286 * minibuf.c (read_minibuf):
2287 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 2288
a5c54077
JB
22892008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
2290
2291 * window.c (run_funs): New fun.
2292 (run_window_configuration_change_hook): Use it to run the buffer-local
2293 and the global part of the hook.
2294
2295 * xdisp.c (format_mode_line_unwind_data): Add window argument.
2296 (unwind_format_mode_line): Restore selected window.
2297 (x_consider_frame_title, Fformat_mode_line): Set selected window.
2298
f9f3238f
SM
22992008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2300
253c3c82
SM
2301 * editfns.c (Fchar_equal): Check they are valid characters.
2302
f9f3238f
SM
2303 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
2304
065a118d
AS
23052008-03-17 Andreas Schwab <schwab@suse.de>
2306
0b8be006
AS
2307 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
2308 against a charset.
2309
065a118d
AS
2310 * lisp.h (Fbuffer_list): Declare.
2311
880820fe 23122008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
2313
2314 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
2315 handlebox_widget is != 0.
2316
6206d6c2
JL
23172008-03-16 Juri Linkov <juri@jurta.org>
2318
2319 * callint.c (Fcall_interactively): For interactive code letters
2320 'b' and 'B' put the buffer list into the list of default "future"
2321 values of the minibuffer.
2322
f5020181
AS
23232008-03-16 Andreas Schwab <schwab@suse.de>
2324
a864f6d6
AS
2325 * keyboard.c (read_key_sequence): Fix downcasing of letters with
2326 modifiers.
2327
f5020181
AS
2328 * regex.c (re_match_2_internal): Correct matching of a charset
2329 against latin-1 characters.
2330
03f244e2
KH
23312008-03-16 Kenichi Handa <handa@m17n.org>
2332
2333 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
2334 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
2335 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
2336 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
2337 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
2338 CHAR_STRING_ADVANCE.
2339 (produce_chars): Fix for the case that the source and the
2340 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
2341 instead of CHAR_STRING_ADVANCE.
2342 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
2343 STRING_CHAR_ADVANCE.
2344
0e2501ed
AS
23452008-03-15 Andreas Schwab <schwab@suse.de>
2346
2347 * regex.c (re_match_2_internal): Correct matching of eight bit
2348 characters in unibyte strings.
2349
7723e095
MR
23502008-03-15 Martin Rudalics <rudalics@gmx.at>
2351
2352 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
2353 at end of range when it coincides with the end of the buffer.
2354
f507f365
EZ
23552008-03-14 Eli Zaretskii <eliz@gnu.org>
2356
294f1153
EZ
2357 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
2358
f507f365
EZ
2359 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
2360
64f0809d
JR
23612008-03-14 Jason Rumney <jasonr@gnu.org>
2362
956ae531
JR
2363 * editfns.c (initial_tz): New variable.
2364 (syms_of_editfns): Initialize it.
2365 (Fset_time_zone_rule): Set it when first called.
2366 Use it when TZSTRING is nil.
2367
64f0809d
JR
2368 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
2369 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
2370 (monitor_from_point_fn, get_monitor_info_fn): New globals.
2371 (globals_of_w32fns): Initialize them.
2372 (compute_tip_xy): Use them to position tooltips.
2373
21a4ff8e
GM
23742008-03-14 Glenn Morris <rgm@gnu.org>
2375
2376 * emacs.c (main): Revert previous change.
2377 (standard_args): Revert -internal-script back to -scriptload,
2378 and remove the long-option form.
2379
a09a5b5b
GM
23802008-03-13 Glenn Morris <rgm@gnu.org>
2381
2382 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
2383 Remove option -enable-font-backend.
2384
1c55ebd1
SM
23852008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
2386
2387 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
2388
880820fe 23892008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
2390
2391 * xterm.c (x_connection_closed): For GTK: If this is the last
2392 terminal just exit without closing the display.
2393
7145be81
JR
23942008-03-11 Jason Rumney <jasonr@gnu.org>
2395
2396 * w32font.c (w32font_full_name): Use floor to round.
2397
e6201af3 23982008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
2399
2400 * sound.c (alsa_configure): Declare vol at beginning of block.
2401
e6201af3 2402 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 2403
390b81fa 24042008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 2405
56388398
MB
2406 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
2407 size of resulting string.
af0ad939 2408
390b81fa 24092008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 2410
56388398 2411 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 2412
390b81fa 24132008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 2414
56388398
MB
2415 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
2416 Don't pretend as if characters with display property haven't been
2417 consumed for string-replacing-string case.
acd37560 2418
223ed6db
KS
24192008-03-08 Kim F. Storm <storm@cua.dk>
2420
2421 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
2422 (get_next_display_element, next_element_from_string)
2423 (next_element_from_ellipsis, next_element_from_buffer): Use it.
2424
28545f7c
AS
24252008-03-08 Andreas Schwab <schwab@suse.de>
2426
2427 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
2428
c960bff8
JR
24292008-03-06 Jason Rumney <jasonr@gnu.org>
2430
290afd83
JB
2431 * w32font.c (w32_registry): Take font_type argument. Use ANSI
2432 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
2433 font_type is truetype.
2434 (w32font_coverage_ok): New function.
2435 (add_font_entity_to_list): Use it to filter unsuitable fonts.
2436
87b8ce92
KH
24372008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
2438
2439 * lread.c (Fread_char): Resolve modifiers.
2440 (Fread_char_exclusive): Likewise.
2441
2442 * character.c (char_resolve_modifier_mask): New function.
2443 (char_string): Use char_resolve_modifier_mask.
2444 (Fchar_resolve_modifiers): New function.
2445 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
2446 function.
2447
cefd56f6
JR
24482008-03-04 Jason Rumney <jasonr@gnu.org>
2449
2450 * makefile.w32-in: Always include w32font.c in the build.
2451 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
2452
03bd3c1f
AS
24532008-03-04 Andreas Schwab <schwab@suse.de>
2454
2455 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
2456 (versionclean): Likewise.
2457
6f69e89b
JB
24582008-03-04 Juanma Barranquero <lekktu@gmail.com>
2459
2460 * .cvsignore: Add oo.
2461
f4a3cc44
AS
24622008-03-03 Andreas Schwab <schwab@suse.de>
2463
2464 * coding.c (decode_coding_object): Inhibit gap shrinking while
2465 decoding in place.
2466
73f838ad
DN
24672008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
2468
2469 * w32term.c: Remove unused include "gnu.h".
6f69e89b 2470 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
2471
2472 * gnu.h: Rename to ...
2473 * emacs-icon.h: ... this.
2474 * xterm.c: Use emacs-icon.h instead of gnu.h.
2475 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
2476
ce9c1f06
JB
24772008-03-03 Juanma Barranquero <lekktu@gmail.com>
2478
2479 * w32font.c: Include math.h.
2480
34fd2d28
JR
24812008-03-03 Jason Rumney <jasonr@gnu.org>
2482
54efdcd1
JR
2483 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
2484 Compute options separately.
2485 (w32font_open_internal): Set glyph_idx before caching metrics.
2486
ce9c1f06
JB
2487 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
2488 Define if system headers don't.
2489 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
2490 (w32font_encode_char): Don't declare here.
2491
2492 * w32font.c (Quniscribe, QCformat): New symbols.
2493 (syms_of_w32font): Define them.
2494 (w32font_has_char): Indicate uncertainty.
ce9c1f06 2495 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 2496 (recompute_cached_metrics): New function.
ce9c1f06
JB
2497 (w32font_open_internal): Use it. Set font to use glyph points
2498 initially. Set format based on type of font.
34fd2d28 2499 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
2500 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
2501 on it. Set format based on information available here.
34fd2d28
JR
2502 (add_font_entity_to_list): Identify backend based on opentype_only.
2503
14daee73
AS
25042008-03-02 Andreas Schwab <schwab@suse.de>
2505
f907fb2e
AS
2506 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
2507
ce9c1f06
JB
2508 * coding.c (decode_coding_big5, produce_chars):
2509 Fix typos in last change.
14daee73 2510
c9cc6462
DN
25112008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
2512
2513 * gnu.h: New icon.
2514
119852e7
KH
25152008-03-02 Kenichi Handa <handa@m17n.org>
2516
2517 * coding.c (decode_coding_utf_8): When eol-type of CODING is
2518 `dos', don't decode '\r' if that is the last in the source.
2519 (decode_coding_utf_16, decode_coding_emacs_mule)
2520 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2521 (decode_coding_raw_text, decode_coding_charset): Likewise.
2522 (produce_chars): Don't decode EOL here. Use EMACS_INT.
2523
a823468b
JR
25242008-03-01 Jason Rumney <jasonr@gnu.org>
2525
2526 * w32font.c (w32font_full_name): Report point size for scalable fonts.
2527
4ddc7e30
KS
25282008-03-01 Kim F. Storm <storm@cua.dk>
2529
2530 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
2531
67997c79
JR
25322008-03-01 Jason Rumney <jasonr@gnu.org>
2533
2534 * w32font.c (w32font_full_name): New function.
2535 (w32font_open_internal): Use it.
2536
3f4e9c35
KS
25372008-03-01 Kim F. Storm <storm@cua.dk>
2538
2539 * dispnew.c (line_draw_cost): Fix invalid glyph check.
2540
f3b9e479
JR
25412008-03-01 Jason Rumney <jasonr@gnu.org>
2542
2543 * font.c (font_unparse_fcname): Increase len when style is a symbol.
2544
880820fe 25452008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
2546
2547 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
2548 xg_frame_resized when the event is for the edit widget.
2549
2550 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
2551
2552 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
2553 set_char_size.
2554 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
2555 operations on widgets here. Just set frame size if needed.
2556 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
2557 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
2558 (x_wm_set_size_hint): Set size hints on the edit widget only, not
2559 the whole frame.
2560 (xg_create_tool_bar): Move attachement of the tool bar to
2561 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
2562 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
2563
6c8acaa1
JR
25642008-03-01 Jason Rumney <jasonr@gnu.org>
2565
2566 * w32fns.c (w32_msg_pump): Disable debug code.
2567
51fb064b 25682008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 2569
51fb064b 2570 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 2571
60221a33
CY
25722008-02-29 Chong Yidong <cyd@stupidchicken.com>
2573
2574 * xdisp.c (next_overlay_string): Don't set
2575 overlay_strings_at_end_processed_p if we're currently reading from
2576 a display string.
2577
10cbc34f
SM
25782008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
2579
2580 * xdisp.c (get_overlay_strings_1): Fix typo.
2581
73c0054e
CY
25822008-02-29 Chong Yidong <cyd@stupidchicken.com>
2583
2584 * xdisp.c (get_overlay_strings_1): Add missing argument type.
2585
ec1c4354
KH
25862008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
2587
55082642
KH
2588 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
2589
ec1c4354
KH
2590 * xdisp.c (display_mode_element): Cancel the previous change.
2591 (decode_mode_spec): Likewise.
ee548a94
KH
2592 (handle_auto_composed_prop): Don't make composition if it->string
2593 is a string.
ec1c4354 2594
b6d898a2
KS
25952008-02-27 Kim F. Storm <storm@cua.dk>
2596
2597 * lisp.h (GLYPH): Change type from int to struct with separate char
2598 and face_id members.
2599 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
2600 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
2601 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
2602 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
2603 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
2604 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
2605 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
2606 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
2607 handle new Lisp glyph code encoding, either an integer or a cons.
2608
2609 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
2610 (GLYPH_ALIAS): Delete.
2611 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
2612 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
2613 (GLYPH_FROM_CHAR): Replace macro by ...
2614 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
2615
2616 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
2617 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
2618 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
2619 (GLYPH_INVALID_P): New macro.
2620 (spec_glyph_lookup_face): Update prototype.
2621
2622 * dispnew.c (line_draw_cost): Adapt to new glyph type.
2623 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
2624 new glyph code encoding.
2625 (spec_glyph_lookup_face): No return value; update passed glyph instead.
2626 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
2627
2628 * xdisp.c (get_next_display_element, next_element_from_display_vector):
2629 Adapt to new glyph type and new glyph code encoding.
2630
2631 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
2632
2633 * indent.c (current_column, current_column_1, Fmove_to_column)
2634 (compute_motion): Adapt to new glyph code encoding.
2635
2636 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
2637
af2080a2
CY
26382008-02-27 Chong Yidong <cyd@stupidchicken.com>
2639
2640 * process.c (wait_reading_process_output): Check for window
2641 changes caused by timers.
880820fe 2642 Suggested by Johan Bockgård.
af2080a2 2643
253ed25e
GM
26442008-02-27 Glenn Morris <rgm@gnu.org>
2645
2646 * emacs.c (USAGE1): Add `--disable-font-backend'.
2647
18a9f8d9
SM
26482008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
2649
2650 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
2651 is made to the buffer.
2652
0f8b27ea
SM
26532008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
2654
2655 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
2656 (face_at_string_position):
2657 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
2658 (face_at_string_position):
2659 * xdisp.c (display_string, next_overlay_change):
2660 * buffer.h (overlays_at):
2661 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
2662 Update callers.
2663
4e7c53ca
CY
26642008-02-26 Chong Yidong <cyd@stupidchicken.com>
2665
2666 * editfns.c (Fformat): Doc fix.
2667
51c01100
JB
26682008-02-26 Juanma Barranquero <lekktu@gmail.com>
2669
2670 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
2671 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
2672 (Ffont_otf_alternates, Fquery_font): Doc fixes.
2673
13cda5f9
SM
26742008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
2675
2676 * buffer.c (Fbuffer_swap_text): New function.
2677 (syms_of_buffer): Defsubr it.
2678
8018d430
CY
26792008-02-25 Chong Yidong <cyd@stupidchicken.com>
2680
2681 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
2682
9bde1a21
JR
26832008-02-25 Jason Rumney <jasonr@gnu.org>
2684
2685 * w32font.c (w32font_draw): Draw one character at a time when padding.
2686
eeca6f6f
SM
26872008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
2688
2689 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
2690 Handle a nil arg. Use run_window_configuration_change_hook.
2691 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
2692 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
2693 Use run_window_configuration_change_hook.
2694
ec1c4354
KH
26952008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
2696
2697 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
2698 1-pixel width.
2699
ae185452
KH
27002008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
2701
2702 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
2703 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
2704 if the glyph in the font is zero pixel with.
2705
2706 * dispextern.h (struct glyph_string): New member padding_p.
2707
2708 * w32font.c (w32font_draw): Pay attention to s->padding_p.
2709
2710 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
2711
2712 * xfont.c (xfont_draw): Pay attention to s->padding_p.
2713
2714 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
2715
eeca6f6f 2716 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 2717
ffe832ea 27182008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 2719
ffe832ea 2720 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 2721
06045130
SM
27222008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
2723
2724 Allow fine-grained image-cache flushing.
2725 * dispextern.h (struct image): Add `dependencies' field.
2726 (clear_image_caches): Change arg to Lisp_Object.
2727 * image.c (make_image): Initialize `dependencies' field.
2728 (clear_image_cache): Change arg to allow fine-grained flushing.
2729 Perform the flush even if image-cache-eviction-delay is nil.
2730 (clear_image_caches): Change arg to Lisp_Object.
2731 (Fclear_image_cache): Expand meaning of the argument.
2732 (mark_image): Mark `dependencies' field.
2733 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
2734 (lface_hash): Use XHASH rather than XFASTINT.
2735 (face_at_buffer_position): Fix int -> EMACS_INT position.
2736 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
2737 (select_frame_for_redisplay): Remove code duplication.
2738 (redisplay_internal): Adapt arg to call to clear_image_caches.
2739
9d2818d6
DN
27402008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
2741
2742 * s/vms4-0.h:
2743 * s/vms4-2.h:
2744 * s/vms4-4.h:
2745 * s/vms5-5.h: Remove, unused.
2746
2747 * s/irix5-2.h:
2748 * s/irix6-0.h:
2749 * s/riscos5.h:
2750 * s/mach-bsd4-3.h:
2a2e8de7 2751 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
2752
2753 * Makefile.in:
2754 * filelock.c:
2755 * unexmips.c:
2756 * m/hp9000s300.h:
2757 * m/iris4d.h:
2758 * s/aix3-1.h:
2759 * s/hpux.h:
2760 * s/msdos.h:
2761 * s/usg5-0.h:
2762 * s/usg5-2-2.h:
2763 * s/usg5-2.h:
2764 * s/usg5-3.h: Remove references to obsolete variables.
2765
2766 * s/irix5-0.h: Remove, move all the contents ...
2767 * s/irix6-5.h: ... here. Simplify.
2768 * config.in: Regenerate.
2769
2a36efcf
JR
27702008-02-24 Jason Rumney <jasonr@gnu.org>
2771
c5ad7a3d 2772 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
2773 manually when cleartype is in use.
2774 (x_draw_glyph_string_foreground): Draw text transparently when
2775 cleartype is in use.
2776
2a36efcf
JR
2777 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
2778 a font into it unless we have to.
2779
b03f96dc 27802008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 2781
b03f96dc
MB
2782 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
2783 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 2784
b03f96dc 27852008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 2786
b03f96dc 2787 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 2788
b03f96dc 27892008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 2790
b03f96dc 2791 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 2792
b03f96dc 27932008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 2794
b03f96dc 2795 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 2796
d5958163
CY
27972008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
2798
2799 * xterm.c (x_set_offset): Don't change the gravity if
2800 CHANGE_GRAVITY is -1.
2801
9997701e
CY
28022008-02-23 Chong Yidong <cyd@stupidchicken.com>
2803
2804 * fileio.c (auto_save_error_occurred): New var.
2805 (auto_save_error): Set it.
2806 (Fdo_auto_save): Don't overwrite the error message if an auto-save
2807 error occurred.
2808
9d95a291
EZ
28092008-02-23 Eli Zaretskii <eliz@gnu.org>
2810
2811 * w32.c (globals_of_w32): Add initializations for
2812 g_b_init_get_sid_sub_authority and
2813 g_b_init_get_sid_sub_authority_count.
2814
43d1af23
SM
28152008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
2816
43a1d19b
SM
2817 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
2818 (font_parse_xlfd): Use them for sanity check.
608c3307 2819 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 2820
354884c4
SM
2821 Consolidate the image_cache to the terminal struct.
2822 * termhooks.h (P_): Remove redundant def.
2823 (struct terminal): New field `image_cache'.
2824 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
2825 of FRAME_X_IMAGE_CACHE.
2826 * xterm.h (struct x_display_info): Remove image_cache field.
2827 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
2828 * w32term.h (struct w32_display_info): Remove image_cache field.
2829 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
2830 * macterm.h (struct mac_display_info): Remove image_cache field.
2831 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
2832 * xterm.c (x_term_init):
2833 * w32term.c (w32_term_init):
2834 * macterm.c (mac_term_init): Set the image_cache in the terminal.
2835 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
2836 Remove declarations.
2837 (clear_image_caches, mark_image_cache): New declarations.
2838 * xfaces.c (clear_face_cache):
2839 * xdisp.c (redisplay_internal): Use clear_image_caches.
2840 * image.c (clear_image_cache): Don't check that a frame is on
2841 a window-system before checking if it shares the same cache.
2842 (clear_image_caches): New function.
2843 (Fclear_image_cache): Use it.
2844 (mark_image): Move from allo.c.
2845 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
2846 * alloc.c (mark_image, mark_image_cache): Move to image.c.
2847 (mark_object): Don't call mark_image_cache for frames.
2848 (mark_terminals): Call mark_image_cache.
2849
c2e42690
SM
2850 * lisp.h (Fdelete_terminal): Declare.
2851
43d1af23
SM
2852 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
2853 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
2854 wrong_type_argument.
2855
cc8d1311
KH
28562008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
2857
2858 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 2859 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 2860
6bd92640
SM
28612008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
2862
2863 * xterm.c (x_connection_closed): Consolidate identical tests.
2864 (x_delete_terminal): Don't crash if called via x_connection_closed.
2865
a73b5627
KH
28662008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
2867
2868 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 2869 (display_mode_element): Adjust for the above change.
a73b5627 2870
1b511542
SM
28712008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
2872
2873 * callint.c (Fcall_interactively): Use AREF.
2874
81aefea4
SM
28752008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
2876
2877 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
2878
880820fe 28792008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
2880
2881 * xfns.c (Fx_show_tip): Set string to " " if empty.
2882
a2b84f35
DN
28832008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
2884
2885 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
2886 with Qt.
2887
43c0454d
KH
28882008-02-17 Kenichi Handa <handa@m17n.org>
2889
2890 * ftfont.c (ftfont_shape): Return Lispy number.
2891
2892 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
2893 for GCs.
2894 (Finternal_set_font_selection_order): Call font_update_sort_order
2895 only when enable_font_backend is set.
2896 (realize_x_face): Set face->font_info to that of default face only
2897 when enable_font_backend is set.
2898
2899 * xdisp.c (handle_composition_prop): Set it->c to the fist
2900 characte of the composed region.
2901 (fill_composite_glyph_string): Set base_face->font_info to
2902 s->font_info. Get a face for ascii from base_face->ascii_face.
2903 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
2904 with a face already decided.
2905 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
2906 non-negative.
978bef9a
JB
2907 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
2908 call font_prepare_composition unconditionally.
43c0454d 2909
978bef9a 2910 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
2911
2912 * xterm.h (struct x_display_info): New member font.
2913
2914 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
2915 (x_set_mouse_face_gc, x_new_font): Likewise.
2916 (x_term_init): Setup display_info->font.
2917 (x_delete_terminal): Free display_info->font.
2918
2919 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
2920
2921 * ftxfont.c (ftxfont_default_fid): Delete it.
2922 (ftxfont_open): Set xfont->fid to 0.
978bef9a 2923 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
2924 font-driver.
2925
2926 * xftfont.c (xftfont_default_fid): Delete it.
2927 (xftfont_open): Set xfont->fid to 0.
2928
2929 * fontset.c (FONTSET_OBJLIST): New macro.
2930 (fontset_find_font): Update font-object list of the fontset.
2931 (free_realized_fontset): New function.
2932 (free_face_fontset): Call free_realized_fontset.
2933 (Ffont_info): Call font_close_object only when enable_font_backend
2934 is set.
2935
2936 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
2937 [HAVE_NTGUI]: Include w32term.h.
2938 [MAC_OS]: Include macterm.ch.
2939 (font_otf_ValueRecord): Use make_number.
2940 (font_finish_cache): Fix handling of reference count.
2941 (font_clear_cache): Update num_fonts.
2942 (font_open_entity): Update smallest_char_width and
2943 smallest_font_height of the frame.
2944 (font_close_object): Update num_fonts.
2945 (Fclear_font_cache): Fix finding the target cache data.
2946
be617367
GM
29472008-02-16 Glenn Morris <rgm@gnu.org>
2948
2949 * fontset.c (Finternal_char_font): Fix compilation warning.
2950
2930d117
EZ
29512008-02-16 Eli Zaretskii <eliz@gnu.org>
2952
634d3003
EZ
2953 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
2954 instead of char arrays. Enlarge the size of array passed to
2955 get_token_information.
2956
2930d117
EZ
2957 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
2958 warnings.
2959
79214046
DN
29602008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
2961
2962 * .gdbinit: Don't set `args', it breaks gdb --args.
2963
7f5d2c72
SM
29642008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
2965
2966 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
2967 within a narrowed buffer.
2968
6edacc43
KH
29692008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
2970
b270d6af
JB
2971 * coding.c (decode_coding_object, encode_coding_object):
2972 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 2973
174105f7
SM
29742008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
2975
b270d6af
JB
2976 * coding.c (coding_set_destination): Use BEG_BYTE rather than
2977 hardcoding 1.
13818c30
SM
2978 (detect_coding_system):
2979 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
2980 (string_char_to_byte, string_byte_to_char, insert_from_gap):
2981 * insdel.c (insert_from_gap):
2982 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
2983 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
2984 (string_to_multibyte):
2985 * character.c (chars_in_text, multibyte_chars_in_text):
2986 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
2987
f1c99628
SM
2988 * character.h (FETCH_STRING_CHAR_ADVANCE)
2989 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
2990 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
2991 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
2992
7927d8e3
SM
2993 * casefiddle.c (casify_region): Only call after-change and composition
2994 functions on the part of the region that was changed.
2995
adf6a429 2996 * keyboard.c (read_avail_input):
174105f7
SM
2997 * frame.c (Fdelete_frame): Call Fdelete_terminal.
2998
3ee24aec
SM
29992008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3000
3001 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
3002 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
3003
4ed4b975
JB
30042008-02-11 Juanma Barranquero <lekktu@gmail.com>
3005
3006 * w32menu.c (push_submenu_start, push_submenu_end)
3007 (push_left_right_boundary, push_menu_pane, push_menu_item):
3008 * keyboard.c (read_key_sequence): Don't pass args with side effects
3009 to AREF, it fails when compiling with -DENABLE_CHECKING.
3010
79e3bfb8
KH
30112008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
3012
4ed4b975
JB
3013 * Makefile.in (${lispsource}international/charprop.el):
3014 Delete this target.
6e76043f 3015
79e3bfb8
KH
3016 * search.c (boyer_moore): Fix incorrect synching of the trunk and
3017 emacs-unicode-2.
3018
5b8de9c5
SM
30192008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
3020
3021 * terminal.c (Fdelete_terminal): Clean up the `force' path.
3022
eac1939a
SM
30232008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3024
c53956fe
SM
3025 * frame.c (Qnoelisp): New symbol.
3026 (syms_of_frame): Initialize it.
3027 (Fdelete_frame): Use it to distinguish a mere `force' passed from
3028 someharmles Elisp code, from a strong `force' from x_connection_closed.
3029 * frame.h (Qnoelisp): Declare.
3030 * xterm.c (x_connection_closed): Pass `noelisp'.
3031
eac1939a
SM
3032 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
3033 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
3034 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
3035 rather than `int' for the type of `type'.
3036
13f6772b
DN
30372008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
3038
3039 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
3040
3041 * Makefile.in (GNUC): Remove support for gcc-1.x.
3042
e8455367
RS
30432008-02-10 Richard Stallman <rms@gnu.org>
3044
3045 * lisp.h (ASET): Use AREF, not ASLOT.
3046
4b75ffab
SM
30472008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
3048
3049 * lisp.h (ASET): Check bounds.
3050
d224e8c2
GM
30512008-02-10 Glenn Morris <rgm@gnu.org>
3052
3053 * buffer.c (mode-name): Doc fix.
3054
4624371d
DN
30552008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3056
290afd83
JB
3057 * Makefile.in:
3058 * emacs.c:
3059 * gmalloc.c:
3060 * keyboard.c:
3061 * lisp.h:
3062 * m/ibm370aix.h:
3063 * process.c:
3064 * regex.c:
3065 * s/hpux.h:
3066 * sysdep.c:
3067 * sysselect.h:
3068 * systty.h:
3069 * unexec.c:
3070 * w32term.c:
3071 * xsmfns.c:
3072 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
3073
3074 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
3075
3076 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
3077 nothing else needs it anymore.
3078
274ec34b
EZ
30792008-02-09 Eli Zaretskii <eliz@gnu.org>
3080
3081 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
3082 instead of unibyte_char_to_multibyte.
3083
deeaffe1
DN
30842008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
3085
3086 * s/gnu-linux.h: Remove commented out code.
3087
4ed4b975 3088 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
3089
3090 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 3091 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 3092 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
3093 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
3094 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
3095
68b587a6
SM
30962008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
3097
9141ca5e
SM
3098 * keymap.c (Fkey_description): Move side effect outside of macro call.
3099
dfae5f9a 3100 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
3101 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
3102
ff7a2223
SM
3103 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
3104 (syms_of_fontset): Use ASET.
3105
68b587a6
SM
3106 * fns.c (concat): Move side effect outside of macro call.
3107 (hash_clear): Use ASET.
3108
a31787b1
RS
31092008-02-08 Richard Stallman <rms@gnu.org>
3110
3111 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
3112 If FORCE, and frame has a surrogate minibuffer for another frame,
3113 delete the other frame first.
3114
987be29b 31152008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
3116
3117 * xterm.c (x_detect_focus_change): Handle embed client message.
3118 (handle_one_xevent): Ditto.
3119 (handle_one_xevent): If embedded and we get a button press/release,
3120 request focus.
3121 (xembed_set_info, xembed_send_message): New functions.
3122 (x_make_frame_visible): Call xembed_set_info if embedded.
3123 (x_make_frame_invisible): Call xembed_set_info if embedded.
3124 (x_term_init): Initialize Xatom_XEMBED.
3125 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
3126 (x_iconify_frame): Ditto.
3127
3128 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
3129 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
3130 (enum xembed_modifier, enum xembed_accelerator): New.
3131 (xembed_set_info, xembed_send_message): Declare.
3132 (FRAME_X_EMBEDDED_P): New.
3133
3134 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
3135 gtk_plug_new.
3136
3137 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
3138 window ID of a frame.
3139 (x_window): Reparent frame if embedded.
3140 (Fx_create_frame): Don't set border width if embedded.
3141
3142 * emacs.c (USAGE3): Add --parent-id
3143 (standard_args): Ditto.
3144
880820fe 31452008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
3146
3147 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
3148
92413ef3
JD
31492008-02-07 Jim Meyering <meyering@redhat.com>
3150
6f69e89b 3151 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
3152 The latter provokes a warning from gcc about the empty else, when
3153 followed by ";". Also, without that trailing semicolon, it would
3154 silently swallow up any following statement.
c3f9fba8 3155 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
3156 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
3157 * buffer.h (DECODE_POSITION): Likewise.
3158 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
3159 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
3160 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
3161 (FETCH_CHAR_ADVANCE): Likewise.
3162 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 3163
03fa5713
GM
31642008-02-07 Jim Meyering <meyering@redhat.com>
3165
3166 * lread.c [lint]: Don't include <sys/inode.h>.
3167
3ae565b3
SM
31682008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
3169
3170 * xselect.c (x_handle_dnd_message):
3171 * xmenu.c (digest_single_submenu, xmenu_show):
3172 * xdisp.c (with_echo_area_buffer_unwind_data)
3173 (format_mode_line_unwind_data, unwind_format_mode_line)
3174 (display_menu_bar):
3175 * eval.c (Ffetch_bytecode):
3176 * doc.c (store_function_docstring):
3177 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
3178 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
3179 * buffer.c (add_overlay_mod_hooklist): Use ASET.
3180
146b6e55
KH
31812008-02-07 Kenichi Handa <handa@m17n.org>
3182
3183 * ftxfont.c (ftxfont_open): Don't set
3184 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
3185
3186 * ftfont.c (ftfont_open): Fix previous change.
3187
46a923ac
JR
31882008-02-06 Jason Rumney <jasonr@gnu.org>
3189
3190 * w32font.c (w32font_text_extents): Fill in lbearing metric.
3191 Use cached metrics for ASCII characters.
3ae565b3
SM
3192 (w32font_open_internal): Don't set font's owning_frame.
3193 Cache metrics for ASCII characters.
46a923ac
JR
3194
3195 * w32font.h (struct w32font_info): Add ascii_metrics.
3196 Remove owning_frame.
3197
da7d7c21
KH
31982008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
3199
3200 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
3201 to negative value.
3202
3203 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
3204
3ae565b3 3205 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
3206
3207 * charset.c (syms_of_charset): Set QCtest and Qeq.
3208
c62c8ddb
SM
32092008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
3210
ca319910
SM
3211 * process.c (Fstart_process):
3212 * callproc.c (Fcall_process): Handle the case where
3213 Funhandled_file_name_directory returns nil.
3214
76860cbb
SM
3215 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
3216 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
3217 * font.c (check_gstring): Use them and AREF to access the vector before
3218 we know it's really a gstring.
3219 (Ffont_shape_text): Fix typo.
3220 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 3221
15139d67
SM
3222 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
3223 Declare.
3224
c62c8ddb
SM
3225 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
3226
04b65d2b
JR
32272008-02-05 Jason Rumney <jasonr@gnu.org>
3228
3229 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
3230 Set smallest_font_height and smallest_char_width in display info.
3231
fccaebfd
KH
32322008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
3233
3234 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
3235
e7d7fd8c
MB
32362008-02-05 Miles Bader <miles@gnu.org>
3237
3238 * xfaces.c (get_lface_attributes, merge_named_face)
3239 (lookup_named_face, lookup_derived_face, realize_named_face):
3240 Revert 2008-02-01 change by cyd@stupidchicken.com.
3241
3d4448a8
KH
32422008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
3243
3244 * fontset.c (Ffontset_info): Handle the case of inhibitting the
3245 fallback fonts.
15139d67 3246 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 3247
5ace1ec1
JR
32482008-02-04 Jason Rumney <jasonr@gnu.org>
3249
3250 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
3251 set full_name.
e3a77b22 3252 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 3253
ffe42183
JR
32542008-02-03 Jason Rumney <jasonr@gnu.org>
3255
3256 * makefile.w32-in (OBJ1): Include font.o here.
3257 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
3258
526dc3b3
JR
32592008-02-02 Jason Rumney <jasonr@gnu.org>
3260
a0fece35 3261 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 3262
af805c82
JR
32632008-02-01 Jason Rumney <jasonr@gnu.org>
3264
3265 * s/cygwin.h: Define VIRT_ADDR_VARIES.
3266
3267 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
3268
7f6519c5
AS
32692008-02-01 Andreas Schwab <schwab@suse.de>
3270
1f45f627 3271 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 3272 ../lisp/language/myanmar.el.
7f6519c5 3273
26f8aa27
CY
32742008-02-01 Chong Yidong <cyd@stupidchicken.com>
3275
1f45f627 3276 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
3277 (merge_named_face, lookup_named_face, lookup_derived_face)
3278 (realize_named_face): Call lface_from_face_name directly, and use
3279 the fact that merge_face_vectors does not alter its FROM argument.
3280
73acf815 32812008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3282
3283 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 3284 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 3285
73acf815 32862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3287
3288 * fontset.c (reorder_font_vector): Exclude nil elements from the
3289 font group. Don't try multiple fonts.
15139d67 3290 (fontset_font): Adjust for the above change.
aca7a3d2
MB
3291 (Finternal_char_font): Return nil if the found font doesn't
3292 contain the character ch.
3293
4c4475a8 3294 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 3295
73acf815 32962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3297
3298 * font.h (FONTP): Make it return 1 also for a font-object.
3299
3300 * .gdbinit (xfontset): New function.
3301
3302 * font.c (font_find_for_lface): Check if the character C is
3303 supported or not only for the first font.
3304
3305 * fontset.c (reorder_font_vector): Fix typo.
3306 (fontset_find_font): Don't add a font-spec specifying a script.
3307 Use 0 (not Qt) for the indication of empty font-group. Change the
3308 format of RFONT-DEF. Return Qt if no font in the font-group
3309 support the character.
15139d67 3310 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 3311 found the character, remember that.
15139d67 3312 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
3313 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
3314 no font for the target.
15139d67 3315 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 3316
73acf815 33172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3318
3319 * font.c (font_load_for_face): Handle the case that the font in
3320 face->lface is a string.
3321
73acf815 33222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3323
1f45f627 3324 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 3325
73acf815 33262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3327
3328 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
3329 Fix previous change. If the frame is not on a window system,
3330 signal an error.
3331
73acf815 33322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3333
4c4475a8
GM
3334 * coding.c (decode_coding_object, encode_coding_object): Adjust
3335 marker positions after conversion.
aca7a3d2
MB
3336
3337 * lisp.h (struct Lisp_Marker): New member need_adjustment.
3338
73acf815 33392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3340
3341 * font.c (font_find_for_lface): Fix the handling of the return
3342 value of font_has_char.
3343 (Ffont_shape_text): Fix previous change.
3344
3345 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
3346 (fontset_ref_and_range): Delete it.
3347 (fontset_find_font): Call char_table_ref_and_range instead of
3348 FONTSET_REF_AND_RANGE.
3349 (make_fontset): Don't setup font groups of Latin here.
3350 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
3351 (new_fontset_from_font): Make the specified font the default for
3352 all Latin characters.
3353
73acf815 33542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3355
3356 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
3357 is on a window system before accessing the fontset of the frame.
3358
73acf815 33592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3360
1f45f627 3361 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
3362
3363 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
3364 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
3365
3366 * font.c (Ffont_shape_text): If the font driver doesn't have a
3367 shaper function, make zero-width glyphs to have at least one-pixel
3368 width. Fix setting of `to' field of glyphs.
3369
73acf815 33702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3371
3372 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
3373 glyphs.
3374
1f45f627 3375 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 3376
73acf815 33772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3378
3379 * composite.c (syms_of_composite): Fix docstring of
3380 auto-composition-function.
3381
3382 * font.h (LGLYPH_SIZE): New macro.
3383
3384 * font.c (Ffont_fill_gstring): Stop filling when a character not
3385 supported by the font is found.
3386 (Ffont_shape_text): When a shape callback function returns nil,
3387 try at most two more times with larger gstring.
15139d67 3388 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
3389
3390 * xdisp.c (handle_auto_composed_prop): Change the argument to
3391 auto-composition-function.
3392
3393 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
3394 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
3395 Lispy glyph and store it in the lgstring.
3396
3397 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
3398
3399 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
3400
73acf815 34012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3402
3403 * font.c (Ffont_shape_text): Avoid unnecessary composition.
3404
3405 * fontset.c (Vfont_encoding_charset_alist): New variable.
3406 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
3407 (reorder_font_vector, fontset_find_font): Optimize for the case of
3408 no need of reordering.
aca7a3d2
MB
3409 (face_for_char): Map the charset property by
3410 Vfont_encoding_charset_alist.
3411
73acf815 34122008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3413
3414 * w32font.c (logfonts_match): Don't check adstyle here.
3415 (font_matches_spec): Check here against physical font instead.
3416 (add_font_entity_to_list): Avoid some substitutions.
3417
3418 * font.c (font_parse_fcname): Default weight and slant to normal.
3419 (font_score): Prefer normal fonts if weight or slant unspecified.
3420 (font_score) [WINDOWSNT]: Scale weight difference down to closer
3421 match freetype scores.
3422
73acf815 34232008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3424
3425 * w32font.c (w32font_text_extents): Don't use the frame stored in the
3426 font, as it may have been deleted.
3427 (w32_enumfont_pattern_entity): Map generic family to adstyle using
3428 most common hyphenless variation.
3429 (logfonts_match): Check generic family.
3430 (font_matches_spec): Don't check generic family here.
3431 (fill_in_logfont): Set generic family based on adstyle.
3432
3433 * w32font.h (w32font_get_cache): Update declaration.
3434
73acf815 34352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3436
3437 * ftfont.c (ftfont_get_cache): Adjust the argument type.
3438
15139d67 3439 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 3440 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
3441 with the old drivers.
3442
3443 * w32font.c (w32font_get_cache): Adjust the argument type.
3444
3445 * xfont.c (xfont_get_cache): Adjust the argument type.
3446
3447 * font.h (struct font_driver): Change argument type of get_cache.
3448
3449 * xftfont.c (xftfont_start_for_frame): Delete prototype.
3450
3451 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 3452 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 3453 (font_clear_cache): New function.
4c4475a8 3454 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 3455 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
3456
3457 * fontset.c (fontset_find_font): Fix previous change.
3458
73acf815 34592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3460
3461 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
3462 dpyinfo->font_table.
3463 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 3464 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
3465
3466 * font.c (font_at): Handle the case that the arg C is negative.
3467 Handle the unibyte case.
3468 (Ffont_at): Call font_at with the arg C -1.
3469
3470 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
3471 the position here, and call font_at with the arg C -1.
3472 Don't check the range of the existing composition at the point.
aca7a3d2 3473
73acf815 34742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3475
15139d67 3476 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 3477 Change caller.
4c4475a8
GM
3478 (load_font_get_repertory, fontset_find_font): Assume that
3479 font_spec is always a font-spec object.
aca7a3d2
MB
3480 (Fset_fontset_font): Always store a font-spec object in a fontset.
3481
3482 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
3483 instead of get_property_and_range.
3484
73acf815 34852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3486
3487 * xftfont.c (struct xftfont_info): Delete the member ft_face.
3488 (xftfont_open): Don't keep locking face.
3489 (xftfont_close): Don't unlock face.
4c4475a8 3490 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
3491
3492 * fontset.c (fontset_find_font): Don't prefer a font of
3493 supplementary charset.
3494
73acf815 34952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3496
1f45f627
GM
3497 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
3498 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
3499 (OTF_TAG_STR): Terminate by '\0'.
3500 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
3501 listing to the script specified in that property. Fix arg to
3502 OTF_check_features.
3503
73acf815 35042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3505
3506 * w32font.h: New file.
3507
3508 * w32font.c: Include it.
3509 (struct w32font_info): Add owning_frame field. Move to w32font.h.
3510 (w32font_open): Set owning_frame.
3511 (w32font_text_extents): Use owning_frame.
3512 (struct font_callback_data): Add opentype_only field.
3513 (add_font_entity_to_list): Use it to filter fonts.
3514 Don't check against full name.
3515 (w32font_list_internal): New function.
3516 (w32font_list): Use it.
3517 (w32font_match_internal): New function.
3518 (w32font_match): Use it.
3519 (w32font_open_internal): New function.
3520 (w32font_open): Use it.
3521 (w32font_get_cache, w32font_close, w32font_has_char)
3522 (w32font_encode_char, w32font_text_extents, w32font_draw):
3523 Make non-static.
3524
3525 * makefile.w32-in (w32font.o): Depend on w32font.h.
3526
73acf815 35272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3528
3529 * charset.c (Fdefine_charset_internal): Record a supplementary
3530 charset at the tail of Vcharset_order_list.
3531
3532 * font.c (Ffont_shape_text): Fix the return value.
3533
3534 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
3535
3536 * xdisp.c (handle_auto_composed_prop): Fix previous change.
3537
73acf815 35382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3539
3540 * ftfont.c (struct OpenTypeSpec): New struct.
3541 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
3542 (ftfont_get_open_type_spec): New function.
3543 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
3544
15139d67 3545 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 3546
73acf815 35472008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3548
3549 * w32font.c (add_font_entity_to_list): Compare only the beginning
3550 of full name.
3551
73acf815 35522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3553
15139d67
SM
3554 * xdisp.c (handle_auto_composed_prop): Simplify the code.
3555 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 3556
73acf815 35572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3558
3559 * font.c (font_gstring_produce): Delete it.
3560
15139d67
SM
3561 * composite.h (COMPOSITION_METHOD):
3562 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 3563
73acf815 35642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3565
15139d67 3566 * xfont.c (Qx): Delete.
aca7a3d2
MB
3567 (syms_of_xfont): Don't initialize Qx.
3568
15139d67
SM
3569 * composite.h (enum composition_method):
3570 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 3571
73acf815 35722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3573
3574 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
3575 (choose_face_font): Accept new form of font-spec.
3576
3577 * frame.h (font_driver_list): Declare it unconditionally.
3578 (struct frame): Define members font_driver_list and font_data_list
3579 unconditionally.
3580
3581 * fontset.c: Include "font.h" unconditionally.
15139d67 3582 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
3583 (Fset_fontset_font): Accept a font-spec object.
3584
3585 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
3586 PIXEL_SIZE part a wild card.
3587
3588 * dispextern.h (struct glyph_string): Define members clip and
3589 num_clips unconditionally.
3590 (struct face): Define members font_info and extra unconditionally.
3591
3592 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
3593 ftfont_info only when HAVE_LIBOTF is defined.
3594
73acf815 35952008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
3596
3597 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
3598 and end.
3599
73acf815 36002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3601
3602 * w32font.c (w32font_driver): Add new fields.
3603
73acf815 36042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 3605
aca7a3d2
MB
3606 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
3607 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
3608 (LIBES): Add @M17N_FLT_CFLAGS@.
3609
3610 * composite.c (compose_text): Don't treat the new style
3611 composition specially.
3612
3613 * emacs.c (main): Call syms_of_font unconditionally.
3614
3615 * font.h (FONT_ENTITY_NOT_LOADABLE)
3616 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 3617 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 3618 (struct font_driver): New member shape.
1f45f627 3619 (font_registry_charsets): Extern it.
4c4475a8 3620 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
3621 (font_otf_capability, font_drive_otf): Delete their externs.
3622
3623 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
3624 (font_charset_alist, font_registry_charsets): Move from xfont.c
3625 and rename.
aca7a3d2
MB
3626 (font_prop_validate_otf): New function.
3627 (font_property_table): Register it for QCotf.
3628 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 3629 (font_drive_otf): Delete.
1f45f627 3630 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
3631 lispy gstring.
3632 (font_find_for_lface): New arg C.
15139d67 3633 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
3634 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
3635 lispy gstring.
aca7a3d2
MB
3636 (Ffont_shape_text): New function.
3637 (Fopen_font): If the font size is not given, use 12-pixel.
3638 (Ffont_at): New arg STRING.
15139d67
SM
3639 (syms_of_font): Initalize font_charset_alist.
3640 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
3641 conditionally.
3642
3643 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
3644 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
3645 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
3646 Adjust for the change of RFONT-DEF.
15139d67 3647 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
3648
3649 * ftfont.h: New file.
3650
3651 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
3652 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
3653 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
3654 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
3655 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 3656 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
3657 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
3658 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
3659 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
3660 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.s
3661 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
3662 (otf_gstring, gstring, m17n_flt_initialized): New variables.
3663
15139d67
SM
3664 * w32term.c (x_draw_composite_glyph_string_foreground):
3665 Adjust for the change of lispy gstring.
aca7a3d2 3666
15139d67 3667 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 3668 lispy gstring. Call a function for auto-composition with the
15139d67
SM
3669 third arg it->window.
3670 (fill_composite_glyph_string): Adjust for the change of lispy string.
3671 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 3672
15139d67 3673 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
3674 font_find_for_lface.
3675
1f45f627
GM
3676 * xfont.c (x_font_charset_alist): Move to font.c and rename.
3677 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
3678 (syms_of_xfont): Don't handle x_font_charset_alist.
3679
3680 * xftfont.c: Include "ftfont.h".
15139d67 3681 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
3682 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
3683 (xftfont_close) [HAVE_LIBOTF]: Close otf.
3684 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
3685 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
3686 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 3687
15139d67 3688 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
3689 the change of lispy gstring.
3690
73acf815 36912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3692
3693 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
3694
73acf815 36952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3696
3697 * w32font.c (w32font_draw): Fill background manually.
3698
73acf815 36992008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3700
3701 * font.c (Qfontp): Remove unused symbol.
3702 (QCantialias): New symbol.
3703 (syms_of_font): Define it.
3704 (font_property_table): Set a validator for QCantialias.
3705
15139d67
SM
3706 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
3707 Define if not already.
aca7a3d2
MB
3708 (QCfamily): Share with xfaces.c.
3709 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 3710 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
3711 (w32_antialias_type, lispy_antialias_type): New functions.
3712 (w32_enumfont_pattern_entity): New arg requested_font.
3713 Set antialias parameter if non-default was requested.
3714 (fill_in_logfont): Fill in lfQuality if :antialias specified.
3715
73acf815 37162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3717
3718 * lread.c (read1): Undo the previous change.
3719
73acf815 37202008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
3721
3722 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 3723 USE_FONT_BACKEND is defined.
aca7a3d2 3724
73acf815 37252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3726
3727 * font.h (struct font_bitmap): New member bits_per_pixel.
3728 (struct font_driver): New members start_for_frame and end_for_frame.
3729 (struct font_data_list): New struct.
3730 (font_put_frame_data, font_get_frame_data): Extern them.
3731
3732 * frame.h (struct frame): New member font_data_list.
3733
3734 * font.c (font_update_drivers): Call driver->start_for_frame and
3735 driver->end_for_frame at proper timings.
3736 (font_put_frame_data, font_get_frame_data): New functions.
3737 (Ffont_spec): Add usage in the docstring.
3738
3739 * frame.c (make_frame): Initialize f->font_data_list to NULL.
3740 (Fdelete_frame): Call font_update_drivers.
3741
3742 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 3743 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
3744 (xftfont_get_xft_draw): New function.
3745 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
3746 (xftfont_end_for_frame): New function.
3747 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
3748
15139d67 3749 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 3750 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
3751 (struct ftxfont_frame_data): New struct.
3752 (ftxfont_draw_bitmap): New arg gc_fore and flush.
3753 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 3754 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
3755 (ftxfont_end_for_frame): New function.
3756 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
3757
3758 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
3759
73acf815 37602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3761
3762 * xselect.c (Vselection_coding_system)
3763 (Vnext_selection_coding_system): Delete them.
3764 (syms_of_xselect): Don't declare selection-coding-system and
3765 next-selection-coding-system. They are declared in select.el.
3766
73acf815 37672008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3768
3769 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
3770
3771 * w32fns.c: Include imm.h.
3772 (get_composition_string_fn, get_ime_context_fn): New optional
3773 system functions.
3774 (globals_of_w32fns): Load them from imm32.dll.
3775 (ignore_ime_char): New flag.
3776 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
3777 WM_IME_ENDCOMPOSITION messages.
3778
3779 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
3780 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
3781
73acf815 37822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3783
3784 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
3785 (READCHAR_REPORT_MULTIBYTE): New macro.
3786 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
3787 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
3788 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
3789 source.
3790
73acf815 37912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3792
3793 * xfaces.c (face_for_overlay_string): Call lookup_face with
3794 correct arguments (fix of synching with the trunk).
3795
73acf815 37962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3797
4c4475a8
GM
3798 * font.c (font_prop_validate_symbol, font_prop_validate_style)
3799 (font_prop_validate_non_neg, font_prop_validate_spacing):
3800 Delete argument prop_index.
15139d67
SM
3801 (font_property_table): Change arguments to validater. Change Callers.
3802 (font_lispy_object): Delete.
aca7a3d2
MB
3803 (font_at): Use font_find_object instead fo font_lispy_object.
3804
73acf815 38052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
3806
3807 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
3808 and file names.
3809
73acf815 38102008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3811
3812 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
3813 (font_matches_spec): Remove debug output.
3814 (add_font_entity_to_list): Avoid using substituted fonts.
3815
73acf815 38162008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3817
3818 * doc.c (Fsnarf_documentation):
3819 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
3820
73acf815 38212008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 3822
290afd83 3823 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
3824 HAVE_WINDOW_SYSTEM is defined.
3825
73acf815 38262008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
3827
3828 Fix up multi-tty merge.
3829
3830 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
3831 and indentation.
3832
3833 * xfaces.c (free_realized_face, clear_face_gcs):
3834 Include font_done_for_face in the input_blocked section, just in case.
3835
3836 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
3837 (get_char_face_and_encoding): Undo last change and remove the *other*
3838 duplicate definition (i.e. keep the one that's better scoped and that
3839 includes code for the font-backend).
3840
3841 * terminal.c (create_terminal): Default keyboard_coding to
3842 `no-conversion' and terminal_coding to `undecided'.
3843
3844 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
3845
3846 * fontset.c (free_realized_fontsets): Check that the table entry does
3847 contain a fontset before trying to compare it to `base'.
3848
3849 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
3850 syms_of_charset, and syms_of_coding earlier because init_window_once
3851 now needs Vcoding_system_hash_table to be setup.
3852
3853 * coding.h (default_buffer_file_coding): Remove.
3854
3855 * coding.c (default_buffer_file_coding): Remove.
3856 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
3857 than ->symbol, and use the terminal-local coding system.
3858 (syms_of_coding): Don't setup the coding-systems that are not
3859 terminal-local.
3860 (Fdefine_coding_system_internal): Use XCAR/XCDR.
3861
3862 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
3863 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
3864
3865 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
3866 in chartab.c and were re-added here by mistake.
3867 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
3868
3869 * doc.c (Fsnarf_documentation):
3870 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
3871 src to etc.
3872
3873 * ChangeLog.10: Add mistakenly removed entry.
3874
73acf815 38752008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
3876
3877 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
3878
73acf815 38792008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
3880
3881 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
3882 Add extra args to FACE_FOR_CHAR.
3883
73acf815 38842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3885
3886 * keymap.c (where_is_internal_1): If key is a cons, store the copy
3887 in sequence.
3888
4c4475a8
GM
3889 * chartab.c (map_sub_char_table, map_char_table): If the range
3890 contains just one character, call the function with that character
3891 even if the depth is not 3.
aca7a3d2 3892
73acf815 38932008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3894
3895 * w32font.c (w32font_text_extents): Calculate metrics for the
3896 whole string.
3897
73acf815 38982008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3899
3900 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
3901
73acf815 39022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3903
3904 * w32term.c (x_set_glyph_string_clipping): Use
3905 get_glyph_string_clip_rects.
4c4475a8
GM
3906 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
3907 Adjust for the change of struct glyph_string.
aca7a3d2
MB
3908
3909 * w32font.c (w32font_draw): Do clipping here.
3910
73acf815 39112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3912
1f45f627 3913 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
3914 glyph_string.
3915
3916 * xterm.c (x_set_glyph_string_clipping): Use
3917 get_glyph_string_clip_rects.
4c4475a8
GM
3918 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
3919 Adjust for the change of struct glyph_string.
aca7a3d2
MB
3920
3921 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
3922 the resulting clip(s}.
1f45f627 3923 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
3924 row->clip temporarily.
3925 (expose_window): Redraw rows overlapping the exposed area.
3926
3927 * dispextern.h (struct glyph_row): New member clip.
3928 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
3929 clip_height, new member clip, and num_clips.
3930
73acf815 39312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3932
3933 * data.c (Fchar_or_string_p): Fix docstring.
3934
73acf815 39352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3936
3937 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
3938 create a temporal XftDraw object.
3939
73acf815 39402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3941
3942 * font.c (Ffontp): Fix docstring.
3943
3944 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
3945 strong evidence of ISO-2022.
3946
73acf815 39472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3948
3949 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
3950 SYNTAX_ENTRY_FOLLOW_PARENT.
3951
73acf815 39522008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
3953
3954 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
3955 its type.
3956 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
3957 Update to the new type of weak_hash_tables and next_weak.
3958
3959 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
3960 a plain C pointer to Lisp_Hash_Table.
3961
3962 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
3963 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
3964 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
3965 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
3966 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
3967 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
3968 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
3969 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
3970 (GC_EQ): Remove since they've been identical to their non-GC_
3971 alter-egos ever since the markbit was eradicated.
3972
290afd83
JB
3973 * alloc.c:
3974 * buffer.c:
3975 * buffer.h:
3976 * data.c:
3977 * fileio.c:
3978 * filelock.c:
3979 * fns.c:
3980 * frame.h:
3981 * lisp.h:
3982 * macterm.c:
3983 * print.c:
3984 * process.c:
3985 * w32fns.c:
3986 * w32menu.c:
3987 * w32term.c:
3988 * xfns.c:
3989 * xmenu.c:
3990 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 3991
73acf815 39922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3993
3994 * chartab.c (map_sub_char_table): Make it work for the top-level
3995 char-table. Fix handling of parent char-table.
c5ad7a3d 3996 (map_char_table): Adjust for the above change.
aca7a3d2 3997
73acf815 39982008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3999
4000 * w32font.c (Qgdi): Rename from Qw32.
4001
73acf815 40022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4003
4004 * w32bdf.c (get_quoted_string): Make function static.
4005
73acf815 40062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4007
4008 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
4009 bigger ascent and descent than those of the font, use them as
4010 font's ascent and descent.
4011
73acf815 40122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4013
4014 * Makefile.in (${lispsource}international/charprop.el): Move this
4015 target within "#ifdef HAVE_UNIDATA" and "#endif".
4016
73acf815 40172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4018
4019 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
4020 (shortlisp): Add ../lisp/language/tai-viet.el.
4021
1f45f627 40222008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
4023
4024 * Makefile.in (${lispsource}international/charprop.el): Depend on
4025 temacs${EXEEXT}.
4026
73acf815 40272008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4028
4029 * w32font.c (w32font_close): Delete the GDI font object.
4030
6f69e89b 4031 * w32menu.c: Include character.h.
aca7a3d2
MB
4032
4033 * w32proc.c: Likewise.
4034
4035 * w32select.c: Likewise.
4036
6f69e89b 4037 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 4038
73acf815 40392008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4040
4041 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
4042
4043 * w32menu.c (syms_of_w32menu): Likewise.
4044
4045 * w32proc.c (syms_of_ntproc): Likewise.
4046
4047 * w32select.c (syms_of_w32select): Likewise.
4048
4049 * w32term.c (syms_of_w32term): Likewise.
4050
73acf815 40512008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4052
4053 * w32font.c (w32font_draw): Delete brush after using it.
4054
73acf815 40552008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4056
4057 * w32font.c (w32font_open): Don't set font_idx.
4058 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
4059 to font settings.
4060 (w32font_draw): Fill background explicitly.
4061
73acf815 40622008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4063
4064 * w32term.c (w32_initialize): Don't call w32font_initialize.
4065
4066 * w32font.c (w32font_info): Remove subranges.
4067 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
4068 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
4069 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
4070 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
4071 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
4072 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
4073 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
4074 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
4075 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
4076 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
4077 New symbols.
4078 (font_callback_data): New struct.
4079 (w32font_list, w32font_match): Use it.
4080 (w32font_open): Don't populate subranges.
4081 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
4082 (w32font_encode_char): Always return unicode code-point as-is.
4083 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
4084 GetGlyphOutline. Never look up by glyph index. Avoid looping
4085 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2
MB
4086 glyph index version.
4087 (set_fonts_frame): Remove
4088 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
4089 set frame parameter. Use backward compatible fake foundries.
4090 Save generic family in extra slot under QCfamily. Make width slot
4091 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
4092 binary subranges.
4093 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 4094 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
4095 unwanted fonts.
4096 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
4097 (w32_registry): Default to iso10646_1.
4098 (fill_in_logfont): Use dpi from extra slot. Don't bother with
4099 string font registries. Don't fill in font name if it is a generic
4100 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
4101 extra info to fill pitch, family and charset fields.
4102 (list_all_matching_fonts): Use font_callback_data struct.
4103 (unicode_range_for_char): Remove.
4104 (font_supported_scripts): New function.
4105 (w32font_initialize): Remove.
4106 (syms_of_w32font): Update which symbols are defined.
4107
73acf815 41082008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4109
4110 * font.c (font_pixel_size): Reverse assq_no_quit args.
4111
4112 * w32term.h (FONT_WIDTH): Report max width, not average.
4113 (FONT_MAX_WIDTH): Remove.
4114 (FONT_AVG_WIDTH): New macro.
4115
4116 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
4117 redefinition of FONT_WIDTH.
4118
4119 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
4120 (w32_cache_char_metrics): Use FONT_WIDTH.
4121
4122 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
4123
73acf815 41242008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4125
4126 * w32font.c (w32font_open): Make lfHeight negative.
4127
4128 * w32fns.c (x_default_font_parameter): Use new style font name.
4129 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
4130
73acf815 41312008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4132
4133 * w32font.c (QCsubranges): New symbol.
4134 (w32font_open, w32font_has_char): Get subranges from subproperty
4135 of extra.
4136 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
4137 (syms_of_w32font): Define :subranges symbol.
4138
4139 * font.c (font_put_extra): Expose externally.
4140
1f45f627 4141 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
4142
4143 * font.c (Ffont_get): Use font driver to determine otf capability.
4144 (adjust_anchor): Check if driver defines anchor_point before using.
4145
4146 * w32font.c (w32font_open): Handle size, height and pixel_size better.
4147 (w32font_draw): Use options.
4148 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
4149 Fix detection of truetype fonts.
4150 (registry_to_w32_charset): Handle charsets other than iso8859-1
4151 expressed as lisp symbols.
4152 (w32_registry): Express charset as lisp symbol.
4153 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 4154 Don't set width here. Set quality to default.
aca7a3d2
MB
4155
4156 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
4157 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
4158
4159 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4160 Remove redundant loop and allocation.
4161
4162 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 4163 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
4164 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
4165
4166 * xdisp.c (fill_composite_glyph_string): Make the first arg to
4167 STORE_XCHARB a valid l-value.
4168
4169 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
4170 calculations for non-Truetype fonts.
4171 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
4172 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
4173 Remove redundant code.
aca7a3d2
MB
4174 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
4175
4176 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
4177 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
4178
4179 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
4180 (x_to_w32_charset, w32_to_x_charset): Expose externally.
4181
4182 * w32font.c: New file for w32 font backend.
4183
73acf815 41842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4185
4186 * term.c: Don't include "buffer.h" twice.
4187
73acf815 41882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4189
4190 * character.c (Funibyte_string): New function.
4191 (syms_of_character): Defsubr it.
4192
73acf815 41932008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4194
4195 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
4196 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
4197 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
4198 (x_draw_glyph_string, x_draw_glyph_string_foreground)
4199 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
4200 (x_free_frame_resources): Sync with xterm.c.
4201
73acf815 42022008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4203
4204 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
4205 char-table size.
4206
73acf815 42072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4208
c3f9fba8 4209 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 4210
73acf815 42112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4212
4213 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
4214 font_otf_gpos, add font_drive_otf.
4215
4216 * fontset.c (fontset_find_font): Pay attention to font size
4217 specified for a font.
4218 (reorder_font_vector): Check contents of font_def.
4219
4220 * font.c (struct otf_list): Delete it.
6f69e89b 4221 (otf_list): Make it a lisp variable.
aca7a3d2 4222 (otf_open): Use lispy otf_list.
1f45f627 4223 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 4224 (check_otf_features): New function.
c3f9fba8
JB
4225 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4226 New functions.
aca7a3d2
MB
4227 (font_drive_otf): New function merging font_otf_gsub and
4228 font_otf_gpos.
4229 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 4230 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
4231 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
4232 Ffont_otf_gpos.
4233 (syms_of_font): Staticpro otf_list. Delete defsubr of
4234 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
4235
1f45f627 4236 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
4237 font_open_for_lface.
4238
4239 * font.h (font_open_for_lface): Adjust prototype.
4240 (struct font_driver): Delete members otf_gsub and otf_gpos, add
4241 member otf_drive.
4242 (font_otf_gsub, font_otf_gpos): Delete externs.
4243 (font_drive_otf): Extern it.
4244
73acf815 42452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4246
4247 * font.c (font_at): If the window W is not on a window system,
4248 return Qnil.
4249
4c4475a8
GM
4250 * coding.c (produce_chars, encode_coding): Don't call
4251 insert_from_gap if no characters to produce.
aca7a3d2 4252
73acf815 42532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4254
4255 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
4256 Fclear_face_cache.
4257
4258 * xfaces.c (face_for_font): Check also face->font==font->font.font.
4259
73acf815 42602008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4261
4262 * emacs.c (main): Change default value of `enable_font_backend' to 1.
4263 Parse "--disable-font-backend" option.
4264 (standard_args): Add "--disable-font-backend" option.
4265
73acf815 42662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4267
4268 * fontset.c (fontset_find_font): New function.
4269 (fontset_font): Use fontset_find_font.
4270 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
4271 Register the specified font for all Latin characters.
4272 (new_fontset_from_font): Register the specified font for all Latin
4273 characters.
4274 (dump_fontset): For a realized fontset, include the base fontset
4275 name in the returned vector.
4276
73acf815 42772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4278
4279 * character.h (CHAR_STRING): Cast C to unsigned on calling
4280 char_string.
4281
4282 * character.c (char_string): Type of arg C changed to unsigned.
4283 Signal an error if C is an invalid character code.
4284
4c4475a8
GM
4285 * editfns.c (general_insert_function, Fchar_to_string):
4286 Use CHARACTERP, not INTEGERP.
aca7a3d2 4287
73acf815 42882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4289
4290 * character.h (MIN_MULTIBYTE_LEADING_CODE)
4291 (MAX_MULTIBYTE_LEADING_CODE): New macros.
4292
4293 * regex.c (analyse_first): Fix for multibyte characters in "case
4294 charset:" and "case categoryspec:".
4295
73acf815 42962008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4297
4298 * Makefile.in (LIBES): Move standard libraries to the end.
4299
73acf815 43002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4301
4302 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
4303 nonzero, don't shrink the buffer nextb.
4304
4305 * buffer.h (struct buffer_text): New member inhibit_shrinking.
4306
4307 * coding.c (coding_alloc_by_making_gap): New arg offset.
4308 (alloc_destination): Call coding_alloc_by_making_gap with the arg
4309 offset.
4310 (decode_coding_iso_2022): Update coding->safe_charsets.
4311 (decode_coding_gap): Temporarily set
4312 current_buffer->text->inhibit_shrinking to 1.
4313
73acf815 43142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4315
4316 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
4317 indexing into elements of s->cmp and s->char2b.
4318
73acf815 43192008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
4320
4321 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
4322
73acf815 43232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4324
4325 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
4326 target_multibyte instead of multibyte.
4327 (re_match_2_internal): Call bcmp_translate with target_multibyte.
4328 (bcmp_translate): Change the argument name from multibyte to
4329 target_multibyte.
4330
73acf815 43312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4332
4333 These changes are to compile a regexp into a pattern that can be
4334 used both for multibyte and unibyte targets.
4335
4336 * Makefile.in (search.o): Depend on charset.h.
4337
4338 * character.c (multibyte_char_to_unibyte_safe): New function.
4339
4340 * search.c: Include "charset.h".
4341 (compile_pattern_1): Delete argument multibyte. Don't set
4342 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
4343 (compile_pattern): Don't compare cp->buf.target_multibyte.
4344 Compare cp->buf.charset_unibyte.
4345 (compile_pattern): Set cp->buf.target_multibyte.
4346
4347 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
4348
4349 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
4350
4351 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 4352 multibyte. Change callers.
aca7a3d2 4353 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
4354 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
4355 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
4356 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
4357 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
4358 (regex_compile): Make the compiled pattern usable both for
4359 multibyte and unibyte targets.
4360 (analyse_first): Make the fastmap usable both for multibyte and
4361 unibyte targets.
1f45f627 4362 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
4363 (re_match_2_internal): Pay attention to the case that the
4364 multibyteness of bufp and target may be different.
4365
73acf815 43662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4367
4368 * xdisp.c (x_produce_glyphs): When a font is not found, make the
4369 empty box occupy at least one column width.
4370
73acf815 43712008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4372
4373 * Makefile.in: Remove redundant HAVE_XFT clause.
4374
73acf815 43752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4376
4377 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
4378
73acf815 43792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4380
4381 * fontset.c (Finternal_char_font): Fix for the case of POSITION
4382 being nil.
4383
73acf815 43842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4385
4386 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
4387
73acf815 43882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4389
4390 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
4391
73acf815 43922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4393
4394 * search.c (simple_search): Fix previous change.
4395
73acf815 43962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4397
4398 * xftfont.c (ftfont_font_format): Extern declaration.
4399
4400 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
4401
4402 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
4403 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
4404
4405 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
4406 (ftfont_font_format): Fix previous change.
4407
4408 * font.h (Ffont_xlfd_name): EXFUN it.
4409
4410 * font.c (font_parse_xlfd): Fix the array size of `f'.
4411 (register_font_driver): Use EQ to compare driver->type.
4412
4413 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
4414 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
4415 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
4416
73acf815 44172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4418
4c4475a8
GM
4419 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
4420 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 4421
73acf815 44222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4423
4424 * xfont.c (xfont_open): Set font->format.
4425
4426 * xftfont.c (xftfont_open): Set font->format.
4427
4428 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
4429 (ftfont_list): Include FC_FONTFORMAT in FcObject.
4430 (ftfont_open): Set font->format.
4431 (ftfont_font_format): New function.
4432
4433 * font.h (struct font): New memeber format.
4434
4435 * font.c (Qopentype): New variable.
4436 (syms_of_font): Defsym it.
4437 (Fquery_font): Change the format of the last element of the return
4438 value.
4439
73acf815 44402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4441
4442 * xfns.c (xic_create_xfontset): Try the default fontset name as a
4443 last resort.
4444
73acf815 44452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4446
4447 * coding.c (detect_coding_charset): Fix detection of multi-byte
4448 charset.
4449
73acf815 44502008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
4451
4452 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
4453
73acf815 44542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4455
4456 * xdisp.c (get_next_display_element): Set it->face_id for the
4457 first component of a composition.
1f45f627 4458 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 4459
73acf815 44602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4461
4462 (get_next_display_element): Set it->face_id for the
4463 first component of a composition.
1f45f627 4464 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 4465
73acf815 44662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4467
4468 * fontset.c (Qlatin): New variable.
4469 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 4470 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 4471
73acf815 44722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4473
4474 * font.c (font_unparse_fcname): Pay attention to the case that
4475 some of font property is a null string.
4476
73acf815 44772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4478
4479 * term.c: Include "composite.h".
4480 (encode_terminal_code): Output all components of composition.
4481 Check the size of encode_terminal_src.
424c157f 4482 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
4483 (append_composite_glyph, produce_composite_glyph): New functions.
4484
4485 * xdisp.c (x_produce_glyphs): In handling composition, if a font
4486 is not found, get font_info from the current ascii face.
4487
73acf815 44882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4489
4490 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
4491 buffer-file-name to Qnil before calling insert_from_buffer.
4492
4493 * font.c (font_unparse_fcname): Pay attention to the case that
4494 foundry is a null string.
4495
73acf815 44962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4497
4498 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
4499
4500 * font.c (Qunicode_sip): New variable.
4501 (syms_of_font): Declare it as a Lisp symbol.
4502
4503 * font.h (Qunicode_sip): Extern it.
4504
73acf815 45052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4506
1f45f627 4507 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
4508
4509 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 4510 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
4511 the first elememnt of allocated memory.
4512
1f45f627 4513 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
4514
4515 * xdisp.c (handle_composition_prop): Set it->c to the first
4516 non-TAB component.
1f45f627
GM
4517 (fill_composite_glyph_string): Change argument.
4518 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
4519 (x_produce_glyphs): Fix handling of left/right padding.
4520
73acf815 45212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4522
4523 * coding.c (detect_coding_system): Fix for handling off
4524 inhibit_iso_escape_detection. Fix for the case that no coding
4525 system is defined for a specific coding category.
4526
73acf815 45272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4528
1f45f627 4529 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
4530
4531 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
4532 opening a font.
4533
4534 * fileio.c (Finsert_file_contents): On recovering a file, assume
4535 Unix-like eol.
4536 (choose_write_coding_system): On auto-saving a file, force
4537 Unix-like eol.
4538
4539 * coding.c (setup_coding_system): Fix setting of
4540 coding->common_flags based on eol_type.
4541 (coding_inherit_eol_type): If PARENT is not nil, be sure to
4542 inherit from it.
4543
73acf815 45442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4545
1f45f627 4546 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 4547
73acf815 45482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4549
1f45f627 4550 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
4551 (ftfont_list): Don't check :name property.
4552 (ftfont_match): New function.
4553 (ftfont_pattern_entity): If the pattern doesn't contain
4554 FC_SPACING, don't assuce FC_MONO.
4555
4556 * font.h (struct font_driver): New member `match'.
1f45f627 4557 (font_update_drivers): Adjust prototype.
aca7a3d2 4558
4c4475a8
GM
4559 * font.c (font_parse_fcname, font_parse_name): Don't change :name
4560 property of FONT.
aca7a3d2
MB
4561 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
4562 them unconditionally.
4563 (font_matching_entity): New function.
4564 (font_open_by_name): Try font_matching_entity if exact match is
4565 not found.
4566 (font_update_drivers): Delete the arg FONT. Return a list of
4567 actually used backends. Don't free faces, font caches here.
4568 Don't store data in frame parameters. Don't call x_set_font.
4569 (Ffont_spec): Store :name property as is.
4570 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
4571 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
4572 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
4573 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
4574 Call font->driver->otf_gsub instead of font_otf_gsub.
4575
4576 * frame.c (x_set_font_backend): Do more works that were done in
4577 font_update_drivers before.
4578
4579 * xfont.c (xfont_match): New function.
4580 (xfont_driver): Set xfont_driver.match to xfont_match.
4581 (xfont_draw): Set font in GC if necessary.
4582
4583 * ftxfont.c (ftxfont_match): New function.
4584 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
4585
4586 * xftfont.c (xftfont_match): New function.
4587 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
4588
73acf815 45892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4590
4591 * font.h (struct font): New member scalable.
4592 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 4593 (font_otf_gsub): Adjust prototype.
aca7a3d2 4594
1f45f627
GM
4595 * font.c (font_otf_capability): Fix handling of the default langsys.
4596 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
4597 Check the contents of SPEC.
4598 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
4599 (check_gstring): New function.
4600 (REPLACEMENT_CHARACTER): New macro.
4601 (font_otf_gsub): New arg alternate_subst. Be sure to set all
4602 glyph codes of GSTRING.
4603 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
4604 (font_prepare_composition): Set cmp->glyph_len.
4605 (font_open_entity): Set font->scalable.
4606 (Ffont_get): Handle :otf property.
4607 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
4608 functions.
4609 (Fquery_font): Use font->font.full_name.
4610 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
4611 Sfont_otf_alternates.
4612
4613 * ftfont.c (ftfont_open): Set font->font.full_name and
4614 font->font.name properly. Fix calculation of font->font.height
4615 and font->min_width.
4616
4617 * ftxfont.c (ftxfont_create_gcs): New function.
4618 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
4619 (ftxfont_draw_backgrond): Fix filling region.
4620 (ftxfont_default_fid): New function.
4621 (ftxfont_open): Set xfotn->fid to the return value of
4622 ftxfont_default_fid.
4623 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
4624 (ftxfont_done_face): Free only GCs that are created by
4625 ftxfont_create_gcs.
4626 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
4627
4628 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
4629 Clip to src->width, etc (not src->clip_XXX).
4630
4631 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
4632 FontBackend frame parameter.
4633
73acf815 46342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4635
4636 * font.h (struct font_driver_list): New member `on'.
4637 (Fclear_font_cache): EXFUN it.
4638 (font_update_drivers): Extern it.
4639
4640 * font.c (font_unparse_fcname): Fix typo (swidth->width).
4641 (font_list_entities): Check driver_list->on.
4642 (register_font_driver): Initalize `on' member to 0.
4643 (font_update_drivers): New function.
4644 (Fclear_font_cache): Check driver_list->on.
4645
4646 * frame.h (Qfont_backend): Extern it.
4647 (x_set_font_backend): Extern it.
4648
4649 * frame.c (Qfont_backend): New variable.
4650 (frame_parms): New element for font-backend.
4651 (x_set_font_backend): New function.
4652
4653 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
4654 FontBackend frame parameter.
4655 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
4656 x_set_font_backend.
4657
4658 * xfont.c (xfont_list): Don't try listing by :name property if the
4659 name is not for XLFD.
4660
73acf815 46612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4662
4663 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
4664 (LGLYPH_SET_TO): New macros.
4665 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
4666 element of G is vector or not.
4667 (font_at): Extern it.
4668
4669 * font.c: Include window.h.
4670 (font_lispy_object): New function.
4671 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
4672 end of valid glyph.
4673 (font_close_object): Fix getting (struct font *).
4674 (font_at): New function.
4675 (Ffont_get): If FONT is a font-object, get entity from it.
4676 (Ffont_make_gstring): Initialize elements of glyphs with nil.
4677 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
4678 range check.
4679 (Ffont_at): New function.
4680 (syms_of_font): Defsubr Sfont_at.
4681
4682 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 4683 before the entry for Qcomposition.
1f45f627 4684 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
4685 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
4686 the font in gstring.
4687 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
4688 LGLYPH_FORM (g) to detect the end of valid glyph.
4689 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
4690 we are composing with gstring.
4691
4692 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
4693 Check if adjustment is vector or not.
4694
4695 * Makefile.in (font.o): Make it depends on window.h.
4696
73acf815 46972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4698
4699 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
4700 adjustment is vector or not.
4701
73acf815 47022008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
4703
4704 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
4705
73acf815 47062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4707
4708 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
4709 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
4710 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
4711
1f45f627 4712 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 4713 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
4714 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
4715 LGLYPH format.
aca7a3d2 4716
1f45f627 4717 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
4718 the change of LGLYPH format.
4719
73acf815 47202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4721
4722 * ftfont.c (ftfont_list): Fix typo.
1f45f627 4723 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 4724
880820fe 47252008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
4726
4727 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
4728
4729 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
4730 xftface_info is non-NULL.
4731
880820fe 47322008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 4733
1f45f627 4734 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 4735
73acf815 47362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4737
4738 * ftfont.c (ftfont_list): Pay attention to the case that
4739 FC_CAPABILITY is not defined.
4740
73acf815 47412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4742
4743 * xftfont.c (xftfont_open): Set charset related members to -1.
4744
1f45f627
GM
4745 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
4746 QCname.
aca7a3d2
MB
4747 (ftfont_open): Set charset related members to -1.
4748
4749 * fontset.c (Votf_script_alist): New variable.
4750 (syms_of_fontset): Initialize it.
4751 (fontset_font): Delete unused variable.
4752
4753 * fontset.h (Votf_script_alist): Extern it.
4754
1f45f627 4755 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
4756
4757 * font.h (font_close_object, font_merge_old_spec): Extern them.
4758
73acf815 47592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4760
4761 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
4762 (syms_of_font): Initialize them.
4763 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
4764 (font_prop_validate_type): Delete.
4765 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
4766 Change caller.
4767 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
4768 (font_prop_validate_extra): Delete.
aca7a3d2
MB
4769 (font_prop_validate_spacing): New function.
4770 (font_property_table): Add elements for all known properties.
1f45f627
GM
4771 (get_font_prop_index): Rename from check_font_prop_name. New
4772 argument FROM. Change caller.
aca7a3d2 4773 (font_prop_validate): Validate all known properties.
1f45f627 4774 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
4775 (font_expand_wildcards): Make it static. Fix the way of shrinking
4776 the possible range.
1f45f627 4777 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 4778 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 4779 Change caller.
aca7a3d2 4780 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
4781 (font_parse_fcname): Delete argument merge. Fix parsing of point
4782 size. Don't validate properties values here. Change caller.
4783 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
4784 (font_open_by_name): Delete unused variable.
4785 (Ffont_spec): Likewise. Validate property values.
4786 (Ffont_match_p): New function.
4787
4788 * font.h (QCscalable): Extern it.
1f45f627 4789 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 4790
1f45f627 4791 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 4792
1f45f627 4793 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
4794 (xfont_list_pattern): New function.
4795 (xfont_list): Use xfont_list_pattern.
4796
73acf815 47972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4798
4799 * font.h (Flist_fonts): EXFUN it.
4800
73acf815 48012008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4802
4803 * w32term.c (w32_initialize): Add back smoothing_type and
4804 smoothing_enabled definitions.
4805
73acf815 48062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4807
4808 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
4809 s->face->font on determining underline position.
4810
73acf815 48112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4812
4813 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
4814 (font_has_char): Accept font-object too.
4815 (font_find_for_lface): Try at first with a size specified in face.
4816
73acf815 48172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4818
4819 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
4820 font_open_by_name.
4821
73acf815 48222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4823
4824 * font.h (QCspacing, QCdpi): Extern them.
4825 (enum font_spacing): New enum.
4826 (FONT_PIXEL_SIZE_QUANTUM): New macro.
4827
4828 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
4829 (QCspacing, QCdpi): New variables.
4830 (syms_of_font): Initialize them.
4831 (font_pixel_size): New function.
4832 (font_put_extra): New function.
4833 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
4834 in FONT_EXTRA.
e9184ccb
JB
4835 (font_parse_fcname): Handle enumenrated values (e.g. bold).
4836 Fix handling font size. Add QCname property that contains only
aca7a3d2 4837 unknown properties.
1f45f627 4838 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 4839 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
4840 (font_sort_entites, font_list_entities, font_find_for_lface)
4841 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 4842 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
4843
4844 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
4845 include weight in listing pattern, instead check weight of each
4846 listed font. Don't include scalable in pattern. Pay attention to
4847 FONT_PIXEL_SIZE_QUANTUM.
4848
73acf815 48492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4850
aca7a3d2 4851 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 4852 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
4853 (font_list_entities): Handle float size correctly.
4854 (font_open_by_name): Prefer `normal' property values if the name
4855 doesn't specify them.
4856
4857 * fontset.c (Finternal_char_font): Use font_get_name, not
4858 Ffont_xlfd_name.
4859
4860 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
4861 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
4862 pattern. Don't force scalable.
4863
4864 * xftfont.c (xftfont_open): For generating a name, start from
4865 96-byte buffer.
4866
880820fe 48672008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
4868
4869 * frame.h (x_new_fontset2): Fix prototype.
4870
73acf815 48712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4872
1f45f627 4873 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
4874 (font_match_p, font_get_spec, font_parse_fcname)
4875 (font_unparse_fcname): Extern them.
1f45f627 4876 (font_get_name): Adjust prototype.
aca7a3d2
MB
4877
4878 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
4879 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
4880 (font_expand_wildcards): Fix handling ENCODING field. Avoid
4881 unnecessary checks for weight, slant, and swidth.
4882 (font_parse_fcname): New function.
4883 (font_unparse_fcname): New function.
4884 (font_parse_name): New function.
4885 (font_match_p): New function.
1f45f627 4886 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
4887 (font_get_spec): New function.
4888 (Qunspecified, Qignore_defface): Don't extern them.
4889 (font_find_for_lface): Assume that LFACE is fully specified.
4890 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
4891 object, use it for FACE.
4892 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
4893 driver->parse_name.
4894 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
4895
1f45f627
GM
4896 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
4897 prototype.
aca7a3d2 4898
1f45f627
GM
4899 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
4900 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
4901 make_fontset.
4902
1f45f627 4903 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 4904
1f45f627 4905 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
4906 of x_new_fontset2.
4907
4908 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
4909 (Qsans__serif): New variables.
4910 (ftfont_generic_family_list): New variable.
4911 (syms_of_ftfont): Initialize the above variables.
1f45f627 4912 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
4913 (ftfont_list_generic_family): New function.
4914 (ftfont_parse_name): Delete this function.
1f45f627 4915 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
4916 (ftfont_list_family): Fix args to FcObjectSetBuild.
4917
4918 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
4919 object in attrs[LFACE_FONT_INDEX].
4920 (set_lface_from_font_name): Cancel all changes for font-backend.
4921 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
4922 function.
4923 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
4924 font object in QCfont attribute.
4925 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
4926 (realize_default_face) [USE_FONT_BACKEND]: Call
4927 set_lface_from_font_and_fontset.
4928
4929 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
4930 "fixed", and signal error here if no suitable font was found.
4931
4932 * xfont.c (xfont_parse_name): Delete this function.
4933
4934 * xftfont.c (xftfont_open): Change coding style of error
4935 handling. Generate fontconfig's fontname pattern.
4936
4937 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
4938 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
4939
4940 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
4941 Both args FONTSET and FONT_OBJECT must be existing ones.
4942
73acf815 49432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
4944
4945 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
4946
73acf815 49472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4948
4949 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
4950
4951 * font.h (struct font): Fix typo.
4952
4953 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
4954 XLFD_XXX_INDEX.
4955 (enum xlfd_field_mask): New enum.
1f45f627 4956 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
4957 are followed by non-digits, return a symbol.
4958 (font_expand_wildcards): New function.
4959 (font_parse_xlfd): Fix wildcard handling.
4960 (Ffont_spec): If :name is specified, reflect the info in the other
4961 properties.
4962
4963 * ftfont.c (ftfont_pattern_entity): Fix typo.
4964 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
4965 locale.
4966
73acf815 49672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4968
4969 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
4970
1f45f627 4971 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
4972 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
4973 registry doesn't specify encoding part.
4974 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
4975 (font_open_by_name): At first try parsing the name.
4976 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
4977 as Lisp symbols.
4978
4979 * fontset.c (reorder_font_vector): Pay attention to the case that
4980 the 3rd element of font_def is nil.
4981 (fontset_font): For the default fontset, append one more fontset
4982 elements for a script-based font specification. Don't add script
4983 attribute on finding a font.
4984 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
4985 font name.
4986 (fontset_ascii_font): If a font can't be opened, return nil.
4987
1f45f627 4988 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
4989 (ftfont_pattern_entity): New function.
4990 (ftfont_get_cache): Assume that freetype_font_cache is already
4991 initialized.
4992 (ftfont_list): Handle the case that a file is specified in font
4993 name. Use ftfont_pattern_entity to generate entities.
4994 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
4995 (syms_of_ftfont): Initialize freetype_font_cache.
4996
4997 * xftfont.c (xftfont_open): Make the font name fontconfig's
4998 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
4999 (xftfont_close): Free font->font.name if not NULL.
5000
5001 * xfont.c (xfont_list): If script is specified for a font, return
5002 null_vector.
5003 (xfont_list_family): Declare argument type.
5004
5005 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
5006 name, set LFACE_FONT (lface) to nil.
5007
5008 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
5009 return Qnil.
5010
73acf815 50112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5012
1f45f627 5013 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
5014 (standard_args): Add "-enable-font-backend".
5015
73acf815 50162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5017
5018 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
5019 (struct xftdraw_list, xftdraw_list): Delete them.
5020 (register_xftdraw, check_xftdraw): Delete them.
5021 (xftfont_prepare_face): Don't call register_xftdraw.
5022 (xftfont_done_face): Don't call check_xftdraw.
5023 (xftfont_draw): Get backroudn color only when with_background is
5024 nonzero.
5025
5026 * xfont.c (xfont_encode_char): Fix calculation of char2b.
5027
73acf815 50282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5029
5030 These changes are for the new font handling codes.
5031
5032 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
5033 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
5034 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
5035 (FONTSRC, FONTOBJ): New variables.
5036 (obj): Add $(FONTOBJ).
5037 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
5038 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
5039 @LIBOTF_LIBS@.
5040 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 5041 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 5042
1f45f627 5043 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
5044
5045 * character.h (Vscript_representative_chars): Extern it.
5046
5047 * character.c (Vscript_representative_chars): New variable.
5048 (syms_of_character): Declare it as a Lisp variable.
5049
5050 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
5051 enable_font_backend is nonzero, accept the composition method
5052 COMPOSITION_WITH_GLYPH_STRING.
5053
5054 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
5055 enumeration COMPOSITION_WITH_GLYPH_STRING.
5056
aca7a3d2
MB
5057 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
5058 members clip_x, clip_y, clip_width, and clip_height.
5059 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
5060
5061 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
5062 --enable-font-backend. Call syms_of_font.
5063
5064 * fns.c (assoc_no_quit): New function.
5065
5066 * fontset.h (FONT_INFO_FROM_FACE): New macro.
5067 (face_for_font, new_fontset_from_font)
5068 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
5069
5070 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
5071 (fontset_font, fontset_ascii, face_for_char)
5072 (make_fontset_for_ascii_face, Ffont_info)
5073 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
5074 is nonzero, use font-backend mechanism.
5075 (find_font_encoding): Make it non-static.
5076 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
5077 New functions.
5078
5079 * frame.h (struct frame): New members resx and resy.
5080 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
5081 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
5082
5083 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 5084 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
5085
5086 * lisp.h (assoc_no_quit): Extern it.
5087
5088 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
5089 Through out the file, use FONT_INFO_FROM_FACE instead of
5090 FONT_INFO_FROM_ID, use get_per_char_metric instead of
5091 rif->per_char_metric.
5092 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
5093 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
5094 (get_glyph_face_and_encoding, fill_composite_glyph_string)
5095 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
5096 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
5097 nonzero, use font-backend mechanism.
5098 (get_per_char_metric): New function.
5099
5100 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
5101 (set_lface_from_font_name)
5102 (set_font_frame_param, free_realized_face)
5103 (prepare_face_for_display, clear_face_gcs)
5104 (Finternal_set_font_selection_order, realize_x_face)
5105 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
5106 font-backend mechanism.
1f45f627 5107 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
5108 (load_face_font) [USE_FONT_BACKEND]: Abort.
5109 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 5110 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
5111
5112 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
5113 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
5114 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
5115 nonzero, register all available font drivers. Call
5116 x_default_font_parameter for deciding a font.
5117 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
5118
5119 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
5120 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
5121 (x_set_glyph_string_clipping_exactly)
5122 (x_compute_glyph_string_overhangs)
5123 (x_draw_glyph_string_foreground)
5124 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
5125 (x_free_frame_resources) [USE_FONT_BACKEND]: If
5126 enable_font_backend is nonzero, use font-backend mechanism.
5127 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
5128
73acf815 51292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5130
fcb314b2 5131 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
5132 system_eol_type.
5133 (syms_of_coding): Initialize system_eol_type.
5134
fcb314b2
GM
5135 * process.c (Fset_process_coding_system): Inherit system's eol
5136 format if necessary.
aca7a3d2 5137
73acf815 51382008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5139
5140 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
5141
73acf815 51422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5143
5144 * coding.c (decode_eol): Pay attention to buffer relocation in
5145 del_range_2.
5146 (decode_coding): Call decode_eol before restoring undo_list.
5147
73acf815 51482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5149
5150 * charset.c (Fdefine_charset_internal): Fix setting of
5151 emacs_mule_bytes.
5152
73acf815 51532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5154
5155 * keyboard.c (read_char): Check if C is a character or not before
5156 looking up Vkeyboard_translate_table.
5157
73acf815 51582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5159
5160 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
5161 condition to terminate the loop.
5162
73acf815 51632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5164
5165 * coding.c (produce_composition): Compare charbuf[i] instead of
5166 args[i] against 0.
5167 (Fterminal_coding_system): Use EQ to compare Lisp objects.
5168
73acf815 51692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5170
5171 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
5172 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
5173 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
5174 detect_coding.
5175 (emacs_mule_char): Handle old style (Emacs 20) component character
5176 of a composition.
4c4475a8
GM
5177 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
5178 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
5179 composition rule.
aca7a3d2
MB
5180 (decode_coding_emacs_mule): Handle invalid bytes correctly.
5181
73acf815 51822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5183
5184 * coding.c (encode_coding_ccl): Allocate destination dynamically
5185 when necessary.
5186
73acf815 51872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5188
5189 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
5190 the loop. When quitted, show a proper error message.
5191
73acf815 51922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5193
aca7a3d2
MB
5194 * xterm.c (x_set_glyph_string_clipping_exactly): Set
5195 src->clip_head and src->clip_tail temporarily instead of src->hl.
5196
5197 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
5198 character sequence.
5199 (Fccl_execute_on_string): Use ASET, not XSET.
5200
73acf815 52012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5202
1f45f627 5203 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 5204
73acf815 52052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5206
5207 * coding.c (decode_coding): Fix the condition of terminating the
5208 decoding loop.
5209
73acf815 52102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5211
5212 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 5213 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 5214
73acf815 52152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5216
5217 * charset.c (map_charset_chars): Fix for ascii-compatible charset
5218 made by a mapping table.
5219
73acf815 52202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5221
5222 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
5223 not.
5224 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
5225 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
5226
5227 * xterm.c (x_draw_composite_glyph_string_foreground): Check
5228 s->face is NULL or not.
5229
73acf815 52302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5231
5232 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
5233 (x_draw_glyph_string): Fix drawing of right_overhang and
5234 left_overhang around/on cursor.
5235
1f45f627 5236 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 5237
73acf815 52382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5239
5240 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
5241
73acf815 52422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5243
4c4475a8
GM
5244 * coding.c (Fdefine_coding_system_internal)
5245 (Fdefine_coding_system_alias): Avoid a duplicated element in
5246 Vcoding_system_alist.
aca7a3d2 5247
73acf815 52482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5249
5250 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
5251
fcb314b2 5252 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
5253 (syms_of_coding): Intern and staticpro it.
5254 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 5255 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
5256
5257 * coding.h (CODING_SYSTEM_P): If ID is not available, call
5258 Fcoding_system_p.
5259 (CHECK_CODING_SYSTEM): If ID is not available, call
5260 Fcheck_coding_system.
4c4475a8
GM
5261 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
5262 Try also Fcheck_coding_system.
aca7a3d2 5263
73acf815 52642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5265
aca7a3d2
MB
5266 * coding.c (code_conversion_restore): GCPRO arg.
5267
73acf815 52682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5269
5270 * character.c (lisp_string_width): Check multibyteness of STRING.
5271
73acf815 52722008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5273
5274 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
5275 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
5276 (decode_mac_font_name): Use decode_coding_c_string instead of
5277 decode_coding.
5278 (x_load_font): Initialize fontp->fontset to -1. Set
5279 fontp->encoding_type.
5280
73acf815 52812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5282
5283 * search.c (search_buffer): Give up BM search on case-fold-search
5284 if one of a target character has a case-equivalence of different
5285 byte length even if that target charcter is an ASCII.
1f45f627
GM
5286 (simple_search): Fix calculation of byte length of matched text.
5287 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 5288
73acf815 52892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5290
5291 * coding.c (decode_coding): Fix handling of invalid bytes.
5292
73acf815 52932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5294
5295 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
5296 Unicode characters.
5297
73acf815 52982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5299
5300 * coding.c (encode_coding_object): If a pre-write-conversion
5301 function makes a new buffer, kill it.
5302
73acf815 53032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5304
5305 * coding.c (QCascii_compatible_p): New variable.
5306 (syms_of_coding): Initialize it.
4c4475a8
GM
5307 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
5308 calling string_char.
aca7a3d2
MB
5309 (record_conversion_result): Add `default:' case.
5310 (coding_charset_list): Delete unused variable `coding_type'.
5311 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
5312 property in the plist of the coding system.
5313 (Fcoding_system_put): Check QCascii_compatible_p.
5314
73acf815 53152008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
5316
5317 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
5318 removed calculation of frame `f', as it's now used.
5319
73acf815 53202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5321
1f45f627 5322 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
5323 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
5324 (UNIDATA): New variable.
5325 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
5326 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
5327 $(RUN_TEMACS) unconditionally.
5328
73acf815 53292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5330
1f45f627 5331 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
5332 (admindir): New variable.
5333 ($(lispsource)international/charprop.el): New target.
5334
73acf815 53352008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 5336
1f45f627 5337 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
5338 (syms_of_character): Remove its initialization.
5339
73acf815 53402008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
5341
5342 * w32select.c (validate_coding_system)
5343 (setup_windows_coding_system): New functions.
5344 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
5345 setup_windows_coding_system.
5346 (setup_config, Fw32_get_clipboard_data): Use
5347 validate_coding_system.
5348 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 5349 where signals are allowed.
aca7a3d2
MB
5350
5351 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
5352 (Fcheck_coding_system): Add declarations.
5353
73acf815 53542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5355
1f45f627 5356 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 5357
73acf815 53582008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5359
5360 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
5361 string as the second argument for x_new_fontset.
5362
73acf815 53632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5364
5365 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
5366 (encode_coding_object): Use safe_call instead of call2.
5367
73acf815 53682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5369
1f45f627 5370 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
5371
5372 * Makefile.in (lisp): Include charprop.el.
5373
73acf815 53742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
5375
5376 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
5377 Not sure if it's unnecessary.
5378
73acf815 53792008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5380
5381 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
5382 some possibly unnecessary fontset checking code that crashed
1f45f627 5383 when creating a new frame.
aca7a3d2 5384
73acf815 53852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5386
5387 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
5388 lookup_face.
5389
5390 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
5391
1f45f627 5392 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 5393
73acf815 53942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5395
73acf815 5396 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
5397 (coding_charset_list): New function.
5398
5399 * coding.h (coding_charset_list): Extern it.
5400
73acf815 54012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5402
5403 * fontset.c (Fset_fontset_font): Call find_font_encoding with
5404 concatenation of family and registry.
5405
73acf815 54062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5407
5408 * character.h (BYTE8_STRING): Fix typo.
5409
5410 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
5411 string to multibyte (sync to HEAD).
5412
5413 * casefiddle.c (casify_region): Handle changes in byte-length
5414 using replace_range_2 (sync to HEAD).
5415
73acf815 54162008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
5417
5418 * chartab.c (map_char_table): GCPRO table and arg.
5419
73acf815 54202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5421
5422 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
5423 already at limit.
5424
73acf815 54252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5426
5427 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
5428 instead of fast_c_string_match_ignore_case.
1f45f627 5429 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 5430 fast_string_match_ignore_case instead of
1f45f627 5431 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 5432
73acf815 54332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5434
5435 * xdisp.c (get_next_display_element): In unibyte case, decide to
5436 display in octal form by checking a chacter by
5437 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
5438
1f45f627 5439 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
5440
5441 * character.c (unibyte_has_multibyte_table): New variable.
5442
5443 * character.h (unibyte_has_multibyte_table): Extern it.
5444 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
5445
73acf815 54462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5447
5448 * coding.c (encode_coding_iso_2022): Fix handling of charset
5449 annotation.
5450
73acf815 54512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5452
5453 * coding.c (setup_coding_system): If coding_system is nil, use
5454 Qundecided.
5455 (Fterminal_coding_system): Return nil if terminal coding system is
5456 `undecided'.
5457 (syms_of_coding): Define coding-system `undecided' here. Setup
5458 terminal_coding as `undecided'.
5459
73acf815 54602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5461
5462 * xdisp.c (message_dolog, set_message_1): Call
5463 unibyte_char_to_multibyte with arg type int.
5464
aca7a3d2
MB
5465 * lread.c (read1): Fix reading of a char-table.
5466
5467 * print.c (print_object): Include sub char-table in cicularities
5468 detection.
5469
73acf815 54702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5471
5472 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 5473 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 5474
73acf815 54752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5476
5477 * fileio.c (report_file_error): Make a unibyte string from
5478 strerror (errorno).
5479 (Fsubstitute_in_file_name): Fix the arg to
5480 unibyte_char_to_multibyte. It is evaluated twice.
5481
73acf815 54822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5483
5484 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
5485
73acf815 54862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5487
5488 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
5489 BOM is not found.
4c4475a8
GM
5490 (detect_coding, detect_coding_system): Optimization for ISO-2022
5491 when no 8-bit data is found.
aca7a3d2 5492
73acf815 54932008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5494
5495 * w32fns.c (x_to_w32_font): Update to use new coding struct.
5496
73acf815 54972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5498
4c4475a8
GM
5499 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
5500 CHARS.
aca7a3d2 5501
73acf815 55022008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
5503
5504 * macterm.c (mac_encode_char): Add charset argument and update
5505 to use encoding_type.
2a2e8de7 5506 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
5507 switch to pure fontset.
5508 (decode_mac_font_name): Temporarily remove decoding.
5509 (x_font_name_to_mac_font_name): Temporarily remove encoding.
5510 (x_load_font): Temporarily remove encoding.
aca7a3d2 5511
73acf815 55122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5513
5514 * xfaces.c (Fface_font): If frame is not on a window system,
5515 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
5516 refer to face->font.
5517 (split_font_name_into_vector, build_font_name_from_vector)
5518 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
5519 whne HAVE_WINDOW_SYSTEM is defined.
5520
73acf815 55212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5522
5523 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
5524 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 5525 cmp->glyph_len is zero.
aca7a3d2 5526
1f45f627 5527 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
5528 (Ffontset_info): Make it backward compatible. New arg ALL.
5529
73acf815 55302008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
5531
5532 * process.c (read_process_output): Grow decoding_buf when needed;
5533 this could cause a crash in allocate_string and compact_small_strings.
5534
73acf815 55352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5536
1f45f627 5537 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 5538
73acf815 55392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5540
5541 * coding.c (setup_coding_system): Set coding->common_flags
5542 correctly for raw-text.
5543 (consume_chars): On encoding unibyte text by raw-text, don't check
5544 multibyte form.
1f45f627 5545 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
5546
5547 * fileio.c (e_write): Short cut for the case of no encoding.
5548
73acf815 55492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5550
4c4475a8
GM
5551 * coding.c (detect_coding, detect_coding_system): Delete unused
5552 variables.
aca7a3d2 5553
73acf815 55542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5555
5556 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
5557 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
5558
73acf815 55592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5560
5561 * coding.c (Ffind_coding_systems_region_internal): Include
5562 raw-text and no-conversion in the result.
5563
73acf815 55642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5565
1f45f627 5566 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
5567 (load_font_get_repertory): Delete unnecessary check of ENCODING of
5568 FONT_DEF.
5569 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 5570 (set_fontset_font): Change argument.
aca7a3d2
MB
5571 (Fset_fontset_font): Fix for the case that TARGET is a script
5572 name and charset name.
5573 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
5574
73acf815 55752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5576
1f45f627
GM
5577 * fontset.c (fontset_font): Rename from fontset_face. Change return
5578 value.
4c4475a8
GM
5579 (face_suitable_for_char_p, face_for_char): Adjust for the change
5580 of fontset_font.
aca7a3d2
MB
5581 (make_fontset_for_ascii_face): Fix setting of the fontset element
5582 for ASCII.
5583 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
5584 to get a font name.
1f45f627 5585 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 5586
fcb314b2 5587 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
5588
5589 * character.h (LEADING_CODE_LATIN_1_MIN)
5590 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
5591
73acf815 55922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5593
fcb314b2 5594 * editfns.c (check_translation): New function.
aca7a3d2
MB
5595 (Ftranslate_region_internal): Handle M:N mapping.
5596
73acf815 55972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5598
5599 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
5600
73acf815 56012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5602
5603 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
5604 goto invalid_code.
5605 (decode_coding_iso_2022): Fix handling of invalid designation.
5606
5607 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
5608 after calling code_conversion_save.
5609
73acf815 56102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5611
5612 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
5613
5614 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
5615
5616 * fontset.c: Include "intervals.h".
5617 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
5618 (free_face_fontset, new_fontset_from_font_name): Fix
5619 Lisp_Object/int mixup.
aca7a3d2
MB
5620
5621 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
5622
5623 * coding.c: Add many prototypes for static functions.
5624 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 5625 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
5626 (Funencodable_char_position, Fcheck_coding_systems_region): Call
5627 get_translation_table with max_lookup NULL.
aca7a3d2 5628
73acf815 56292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5630
5631 * coding.c (get_translation_table): Declare it as Lisp_Object.
5632 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
5633 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
5634 instead of CHAR_TABLE_REF.
aca7a3d2 5635
73acf815 56362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5637
1f45f627 5638 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
5639 annotation data format.
5640 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 5641 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 5642 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 5643 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
5644 (decode_coding_ccl, decode_coding_charset): Pay attention to
5645 coding->charbuf_used.
aca7a3d2
MB
5646 (get_translation): New function.
5647 (produce_chars): New arguments translation_table and last_block.
5648 Translate characters here. Return number of carryover chars.
1f45f627
GM
5649 Change caller.
5650 (produce_composition): New argument pos. Change caller.
5651 Adjust for the change of annotation data format.
aca7a3d2
MB
5652 (produce_charset, produce_annotation): Likewise.
5653 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
5654 (consume_chars): New arg translation_table. Change caller.
5655 (translate_chars): Delete.
5656 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 5657
73acf815 56582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5659
5660 * search.c (simple_search): Fix setting this_pos_byte in backward
5661 search.
5662
5663 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
5664 byte sequence.
5665 (detect_coding_ccl): Fix setting of the variable valids.
5666
73acf815 56672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5668
5669 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
5670
5671 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
5672
1f45f627 5673 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
5674 Ftranslate_region. Accept a char-table in TABLE.
5675 (syms_of_editfns): Defsubr Stranslate_region_internal.
5676
5677 * xfaces.c (set_lface_from_font_name): If a font is specified for
5678 a frame, generate a fontset from the font.
5679 (build_scalable_font_name): If the scalable font is requested for
5680 a specific size, don't change that size.
5681 (try_font_list): Try a scalable font also in the case that a
1f45f627 5682 pattern string is specified.
aca7a3d2 5683
73acf815 56842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5685
5686 * xfaces.c (Fface_font): New optional arg CHARACTER.
5687
73acf815 56882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5689
5690 * charset.h (CHARSET_OFFSET): New macro.
5691
73acf815 56922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5693
5694 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
5695
5696 * fontset.c (fontset_face): Handle the case that repertory is a
5697 char-table.
5698 (find_font_encoding): Return nil for unknown encoding.
5699 (Fset_fontset_font): Ignore a font of unknown encoding.
5700
73acf815 57012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5702
1f45f627 5703 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
5704
5705 * fontset.c (fontset_face): Handle fallback fonts correctly.
5706 (Ffontset_info): Return infomation about fallback fonts.
5707
73acf815 57082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5709
5710 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 5711 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
5712 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
5713 the case that it is nil.
5714 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 5715 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
5716
5717 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
5718 subset or superset.
5719
73acf815 57202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5721
5722 * emacs.c (main): Call init_charset after syms_of_XXX.
5723
1f45f627 5724 * charset.c (Vcharset_map_directory): Delete.
aca7a3d2
MB
5725 (Vcharset_map_path): New variable
5726 (load_charset_map_from_file): Use Vcharset_map_path instead.
5727 (init_charset): Initialize Vcharset_map_path.
5728 (syms_of_charset): Delete declaration of "charset-map-directory",
5729 add declaration of "charset-map-path".
5730
73acf815 57312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5732
4c4475a8
GM
5733 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
5734 ASCII only string.
aca7a3d2
MB
5735
5736 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
5737
5738 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 5739 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 5740
73acf815 57412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5742
5743 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
5744
5745 * coding.c (QCmnemonic, QCdefalut_char)
5746 (QCdecode_translation_table, QCencode_translation_table)
5747 (QCpost_read_conversion, QCpre_write_conversion): New variables.
5748 (get_translation_table): Return a list of translation tables if
5749 necessary.
5750 (decode_coding): Call get_translation_table with ENCODEP 0.
5751 (char_encodable_p): If translation_table is non-nil, always call
5752 translate_char.
5753 (Fdefine_coding_system_internal): Accept list of translation
5754 tables as :encode-translation-table and :decode-translation-table.
5755 (Fcoding_system_put): New function.
5756 (syms_of_coding): Declare new symbols. Defsubr
5757 Scoding_system_put.
4c4475a8
GM
5758 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
5759 typically JISX0212.
aca7a3d2
MB
5760
5761 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
5762 when the charset is superset type.
5763
5764 * character.c (translate_char): Accept list of translation tables.
5765
73acf815 57662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5767
1f45f627 5768 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
5769 (CODING_ATTR_TRANS_TBL): New macro.
5770
5771 * coding.c (get_translation_table): New function.
5772 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
5773 (decode_coding, encode_coding): Utilize get_translation_table.
5774 (char_encodable_p, Funencodable_char_position): Translate char if
5775 necessary.
5776 (Ffind_coding_systems_region_internal)
5777 (Fcheck_coding_systems_region): Setup translation table for encode
5778 in a coding system attribute vector in advance.
aca7a3d2
MB
5779 (Fdefine_coding_system_internal): Allow a symbol as translation
5780 table. For shift-jis type coding system, allow 4th charset.
5781
73acf815 57822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5783
5784 * coding.c (decode_coding_sjis): Check the first byte rigidly.
5785
5786 * xdisp.c (get_next_display_element): Pass -1 as POS to
5787 FACE_FOR_CHAR if displaying a C-string.
5788
73acf815 57892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5790
5791 * composite.c (get_composition_id): Handle xoff and yoff in a
5792 composition rule.
5793
5794 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
5795 (struct composition): New member lbearing and rbearing.
5796
5797 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
5798 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 5799 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
5800
5801 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
5802 composition glyph.
5803
73acf815 58042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5805
5806 * print.c: Include charset.h.
5807 (Vprint_charset_text_property): New variable.
5808 (Qdefault): Extern it.
5809 (PRINT_STRING_NON_CHARSET_FOUND)
5810 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
5811 (print_check_string_result): New variable.
5812 (print_check_string_charset_prop): New function.
5813 (print_prune_charset_plist): New variable.
5814 (print_prune_string_charset): New function.
5815 (print_object): Call print_prune_string_charset if
5816 Vprint_charset_text_property is not t.
5817 (print_interval): Print nothing if itnerval->plist is nil.
5818 (syms_of_print): Declare Vprint_charset_text_property as a lisp
5819 variable. Init and staticpro print_prune_charset_plist.
5820
73acf815 58212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5822
5823 * fontset.c (new_fontset_from_font_name): Use the specified font
5824 for all characters in the new fontset.
5825
5826 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
5827 OBJECT args.
5828
5829 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
5830 OBJECT args for composition too.
5831
5832 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
5833 OBJECT args.
5834
73acf815 58352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5836
5837 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
5838
1f45f627 5839 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 5840 FONT_DEF format.
1f45f627 5841 (fontset_face): New arg id. Change caller.
aca7a3d2 5842 (face_for_char): New args pos and object.
1f45f627 5843 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF
aca7a3d2
MB
5844 format.n
5845 (fs_query_fontset): Check NAME by Fassoc too.
5846 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 5847 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 5848
1f45f627 5849 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 5850
4c4475a8
GM
5851 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
5852 (append_space, extend_face_to_end_of_line)
5853 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
5854 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
5855
5856 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
5857 POS and OBJECT args.
5858
5859 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
5860 POS and OBJECT args.
5861
73acf815 58622008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
5863
5864 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
5865 of GlobalAlloc'ed memory.
5866
73acf815 58672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5868
5869 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
5870
5871 * charset.h (charset_table_used): Delete extern.
5872
5873 * charset.c (charset_table_used): Make it static.
5874 (map_charset_chars): Fix args to c_function with.
5875
5876 * chartab.c (map_sub_char_table_for_charset): Fix args to
5877 c_function with.
5878
5879 * coding.h (enum coding_result_code): Delete
5880 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
5881
5882 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 5883 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
5884 (Vlast_code_conversion_error): New variables.
5885 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
5886 (ONE_MORE_BYTE): Record error if any instead of signaling an
5887 error. If non-ASCII multibyte char is found, return the negative
5888 value of the code. All callers changed to check it.
5889 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
5890 (record_conversion_result): New function. Change all codes setting
5891 coding->result to call this function.
4c4475a8
GM
5892 (detect_coding_utf_8, decode_coding_utf_8)
5893 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
5894 Don't use the local variable incomplete.
aca7a3d2 5895 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
5896 (decode_coding): Fix of flushing out unprocessed data.
5897 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 5898 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
5899
5900 * fontset.c (set_fontset_font): Fix args.
5901
5902 * lisp.h (CHARACTERBITS): Define as 22.
5903
5904 * process.c (send_process): Be sure to set coding->src_multibyte.
5905
5906 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
5907
73acf815 59082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5909
5910 * xdisp.c (handle_auto_composed_prop): Give limit to
5911 Fnext_single_char_property_change.
5912
73acf815 59132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5914
424c157f 5915 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 5916 table weak.
aca7a3d2
MB
5917
5918 * fontset.c (Fset_fontset_font): Fix docstring.
5919
5920 * lisp.h (detect_coding_system): Adjust prototype.
5921
5922 * fileio.c (kill_workbuf_unwind): Delete this function.
5923 (Finsert_file_contents): Adjust the call of detect_coding_system.
5924 Get conversion_buffer by code_conversion_save. Use the macor
5925 CODING_MAY_REQUIRE_DECODING. After decoding, update
5926 coding_system.
5927
5928 * coding.h (make_conversion_work_buffer): Delete extern.
5929 (code_conversion_save): Extern it.
5930
5931 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 5932 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
5933 (decode_coding_utf_8): Don't do eol converion.
5934 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 5935 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
5936 (decode_coding_emacs_mule, decode_coding_iso_2022)
5937 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
5938 Don't do eol converion.
aca7a3d2
MB
5939 (adjust_coding_eol_type): Return a new coding system.
5940 (detect_coding): Don't detect eol. Fix for utf-16 detection.
5941 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
5942 each change.
5943 (decode_coding): Pay attention to undo_list. Do eol convesion for
5944 all types of coding-systems (if necessary).
5945 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 5946 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
5947 Vcode_conversion_reused_work_buf.
5948 (Vcode_conversion_workbuf_name): New variable.
5949 (reused_workbuf_in_use): New variable.
5950 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 5951 (code_conversion_restore): Change argument to cons.
1f45f627
GM
5952 (code_conversion_save): Delete the argument BUFFER. Change callers.
5953 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
5954 Fix for utf-16 detection.
5955 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 5956 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
5957 reused_workbuf_in_use.
5958
73acf815 59592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5960
5961 * keymap.c (store_in_keymap): Pay attention to the case that idx
5962 is a cons specifying a character range.
5963
73acf815 59642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5965
5966 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
5967 HANDLED_RECOMPUTE_PROPS.
5968
5969 * coding.c (Fdefine_coding_system_internal): Fix checking of
5970 ascii compatibility.
5971
73acf815 59722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5973
1f45f627 5974 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
5975 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
5976
5977 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
5978 Resync charset_list to Vemacs_mule_charset_list.
5979
5980 * keymap.c (store_in_keymap): Pay attention to the case that idx
5981 is a cons specifying a character range.
5982
73acf815 59832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5984
5985 * composite.c (update_compositions): Bind inhibit-read-only, etc
5986 to t before calling remove-list-of-text-properties.
5987
5988 * print.c (print_object): Always print ASCII chars as is.
5989
73acf815 59902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5991
1f45f627 5992 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 5993
4c4475a8
GM
5994 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
5995 is a char table.
aca7a3d2 5996
73acf815 59972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5998
1f45f627 5999 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 6000
73acf815 60012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6002
6003 * xfaces.c (set_lface_from_font_name): Fix for the case that
6004 FONTNAME is not fontset name.
6005
73acf815 60062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6007
6008 * fns.c (base64_encode_1): Fix previous change.
6009
73acf815 60102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6011
6012 * fontset.c (set_fontset_font): New function.
6013 (Fset_fontset_font): If a font is specified for a charset, use
6014 map_charset_chars to store the font spec in a fontset.
6015
73acf815 60162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6017
6018 * fontset.c (fontset_face): Create a fallback fontset on demand
6019 (make_fontset): Don't create a fallback fontset here.
6020 (free_face_fontset): Free a fallback fontset (if any) too.
6021 (n_auto_fontsets): Delete this variable.
6022 (auto_fontset_alist): New variable.
6023 (new_fontset_from_font_name): Check auto_fontset_alist.
6024 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
6025 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
6026 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
6027 Defsubr Sfontset_list_all.
6028
73acf815 60292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6030
6031 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6032
73acf815 60332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6034
6035 * fontset.c (Fnew_fontset): Check NAME more rigidly.
6036
73acf815 60372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6038
6039 * editfns.c (Fgoto_char): Fix docstring.
6040
73acf815 60412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6042
6043 * insdel.c (insert_from_gap): Adjust intervals correctly.
6044
73acf815 60452008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6046
6047 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
6048 (pfnGetFontUnicodeRanges): New dynamically loaded function.
6049 (w32_initialize): Try to load it.
6050 (x_get_font_repertory): Use it if available.
6051 (w32_encode_char): Add shortcut for unicode output.
6052
6053 * w32fns.c (w32_load_system_font): Default charset to -1.
6054 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 6055 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
6056 or wildcard charsets.
6057 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
6058 (w32_codepage_for_font): Return CP_UNICODE for unicode.
6059 (w32_to_x_font): Match charset to real charset.
6060 (enum_font_cb2): Always list unicode versions.
6061
6062 * makefile.w32-in (temacs): Increase EMHEAP.
6063
73acf815 60642008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6065
6066 * w32term.c (w32_encode_char): New charset parameter.
6067 font_info.encoding becomes encoding_type.
1f45f627 6068 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
6069 (x_new_font): Return quickly if font already set.
6070 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
6071 Use new fs_query_fontset. Try new_fontset_from_font_name.
6072 Use fontset_name for return value.
aca7a3d2
MB
6073
6074 * w32term.h: Declare x_get_font_repertory.
6075
6076 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 6077 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
6078 of encode_coding.
6079 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
6080 decode_coding.
6081
6082 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
6083 of x_new_fontset.
6084 (w32_load_system_font): Initialize charset as unicode.
6085 font_info.encoding becomes encoding_type.
1f45f627
GM
6086 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
6087 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
6088 (syms_of_w32fns): Set get_font_repertory_func.
6089
1f45f627 6090 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 6091 from term.c.
1f45f627 6092 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
6093 encode_coding_object in place of encode_coding.
6094
6095 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
6096 encoding becomes encoding_type.
6097
6098 * term.c (terminal_encode_buffer): Make externally visible.
6099
6100 * makefile.w32-in: Add character.h dependancies.
6101 (character.o, chartab.o): New targets.
6102
73acf815 61032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6104
6105 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 6106 CODING_ID_EOL_TYPE.
aca7a3d2 6107
73acf815 61082008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
6109
6110 * coding.c (produce_chars): Revert last change.
6111
73acf815 61122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6113
6114 * charset.h (charset_unicode): Extern it.
6115
6116 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 6117 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 6118 arg MULTIBYTE.
1f45f627 6119 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
6120 change of find_charsets_in_text.
6121 (Fsplit_char): Fix doc. Never return unknown.
6122
6123 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
6124
6125 * coding.c (Fdefine_coding_system_alias): Update
6126 Vcoding_system_list.
6127
6128 * fontset.c (load_font_get_repertory): Pay attention to the case
6129 that ENCODING of a font is specified by a char-table.
6130
6131 * xterm.c (x_get_font_repertory): Handle the case that the
6132 encoding of font is other than Unicode.
6133
73acf815 61342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6135
6136 * term.c (encode_terminal_code): Don't handle glyph-table. Check
6137 if a character is encodable by the terminal coding system. If
6138 not, produces proper number of `?'s. Update
6139 terminal_encode_buffer and terminal_encode_buf_size if necessary.
6140 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
6141
73acf815 61422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6143
6144 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
6145 variables.
1f45f627 6146 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
6147 characters at once. Store the result of encoding in
6148 terminal_encode_buffer.
4c4475a8
GM
6149 (write_glyphs, insert_glyphs): Adjust for the change of
6150 encode_terminal_code.
aca7a3d2
MB
6151 (term_init): Initialize terminal_encode_buffer and
6152 terminal_encode_buf_size.
6153
6154 * coding.c (consume_chars): If coding->src_object is nil, don't
6155 check annotation.
6156
73acf815 61572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6158
6159 * character.c (char_string): Use ASCII_CHAR_P instead of
6160 SINGLE_BYTE_CHAR_P.
6161
73acf815 61622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6163
6164 * xdisp.c (handle_auto_composed_prop): Check if the last
6165 characters of auto-composed region is newly composed with the
6166 following characters.
6167 (handle_composition_prop): Fix checking of point being inside
6168 composition.
6169
73acf815 61702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6171
6172 * fns.c (concat): Don't change multibyteness of the result by
6173 concatenating an 8-bit character.
6174
6175 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
6176 multibyteness of the result when newelt is an 8-bit character.
6177
73acf815 61782008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6179
6180 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
6181 EMACS_INT.
6182
6183 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
6184
6185 * xfaces.c (face_numeric_value): Declare dim size_t.
6186 (Finternal_lisp_face_equal_p): Remove unused f.
6187
6188 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
6189 (MATRIX_ROW): Remove unused vars.
6190 (draw_glyphs, x_insert_glyphs, fast_find_position)
6191 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
6192 byte/char counts.
6193
6194 * regex.c (regex_compile): Remove unused var.
6195
6196 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
6197
6198 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
6199 (Faccessible_keymaps, where_is_internal): Remove unused vars.
6200
6201 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
6202
6203 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
6204
6205 * fileio.c (Fwrite_region): Remove unused var.
6206
6207 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
6208 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
6209
6210 * composite.c (Fremove_list_of_text_properties): Declare.
6211
1f45f627
GM
6212 * coding.c (inhibit_pre_post_conversion): Remove (unused).
6213 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
6214 (coding_inherit_eol_type): Remove unused attrs.
6215 (detect_coding): Cast arg of detect_eol.
6216
6217 * charset.c (syms_of_charset): Remove unused var p.
6218 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
6219 byte/char counts.
6220
6221 * casetab.c (set_case_table): Remove unused var.
6222
6223 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 6224 unused vars.
aca7a3d2 6225
73acf815 62262008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6227
6228 * xterm.c (x_bitmap_mask): Declare.
6229
73acf815 62302008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6231
6232 * xterm.c (x_term_init): Fix type error.
6233
6234 * lisp.h: Add Funibyte_char_to_multibyte.
6235
6236 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
6237 (Fset_coding_system_priority): Doc fix.
6238
aca7a3d2
MB
6239 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
6240
6241 * indent.c (check_composition): Make start and end EMACS_INT.
6242
6243 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
6244
6245 * xdisp.c (handle_composition_prop, check_point_in_composition):
6246 Make buffer positions EMACS_INT.
6247
6248 * composite.c (find_composition, run_composition_function)
6249 (update_compositions, Ffind_composition_internal): Make buffer
6250 positions EMACS_INT.
6251
6252 * composite.h (find_composition, update_compositions): Make
6253 position args EMACS_INT.
6254
1f45f627 6255 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
6256
6257 * intervals.c (get_property_and_range):
6258 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
6259
6260 * unexalpha.c: Don't include varargs.h.
6261
73acf815 62622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6263
6264 * coding.h (ENCODE_UTF_8): New.
6265
6266 * Makefile.in (gtkutil.o): Depend on coding.h.
6267
6268 * coding.c (Fset_coding_system_priority): Doc fix.
6269
73acf815 62702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6271
6272 * fileio.c (Finsert_file_contents): Call setup_coding_system in
6273 the case of auto saving.
6274
73acf815 62752008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 6276
4c4475a8
GM
6277 * chartab.c (map_char_table, map_char_table_for_charset): Protect
6278 `range' from GC.
aca7a3d2 6279
73acf815 62802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6281
6282 * coding.c (decode_coding_sjis): Check bytes more rigidly.
6283
73acf815 62842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6285
1f45f627 6286 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
6287 (Fwrite_region): Set Vlast_coding_system_used to the return value
6288 of choose_write_coding_system.
6289
73acf815 62902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6291
6292 * charset.c (Fset_charset_priority): Pay attention to duplicated
6293 arguments.
6294
6295 * coding.c (QCcategory): New variable.
6296 (syms_of_coding): Defsym it. Set all elements of
6297 Vcoding_category_table and their symbol values.
6298 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
6299 coding-category-XXX, and coding-category-list.
6300 (Fdefine_coding_system_internal): Add category in the plist.
6301
73acf815 63022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6303
6304 * callproc.c (Fcall_process): Handle carryover correctly.
6305
1f45f627 6306 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
6307 (raw_text_coding_system): Check NILP (coding_system).
6308 (coding_inherit_eol_type): Check NILP (coding_system) and
6309 NILP (parent).
6310 (consume_chars): Fix for the case of raw-text.
6311
6312 * process.c (read_process_output): Handle carryover correctly.
6313
73acf815 63142008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6315
6316 * regex.c (re_search_2): Fix last change.
6317
73acf815 63182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6319
6320 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
6321 target_multibyte. Even in a unibyte case, return a converted
6322 multibyte char.
6323 (GET_CHAR_AFTER): New macro.
6324 (PATFETCH): Translate via multibyte char.
6325 (HANDLE_UNIBYTE_RANGE): Delete this macro.
6326 (SETUP_MULTIBYTE_RANGE): New macro.
6327 (regex_compile): Setup compiled code so that its multibyteness
6328 matches that of a target. Fix the handling of "[X-YZ]" using
6329 SETUP_MULTIBYTE_RANGE.
6330 (analyse_first) <charset>: For filling fastmap for all multibyte
6331 characters, don't check by BASE_LEADING_CODE_P.
6332 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
6333 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 6334 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
6335 (TARGET_CHAR_AND_LENGTH): Delete this macro.
6336 (TRANSLATE_VIA_MULTIBYTE): New macro.
6337 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
6338 It is the same as RE_MULTIBYTE_P (bufp) now.
6339 <exactn>: Translate via multibyte.
6340 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
6341 translate it.
6342 <charset, charset_not>: Fetch a character by
6343 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
6344 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
6345 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
6346 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
6347 by GET_CHAR_AFTER.
c5ad7a3d 6348 (bcmp_translate): Likewise.
aca7a3d2
MB
6349
6350 * search.c (compile_pattern): Check the member target_multibyte,
6351 not the member multibyte of buf.
6352
6353 * lread.c (read1): While reading a string, set force_singlebyte
6354 and force_multibyte correctly.
6355
4c4475a8
GM
6356 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
6357 up of unibyte_to_multibyte_table.
aca7a3d2 6358
73acf815 63592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6360
6361 * coding.c (setup_coding_system): If coding has
6362 post-read-conversion or pre-write-conversion, set
6363 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
6364 respectively.
6365 (decode_coding_gap): Run post-read-conversion if any.
6366
6367 * fileio.c (Finsert_file_contents): Even if we read into a
6368 unibyte buffer, check if we must decode the result or not.
6369
73acf815 63702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6371
6372 * coding.c (make_conversion_work_buffer): Change the work buffer
6373 name to the same one as that of Emacs 21.
6374
73acf815 63752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6376
1f45f627 6377 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
6378 (code_conversion_restore): Don't extern it.
6379
6380 * coding.c (detected_mask): Delete unused variable.
6381 (decode_coding_iso_2022): Pay attention to the byte sequence of
6382 CTEXT extended segment, and retain those bytes as is.
6383 (decode_coding_ccl): Delete unused variable `valids'.
6384 (setup_coding_system): Delete unused variable `category'.
6385 (consume_chars): Delete unused variable `category'. Make it work
6386 for non-multibyte case.
1f45f627 6387 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
6388 (saved_coding): Delete unused variable.
6389 (code_conversion_restore): Don't check saved_coding->destination.
6390 (code_conversion_save): New function.
6391 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
6392 instead of record_unwind_protect.
1f45f627 6393 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 6394 (detect_coding_system): Delete unused variable `mask'.
1f45f627 6395 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
6396
6397 * fileio.c (kill_workbuf_unwind): New function.
6398 (Finsert_file_contents): On replacing, call
6399 make_conversion_work_buffer with correct args, and call
6400 record_unwind_protect with the first arg kill_workbuf_unwind.
6401
6402 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
6403
73acf815 64042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6405
1f45f627 6406 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
6407 (fontset_add): Fix for the case that TO is less than TO1.
6408 (Ffontset_info): Don't use fallback fontset on checking the
6409 default fontset.
6410 (dump_fontset): New function for debugging.
6411
6412 * coding.c (Fdefine_coding_system_internal): Fix for the case that
6413 coding_type is Qcharset.
6414
73acf815 64152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6416
6417 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
6418 (map_char_table): Don't inherit the value from the parent on
1f45f627 6419 initializing VAL. Adjust for the above change.
aca7a3d2 6420
73acf815 64212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6422
6423 * coding.c (Qsignature, Qendian): Delete these variables.
6424 (syms_of_coding): Don't initialize them.
6425 (CATEGORY_MASK_UTF_16_AUTO): New macro.
6426 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
6427 detect_info->found.
6428 (decode_coding_utf_16): Don't detect BOM here.
6429 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
6430 is NOT utf_16_without_bom.
6431 (setup_coding_system): For a coding system of type utf-16, check
6432 if the attribute :endian is Qbig or not (not nil or not), and set
6433 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
6434 (detect_coding): If coding type is utf-16 and BOM detection is
6435 required, detect it.
6436 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 6437 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 6438
73acf815 64392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6440
6441 * coding.c (coding_set_source): Fix for the case that the current
6442 buffer is different from coding->src_object.
6443 (decode_coding_object): Don't use the conversion work buffer if
6444 DST_OBJECT is a buffer.
6445
73acf815 64462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6447
6448 * lread.c (read_emacs_mule_char) [len==2]: Index
6449 emacs_mule_charset correctly.
6450
73acf815 64512008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6452
6453 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
6454 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 6455 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
6456 treated specially.)
6457 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
6458 (detected_mask): Remove Big5 bits.
6459
73acf815 64602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6461
6462 The following changes are to make the font rescaling facility
6463 compatible with Emacs 21.
6464
1f45f627 6465 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
6466 Vface_resizing_fonts.
6467 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 6468 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
6469 (split_font_name): Set font->rescale_ratio.
6470 (better_font_p): Pay attention to font->rescale_ratio.
6471 (build_scalable_font_name): Likewise. Change RESX, and RESY
6472 fields.
1f45f627 6473 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 6474
73acf815 64752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6476
6477 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
6478 (Qutf_16_le): Remove these variables.
6479 (syms_of_coding): Don't DEFSYM them.
6480 (decode_coding_utf_16): Fix handling of BOM.
6481 (encode_coding_utf_16): Fix handling of BOM.
6482
73acf815 64832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6484
6485 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 6486 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 6487
73acf815 64882008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6489
6490 * coding.c (Fcheck_coding_systems_region): Fix type errors.
6491
73acf815 64922008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6493
6494 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6495 and fix C types.
6496
73acf815 64972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6498
6499 * xdisp.c (SKIP_GLYPHS): New macro.
6500 (set_cursor_from_row): Pay attention to string display properties.
6501
6502 * category.c (copy_category_entry): Fix for the case that RANGE
6503 is an integer.
6504
6505 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
6506
1f45f627 6507 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 6508
73acf815 65092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6510
6511 * charset.c (Fcharset_id_internal): New function.
6512 (syms_of_charset): Defsubr it.
6513
6514 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
6515 with the last arg charset_list acquired from coding.
6516 (Fdefine_coding_system_internal): For ccl-based coding system, fix
6517 the attribute coding_attr_ccl_valids.
6518
6519 * coding.h (enum define_coding_ccl_arg_index): Set the first
6520 member coding_arg_ccl_decoder to coding_arg_max.
6521
1f45f627 6522 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
6523
6524 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
6525 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
6526 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
6527 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
6528 last arg Qnil.
aca7a3d2 6529
73acf815 65302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6531
6532 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
6533 call encode_char.
6534
1f45f627 6535 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 6536
73acf815 65372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 6538
1f45f627 6539 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 6540
73acf815 65412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6542
6543 * dispextern.h (check_face_attributes, generate_ascii_font_name)
6544 (font_name_registry): Don't extern them.
1f45f627 6545 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
6546
6547 * fontset.h (Qfontset): Don't extern it.
6548 (new_fontset_from_font_name): Extern it.
6549
6550 * fontset.c: Give 8 extra slots to fontset objects.
6551 (Qfontset_info): New variable.
6552 (syms_of_fontset): Defsym it.
6553 (FONTSET_FALLBACK): New macro.
6554 (fontset_face): Try also the default fontset.
1f45f627
GM
6555 (make_fontset): Realize a fallback fontset from the default fontset.
6556 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
6557 using split_font_name_into_vector and build_font_name_from_vector.
6558 (Fset_fontset_font): Access the elements of font_spec by enum
6559 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
6560 name by using split_font_name_into_vector.
6561 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
6562 generate a proper font name from the fontset name. Update
6563 Vfontset_alias_alist.
6564 (n_auto_fontsets): New variable.
6565 (new_fontset_from_font_name): New function.
6566 (Ffont_info): Store the information about fonts generated from the
1f45f627 6567 default fontset in the first extra slot of the returned char-table.
aca7a3d2 6568
1f45f627
GM
6569 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
6570 (font_name_registry): Delete function.
aca7a3d2
MB
6571 (split_font_name_into_vector): New function.
6572 (build_font_name_from_vector): New function.
1f45f627 6573 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
6574 (choose_face_font): If we are choosing an ASCII font, and ATTRS
6575 specifies an explicit font name, return the name as is. Make a
6576 list of registy names.
6577
1f45f627 6578 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
6579 of x_new_fontset.
6580 (Fx_create_frame): Don't call x_new_fontset here. Just use
6581 x_list_fonts to check the existence of fonts.
6582
1f45f627 6583 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
6584
6585 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
6586 string. Use new_fontset_from_font_name to create a fontset from a
6587 font name.
6588
1c8658b9
GM
65892008-02-01 Kenichi Handa <handa@m17n.org>
6590
6591 * syntax.c (Vfind_word_boundary_function_table): New name for
6592 Vnext_word_boundary_function_table.
6593 (find-word-boundary-function-table): New name for
6594 next-word-boundary-function-table.
6595
73acf815 65962008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6597
6598 * Makefile.in: Fix some dependencies.
6599
6600 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
6601 set it to nil before returning.
6602
6603 * composite.c (update_compositions): Fix type error.
6604
6605 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
6606
73acf815 66072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6608
6609 * xterm.c (x_new_font): Optimize for the case that the font is
6610 already set for the frame.
6611
73acf815 66122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6613
6614 * chartab.c (char_table_ascii): Check if the char table contents
6615 is sub-char-table or not.
4c4475a8
GM
6616 (char_table_set, char_table_set_range): Fix argument to
6617 char_table_ascii.
aca7a3d2
MB
6618
6619 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
6620 (detect_coding_utf_8, detect_coding_utf_16)
6621 (detect_coding_emacs_mule, detect_coding_iso_2022)
6622 (detect_coding_sjis, detect_coding_big5)
6623 (detect_coding_ccl, detect_coding_charset): Change argument MASK
6624 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 6625 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
6626 (MAX_ANNOTATION_LENGTH): New macro.
6627 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
6628 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
6629 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 6630 (ADD_CHARSET_DATA): New macro.
1f45f627 6631 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
6632 (decode_coding_emacs_mule, decode_coding_iso_2022)
6633 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
6634 Produce charset annotation data in coding->charbuf.
6635 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
6636 to charset annotation data in coding->charbuf.
6637 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
6638 coding->common_flags if the coding system is iso-2022 based and
6639 uses designation.
1f45f627 6640 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
6641 (produce_charset): New function.
6642 (produce_annotation): Handle charset annotation.
6643 (handle_composition_annotation, handle_charset_annotation): New
6644 functions.
6645 (consume_chars): Handle charset annotation. Utilize the above two
6646 functions.
6647 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
6648 buffer, get the deleted text as a string and set
6649 coding->src_object to that string.
6650 (detect_coding, detect_coding_system): Use the new struct
6651 coding_detection_info.
6652
6653 * coding.h (struct coding_detection_info): New structure.
1f45f627 6654 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
6655 (CODING_ANNOTATE_CHARSET_MASK): New macro.
6656
73acf815 66572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6658
6659 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
6660
73acf815 66612008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 6662
1f45f627 6663 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
6664 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
6665 to new local and nullify apropos_accumulate before returning.
6666 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
6667
73acf815 66682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6669
6670 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
6671 correctly.
6672
73acf815 66732008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6674
6675 * fns.c (Flanginfo): Call synchronize_system_time_locale.
6676
73acf815 66772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6678
6679 The following changes are to make character composition happen
6680 automatically on displaying.
6681
2a2e8de7 6682 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 6683
1f45f627
GM
6684 * composite.h (Qauto_composed, Vauto_composition_function)
6685 (Qauto_composition_function): Extern them.
aca7a3d2 6686
1f45f627
GM
6687 * composite.c (Vcomposition_function_table)
6688 (Qcomposition_function_table): Delete variables.
6689 (Qauto_composed, Vauto_composition_function)
6690 (Qauto_composition_function): New variables.
aca7a3d2
MB
6691 (run_composition_function): Don't call
6692 compose-chars-after-function.
6693 (update_compositions): Clear `auto-composed' text property.
6694 (compose_chars_in_text): Delete this function.
6695 (syms_of_composite): Staticpro Qauto_composed and
6696 Qauto_composition_function. Declare Vauto_composition_function as
6697 a Lisp variable.
6698
6699 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
6700
6701 * xdisp.c (it_props): Add an entry for Qauto_composed.
6702 (handle_auto_composed_prop): New function.
6703
6704 * xselect.c (selection_data_to_lisp_data): Don't call
6705 compose_chars_in_text.
6706
73acf815 67072008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6708
6709 * keyboard.c (read_char): Modify checking around use of
6710 Vkeyboard_translate_table.
6711
6712 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6713 and fix C types.
6714
73acf815 67152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6716
4c4475a8
GM
6717 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
6718 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6719 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 6720 the case that the last byte is '\r' correctly.
1f45f627
GM
6721 (decode_coding): Flush out the unprocessed data correctly.
6722 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 6723
73acf815 67242008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6725
6726 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
6727 XK_ISO... case.
6728 (xaw_scroll_callback): Revert last change.
6729
73acf815 67302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6731
1f45f627 6732 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 6733
73acf815 67342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6735
6736 * xfaces.c (Vface_resizing_fonts): New variable.
6737 (struct font_name): New member `resizing_ratio'.
6738 (font_resizing_ratio): New function.
6739 (split_font_name): Set font->resizing_ratio.
6740 (better_font_p): Pay attention to font->resizing_ratio.
6741 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
6742 RESX, and RESY fields.
6743 (try_alternative_families): Try scalable fonts if
6744 Vscalable_fonts_allowed is not Qt.
6745 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
6746
73acf815 67472008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6748
6749 * xterm.c (xaw_scroll_callback): Cast correctly.
6750
73acf815 67512008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6752
6753 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
6754 (lispy_kana_keys): Comment out.
6755 (make_lispy_event) [XK_kana_A]: Comment out.
6756
6757 * xterm.c (xaw_scroll_callback): Cast call_data.
6758 (XTread_socket): Deal with ASCII keysyms.
6759 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
6760
73acf815 67612008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6762
6763 * xterm.c (Vx_keysym_table): New.
6764 (syms_of_xterm): Initialize it.
6765 (XTread_socket): Use it.
6766 From head: Eliminate incorrect optimization that tried to avoid
6767 decoding the output of X*LookupString.
6768 (x_get_font_repertory): Delete charset declaration.
6769
73acf815 67702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6771
1f45f627
GM
6772 * coding.c (detect_coding_charset): If only ASCII bytes are found,
6773 return 0.
aca7a3d2
MB
6774 (Fdefine_coding_system_internal): Setup
6775 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
6776
73acf815 67772008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6778
6779 * coding.c (Fcheck_coding_system): Doc fix.
6780
6781 * editfns.c (Finsert_byte): Return a proper value.
6782
73acf815 67832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6784
6785 * coding.c (decode_coding): Fix args to translate_chars. Pay
6786 attention to Vstandard_translation_table_for_decode.
6787 (encode_coding): Fix args to translate_chars. Pay attention to
6788 Vstandard_translation_table_for_encode.
6789
6790 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
6791 SINGLE_BYTE_CHAR_P.
6792
6793 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
6794 not by SINGLE_BYTE_CHAR_P.
6795
6796 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
6797 SINGLE_BYTE_CHAR_P.
6798
6799 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
6800 SINGLE_BYTE_CHAR_P.
6801
6802 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
6803 by SINGLE_BYTE_CHAR_P.
6804
6805 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
6806 SINGLE_BYTE_CHAR_P.
6807
73acf815 68082008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6809
6810 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
6811
73acf815 68122008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6813
6814 * fns.c (Flanginfo): Fix typo.
6815
6816 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
6817
73acf815 68182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6819
4c4475a8
GM
6820 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
6821 (detect_coding_emacs_mule, detect_coding_iso_2022)
6822 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
6823 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 6824 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 6825 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 6826 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 6827
73acf815 68282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6829
1f45f627
GM
6830 * character.c (char_string): Rename from
6831 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
6832 (string_char): Rename from string_char.
aca7a3d2 6833
4c4475a8
GM
6834 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
6835 if C is greater than MAX_3_BYTE_CHAR.
6836 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
6837 string_char instead of string_char_with_unification.
aca7a3d2 6838
73acf815 68392008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6840
6841 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
6842
73acf815 68432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6844
1f45f627 6845 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
6846
6847 * regex.c (re_search_2): Fix for the case of unibyte buffer.
6848
73acf815 68492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6850
6851 * charset.c (define_charset_internal): Rename `supprementary'.
6852
6853 * Makefile.in (lisp, shortlisp): Remove latin-N.
6854
73acf815 68552008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6856
6857 * xfns.c (x_window, x_window): Use use_xim.
6858
6859 * xterm.c (use_xim): Initialize.
6860 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
6861 (x_term_init): Maybe set use_xim.
6862
6863 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
6864
73acf815 68652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6866
6867 * search.c (search_buffer): Fix case-fold-search of multibyte
6868 characters.
6869 (boyer_moore): Rename the last argument to char_high_bits.
6870
73acf815 68712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6872
6873 * xdisp.c (display_string): Fix for the case of zero width glyph.
6874
6875 * xfns.c (x_set_font): Change the error message of the case that
6876 x_new_fontset returns Qt.
6877
6878 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
6879 (Finternal_set_lisp_face_attribute): Use signal_error for the
6880 error of invalid fontset.
6881
6882 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
6883 fontset, return Qt.
6884
73acf815 68852008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 6886
aca7a3d2
MB
6887 * unexelf.c (unexec): Make .got handling not SGI-specific.
6888
6889 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
6890
6891 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
6892
6893 * keyboard.c (read_key_sequence): Fix type error.
6894
6895 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
6896 type error.
6897
6898 * fontset.c (fontset_add): Return Lisp_Object.
6899
73acf815 69002008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6901
6902 * charset.h (charset_ordered_list_tick): Declare extern.
6903
73acf815 69042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 6905
73acf815 6906 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
6907 for handling syntax, category, and case conversion for unibyte
6908 characters by converting them to multibyte on the fly. With these
6909 changes, we don't have to setup syntax and case tables for unibyte
6910 characters in each language environment.
6911
6912 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
6913 multibyte if necessary.
6914
6915 * bytecode.c (Fbyte_code): Likewise.
6916
6917 * character.h (LEADING_CODE_LATIN_1_MIN)
6918 (LEADING_CODE_LATIN_1_MAX): New macros.
6919 (unibyte_to_multibyte_table): Extern it.
6920 (unibyte_char_to_multibyte): New macro.
6921 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
6922 (CHAR_LEADING_CODE): New macro.
6923 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
6924
6925 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 6926 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
6927 (multibyte_char_to_unibyte): If C is an eight-bit character,
6928 convert it to the corresponding byte value.
6929
6930 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
6931 not 1, singals an error. Update the elements of
6932 unibyte_to_multibyte_table.
6933 (init_charset_once): Initialize unibyte_to_multibyte_table.
6934 (syms_of_charset): Define the charset `iso-8859-1'.
6935
aca7a3d2
MB
6936 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
6937 as is without converting it to unibyte. In a unibyte buffer,
6938 convert C to multibyte before checking the syntax.
6939
1f45f627 6940 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
6941
6942 * minibuf.c (Fminibuffer_complete_word): Use the macro
6943 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
6944
6945 * regex.h (struct re_pattern_buffer): New member target_multibyte.
6946
6947 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
6948 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
6949 that is zero, convert an eight-bit char to multibyte.
6950 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
6951 non-emacs case.
6952 (PATFETCH): Convert an eight-bit char to multibyte.
6953 (HANDLE_UNIBYTE_RANGE): New macro.
6954 (regex_compile): Setup the compiled pattern for multibyte chars
6955 even if the given regex string is unibyte. Use PATFETCH_RAW
6956 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 6957 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 6958 only for ASCII chars.
1f45f627 6959 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
6960 is multibyte.
6961 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
6962 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 6963 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
6964 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
6965 multibyte always 1.
6966 (re_search_2): In emacs, set the locale variable multibyte to 1,
6967 otherwise to 0. New local variable target_multibyte. Check it
6968 to decide the multibyteness of STR1 and STR2. If
6969 target_multibyte is zero, convert unibyte chars to multibyte
6970 before translating and checking fastmap.
6971 (TARGET_CHAR_AND_LENGTH): New macro.
6972 (re_match_2_internal): In emacs, set the locale variable multibyte
6973 to 1, otherwise to 0. New local variable target_multibyte. Check
6974 it to decide the multibyteness of STR1 and STR2. Use
6975 TARGET_CHAR_AND_LENGTH to fetch a character from D.
6976 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 6977 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
6978 target_multibyte, not with multibyte.
6979 <begline>: Declare the local variable C as `unsigned'.
6980 (bcmp_translate): Change the last arg name to target_multibyte.
6981
6982 * search.c (compile_pattern_1): Don't adjust the multibyteness of
6983 the regexp pattern and the matching target. Set cp->buf.multibyte
6984 to the multibyteness of the regexp pattern. Set
1f45f627 6985 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
6986 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
6987 FETCH_STRING_CHAR_ADVANCE.
6988 (Freplace_match): Convert unibyte chars to multibyte.
6989
4c4475a8
GM
6990 * syntax.c (char_quoted, back_comment, scan_words)
6991 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
6992 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 6993 unibyte chars to multibyte.
1f45f627
GM
6994 (skip_chars): Delete the arg syntaxp, and move the code for
6995 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
6996 Fix the case that the multibyteness of STRING and the current
6997 buffer doesn't match.
6998 (skip_syntaxes): New function.
6999 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
7000 SINGLE_BYTE_CHAR_P.
aca7a3d2 7001
73acf815 70022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7003
7004 * xfaces.c (QCfontset): New variable.
7005 (LFACE_FONTSET): New macro.
7006 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
7007 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
7008 (Finternal_set_lisp_face_attribute)
7009 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
7010 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
7011 check also LFACE_FONTSET_INDEX.
7012 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
7013 attrs[LFACE_FONT_INDEX].
7014 (syms_of_xfaces): Intern and staticpro QCfontset.
7015
7016 * dispextern.h (enum lface_attribute_index): New member
7017 LFACE_FONTSET_INDEX.
7018
7019 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
7020
73acf815 70212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7022
7023 * coding.c (coding_set_destination): Fix coding->destination for
7024 the case converting a region.
7025 (encode_coding_utf_8): Encode eight-bit chars as single byte.
7026 (encode_coding_object): Fix coding->dst_pos and
7027 coding->dst_pos_byte for the case converting a region.
7028
7029 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
7030
7031 * character.h (BYTE8_STRING): New macro.
7032
7033 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
7034
73acf815 70352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7036
7037 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
7038 characters by octal form.
7039
7040 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
7041
1f45f627 7042 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
7043 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
7044 _fetch_multibyte_char_len.
aca7a3d2
MB
7045 (FETCH_CHAR_AS_MULTIBYTE): New macro.
7046
1f45f627 7047 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 7048
1f45f627 7049 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 7050 the case conversion change the byte length.
1f45f627 7051 (casify_region): Likewise.
aca7a3d2 7052
1f45f627 7053 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 7054
1f45f627 7055 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
7056 (syms_of_character): Setup Vprintable_chars.
7057
7058 * editfns.c (Fchar_equal): Fix for the unibyte case.
7059 (Finsert_byte): New function.
7060 (syms_of_editfns): Defsubr it.
7061
7062 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
7063 of direct code 0x3ffff.
7064
7065 * search.c (Freplace_match): Fix for the unibyte case.
7066
73acf815 70672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7068
7069 * lread.c (safe_to_load_p): Fix the logic.
7070
7071 * syntax.c (scan_words): Don't treat characters belonging to
7072 different scripts as constituting a word.
7073
7074 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7075
1f45f627 7076 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
7077
7078 * emacs.c (main): In the case of --unibyte, instead of aborting on
7079 finding non-empty buffer, make it unibyte.
7080
73acf815 70812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7082
7083 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
7084 to create a fontset.
7085
73acf815 70862008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7087
7088 * character.c (Funibyte_char_to_multibyte): Doc fix.
7089
7090 * xfns.c [HAVE_STDLIB_H]: Fix last change.
7091
73acf815 70922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7093
7094 * fontset.c (fontset_add): Make the type `int'.
7095 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
7096
4c4475a8
GM
7097 * character.c (unibyte_char_to_multibyte)
7098 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 7099 charset_unibyte, not charset_primary.
aca7a3d2 7100
1f45f627 7101 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 7102
1f45f627
GM
7103 * charset.c (charset_unibyte): Rename from charset_primary.
7104 (Funibyte_charset): Rename from Fprimary_charset.
7105 (Fset_unibyte_charset): Rename from Fset_primary_charset.
7106 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
7107
7108 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7109 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7110 it->multibyte_p is zero.
7111
7112 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 7113 Delete extern.
aca7a3d2 7114
73acf815 71152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7116
7117 * coding.c (Fdefine_coding_system_internal): Fix category setting
7118 for a coding system of type iso-2022.
7119
73acf815 71202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7121
1f45f627 7122 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 7123
73acf815 71242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7125
7126 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
7127 (next-word-boundary-function-table): Declare it as a Lisp variable
7128 in syms_of_syntax.
aca7a3d2
MB
7129 (scan_words): Call functions in Vnext_word_boundary_function_table
7130 if any.
7131
7132 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
7133
7134 * fontset.c (fs_load_font): If fontp->charset is not negative,
7135 return fontp without setting its members.
7136
73acf815 71372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7138
aca7a3d2
MB
7139 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
7140
7141 * m/sparc.h (HAVE_ALLOCA): Delete.
7142
7143 * s/irix6-5.h: Don't include strings.h.
7144 (bcopy, bzero, bcmp): Don't undef.
7145
7146 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
7147
7148 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
7149 (TIOCSIGSEND): Don't test IRIX6.
7150 (bcopy, bzero, bcmp): Define conditionally.
7151
73acf815 71522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7153
7154 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 7155 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
7156 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
7157
7158 * callproc.c (Fcall_process): Don't call insert_1_both directly if
7159 we are inserting a process output into a multibyte buffer.
7160
7161 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
7162 multibyte_char_to_unibyte.
7163
7164 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
7165 by the primary charset, make it eight-bit char.
7166 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
7167
1f45f627
GM
7168 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
7169 (charset_8_bit__control, charset_8_bit_graphic)
7170 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
7171 (define_charset_internal): New function.
7172 (syms_of_charset): Call define_charset_internal for pre-defined
7173 charsets.
7174
7175 * charset.h (charset_8_bit): Extern it.
7176
1f45f627 7177 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
7178 of Fset_buffer_multibyte.
7179 (encode_coding_raw_text): Increment p0 in the loop.
7180
1f45f627 7181 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 7182
1f45f627 7183 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
7184 for the change of Fset_buffer_multibyte.
7185
7186 * fns.c (Fstring_to_multibyte): New function.
7187 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
7188
73acf815 71892008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7190
7191 * xfns.c (x_put_x_image): Declare args.
7192
1f45f627 7193 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
7194 (try_font_list): Declare an arg.
7195
7196 * xdisp.c (message2_nolog, set_message): Declare an arg.
7197
7198 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
7199
7200 * syntax.c (scan_sexps_forward): Declare an arg.
7201
7202 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
7203 Declare an arg.
7204
7205 * lisp.h (Fnew_fontset): Declare.
7206
7207 * keymap.c (push_key_description): Call CHARACTERP correctly.
7208
1f45f627 7209 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
7210 (face_for_char): Delete unused vars.
7211 (Fset_fontset_font): Doc fix. Delete unused vars.
7212
7213 * doc.c (Fsubstitute_command_keys): Delete unused vars.
7214
7215 * composite.c (update_compositions): Declare arg.
7216
7217 * cm.c (calccost, cmgoto): Declare args.
7218
7219 * charset.c: Remove `emacs' conditional. Doc fixes.
7220 (map_char_table_for_charset): Declare.
7221
1f45f627 7222 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 7223
1f45f627 7224 * ccl.c: Remove `emacs' conditional.
aca7a3d2 7225
73acf815 72262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7227
7228 The following changes are to allow specifying multiple font
7229 patterns for a character range (specified by script or charset).
7230
7231 * Makefile.in (abbrev.o): Depend on syntax.h.
7232 (xfaces.o): Depend on charset.h.
7233
7234 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
7235 SINGLE_BYTE_CHAR_P.
7236
7237 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
7238
7239 * character.h (Vchar_script_table): Extern it.
7240
1f45f627 7241 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
7242 (Vchar_script_table, Qchar_script_table): New variable.
7243 (syms_of_character): Declare Vchar_script_table as a lisp variable
7244 and initialize it.
7245
1f45f627 7246 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
7247 have property char-table-extra-slots, make no extra slot.
7248
1f45f627 7249 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
7250 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
7251 SINGLE_BYTE_CHAR_P.
1f45f627
GM
7252 (choose_face_font, lookup_non_ascii_face, font_name_registry):
7253 Add prototypes.
7254 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
7255 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7256
7257 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 7258 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
7259 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
7260
7261 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 7262 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
7263 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
7264 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
7265 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
7266 (fontset_ref_and_range, fontset_add, reorder_font_vector)
7267 (load_font_get_repertory): New functions.
1f45f627 7268 (fontset_set): Delete.
aca7a3d2 7269 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 7270 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
7271 (free_face_fontset): Use ASET istead of AREF (X) = Y.
7272 (face_for_char): Don't call lookup_face.
7273 (make_fontset_for_ascii_face): New arg FACE.
7274 (fs_load_font): New arg CHARSET_ID. Don't check
7275 Vfont_encoding_alist here.
7276 (find_font_encoding): New function.
7277 (list_fontsets): Use STRINGP, not ! NILP.
7278 (accumulate_script_ranges): New function.
7279 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
7280 re-written to handle new fontset structure.
7281 (Ffontset_font): Return a copy of element.
7282 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
7283 docstring of font-encoding-alist.
7284
7285 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
7286 (Fset_fotset_font): Fix arguments to 5.
7287
1f45f627 7288 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
7289
7290 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
7291 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 7292 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
7293 lookup_named_face.
7294
7295 * xfaces.c: Include charset.h.
1f45f627
GM
7296 (load_face_font): Delete argument C. Change caller.
7297 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
7298 (font_name_registry): New function.
7299 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 7300 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
7301 Lookup only ascii faces.
7302 (lookup_non_ascii_face): New function.
1f45f627
GM
7303 (lookup_named_face): Delete argument C. Change caller.
7304 (lookup_derived_face): Delete argument C. Change caller.
7305 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 7306 a string, just call font_list with it.
1f45f627
GM
7307 (choose_face_font): Delete arguments FACE and C. New arg
7308 FONT_SPEC. Change caller.
4c4475a8
GM
7309 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
7310 Change caller.
aca7a3d2
MB
7311 (realize_non_ascii_face): New function.
7312 (realize_x_face): Call load_face_font here.
1f45f627 7313 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
7314 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
7315 get a face ID.
7316 (dump_realized_face): Don't print charset of FACE.
7317
7318 * xfns.c (x_set_font): Always call x_new_fontset and
7319 store_frame_parameter.
7320 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 7321 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
7322
7323 * xterm.h (x_get_font_repertory): Extern it.
7324
7325 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
7326 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
7327 it->multibyte_p is zero.
7328 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
7329 (x_new_fontset): If FONTSETNAME doesn't match any existing
7330 fontsets, create a new one.
7331 (x_get_font_repertory): New function.
7332
73acf815 73332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7334
7335 * coding.c (Ffind_coding_systems_region_internal): Detect an
7336 ASCII only string correctly.
7337
7338 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
7339 version is 0.
7340
73acf815 73412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7342
7343 * lread.c: Include "coding.h".
1f45f627
GM
7344 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
7345 (load_each_byte, unread_char): New variables.
7346 (readchar_backlog): Delete.
aca7a3d2
MB
7347 (readchar): Return a character unless load_each_byte is nonzero.
7348 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
7349 cons. If unread_char is not -1, simply return it.
7350 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
7351 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
7352 (read_multibyte): Delete.
aca7a3d2
MB
7353 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
7354 (read_emacs_mule_char): New functions.
7355 (Fload): Even if the file doesn't have the extention ".elc", if
7356 safe_to_load_p returns a positive version number, assume that the
7357 file contains bytecompiled code. If the version is less than 22,
7358 load the file while decoding multibyte sequences by emacs-mule.
7359 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
7360 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
7361 (Fread_from_string): Pay attention to the case that STREAM is a cons.
7362 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
7363 (read1): Set load_each_byte to 1 temporarily while handling
7364 #@NUMBER. Don't call read_multibyte.
7365 (read_vector): Call Fread with a cons. If readcharfun is
7366 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 7367 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
7368 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
7369 and Qload_force_doc_strings.
7370
73acf815 73712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7372
7373 * xdisp.c (face_before_or_after_it_pos): Call
7374 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
7375
73acf815 73762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7377
7378 * character.h (TRAILING_CODE_P): New macro.
1f45f627 7379 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
7380 (string_char_with_unification): Fix prototype.
7381 (Vscript_alist): Extern it.
7382
7383 * character.c (Vscript_alist): New variable.
4c4475a8
GM
7384 (string_char_with_unification, str_as_unibyte)
7385 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
7386 (syms_of_character): Declare script-alist as a Lisp variable.
7387
7388 * charset.h (Vcharset_ordered_list): Extern it.
7389 (charset_ordered_list_tick): Extern it.
7390 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
7391 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
7392 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
7393 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
1f45f627 7394 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
7395
7396 * charset.c (charset_ordered_list_tick): New variable.
7397 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
7398 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
7399 deunify intead of unify a charset.
7400 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
7401 (find_charsets_in_text): Add `const' to arguemnts and local variables.
7402 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
7403 detecting of invalid code.
7404 (Fset_charset_priority): Increment charset_ordered_list_tick.
7405 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
7406 and TO_CODE.
7407
7408 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
7409 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
7410 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
7411 (decode_coding_ccl, consume_chars)
7412 (Ffind_coding_systems_region_internal)
7413 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
7414
7415 * print.c (print_object): Use octal form for printing the
7416 contents of a bool vector.
7417
73acf815 74182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7419
7420 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
7421 <version == 20>: Refuse to load.
7422
73acf815 74232008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7424
7425 * fns.c: Move coding.h.
7426 (Qcodeset, Qdays, Qmonths): New.
7427 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 7428 (Flocale_codeset): Delete.
aca7a3d2 7429 (Flanginfo): New function.
1f45f627 7430 (syms_of_fns): Change accordingly.
aca7a3d2
MB
7431
7432 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
7433
73acf815 74342008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7435
7436 * casetab.c (init_casetab_once, init_casetab_once): Fix
7437 CHAR_TABLE_SET call.
7438
7439 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
7440
7441 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
7442
7443 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
7444 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
7445 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
7446
7447 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
7448
7449 * coding.c (ENCODE_DESIGNATION, decode_eol)
7450 (make_conversion_work_buffer, code_conversion_restore)
7451 (Fdefine_coding_system_internal): Convert Lisp types.
7452 (code_conversion_restore): Use EQ, not ==.
7453 (Fencode_coding_string): Fix code_convert_string call.
7454
7455 * coding.h (code_convert_region): Fix prototype.
7456
1f45f627 7457 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
7458
7459 * fontset.c (fontset_ref, fontset_set, fs_load_font)
7460 (Ffontset_info): Convert Lisp types.
7461
7462 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
7463
7464 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
7465
7466 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
7467
7468 * chartab.c: Include "...h", not <...h> in some cases.
7469
7470 * callproc.c (Fcall_process): Remove unused variables.
7471
73acf815 74722008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7473
7474 * coding.c (Fset_coding_system_priority): Allow null arg list.
7475
73acf815 74762008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7477
7478 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
7479 (Fself_insert_and_exit): Use CHARACTERP.
7480
7481 * callproc.c (Fcall_process): Remove unused vars.
7482
7483 * xterm.c (XTread_socket): Add extra dead keysyms.
7484
7485 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
7486
7487 * dispextern.h: Remove prototypes for redraw_frame,
7488 redraw_garbaged_frames.
7489
7490 * cmds.c (Fself_insert_command): Use CHARACTERP.
7491
7492 * chartab.c (make_sub_char_table): Remove unused var.
7493 (Fset_char_table_default, Fmap_char_table): Doc fix.
7494
7495 * keymap.c (access_keymap): Remove generic char code.
7496 (push_key_description): Use CHARACTERP.
7497
73acf815 74982008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7499
7500 * charset.c: Doc fixes.
7501 (Funify_charset): Extra checking.
7502
73acf815 75032008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7504
7505 * lread.c: Remove some unused variables.
7506 (safe_to_load_p): If safe, return the magic number version byte.
7507 (Fload): Maybe use load-with-code-conversion.
7508
73acf815 75092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7510
7511 * category.c (Fmodify_category_entry): Don't modify the contents
7512 of category_set for characters out of the range. Avoid
7513 unnecessary modification.
7514
1f45f627 7515 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
7516 Vchar_unify_table. The default value of the table is now nil.
7517
7518 * character.c (syms_of_character): Setup Vchar_width_table for
7519 eight-bit-control and raw-byte chars.
7520
7521 * charset.h (enum define_charset_arg_index): Delete
7522 charset_arg_parents and add charset_arg_subset and
7523 charset_arg_superset.
7524 (enum charset_attr_index): Delete charset_parents and add
7525 charset_subset and charset_superset.
7526 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
7527 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 7528 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
7529 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
7530 (CHARSET_SUPERSET): New macros.
7531 (charset_work): Extern it.
7532 (ENCODE_CHAR): Use charset_work.
1f45f627 7533 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
7534 (map_charset_chars): Extern it.
7535
7536 * charset.c (load_charset_map): Set the default value of encoder
7537 and deunifier char-tables to nil.
1f45f627 7538 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
7539 map_char_table_for_charset instead of map_char_table.
7540 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 7541 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
7542 `define-charset' (:parents -> :subset or :superset).
7543 (charset_work): New variable.
4c4475a8
GM
7544 (encode_char, syms_of_charset): Adjust for the change of
7545 Fdefine_charset_internal.
aca7a3d2
MB
7546 (Ffind_charset_string): Setup the vector `charsets' correctly.
7547
1f45f627 7548 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 7549 the previous change.
1f45f627 7550 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
7551 (map_sub_char_table_for_charset): New function.
7552 (map_char_table_for_charset): New function.
7553
7554 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 7555 (describe_char_table): Delete.
aca7a3d2 7556
1f45f627 7557 * lisp.h (map_charset_chars): Delete.
aca7a3d2 7558
73acf815 75592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7560
7561 * fns.c (count_combining): Comment out (unused).
7562 (Flocale_codeset): New.
7563 (syms_of_fns): Defsubr it.
7564
7565 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 7566 (size_t): Remove.
aca7a3d2 7567
73acf815 75682008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 7569
6f69e89b 7570 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 7571
73acf815 75722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7573
7574 * character.c (syms_of_character): Set the default value of
7575 Vprintable_chars to Qnil.
7576
73acf815 75772008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7578
7579 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
7580
73acf815 75812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7582
7583 * charset.c (load_charset_map): Handle the case that from < to
7584 correctly.
7585
4c4475a8
GM
7586 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
7587 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
7588 Pay attention to raw-8-bit chars.
aca7a3d2 7589
73acf815 75902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7591
4c4475a8
GM
7592 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
7593 It is not bytecompiled now.
aca7a3d2
MB
7594
7595 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
7596 (charset_jisx0208): New variables.
7597 (Fdefine_charset_internal): Setup them if appropriate.
7598 (init_charset_once): Initialize them to -1.
7599
1f45f627
GM
7600 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
7601 (charset_jisx0208): Extern them.
aca7a3d2
MB
7602
7603 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
7604 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
7605 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
7606 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
7607 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
7608 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
7609 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
7610 (encode_coding_iso_2022): Change the 1st arg to
7611 ENCODE_ISO_CHARACTER to a variable.
7612
73acf815 76132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7614
7615 * charset.h (enum define_charset_arg_index): New enums
7616 charset_arg_min_code and charset_arg_max_code.
7617 (struct charset): New member char_index_offset.
7618
4c4475a8
GM
7619 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
7620 Take charset->char_index_offset into account.
aca7a3d2
MB
7621 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
7622 args[charset_arg_max_code]. Setup charset.char_index_offset.
7623 (syms_of_charset): Fix args to Fdefine_charset_internal.
7624
73acf815 76252008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7626
7627 * coding.c (decode_coding_utf_8): Reject overlong sequences.
7628
73acf815 76292008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7630
7631 * coding.c: Doc fixes.
7632 (Fcoding_system_aliases): Fix return value.
7633 (Qmac): Remove (duplicated) definition.
7634
73acf815 76352008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7636
7637 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
7638 functions.
7639
7640 * character.c (Fstring): Doc fix.
7641
7642 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
7643
7644 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
7645 ids.
7646 (font-encoding-alist): Doc fix.
7647
73acf815 76482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7649
7650 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 7651 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
7652
7653 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
7654 for K&R.
7655
7656 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
7657
7658 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 7659 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 7660
1f45f627 7661 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
7662
7663 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
7664
73acf815 76652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7666
7667 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
7668
1f45f627 7669 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 7670
2a2e8de7 76712008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
7672
7673 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
7674
1f45f627 7675 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 7676
73acf815 76772008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7678
4c4475a8 7679 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 7680 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 7681
73acf815 76822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7683
1f45f627 7684 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
7685 Fdefine_coding_system_internal.
7686 (Fdefine_coding_system_internal): For a coding system of
7687 `charset' type, store a list of charset IDs in
7688 `charset_attr_charset_valids' element of coding attributes.
7689
73acf815 76902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7691
7692 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
7693 (emacs_mule_char): New arg src. Delete arg `composition'. Change
7694 caller. Handle 2-byte and 3-byte charsets correctly.
7695 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
7696 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
7697 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
7698 (DECODE_EMACS_MULE_21_COMPOSITION): Call
7699 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
7700 sequence.
7701 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 7702 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
7703 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
7704 and alt&rule composition.
7705 (decode_coding_iso_2022): Handle composition correctly.
7706 (init_coding_once): Setup emacs_mule_bytes for private charsets.
7707
7708 * charset.c (Fdefine_charset_internal): Fix bug for the case of
7709 re-defining a charset. If the charset has :emacs-mule-id, setup
7710 emacs_mule_bytes.
1f45f627 7711 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 7712
73acf815 77132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7714
4c4475a8
GM
7715 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
7716 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
7717 encoding, produce a character specified by
7718 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 7719
73acf815 77202008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7721
7722 * xterm.c (XSetIMValues): Declare.
7723
7724 * process.c: Conditionally include sys/wait.h, pty.h.
7725
1f45f627 7726 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 7727
1f45f627 7728 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
7729
7730 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
7731
7732 * fontset.c (Fclear_face_cache): Declare.
1f45f627 7733 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
7734 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
7735 variables.
7736
7737 * character.h (string_escape_byte8): Declare.
7738
7739 * charset.c (load_charset_map, load_charset_map_from_file): Remove
7740 unused vars.
7741 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
7742 (Fmap_charset_chars): Doc fix.
7743
1f45f627 7744 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
7745 (Fset_coding_system_priority, Fset_coding_system_priority)
7746 (Fdefine_coding_system_internal): Doc fix.
7747
73acf815 77482008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7749
7750 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
7751
73acf815 77522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7753
7754 * character.c (string_escape_byte8): Make multibyte string with
7755 correct size.
7756
7757 * charset.c (Fmake_char): Delete unnecessary code.
7758
73acf815 77592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7760
7761 * xfns.c (x_encode_text): Allocate coding.destination here, and
7762 call encode_coding_object with dst_object Qnil.
7763
7764 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
7765 multibyte form correctly.
7766
7767 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
7768 against Vfont_encoding_alist.
7769
7770 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
7771 handling of charset list.
7772 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
7773 (decode_coding_object): Move point to coding->dst_pos before
7774 calling post-read-conversion function.
7775 (encode_coding_object): Give correct arguments to
7776 pre-write-conversion. Ignore the return value of
7777 pre-write-conversion function. Pay attention to the case that
7778 pre-write-conversion changes the current buffer. If dst_object is
7779 Qt, even if coding->src_bytes is zero, allocate at least one byte
7780 to coding->destination.
7781
7782 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
7783
7784 * charset.c (Fmake_char): Make it more backward compatible.
7785 (Fmap_charset_chars): Fix docstring.
7786
73acf815 77872008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7788
7789 * coding.c: Doc fixes.
7790 (Fdefine_coding_system_alias): Use names, not symbols, in
7791 coding-system-alist.
7792
73acf815 77932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7794
7795 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
7796 of calling free_realized_face.
7797
2a2e8de7 77982008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 7799
1f45f627
GM
7800 * charset.c (read_hex): Don't treat SPC as a comment starter.
7801 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
7802 (Fdecode_char): Fix typo.
7803
73acf815 78042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7805
7806 * charset.h (struct charset): New member `code_space_mask'.
7807
1f45f627 7808 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
7809 (encode_coding_charset, Fdefine_coding_system_internal):
7810 Delete the local variable charset.
aca7a3d2
MB
7811 (Fdefine_coding_system_internal): Setup
7812 attrs[coding_attr_charset_valids] correctly.
7813
7814 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
7815 member to check if CODE is valid or not.
7816 (Fdefine_charset_internal): Initialize `code_space_mask' member.
7817 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
7818 is within the range of charset->min_code and carset->max_code.
7819
73acf815 78202008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
7821
7822 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
7823
7824 * dispextern.h (generate_ascii_font): Fix return type.
7825
7826 * xfaces.c (generate_ascii_font): Fix arg declaration.
7827
7828 * coding.c (coding_inherit_eol_type)
7829 (Fset_terminal_coding_system_internal)
7830 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
7831
73acf815 78322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7833
7834 * coding.c (decode_coding_charset, encode_coding_charset): Handle
7835 multiple charsets correctly.
7836
73acf815 78372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7838
7839 * search.c (boyer_moore): Fix handling of mulitbyte character
7840 translation.
7841
7842 * xdisp.c (display_mode_element): When the variable `elt' is
7843 changed, update `this' and `lisp_string'.
7844
73acf815 78452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7846
7847 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
7848
7849 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 7850 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
7851
7852 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
7853 (load_charset_map): Rename from parse_charset_map. New args
7854 entries and n_entries. Change caller.
7855 (load_charset_map_from_file): Rename from load_charset_map.
7856 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
7857 the tail.
7858 (load_charset_map_from_vector): New function.
7859 (Fdefine_charset_internal): Setup charset.compact_codes_p.
7860 (encode_char): If the charset is compact, change a character index
7861 to a code point.
7862
7863 * coding.c (coding_alloc_by_making_gap): Check the case that the
7864 source and destination are the same correctly.
7865 (decode_coding_raw_text): Set coding->consumed_char and
7866 coding->consumed to 0.
7867 (produce_chars): If coding->chars_at_source is nonzero, update
7868 coding->consumed_char and coding->consumed before calling
7869 alloc_destination.
7870 (Fdefine_coding_system_alias): Register ALIAS in
7871 Vcoding_system_alist.
7872 (syms_of_coding): Define `no-convesion' coding system at the tail.
7873
7874 * fileio.c (Finsert_file_contents): Set coding_system instead of
7875 val. If the current buffer is multibyte, always call
7876 decode_coding_gap.
7877
7878 * xfaces.c (try_font_list): Give higher priority to fontset's
7879 family than face's family.
7880
73acf815 78812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7882
7883 * callproc.c (Fcall_process): Be sure to give the current buffer
7884 to decode_coding_c_string.
7885
7886 * xfaces.c (try_font_list): Give a family specified in a fontset
7887 higher priority than a family specified in a face.
7888
73acf815 78892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7890
7891 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
7892 Fix arguments to insert_from_buffer.
7893
7894 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
7895
73acf815 78962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7897
7898 * coding.c (produce_chars): Set the variable `multibytep' correctly.
7899 (decode_coding_gap): Set coding->dst_multibyte correctly.
7900
73acf815 79012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7902
7903 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 7904 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
7905 (encode_coding_utf_16): Substitute coding->default_char for
7906 non-Unicode characters.
7907 (decode_coding): Don't call record_insert here.
7908 (setup_coding_system): Initialize `surrogate' of
7909 coding->spec.utf_16 to 0.
7910 (EMIT_ONE_BYTE): Fix for multibyte case.
7911
7912 * insdel.c (insert_from_gap): Call record_insert.
7913
73acf815 79142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7915
7916 * casefiddle.c (casify_region): Fix multibyte case.
7917
7918 * character.c (c_string_width): Add return type `int'.
1f45f627 7919 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
7920
7921 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 7922 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
7923 (CHAR_STRING_ADVANCE): Make it do-while statement.
7924
1f45f627 7925 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
7926 DEPTH == 3. Add workaround code for a GCC optimization bug.
7927
7928 * charset.c (parse_charset_map): Remove an unused variable.
7929
7930 * coding.c: Delete unused variables.
7931
7932 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
7933 earlier. If inserted is zero and the coding system doesn't
7934 require flushing, don't call decode_coding_gap.
7935
7936 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
7937
73acf815 79382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7939
7940 The following changes are for using Unicode as an internal
7941 character model, and use UTF-8 format for buffer/string
7942 representation.
7943
1f45f627 7944 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
7945 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
7946
7947 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 7948 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
7949 (*.o): For many files, change dependency on charset.h to
7950 character.h, and add dependency on character.h.
7951 (character.o, chartab.o): New targets.
7952
1f45f627
GM
7953 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
7954 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
7955 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
7956 of "charset.h".
7957
7958 * dired.c, filelock.c: Include "character.h".
7959
7960 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 7961 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
7962 (syms_of_alloc): Remove defsubr for Smake_char_table.
7963
7964 * buffer.c: Include "character.h" instead of "charset.h", don't
7965 include "coding.h".
1f45f627 7966 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
7967
7968 * buffer.h: EXFUN Fbuffer_live_p.
7969
7970 * callproc.c: Include "character.h" instead of "charset.h".
7971 (Fcall_process): Big change for the new code-conversion APIs.
7972
7973 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 7974 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
7975 map_char_table spec.
7976 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
7977 accessing the char table structure.
7978
7979 * chartab.c: New file that implements char table.
7980
7981 * category.c: Include "character.h".
7982 (copy_category_entry): New function.
7983 (copy_category_table): Call map_char_table and copy_category_entry.
7984 (Fmake_category_table): Initialize all top-vel slots.
7985 (char_category_set): New function.
1f45f627 7986 (modify_lower_category_set): Delete.
aca7a3d2
MB
7987 (Fmodify_category_entry): Call char_table_ref_and_range.
7988
7989 * category.h (CATEGORY_SET): Just call char_category_set.
7990
7991 * ccl.c: Include "character.h".
7992 (Qccl, Qcclp): New variables.
7993 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
7994 it's less than 256.
1f45f627
GM
7995 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
7996 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 7997 and DST type.
1f45f627
GM
7998 (ccl_driver): Change types of argument, adjust code accordingly.
7999 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
8000 ccl_driver.
8001 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
8002
1f45f627
GM
8003 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
8004 New members src_multibyte, dst_multibyte, consumed, and produced.
8005 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 8006 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 8007 (ccl_driver): Update prototype.
aca7a3d2
MB
8008 (Qccl, Qcclp, Fccl_program_p): Extern them.
8009 (CHECK_CCL_PROGRAM): New macro.
8010
8011 * character.c, character.h, chartab.c: New files.
8012
1f45f627
GM
8013 * charset.c: Mostly re-written. Move character and multibyte sequence
8014 handling codes to character.c.
aca7a3d2 8015
1f45f627
GM
8016 * charset.h: Mostly re-written. Move character and multibyte sequence
8017 handling codes to character.h.
aca7a3d2
MB
8018
8019 * coding.c, coding.h: Mostly re-written.
8020
8021 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8022 (CHAR_WIDTH): Move to character.h.
8023 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 8024
1f45f627
GM
8025 * composite.h (enum composition_method): Change order of enumeration
8026 symbols.
aca7a3d2
MB
8027
8028 * data.c: Include "character.h" instead of "charset.h".
8029 (Faref): Call CHAR_TABLE_REF for a char table.
8030 (Faset): Call CHAR_TABLE_SET for a char table.
8031
1f45f627
GM
8032 * dispextern.h (free_realized_face, check_face_attribytes)
8033 (generate_ascii_font): Extern them.
8034 (free_realized_multibyte_face): Delete extern.
aca7a3d2 8035
1f45f627 8036 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
8037 table structure.
8038
8039 * editfns.c: Include "character.h" instead of "charset.h".
8040 (Fchar_to_string): Always call CHAR_STRING.
8041
8042 * emacs.c (main): Call init_charset_once, init_charset,
8043 syms_of_chartab, and syms_of_character.
8044
8045 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 8046 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 8047 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 8048 (build_annotations_2): Delete.
aca7a3d2
MB
8049 (e_write): Big change for the new code-conversion API.
8050
8051 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 8052 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
8053 (Fcopy_sequence): Call copy_char_table for a char table.
8054 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
8055 (string_char_to_byte, string_byte_to_char): Adjust for the new
8056 multibyte form.
1f45f627
GM
8057 (internal_equal): Adjust for the change of char table structure.
8058 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
8059 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
8060 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
8061 (char_table_translate, optimize_sub_char_table)
8062 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 8063 chartab.c.
1f45f627
GM
8064 (char_table_ref_and_index): Delete.
8065 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 8066 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
8067 Vcoding_category_list. Adjust for the new code-conversion API.
8068 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
8069 chartab.c.
8070
8071 * fontset.c: Mostly re-written.
8072
1f45f627 8073 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 8074 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
8075 (fontset_font_pattern, fs_load_font): Update prototype.
8076 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
8077
8078 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 8079 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
8080
8081 * insdel.c: Include "character.h" instead of "charset.h".
8082 (copy_text): Don't refer to Vnonascii_translation_table.
8083 (insert_from_gap): New function.
8084
8085 * keyboard.c: Include "character.h" instead of "charset.h".
8086 (command_loop_1): Never call direct_output_forward_char before
8087 a non-ASCII character.
8088 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 8089 translate a character.
aca7a3d2
MB
8090
8091 * keymap.c: Include "character.h".
8092 (store_in_keymap): Handle the case that IDX is a cons.
8093 (Fdefine_key): Handle the case that KEY is a cons and the car part
8094 is also a cons (range).
1f45f627 8095 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
8096 (describe_vector): Call describe_char_table for a char table.
8097 (describe_char_table): New function.
8098
8099 * keymap.h (describe_char_table): Extern it.
8100
8101 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
8102 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
8103 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
8104 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
8105 Delete.
8106 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
8107 structure.
8108 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
8109 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
8110 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 8111 (chartab_size): Extern it.
1f45f627 8112 (struct Lisp_Char_Table): Re-design.
aca7a3d2 8113 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
8114 (HASH_KEY, HASH_VALUE): Move from fns.c.
8115 (CHARACTERBITS): Define as 22.
8116 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
8117 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
8118 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
8119 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
8120 (code_convert_string_norecord): Deleted extern.
8121 (init_character_once, syms_of_character, init_charset)
8122 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
8123
8124 * lread.c: Include "character.h".
8125 (read_multibyte): New arg NBYTES.
1f45f627
GM
8126 (read_escape): Change the meaning of returned *BYTEREP.
8127 (to_multibyte): Delete.
8128 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
8129
8130 * print.c: Include "character.h" instead of "charset.h".
8131 (print_string): Convert 8-bit raw bytes to octal form by
8132 string_escape_byte8.
1f45f627 8133 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
8134 raw bytes always in octal form. Handle sub char table correctly.
8135
8136 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
8137 (read_process_output, send_process): Adjust for the new
8138 code-conversion API.
aca7a3d2 8139
1f45f627 8140 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
8141
8142 * regex.c: Include "character.h" instead of "charset.h".
8143 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
8144 (regex_compile): Accept a range whose starting and ending
8145 character have different leading bytes.
1f45f627 8146 (analyse_first): Adjust for the above change.
aca7a3d2
MB
8147
8148 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
8149 (search_buffer, boyer_moore): Adjust for the new multibyte form.
8150 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
8151
8152 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 8153 (syntax_parent_lookup): Delete.
aca7a3d2 8154 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 8155 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
8156 (init_syntax_once): Call char_table_set_range instead of directly
8157 accessing the structure of a char table.
8158
8159 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 8160 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
8161 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
8162 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
8163
8164 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
8165 (encode_terminal_code, write_glyphs): Adjust for the new
8166 code-conversion API.
aca7a3d2
MB
8167 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
8168
1f45f627 8169 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
8170
8171 * xdisp.c: Include "character.h".
1f45f627
GM
8172 (get_next_display_element): Adjust for the new multibyte form.
8173 (disp_char_vector): Adjust for the new char table structure.
8174 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 8175 coding system.
1f45f627 8176 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
8177
8178 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 8179 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
8180 FS_LOAD_FONT.
8181 (generate_ascii_font): New function.
1f45f627
GM
8182 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
8183 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 8184 (free_realized_face): Make it public.
1f45f627 8185 (free_realized_faces_for_fontset): Rename from
aca7a3d2 8186 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 8187 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
8188 fontset_font_pattern and FS_LOAD_FONT.
8189
8190 * xfns.c: Include "character.h".
1f45f627 8191 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
8192
8193 * xselect.c: Don't include "charset.h".
1f45f627 8194 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
8195
8196 * xterm.c: Include "character.h".
1f45f627 8197 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
8198 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
8199 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
8200 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
8201 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
8202 (XTread_socket): Adjust for the new code-conversion API.
8203 (x_new_font): Adjust for the change of FS_LOAD_FONT.
8204 (x_load_font): Adjust for the change of struct font.
aca7a3d2 8205
d6abfc14
SM
82062008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8207
8208 * xfaces.c (face_at_buffer_position): Remove unused vars.
8209
0acdaf8d
KH
82102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8211
4c4475a8
GM
8212 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
8213 Fix overflow checking.
0acdaf8d 8214
6c8a0ebf
GM
82152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8216
8217 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
8218 Cancel previous change.
8219
82202008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8221
8222 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
8223 ccl->eight_bit_control. Fix check for buffer overflow.
8224 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
8225 (ccl_driver): Initialize extra_bytes to 0.
8226
a32aad64
KH
82272008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
8228
8229 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
8230 return it ORed with ctrl_modifier.
8231
8b329dba
MB
82322008-01-29 Miles Bader <miles@gnu.org>
8233
8234 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
8235
548667aa
JR
82362008-01-28 Jason Rumney <jasonr@gnu.org>
8237
8238 * w32.c (stat): Don't double check for networked drive.
8239
0975aa24
SM
82402008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
8241
ef264c42
SM
8242 * window.c (run_window_configuration_change_hook): New function.
8243 Code extracted from set_window_buffer. Set the selected frame.
8244 (set_window_buffer): Use it.
8245 * window.h (run_window_configuration_change_hook): Declare.
8246 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
8247
0975aa24
SM
8248 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
8249
9c28b587
DN
82502008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
8251
8252 * Makefile.in: Remove references to unused macros.
8253
c617afce
EZ
82542008-01-26 Eli Zaretskii <eliz@gnu.org>
8255
8256 * w32.c (g_b_init_get_sid_sub_authority)
8257 (g_b_init_get_sid_sub_authority_count): New static variables.
8258 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
8259 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
8260 (init_user_info): Use them to retrieve uid and gid.
8261 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
8262 (fstat): Use pw_uid and pw_gid from the_passwd structure for
8263 st_uid and st_gid of the file.
c617afce 8264
302d7d54
JR
82652008-01-26 Jason Rumney <jasonr@gnu.org>
8266
8267 * w32.c (logon_network_drive): New function.
8268 (stat): Use it.
8269
3ac7a21e
CY
82702008-01-26 Chong Yidong <cyd@stupidchicken.com>
8271
8272 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
8273 invisible text covered with an ellipsis.
8274
bbb9fc1f
RS
82752008-01-25 Richard Stallman <rms@gnu.org>
8276
8277 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
8278 jump back to beginning. Move some other initializations after that.
8279 (Qwindow_text_change_functions, Vwindow_text_change_functions):
8280 New variables.
8281 (syms_of_xdisp): Init them.
8282
8283 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
8284
0975aa24
SM
8285 * buffer.c (reset_buffer_local_variables):
8286 Implement `permanent-local-hook'.
bbb9fc1f 8287 (Qpermanent_local_hook): New variable.
0975aa24 8288 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 8289
79235cbe
MA
82902008-01-25 Michael Albinus <michael.albinus@gmx.de>
8291
8292 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
8293
ccd8f7fe
TTN
82942008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
8295
8296 * fns.c (Fclrhash): Return TABLE.
8297
dfbe40f2 82982008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
8299
8300 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
8301 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
8302 is set even without positional changes.
8303 (x_scroll_bar_clear): Set bar->redraw_needed_p.
8304
8305 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
8306
dfbe40f2 83072008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 8308
d6169680
JR
8309 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
8310
602e142f
JR
8311 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
8312 the unicode range available in MULE by locale-coding-system.
c041e2d1 8313 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
8314 earlier.
8315
dfbe40f2 83162008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
8317
8318 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
8319 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 8320 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
8321 when used on child processes.
8322
8c7a4ac5
MA
83232008-01-21 Michael Albinus <michael.albinus@gmx.de>
8324
e0df1b73 8325 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 8326 Fdbus_method_return.
e0df1b73 8327 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 8328 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 8329 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 8330
8abe0f97
MR
83312008-01-20 Martin Rudalics <rudalics@gmx.at>
8332
8333 * undo.c (undo_inhibit_record_point): New variable.
8334 (syms_of_undo): Initialize it.
8335 (record_point): Don't record point when undo_inhibit_record_point
8336 is set.
8337
c3b232e4
SM
83382008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
8339
e69c4cae
SM
8340 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
8341
823e0ebb
SM
8342 * xdisp.c (Qauto_hscroll_mode): New var.
8343 (syms_of_xdisp): Initialize it.
8344 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
8345 window's buffer.
8346 (hscroll_windows): Don't check automatic_hscrolling_p here.
8347
c3b232e4
SM
8348 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
8349 vscroll if we're setting window-buffer to the value it already has.
8350
76ed5e01
DN
83512008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
8352
8353 * m/intel386.h: Remove references to XENIX.
8354
55e6d9b2
AS
83552008-01-17 Andreas Schwab <schwab@suse.de>
8356
8357 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
8358 instead of HAVE_X86_64_LIB64_DIR.
8359 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
8360
b16ed52d
GM
83612008-01-17 Glenn Morris <rgm@gnu.org>
8362
8363 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
8364 to HAVE_X86_64_LIB64_DIR.
8365
6bed5c4a
DN
83662008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
8367
8368 * s/irix3-3.h:
8369 * s/irix4-0.h:
8370 * s/386-ix.h:
8371 * s/domain.h:
8372 * s/hpux9-x11r4.h:
8373 * s/hpux9shxr4.h: Remove files for systems no longer supported.
8374
8375 * sysdep.c: Remove code containing references to symbols defined
8376 by unsupported systems.
8377
fdecf907
GM
83782008-01-16 Glenn Morris <rgm@gnu.org>
8379
8380 * coding.c (select-safe-coding-system-function): Doc fix.
8381
9292328f
GM
83822008-01-15 Glenn Morris <rgm@gnu.org>
8383
8384 * config.in: Revert 2008-01-13 change: this is a generated file.
8385
944df511
MO
83862008-01-13 Tom Tromey <tromey@redhat.com>
8387
8388 * lisp.h: Fix typo.
8389
8111ec05
DN
83902008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8391
f40f5dc3
DN
8392 * m/sequent-ptx.h:
8393 * m/sequent.h:
8394 * s/ptx.h:
8395 * s/ptx4-2.h:
8396 * s/ptx4.h: Remove files for systems no longer supported.
8397
ce20b664 8398 * callproc.c (Fcall_process): Fix previous change.
8111ec05 8399
e39a993c
DN
84002008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
8401
052e457f 8402 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 8403
290afd83
JB
8404 * m/mips.h:
8405 * m/intel386.h:
e39a993c
DN
8406 * callproc.c:
8407 * config.in:
8408 * ecrt0.c:
8409 * emacs.c:
8410 * fileio.c:
8411 * frame.c:
8412 * getpagesize.h:
8413 * keyboard.c:
8414 * lread.c:
8415 * process.c:
8416 * puresize.h:
8417 * sysdep.c:
8418 * systty.h:
8419 * syswait.h:
8420 * unexec.c:
8421 * xdisp.c:
8422 * alloc.c: Remove code containing references to symbols defined by
8423 unsupported systems.
8424
81cd7687
KH
84252008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
8426
8427 * coding.c (detect_coding_mask): Fix previous change.
8428
218b3b76
KH
84292008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
8430
8431 * coding.c (detect_coding_iso2022): New arg
8432 latin_extra_code_state. Allow Latin extra codes only
8433 when *latin_extra_code_state is nonzero.
8434 (detect_coding_mask): If there is a NULL byte, detect the encoding
8435 as UTF-16 or binary. If Latin extra codes exist, detect the
8436 encoding as ISO-2022 only when there's no other proper encoding is
8437 found.
8438
59ce725a 84392008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 8440
59ce725a
MB
8441 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
8442 #ifdef MAC_OS.
048addec 8443
59ce725a 84442008-01-08 Richard Stallman <rms@gnu.org>
048addec 8445
59ce725a 8446 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 8447
8290574e
NR
84482008-01-06 Nick Roberts <nickrob@snap.net.nz>
8449
a0a3805c 8450 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
8451 menu bar in parentheses.
8452
f3041af1
DN
84532008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
8454
8455 * m/7300.h:
8456 * m/acorn.h:
8457 * m/alliant-2800.h:
8458 * m/alliant.h:
8459 * m/alliant1.h:
8460 * m/alliant4.h:
8461 * m/altos.h:
8462 * m/amdahl.h:
8463 * m/apollo.h:
8464 * m/att3b.h:
8465 * m/aviion-intel.h:
8466 * m/aviion.h:
8467 * m/celerity.h:
8468 * m/clipper.h:
8469 * m/cnvrgnt.h:
8470 * m/convex.h:
8471 * m/cydra5.h:
8472 * m/delta88k.h:
8473 * m/dpx2.h:
8474 * m/dual.h:
8475 * m/elxsi.h:
8476 * m/f301.h:
8477 * m/gould-np1.h:
8478 * m/gould.h:
8479 * m/i860.h:
8480 * m/ibmps2-aix.h:
8481 * m/ibmrt-aix.h:
8482 * m/ibmrt.h:
8483 * m/irist.h:
8484 * m/is386.h:
8485 * m/isi-ov.h:
8486 * m/mega68.h:
8487 * m/mg1.h:
8488 * m/news-r6.h:
8489 * m/news-risc.h:
8490 * m/news.h:
8491 * m/nh3000.h:
8492 * m/nh4000.h:
8493 * m/ns16000.h:
8494 * m/ns32000.h:
8495 * m/nu.h:
8496 * m/orion.h:
8497 * m/orion105.h:
8498 * m/paragon.h:
8499 * m/pfa50.h:
8500 * m/plexus.h:
8501 * m/pyramid.h:
8502 * m/pyrmips.h:
8503 * m/sh3el.h:
8504 * m/sps7.h:
8505 * m/sr2k.h:
8506 * m/stride.h:
8507 * m/sun1.h:
8508 * m/sun2.h:
8509 * m/sun3-68881.h:
8510 * m/sun3-fpa.h:
8511 * m/sun3-soft.h:
8512 * m/sun3.h:
8513 * m/sun386.h:
8514 * m/symmetry.h:
8515 * m/tad68k.h:
8516 * m/tahoe.h:
8517 * m/targon31.h:
8518 * m/tek4300.h:
8519 * m/tekxd88.h:
8520 * m/tower32.h:
8521 * m/tower32v3.h:
8522 * m/ustation.h:
8523 * m/wicat.h:
8524 * m/xps100.h:
8525 * s/cxux.h:
8526 * s/cxux7.h:
8527 * s/dgux.h:
8528 * s/dgux4.h:
8529 * s/dgux5-4-3.h:
8530 * s/dgux5-4r2.h:
8531 * s/esix.h:
8532 * s/esix5r4.h:
8533 * s/hiuxmpp.h:
8534 * s/hiuxwe2.h:
8535 * s/iris3-5.h:
8536 * s/iris3-6.h:
8537 * s/isc2-2.h:
8538 * s/isc3-0.h:
8539 * s/isc4-0.h:
8540 * s/isc4-1.h:
8541 * s/newsos5.h:
8542 * s/newsos6.h:
8543 * s/osf1.h:
8544 * s/osf5-0.h:
8545 * s/riscix1-1.h:
8546 * s/riscix12.h:
8547 * s/sco4.h:
8548 * s/sco5.h:
8549 * s/sunos4-0.h:
8550 * s/sunos4-1.h:
8551 * s/sunos413.h:
8552 * s/sunos4shr.h:
8553 * s/umax.h:
8554 * s/unipl5-2.h:
8555 * s/xenix.h:
8556 * cxux-crt0.s:
8557 * unexapollo.c:
8558 * unexconvex.c:
8559 * unexenix.c:
8560 * unexsni.c: Remove files for systems no longer supported.
8561
8562 * m/intel386.h: Remove references to unsupported systems.
8563
8564 * w32.c (get_emacs_configuration): Remove reference to i860.
8565
8566 * sysdep.c: Remove dead code.
8567
d35e1cd7
DN
85682008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
8569
8570 * s/rtu.h:
a0a3805c 8571 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 8572
abe136ee
MA
85732008-01-04 Michael Albinus <michael.albinus@gmx.de>
8574
8575 * dbusbind.c (Fdbus_method_return): New function.
8576 (xd_read_message): Add the serial number to the event.
8577 (Fdbus_register_method): Activate the function.
8578
87df3c32
SM
85792008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
8580
8581 * keyboard.c (read_key_sequence): Fix typo.
8582
5125905e
MA
85832008-01-03 Michael Albinus <michael.albinus@gmx.de>
8584
8585 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
8586 (xd_signature, xd_append_arg): Handle element type detection for
8587 empty arrays.
8588 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
8589 SDATA () calls; this must be solved more general.
8590 (Fdbus_register_signal): Use SBYTES instead of strlen.
8591
8bba1b5c
MH
85922008-01-03 Magnus Henoch <magnus@zemdatav>
8593
8594 * dbusbind.c (xd_append_arg): Use unsigned char instead of
8595 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 8596 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 8597
a0a3805c 85982007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
8599
8600 * dbusbind.c (xd_read_message): Use non-static input_event struct.
8601
a271e124
MH
86022007-12-31 Magnus Henoch <mange@freemail.hu>
8603
8604 * dbusbind.c (xd_signature): Signature of variant is just "v".
8605
17bc8f94
MA
86062007-12-30 Michael Albinus <michael.albinus@gmx.de>
8607
87df3c32
SM
8608 * dbusbind.c: Fix several errors and compiler warnings.
8609 Reported by Tom Tromey <tromey@redhat.com>
17bc8f94
MA
8610 (XD_ERROR, XD_DEBUG_MESSAGE)
8611 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
8612 (xd_append_arg): Part for basic D-Bus types rewitten.
8613 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
8614 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
8615 appropriate.
8616 (xd_read_message): Return Qnil. Don't signal an error; it is not
8617 useful during event reading.
8618 (Fdbus_register_signal): Signal an error if the check for
8619 FUNCTIONP fails.
8620 (Fdbus_register_method): New function. The implementation is not
8621 complete, the call of the function signals an error therefore.
8622 (Fdbus_unregister_object): New function, renamed from
8623 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 8624 the object is not well formed.
17bc8f94 8625
dd6f2802
RS
86262007-12-30 Richard Stallman <rms@gnu.org>
8627
8628 * textprop.c (get_char_property_and_overlay):
8629 Signal error if POSITION is out of range in a buffer.
8630
1da8a031
MR
86312007-12-29 Martin Rudalics <rudalics@gmx.at>
8632
8633 * w32fns.c (Fx_create_frame): Make copy of frame parameters
8634 because the original parameters are in pure storage now.
8635
5742be86
YM
86362007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8637
8638 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
8639
b014713c
EZ
86402007-12-22 Eli Zaretskii <eliz@gnu.org>
8641
b17f53ab
MB
8642 * callint.c (syms_of_callint) <command-history>: Add reference to
8643 history-length in the doc string.
048addec 8644
b17f53ab 86452007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 8646
b17f53ab
MB
8647 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
8648 before passing as wParam.
048addec 8649
9af5078b
MA
86502007-12-22 Michael Albinus <michael.albinus@gmx.de>
8651
8652 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
8653 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
8654 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
8655 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
8656 as number.
8657 (Fdbus_call_method): Fix docstring.
8658
87cf1a39
MA
86592007-12-21 Michael Albinus <michael.albinus@gmx.de>
8660
8661 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
8662 New macros.
87df3c32 8663 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
8664 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
8665 Simplify.
87cf1a39
MA
8666 (xd_signature): New function.
8667 (xd_append_arg): Compute also signatures. Major rewrite.
8668 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
8669 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
8670 Check for signatures of arguments.
87cf1a39 8671
54371585
MA
86722007-12-19 Michael Albinus <michael.albinus@gmx.de>
8673
8674 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
8675 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
8676 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
8677 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
8678 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 8679 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
8680 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
8681 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 8682 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
8683 (xd_append_arg): New function.
8684 (Fdbus_call_method, Fdbus_send_signal): Apply it.
8685
f5306ca3
MA
86862007-12-16 Michael Albinus <michael.albinus@gmx.de>
8687
8688 * dbusbind.c (top): Include <stdio.h>.
8689 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
8690 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
8691 (Fdbus_register_signal): Rename unique_name to uname.
8692 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
8693 non-existing unique name. Fix typos in matching rule. Return an
8694 object which is useful in Fdbus_unregister_signal.
8695 (Fdbus_unregister_signal): Reimplementation, in order to remove
8696 only the corresponding entry.
8697 (Vdbus_registered_functions_table): Change the order of entries.
8698 Apply these changes in xd_read_message and Fdbus_register_signal.
8699
77a28bbf
AS
87002007-12-16 Andreas Schwab <schwab@suse.de>
8701
8702 * fileio.c (Finsert_file_contents): Fix overflow check to not
8703 depend on undefined integer overflow.
8704
2e3566d8
JR
87052007-12-14 Jason Rumney <jasonr@gnu.org>
8706
8707 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
8708 for characters above 127.
8709
bf254037
JR
87102007-12-13 Jason Rumney <jasonr@gnu.org>
8711
8712 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
8713 before dereferencing array.
8714 (lookup_vk_code): Remove zero comparison.
8715
eb7c7bf5
MA
87162007-12-14 Michael Albinus <michael.albinus@gmx.de>
8717
8718 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
8719 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
8720 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
8721 (xd_read_message, Fdbus_register_signal): Split expressions into
8722 multiple lines before operators "&&" and "||", according to the
8723 GNU Coding Standards.
8724
34fb0fc9
EZ
87252007-12-14 Eli Zaretskii <eliz@gnu.org>
8726
8727 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
8728
c7d97628
JL
87292007-12-12 Juri Linkov <juri@jurta.org>
8730
8731 * buffer.c (Frename_buffer): In interactive spec replace
8732 `read-buffer' with `read-string' that uses `buffer-name-history'
8733 as history, and the current buffer's name as default.
8734
3709505e
SM
87352007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
8736
8737 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
8738 manipulating the backtrace manually.
8739 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
8740 (struct backtrace, backtrace_list): Remove.
8741 (command_loop_1): Remove dead var `no_direct'.
8742
8743 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
8744 preserve non-built-in buffer-local variables.
8745 (Fkill_all_local_variables): Don't re-create&re-set permanent
8746 buffer-local variables.
8747
e2bec886
JL
87482007-12-09 Juri Linkov <juri@jurta.org>
8749
8750 * buffer.c (Frename_buffer): Change interactive spec from "s" to
8751 Lisp code that uses `read-buffer' with current buffer as default.
8752
a31d47c7
MA
87532007-12-08 Michael Albinus <michael.albinus@gmx.de>
8754
8755 * dbusbind.c (xd_read_message): Generate an event for every
8756 registered handler. There might be several handlers registered
8757 for the same signal.
8758 (Fdbus_register_signal): Don't overwrite a registration for the
8759 same signal. Add a new registration if handlers are different.
8760 (Vdbus_registered_functions_table): Rework doc string.
8761
52da95fa
MA
87622007-12-07 Michael Albinus <michael.albinus@gmx.de>
8763
8764 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
8765 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
8766 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
8767 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
8768 Unify argument lists.
a0a3805c 8769 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
8770 arguments and hash table keys. Use unique name for service.
8771 (Fdbus_unregister_signal): Remove checks.
8772 (Vdbus_registered_functions_table): Fix doc string.
8773
e5e76c04 87742007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
8775
8776 * process.c (make_process): Initialize pty_flag to 0.
8777
e5e76c04 87782007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
8779
8780 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
8781 specified XBMs.
8782
e5e76c04 87832007-12-05 Richard Stallman <rms@gnu.org>
048addec 8784
e5e76c04 8785 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 8786
e5e76c04 87872007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 8788
e5e76c04
MB
8789 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
8790 New variable.
8791 (mac_try_close_socket) [MAC_OSX]: New function.
8792 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
8793 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 8794
e5e76c04
MB
8795 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
8796 Use mac_try_close_socket.
048addec 8797
e5e76c04 87982007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 8799
e5e76c04
MB
8800 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
8801 reloc_base.
8802 (copy_dysymtab): Compute relocation base here.
8803 (rebase_reloc_address) [__ppc64__]: New function.
8804 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
8805 changed.
048addec 8806
e5e76c04 88072007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 8808
e5e76c04 8809 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 8810
e5e76c04 88112007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 8812
e5e76c04
MB
8813 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
8814 __objc_* sections.
8815 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 8816
96faeb40
MA
88172007-12-05 Michael Albinus <michael.albinus@gmx.de>
8818
8819 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
8820 Move check for Vdbus_registered_functions_table to
8821 xd_read_queued_messages.
8822 (xd_read_queued_messages): Protect xd_read_message calls by
8823 internal_condition_case_1.
8824
39abdd4a
MA
88252007-12-04 Michael Albinus <michael.albinus@gmx.de>
8826
87df3c32 8827 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 8828 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 8829 (Vdbus_intern_symbols): Remove.
39abdd4a 8830 (Vdbus_registered_functions_table): New hash table.
87df3c32 8831 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 8832 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 8833 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
8834 Vdbus_registered_functions_table.
8835
880820fe 88362007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
8837
8838 * xterm.c: Update URL to Window Manager Specification in comment.
8839
033b73e2
MA
88402007-12-02 Michael Albinus <michael.albinus@gmx.de>
8841
8842 * config.in (HAVE_DBUS): Add.
8843
a0a3805c 8844 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
8845 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
8846 (obj): Add $(DBUS_OBJ).
8847 (LIBES): Add $(DBUS_LIBS).
8848 (dbusbind.o): New target.
8849
8850 * dbusbind.c: New file.
8851
8852 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
8853
8854 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 8855 (Qdbus_event): New Lisp symbol.
033b73e2 8856 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 8857 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
8858 (keys_of_keyboard ): Define dbus-event.
8859
8860 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
8861
39d0bf74
RS
88622007-12-01 Richard Stallman <rms@gnu.org>
8863
8864 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
8865
f3157c65
JR
88662007-11-30 Jason Rumney <jasonr@gnu.org>
8867
8868 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
8869 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
8870 (w32_face_attributes): Don't use color indexes that are out of range.
8871 Only reverse the default colors.
f3157c65
JR
8872
8873 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
8874 WINDOWSNT.
8875
8876 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
8877
b510360c
JR
88782007-11-29 Jason Rumney <jasonr@gnu.org>
8879
8880 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
8881 (w32_face_attributes): Use Vtty_defined_color_alist to determine
8882 if the terminal colors are initialized.
8883 (unspecified_fg, unspecified_bg): Remove unused declarations.
8884
4b7ab1c4
AS
88852007-11-29 Andreas Schwab <schwab@suse.de>
8886
8887 * keyboard.c (apply_modifiers): Fix typo.
8888
4bb6c266
RS
88892007-11-29 Richard Stallman <rms@gnu.org>
8890
8891 * keymap.c (Fcurrent_local_map): Doc fix.
8892
aa44cd84
GM
88932007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
8894
8895 * s/gnu-kfreebsd.h: New file.
8896
21ec2c43
SM
88972007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
8898
cc648cef
SM
8899 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
8900 Don't cast redundantly.
8901
21ec2c43
SM
8902 * keyboard.c (KEY_TO_CHAR): New macro.
8903 (parse_modifiers, apply_modifiers): Accept integer arguments.
8904 (read_key_sequence): Use them to unify the "shift->unshift" mapping
8905 for chars and symbol keys.
8906 After doing such remapping, apply function-key-map again.
8907
73e72da4
DN
89082007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
8909
8910 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
8911 compiled anymore.
8912
254693ff
AS
89132007-11-26 Andreas Schwab <schwab@suse.de>
8914
8915 * process.c (list_processes_1): Fix indentation level of the
8916 command column.
8917
ff6e6ac8
AS
89182007-11-23 Andreas Schwab <schwab@suse.de>
8919
8920 * editfns.c (Fformat): Handle %c specially since it requires the
8921 argument to be of type int.
8922
f7cf8b20
SM
89232007-11-23 Markus Triska <markus.triska@gmx.at>
8924
8925 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 8926 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 8927
569c11e3
SM
89282007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
8929
8787dd73
SM
8930 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
8931 (find_symbol_value): Use do_symval_forwarding.
8932
569c11e3
SM
8933 * data.c (set_internal): Set the value in the `cons-cell' (for
8934 Buffer_Local_values) not only for frame-local variables.
8935
6af1696d
AS
89362007-11-22 Andreas Schwab <schwab@suse.de>
8937
8938 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
8939 values to sprintf.
8940 * keymap.c (Fsingle_key_description): Likewise.
8941 * print.c (print_object): Likewise.
8942
880820fe 89432007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
8944
8945 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
8946 file for image is nil.
8947
7c401d15
DN
89482007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
8949
8950 * term.c: Include stdarg.h.
569c11e3 8951 (fatal): Implement using varargs.
a0a3805c 8952 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 8953
64e16c3c
SM
89542007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
8955
8956 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
8957 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
8958 Update call to buffer_slot_type_mismatch.
8959 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
8960 (buffer_slot_type_mismatch): Update.
8961 * buffer.c (buffer_local_types): Remove.
8962 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
8963 (defvar_per_buffer): Set the type in the buffer_objfwd.
8964
d4aa48db 89652007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 8966
64e16c3c
SM
8967 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
8968 CreateFileMapping returns NULL on failure.
5f42a7eb 8969
d4aa48db 89702007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 8971
d4aa48db
MB
8972 * search.c (Fset_match_data): Remove the `evaporate' feature.
8973 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 8974
bdae0540
JR
89752007-11-21 Jason Rumney <jasonr@gnu.org>
8976
8977 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
8978
8979 * w32console.c (w32con_write_glyphs): Remove unused variables.
8980
202c09a8
DN
89812007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
8982
b951420f
DN
8983 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
8984
202c09a8
DN
8985 * s/darwin.h (MULTI_KBOARD): Remove.
8986
8987 * macfns.c (x_create_tip_frame, Fx_create_frame)
8988 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
8989
bae72c12
SM
89902007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
8991
e7c10f83
SM
8992 * buffer.c (Fbuffer_local_value): Remove redundant test.
8993 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
8994 than in `current-buffer' to match the comment.
8995 Do the swap using swap_in_global_binding.
8996
136eb6ed
SM
8997 * data.c (store_symval_forwarding, set_internal):
8998 * eval.c (specbind): Remove dead code.
8999
bae72c12
SM
9000 * coding.c (detect_coding, Fupdate_coding_systems_internal):
9001 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
9002 Since we do not want to see internal Lisp_*fwd objects here.
9003
880820fe 90042007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 9005
3d66b985
JD
9006 * sysdep.c (init_system_name): Use getaddrinfo if available.
9007
95fbaefc
JD
9008 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
9009 (x_scroll_bar_note_movement): start, end, with, height in struct
9010 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
9011
6c1d8cb6
DN
90122007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
9013
9014 * puresize.h (BASE_PURESIZE): Increase to 1190000.
9015
30f95089
SM
90162007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
9017
66b04bd4
SM
9018 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
9019 This undoes Richard's change of 14-Oct-2002.
9020
6d3f2bb2
SM
9021 * alloc.c (allocate_other_vector):
9022 * lisp.h (allocate_other_vector): Remove.
9023
b05b4e27
SM
9024 * window.c (struct save_window_data): Move non-lisp data to the end
9025 and make it `int' rather than Lisp_Object.
9026 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
9027 Done wrap/unwrap integer values.
9028 (Fset_window_configuration, compare_window_configurations):
9029 Update use of fields to their new types.
9030
056ce195
SM
9031 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
9032 Turn integer fields into `int'. Merge x_window_low and x_window_high.
9033 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
9034 (SET_SCROLL_BAR_X_WINDOW): Remove.
9035 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
9036 Access the new x_window field directly.
9037 * xterm.c (x_scroll_bar_create): Use a pseudovector.
9038 Don't wrap/unwrap integers into Lisp_Objects.
9039 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
9040 (x_scroll_bar_report_motion):
9041 Don't wrap/unwrap integers into Lisp_Objects.
9042 (x_term_init): Use SDATA.
9043 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
9044 (x_scroll_bar_set_handle, x_scroll_bar_remove)
9045 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
9046 (x_scroll_bar_report_motion, x_scroll_bar_clear):
9047 * xfns.c (x_set_background_color):
9048 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
9049 Access the new x_window field directly.
9050
30f95089
SM
9051 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
9052 (allocate_pseudovector): Make non-static.
6d3f2bb2 9053
30f95089
SM
9054 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
9055 (allocate_pseudovector): Declare.
6f69e89b 9056 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 9057
9b6112e8
AS
90582007-11-15 Andreas Schwab <schwab@suse.de>
9059
30f95089
SM
9060 * editfns.c (Fformat): Correctly format EMACS_INT values.
9061 Also take precision into account when formatting an integer.
0f860bd7 9062
9b6112e8
AS
9063 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
9064
262fcd41
SM
90652007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
9066
58da34c7
SM
9067 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
9068 (syms_of_keyboard): Defsubr it.
9069
262fcd41
SM
9070 * data.c (swap_in_global_binding): Fix longstanding bug where
9071 store_symval_forwarding was not called with the right second argument,
9072 thus causing objfwd-ing from being dropped.
9073
d29a9848
JB
90742007-11-14 Juanma Barranquero <lekktu@gmail.com>
9075
9076 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
9077 (Fx_display_pixel_height, Fx_display_planes)
9078 (Fx_display_color_cells, Fx_server_max_request_size)
9079 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9080 (Fx_display_visual_class, Fx_display_save_under):
9081 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
9082 (Fx_display_pixel_height, Fx_display_planes)
9083 (Fx_display_color_cells, Fx_server_max_request_size)
9084 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
9085 (Fx_display_mm_height, Fx_display_mm_width)
9086 (Fx_display_backing_store, Fx_display_visual_class)
9087 (Fw32_select_font, Fx_display_save_under):
9088 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
9089 (Fx_display_pixel_height, Fx_display_planes)
9090 (Fx_display_color_cells, Fx_server_max_request_size)
9091 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
9092 (Fx_display_save_under): Fix typos in docstrings.
9093
74084731
JB
90942007-11-14 Juanma Barranquero <lekktu@gmail.com>
9095
9096 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
9097 corresponding to deleted entries; they are an implementation detail.
9098 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
9099 Remove variables.
9100 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
9101 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
9102 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
9103 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
9104 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 9105 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 9106 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
9107 Fix typos in docstrings.
9108 (Fx_server_version): Reflow docstring.
9109 (Fw32_shell_execute): Doc fixes.
74084731 9110
fb053a1f
JB
91112007-11-13 Juanma Barranquero <lekktu@gmail.com>
9112
9113 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
9114 if w32_parse_hot_key returned nil.
9115
a457417e 91162007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 9117
a457417e 9118 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 9119
4b219faa
JR
91202007-11-09 Jason Rumney <jasonr@gnu.org>
9121
9122 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
9123
9124 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
9125
9126 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
9127 Remove W32_SCROLL_BAR_CLICK_EVENT.
9128
9129 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
9130 Add MULTIMEDIA_KEY_EVENT.
9131
9132 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
9133 (lispy_multimedia_keys) [WINDOWSNT]: New array.
9134 (make_lispy_event) [WINDOWSNT]: Use it to translate
9135 MULTIMEDIA_KEY_EVENT.
9136
9137 * w32term.h (WM_APPCOMMAND): Define if not already.
9138 (GET_APPCOMMAND_LPARAM): Likewise.
9139
9140 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
9141 WM_APPCOMMAND.
9142
9143 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
9144 (syms_of_w32fns): Export and initialize it.
9145 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
9146
c12ecb0a 91472007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
9148
9149 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
9150 twice.
9151
9152 * xdisp.c (handle_face_prop): Fix last change.
9153
c12ecb0a 91542007-11-09 Richard Stallman <rms@gnu.org>
048addec 9155
c12ecb0a
MB
9156 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
9157 not just for after-strings and before-strings.
9158 Call face_for_overlay_string and pass the overlay to it.
9159 (handle_display_prop): Determine whether property came from an overlay.
9160 Pass OVERLAY arg to handle_single_display_spec.
9161 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
9162 (load_overlay_strings): Fill in it->string_overlays.
9163 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 9164
c12ecb0a
MB
9165 * xfaces.c (face_for_overlay_string): Function renamed from
9166 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 9167
c12ecb0a
MB
9168 * dispextern.h (struct it): New elt string_overlays.
9169 New elt from_overlay, also in stack.
9170 Rearrange a few elements.
9171 (face_for_overlay_string): Decl renamed from
9172 face_at_buffer_position_no_overlays, and add argument.
15fff01d 9173
c12ecb0a 91742007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 9175
c12ecb0a
MB
9176 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
9177 to get the base face for an overlay string.
0d8466cc 9178
c12ecb0a 9179 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 9180
c12ecb0a 9181 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 9182
c12ecb0a 9183 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 9184
c12ecb0a 91852007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 9186
c12ecb0a
MB
9187 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
9188 Fix conversion from Lisp object to ATSUFontID.
07025a55 9189
c12ecb0a 91902007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 9191
c12ecb0a 9192 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 9193
c12ecb0a 91942007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 9195
c12ecb0a
MB
9196 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
9197 Don't assume regions are aligned to page boundary.
9198 (print_load_command_name): Add LC_UUID if defined.
3a232704 9199
c12ecb0a 92002007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 9201
c12ecb0a 9202 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 9203
b8ddfbcc
JR
92042007-11-07 Jason Rumney <jasonr@gnu.org>
9205
9206 * s/windows95.h: Remove.
9207
880820fe 92082007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
9209
9210 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
9211 abort with a message on unhandled store_type values.
9212
880820fe 92132007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
9214
9215 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
9216 Remove HAVE_X11R5 and HAVE_X11R4.
9217
04a697fe
DN
92182007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9219
9220 * Makefile.in: Remove references to sunfns.c and sunfns.o.
9221
880820fe 92222007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
9223
9224 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 9225 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
9226 x_set_glyph_string_gc from x_draw_glyph_string.
9227
07e5c0b0
DN
92282007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
9229
2a2e8de7 9230 * sunfns.c: Remove file.
07e5c0b0
DN
9231
9232 * m/sun386.h:
9233 * m/sun2.h:
9234 * m/sparc.h: Remove Sun windows code.
9235
1bc973c2
SM
92362007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
9237
9238 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
9239 (init_keyboard): Set current_kboard's window-system to nil.
9240 (tty_read_avail_input): Typo.
9241 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
9242
c22140f6
DN
92432007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
9244
9245 * s/usg5-4.h:
9246 * s/usg5-3.h:
9247 * s/ptx.h:
9248 * m/is386.h:
9249 * m/ibmps2-aix.h:
2a2e8de7 9250 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
9251
9252 * dispnew.c (syms_of_display): Don't mention version 10.
9253
660a8219
JB
92542007-10-28 Juanma Barranquero <lekktu@gmail.com>
9255
9256 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
9257 ($(BLD)/abbrev.$(O)): Remove.
9258
e047f448
SM
92592007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
9260
9261 Rewrite abbrev.c in Elisp.
9262 * image.c (Qcount): Don't declare as extern.
9263 (syms_of_image): Initialize and staticpro `Qcount'.
9264 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
9265 * emacs.c (main): Don't call syms_of_abbrev.
9266 * Makefile.in (obj): Remove abbrev.o.
9267 (abbrev.o): Remove.
9268 * abbrev.c: Remove.
9269
67b73e3a
MR
92702007-10-26 Martin Rudalics <rudalics@gmx.at>
9271
9272 * window.c (window_min_size_2): Don't count header-line.
9273
e3d7bd83
DN
92742007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
9275
9276 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 9277 field to take advantage of the available space. Group all the
e3d7bd83
DN
9278 chars together to reduce wasted space due to padding.
9279
a3547743
JB
92802007-10-26 Juanma Barranquero <lekktu@gmail.com>
9281
e298936f
JB
9282 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
9283
d3d47262
JB
9284 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
9285 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
9286 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
9287 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
9288 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
9289 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
9290 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
9291 (last_marked, mark_object_loop_halt): Make static.
9292
a3547743
JB
9293 * frame.c (syms_of_frame) <delete-frame-functions>:
9294 Fix typo in docstring.
9295
14c71d8b
JB
92962007-10-25 Juanma Barranquero <lekktu@gmail.com>
9297
9298 * w32.c (init_environment): Fix tiny memory leak.
66199f74 9299 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 9300
70b8d0a4
SM
93012007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
9302
9303 Make `window-system' into a keyboard-local variable (rather than
9304 frame-local as done originally by multi-tty).
9305
9306 * keyboard.h (struct kboard): Add Vwindow_system.
9307 * keyboard.c (init_kboard): Set a default for Vwindow_system.
9308 (mark_kboards): Mark Vwindow_system.
9309
9310 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
9311 (init_display): Don't set the obsolete `window-system' frame-param.
9312
9313 * xterm.c (x_term_init):
9314 * w32term.c (w32_create_terminal):
9315 * term.c (init_tty): Set Vwindow_system.
9316 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
9317 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
9318
9319 * xfns.c (Fx_create_frame, x_create_tip_frame):
9320 * w32fns.c (Fx_create_frame, x_create_tip_frame):
9321 * macfns.c (Fx_create_frame):
9322 Don't set the obsolete `window-system' frame-param.
9323
9324 * frame.h (Qwindow_system): Remove.
9325 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
9326 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
9327
fdc90613 93282007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 9329
fdc90613
MB
9330 * frame.c (x_figure_window_size): For fullscreen case,
9331 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 9332
fdc90613 9333 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 9334
fdc90613 9335 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 9336
7357cb04
SM
93372007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
9338
98228e72
SM
9339 * process.c (unwind_request_sigio): Only define if __ultrix__.
9340
1baf6db9
SM
9341 * callproc.c (child_setup): Remove spurious *.
9342
4d0ac3d7
SM
9343 * lisp.h (Fget_text_property): Declare.
9344 (have_menus_p): Declare it here rather than in sys-dep header files.
9345 * macterm.h (have_menus_p):
9346 * msdos.h (have_menus_p):
9347 * xterm.h (have_menus_p): Remove.
9348
7357cb04
SM
9349 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
9350 (Fmake_variable_frame_local): Just check the variable's const-ness
9351 rather than checking nil or t.
9352
866e6dd6
JR
93532007-10-22 Jason Rumney <jasonr@gnu.org>
9354
b00afeae
JR
9355 * w32fns.c: Include math.h.
9356 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 9357
c8f7c76b
JR
9358 * s/ms-w32.h (HAVE_STDLIB_H): Define.
9359 (abort): Redefinition moved to nt/config.nt.
9360
866e6dd6
JR
9361 * m/windowsnt.h: Remove.
9362
e79beb56
JB
93632007-10-22 Juanma Barranquero <lekktu@gmail.com>
9364
9365 * emacs.c (Fdump_emacs): Fix typo in message.
9366 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
9367 <installation-directory>: Reflow docstring.
9368
fb30dfd2
JL
93692007-10-22 Juri Linkov <juri@jurta.org>
9370
9371 * minibuf.c: Allow minibuffer default to be a list of default values.
9372 With empty input use the first element of this list as returned default.
e79beb56 9373 (string_to_object)
0f7f11b7 9374 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
9375 (read_minibuf): If defalt is cons, set histstring to its car.
9376 (Fread_string): If default_value is cons, set val to its car.
9377 (Fread_buffer): If def is cons, use its car.
9378 (Fcompleting_read): If defalt is cons, set val to its car.
9379
1f163f28
MA
93802007-10-21 Michael Albinus <michael.albinus@gmx.de>
9381
9382 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
9383
db3534c3
JB
93842007-10-20 Juanma Barranquero <lekktu@gmail.com>
9385
9386 * doc.c (Fdocumentation): Check for advice in all cases.
9387
c6f18a07
CY
93882007-10-19 Chong Yidong <cyd@stupidchicken.com>
9389
9390 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
9391
2a1534d3
RS
93922007-10-19 Richard Stallman <rms@gnu.org>
9393
9394 * doc.c (Fdocumentation): Check for and handle an advised function.
9395
7b82c3b6
JB
93962007-10-19 Juanma Barranquero <lekktu@gmail.com>
9397
9398 * process.c (Fset_process_filter): Doc fix.
9399
3278f20e
SM
94002007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
9401
9402 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
9403 which caused key-translation-map to applied repeatedly (thus breaking
9404 double-mode).
9405
99784d63
SM
94062007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9407
9408 * xselect.c (x_own_selection, x_handle_selection_clear)
9409 (x_clear_frame_selections):
9410 * w32menu.c (list_of_panes, list_of_items):
9411 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
9412 * textprop.c (validate_plist, interval_has_all_properties)
9413 (interval_has_some_properties, interval_has_some_properties_list)
9414 (add_properties, text_property_list):
9415 * process.c (Fget_buffer_process, list_processes_1, status_notify):
9416 * minibuf.c (Fassoc_string):
9417 * macselect.c (x_own_selection, x_clear_frame_selections)
9418 (Fx_disown_selection_internal):
9419 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
9420 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
9421
44bb704d
CY
94222007-10-17 Chong Yidong <cyd@stupidchicken.com>
9423
9424 * process.c: Link to libs for calling res_init() if available.
9425 (Fmake_network_process): Call res_init() before getaddrinfo or
9426 gethostbyname, if possible.
9427
d314756e
SM
94282007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
9429
2504022a
SM
9430 * lread.c (read1): Set pvectype for char_tables.
9431
19fa82b9
SM
9432 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
9433 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
9434 Add type checks.
9435 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
9436
d314756e
SM
9437 * alloc.c (free_misc): Use XMISCTYPE.
9438 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
9439
94b9aaa2
GM
94402007-10-17 Glenn Morris <rgm@gnu.org>
9441
9442 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
9443 (syms_of_minibuf): Add Qcompletion_ignore_case.
9444 * dired.c (Qcompletion_ignore_case): Change to external.
9445 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
9446 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
9447 (Fread_file_name): Use it rather than intern'ing.
9448
9449 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
9450 (Fread_coding_system): Ignore case of user input.
9451
da6658e8
YM
94522007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9453
9454 * xdisp.c (handle_display_prop): Ignore display specs after
9455 replacing one when string text is being replaced.
9456 (handle_single_display_spec): Pretend as if characters with display
9457 property haven't been consumed only when buffer text is being replaced.
9458
11fb4bdb
SM
94592007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
9460
9beb8baa
SM
9461 * xfns.c (Fx_create_frame, Fx_display_list):
9462 * window.c (window_fixed_size_p, enlarge_window)
9463 (shrink_window_lowest_first):
9464 * macterm.c (init_font_name_table):
9465 * macfns.c (Fx_create_frame, Fx_display_list):
9466 * lread.c (close_load_descs):
9467 * keyboard.c (read_char_x_menu_prompt):
9468 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
9469 * coding.c (code_convert_region_unwind): Test the type of an object
9470 rather than just !NILP before extracting data from it.
9471
d3f41ff5
SM
9472 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
9473
67ee9f6e
SM
9474 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
9475 (XMISCANY): New macro.
9476 (XMISCTYPE): Use it.
9477 (struct Lisp_Misc_Any): New type.
9478 (union Lisp_Misc): Use it.
9479 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
9480 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
9481 (find_symbol_value, set_internal, default_value, Fset_default)
9482 (Fmake_variable_buffer_local, Fmake_local_variable)
9483 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
9484 (Flocal_variable_if_set_p, Fvariable_binding_locus):
9485 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
9486 * alloc.c (allocate_buffer): Set the size and tag.
9487 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
9488 Use XMISCANY.
9489 (die): Follow the GNU convention for error messages.
9490 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
9491 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
9492 tag any more.
9493 (set_buffer_internal_1):
9494 * frame.c (store_frame_param):
9495 * eval.c (specbind):
9496 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
9497
11fb4bdb
SM
9498 * doc.c (Fsnarf_documentation): Simplify.
9499
decb374a
JB
95002007-10-14 Juanma Barranquero <lekktu@gmail.com>
9501
9502 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
9503 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
9504
b5a40ee7
SM
95052007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
9506
9507 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
9508
35277b03
JB
95092007-10-14 Juanma Barranquero <lekktu@gmail.com>
9510
9511 * eval.c (do_autoload): Don't save autoloads.
9512
9513 * data.c (Ffset): Save autoload of the function being set.
9514
35fdaa62
GM
95152007-10-07 John Paul Wallington <jpw@pobox.com>
9516
9517 * xfns.c (x_create_tip_frame): Set the `display-type' frame
9518 parameter before setting up faces.
9519
1ea40aa2
EZ
95202007-10-13 Eli Zaretskii <eliz@gnu.org>
9521
35fdaa62 9522 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
9523 * keyboard.c (append_tool_bar_item): Reformat last change.
9524
1ea40aa2
EZ
9525 * lisp.h (eabs): Rename from `abs'. All callers changed.
9526
35277b03 95272007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
9528
9529 * buffer.c (add_overlay_mod_hooklist):
9530 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
9531 * fontset.c (make_fontset):
9532 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
9533 (append_tool_bar_item):
9534 * macmenu.c (grow_menu_items):
35fdaa62 9535 * w32menu.c (grow_menu_items):
71d00ce4 9536 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 9537
bc82f120
EZ
95382007-10-13 Eli Zaretskii <eliz@gnu.org>
9539
9540 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
9541 selected frame'' on MSDOS).
9542
d57d5a78
MR
95432007-10-12 Martin Rudalics <rudalics@gmx.at>
9544
9545 * frame.c (Qexplicit_name): New variable.
9546 (x_report_frame_params): Report it in parameter alist.
9547 (syms_of_frame): Intern and staticpro it.
9548
35277b03 95492007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
9550
9551 * macfns.c (x_create_tip_frame): Set terminal for frame.
9552
c7a4b95b
SM
95532007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
9554
26f9c7b7
SM
9555 * frame.c (Qenvironment): Remove.
9556 (syms_of_frame) <Qenvironment>: Don't initialize.
9557 (Fdelete_frame): Don't treat the `environment' param specially.
9558 * frame.h (Qenvironment): Don't declare.
9559 * callproc.c (set_initial_environment): Don't set unused frame param.
9560
c7a4b95b
SM
9561 * frame.c (Fframe_with_environment): Remove.
9562 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 9563
c7a4b95b
SM
9564 * lisp.h (Fframe_with_environment): Don't declare.
9565
c86f7377
JB
95662007-10-10 Juanma Barranquero <lekktu@gmail.com>
9567
9568 * indent.c (indent_tabs_mode, last_known_column)
9569 (last_known_column_modified): Make static.
9570 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
9571
d1b3a122
KY
95722007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
9573
9574 * puresize.h (BASE_PURESIZE): Increase to 1170000.
9575
d57d5a78
MR
95762007-10-09 Jason Rumney <jasonr@gnu.org>
9577
9578 * w32term.c (x_set_window_size): Disable code that attempts to tell
9579 Lisp code about a size change before it actually happens.
9580
81d3d428 95812007-10-09 Richard Stallman <rms@gnu.org>
91175673 9582
81d3d428
MB
9583 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
9584 return HANDLED_RETURN.
91175673 9585
1af74d06 95862007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 9587
1af74d06
MB
9588 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
9589 when there's an unread command event.
e0fead5d 9590
c7a4b95b 9591 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
9592 window autoselection act appropriately when leaving selected frame.
9593 (syms_of_frame): Initialize focus_follows_mouse.
9594 * frame.h (focus_follows_mouse): Extern it.
9595 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 9596 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
9597 * msdos.c (dos_rawgetc): Likewise.
9598 * w32term.c (w32_read_socket): Likewise.
9599 * xterm.c (handle_one_xevent): Likewise.
9600 * xdisp.c (syms_of_xdisp): In doc-string of
9601 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 9602
1af74d06 96032007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 9604
1af74d06
MB
9605 * macterm.c (mac_load_query_font): Fix missing return value.
9606 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
9607 Add BLOCK_INPUT.
c186cdb3 9608
1af74d06 96092007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 9610
1af74d06
MB
9611 * xdisp.c (get_window_cursor_type): Implement documented behavior
9612 for cursor-in-non-selected-windows = t.
c186cdb3 9613
1af74d06 96142007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 9615
1af74d06 9616 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 9617
1af74d06 96182007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 9619
1af74d06 9620 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 9621
1af74d06 9622 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 9623
1af74d06 96242007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 9625
c7a4b95b 9626 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 9627
1af74d06 96282007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 9629
1af74d06 9630 * buffer.c (Foverlays_at): Doc fix.
036e218d 9631
1af74d06 96322007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 9633
1af74d06 9634 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 9635
1af74d06 96362007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 9637
1af74d06 9638 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 9639
1af74d06 9640 * frame.h (enum): Remove trailing comma.
90647b07 9641
1af74d06 96422007-10-08 Dhuvra Krishnamurthy <dhuvrakm@gmail.com> (tiny change)
90647b07 9643
1af74d06 9644 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 9645
1af74d06 96462007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 9647
1af74d06 9648 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 9649
1af74d06
MB
9650 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
9651 last-repeatable-command.
9652 (init_kboard): Initialize Vlast_repeatable_command.
9653 (command_loop_1): Set it to real_this_command unless that was
9654 bound to an input event.
9655 (mark_kboards): Mark it.
9fbc32aa 9656
1af74d06 96572007-10-08 Richard Stallman <rms@gnu.org>
036e218d 9658
1af74d06 9659 * eval.c (condition-case): Doc fix.
9fbc32aa 9660
1af74d06 96612007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 9662
1af74d06
MB
9663 * xfaces.c (tty_supports_face_attributes_p): Fix code
9664 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
9665 was copied and not edited.
9fbc32aa 9666
beb9f745
SM
96672007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
9668
c86f7377 9669 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
9670 escape sequences.
9671 * keyboard.h (struct kboard): Add Vinput_decode_map.
9672 Remove Vlocal_key_translation_map.
9673 * keyboard.c (read_key_sequence): Add support for input-decode-map.
9674 (init_kboard): Init input-decode-map.
9675 Replace local-key-translation-map back with key-translation-map.
9676 (syms_of_keyboard): Declare input-decode-map.
9677 Remove local-key-translation-map. Update docstrings.
9678 (mark_kboards): Mark Vinput_decode_map.
9679 Don't mark Vlocal_key_translation_map.
9680 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
9681 Replace local-key-translation-map back with key-translation-map.
9682 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
9683 Bind in input-decode-map rather than function-key-map.
9684
beb9f745
SM
9685 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
9686 This was made redundant by the previous introduction of XSETPVECTYPE.
9687
65342ae3
RS
96882007-10-09 Richard Stallman <rms@gnu.org>
9689
beb9f745 9690 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
9691
96922007-09-29 Richard Stallman <rms@gnu.org>
9693
9694 * eval.c (internal_condition_case_2, internal_condition_case_1)
9695 (internal_condition_case): Reenable abort if x_catching_errors ()
9696 to see if that really happens and why.
9697
6cff77fd
AS
96982007-10-06 Andreas Schwab <schwab@suse.de>
9699
9700 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
9701
bbe6f2aa
JB
97022007-10-04 Juanma Barranquero <lekktu@gmail.com>
9703
9704 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
9705
a390930c
SM
97062007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
9707
9708 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
9709
d6aa1876
SM
97102007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
9711
d0fdb6da
SM
9712 * window.h (struct window):
9713 * window.c (struct save_window_data, struct saved_window):
9714 * termhooks.h (struct terminal):
9715 * process.h (struct Lisp_Process):
9716 * frame.h (struct frame):
9717 * buffer.h (struct buffer):
9718 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
9719 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
9720 The size field of (pseudo)vectors is now unsigned.
9721 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
9722
878f97ff
SM
9723 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
9724 Turn `count' into an integer.
d0fdb6da 9725
878f97ff
SM
9726 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
9727 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
9728 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
9729 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
9730 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
9731
d2029e5b
SM
9732 * alloc.c (allocate_pseudovector): New fun.
9733 (ALLOCATE_PSEUDOVECTOR): New macro.
9734 (allocate_window, allocate_terminal, allocate_frame)
9735 (allocate_process): Use it.
9736 (mark_vectorlike): New function.
9737 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
9738 (mark_terminals): Use it.
9739 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
9740 (Fmake_byte_code): Use XSETPVECTYPE.
9741
9742 * frame.c (Fframe_parameters): Minor simplification.
9743
9744 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
9745
9746 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
9747
9748 * buffer.c (Fget_buffer_create, init_buffer_once):
9749 * lread.c (defsubr):
9750 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
9751
9752 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
9753 defined differently in the m/*.h files.
9754 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
9755 (XSETPVECTYPE): New macro.
9756 (XSETPSEUDOVECTOR): Use it.
9757
d6aa1876
SM
9758 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
9759 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 9760
d6aa1876
SM
9761 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
9762 * lread.c (defvar_per_buffer):
9763 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
9764
9765 * window.c (candidate_window_p): Only consider as visible frames that
9766 are on the same terminal.
9767
9768 * m/ibms390x.h (MARKBIT): Remove unused macro.
9769
88852d45
JB
97702007-10-01 Juanma Barranquero <lekktu@gmail.com>
9771
9772 * lread.c (Fload): Fix typo in docstring.
9773
880820fe 97742007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
9775
9776 * floatfns.c (Fexpt): Manually check for overflows, so that a power
9777 of a non-zero value can't yield zero.
9778
ed0c79c6
SM
97792007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
9780
b870aa61
SM
9781 * term.c (term_clear_mouse_face, term_mouse_highlight)
9782 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
9783
4c37a414
SM
9784 * print.c (safe_debug_print): Use XHASH.
9785
b9466edb
SM
9786 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
9787 Lisp elements such as tags.
9788 (XHASH): New macro.
9789 (EQ): Use it.
9790 (SREF, SSET, STRING_COPYIN): Use SDATA.
9791 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
9792
9c545a55
SM
9793 * alloc.c (mark_terminal): Remove left-over declaration.
9794 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
9795 (allocate_vectorlike): Remove type argument. Adjust callers.
9796 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
9797 Only handle the one remaining MEM_TYPE_VECTORLIKE.
9798
dafc79fa
SM
9799 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
9800 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
9801 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
9802 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
9803 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
9804 Use them.
9805
ed0c79c6
SM
9806 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
9807 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
9808 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
9809
3c81afd4
DN
98102007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
9811
9812 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
9813 loaded by default.
9814
6178ce5e
SM
98152007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
9816
4ce5ab77
SM
9817 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
9818 on this tty.
9819 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
9820
6178ce5e
SM
9821 * term.c (mouse_face_window): Rename from Qmouse_face_window.
9822 Update all users.
9823 (handle_one_term_event): Use Gpm_DrawPointer.
9824 (Fgpm_mouse_start): Rename from Fterm_open_connection.
9825 Signal errors instead of returning nil. Always return nil.
9826 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
9827 Make it a noop if gpm-mouse was not activated.
9828 (syms_of_term): Update names.
9829
bdf5f8ef
SM
98302007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
9831
75a8734b
SM
9832 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
9833 (init_sys_modes): Check that gpm_tty is the current tty.
9834
13559ee0
SM
9835 * alloc.c (allocate_terminal): Set the vector size to only count the
9836 lisp fields. Initialize those to nil.
9837 (mark_object): Don't treat terminals specially.
9838 (mark_terminal): Remove.
9839 (mark_terminals): Use mark_object instead.
9840
ff16b875
SM
9841 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
9842 the GC to the beginning.
9843
83155776
SM
9844 * indent.h:
9845 * indent.c: Use EMACS_INT for ints coming from Elisp data.
9846
bdf5f8ef
SM
9847 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
9848
ec8705b6
JR
98492007-09-25 Jason Rumney <jasonr@gnu.org>
9850
9851 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
9852
9853 * w32console.c (create_w32cons_output): Remove.
9854
9855 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
9856
9857 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
9858 (reset_sys_modes): Use reset_terminal_modes_hook.
9859
7351b242
SM
98602007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
9861
9862 * eval.c (do_autoload): Don't output any message.
9863
16706228
JL
98642007-09-24 Juri Linkov <juri@jurta.org>
9865
9866 * emacs.c (standard_args): Change priority of "--no-splash"
9867 from 40 to 3. Add "--no-desktop" with the same priority.
9868
3ae2e3a3
RS
98692007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
9870
9871 * alloc.c (gc_sweep): Check cons cell mark bits word by word
9872 and optimize the case where they are all 1.
9873
7a58fb43
GM
98742007-09-23 Johannes Weiner <hannes@saeurebad.de>
9875
3ae2e3a3
RS
9876 * lisp.h (abs): Define if not defined.
9877 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
9878 Don't define `abs', since it's defined in lisp.h.
7a58fb43 9879
78048085
EZ
98802007-09-22 Eli Zaretskii <eliz@gnu.org>
9881
c7a4b95b 9882 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
9883 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
9884 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
9885 (init_tty): Use DEV_TTY instead of "/dev/tty".
9886 [WINDOWSNT]: No need to protect from NAME arg being null.
9887
23d4cba5
DN
98882007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
9889
9890 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
9891 up the tty state.
9892
71f44e7a
SM
98932007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
9894
9895 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
9896 (gpm_tty): Change its type.
9897 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
9898 (gpm_tty): Change its type and initialize it.
9899 (Fterm_open_connection): Check the frame is indeed a tty.
9900 Use the new gpm_tty.
9901 (Fterm_close_connection): Use the new gpm_tty.
9902 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
9903 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
9904
def7fa34
JB
99052007-09-21 Juanma Barranquero <lekktu@gmail.com>
9906
9907 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
9908 underline_color, to draw strike-through.
9909
d2bb6598
SM
99102007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
9911
273f164c
SM
9912 * lisp.h (allocate_terminal): Declare.
9913
ca2d5566
SM
9914 * window.c (candidate_window_p): Consider frames that are being placed
9915 by the user as somewhere between visible and iconified.
9916 (window_loop): Prefer windows on the current frame.
9917 (Fselect_window): Move the use of select-frame to the beginning so we
9918 can just delegate all the work (it'll call us back anyway).
9919
6168122d
SM
9920 * frame.c (Qdisplay_environment_variable):
9921 * frame.h (Qdisplay_environment_variable): Delete.
9922
c51842ec
SM
9923 * .gdbinit (xbacktrace): Print the arg's address rather than the value
9924 of the first arg, since that value may be a union.
9925
d2bb6598
SM
9926 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
9927 parameter rather than Qdisplay_environment_variable. If all else
9928 fails, look for DISPLAY in initial-environment.
9929
6f022c19
GM
99302007-09-21 Glenn Morris <rgm@gnu.org>
9931
9932 * Makefile.in (emacstool): Remove target.
f466320b 9933 (lisp, shortlisp): Remove termdev.elc.
6f022c19 9934
ea1bf8c7
GM
99352007-09-21 Markus Triska <markus.triska@gmx.at>
9936
d2bb6598 9937 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 9938
d30a25b3
SM
99392007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
9940
db699fc6
SM
9941 * callproc.c (getenv_internal_1): New function.
9942 (getenv_internal): Use it.
9943 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
9944
d2bb6598 9945 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
9946 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
9947 (Fset_terminal_parameter): Work with dead terminals as well.
9948 (Fmodify_terminal_parameters): Remove.
9949
d30a25b3
SM
9950 * terminal.c (get_terminal): Handle terminals.
9951 Make sure the terminal returned is live.
9952 (create_terminal): Use allocate_terminal.
9953 (mark_terminals): Move to alloc.c.
9954 (delete_terminal): Use terminal->name as liveness status.
9955 NULL out fields after freeing their contents.
9956 Don't deallocate the object.
9957 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
9958 rather than an int.
9959 (Fterminal_live_p): Accept non-integer arguments.
9960 (Fterminal_list): Return terminal objects rather than an ints.
9961
9962 * alloc.c (enum mem_type): New member for `terminal' objects.
9963 (allocate_terminal): New function.
d2bb6598
SM
9964 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
9965 Handle terminals.
d30a25b3
SM
9966 (mark_terminal): New fun.
9967 (mark_terminals): Move from terminal.c.
9968
9969 * term.c (get_tty_terminal): Don't treat output_initial specially.
9970 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
9971 (delete_tty): Use terminal->name as liveness status.
9972
9973 * termhooks.h (struct terminal): Make it into a pseudovector.
9974 Remove `deleted' replaced by checking `name's nullness.
9975
9976 * print.c (print_object): Handle terminals.
9977
9978 * lisp.h (enum pvec_type): New `terminal' pseudovector.
9979 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
9980
9981 * frame.c (make_terminal_frame):
9982 * keyboard.c (tty_read_avail_input):
9983 * w32term.c (x_delete_terminal):
9984 * xfns.c (Fx_create_frame, x_create_tip_frame):
9985 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
9986
eba25e7c
GM
99872007-09-20 Glenn Morris <rgm@gnu.org>
9988
9989 * process.c (Fmake_network_process): Doc fix.
9990
2a29c3c1
JR
99912007-09-19 Jason Rumney <jasonr@gnu.org>
9992
9993 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
9994
880820fe 99952007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
9996
9997 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
9998 Fix a C warning regarding variable constness.
9999
10000 * xterm.c (handle_one_xevent): Fix a C warning.
10001
334a1195
JR
100022007-09-18 Jason Rumney <jasonr@gnu.org>
10003
10004 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
10005
880820fe 100062007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
10007
10008 * gtkutil.c (gdpy_def): New variable.
10009 (xg_initialize): Initialize gdpy_def.
10010 (xg_display_close): If no other display exists, set gdpy_def to a
10011 new connection.
10012
880820fe 100132007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
10014
10015 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
10016 when we have no file name for the icon.
10017 (xg_tool_bar_expose_callback): Remove.
10018 (xg_create_tool_bar): Don't connect expose signal to
10019 xg_tool_bar_expose_callback.
10020 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
10021
4d580af2
AS
100222007-09-16 Andreas Schwab <schwab@suse.de>
10023
10024 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
10025 values instead of zapping them.
10026
aca946f3
GM
100272007-09-14 Glenn Morris <rgm@gnu.org>
10028
10029 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
10030 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
10031 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
10032 scope and rename to omfib_buffer for clarity.
10033 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
10034
25c460e5
KH
100352007-09-14 Kenichi Handa <handa@m17n.org>
10036
10037 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
10038
09b69f01
JR
100392007-09-13 Jason Rumney <jasonr@gnu.org>
10040
10041 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
10042
10043 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
10044
10045 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
10046 (mac_term_init): Call here instead, passing rif.
10047
442218db
GM
100482007-09-13 Glenn Morris <rgm@gnu.org>
10049
10050 * s/hpux.h: No longer define `static' as nothing.
10051
880820fe 100522007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
10053
10054 * callint.c (Fcall_interactively): Remove unused var `fun'.
10055
1971a872
RF
100562007-09-12 Romain Francoise <romain@orebokech.com>
10057
10058 * window.c (prefer_window_split_horizontally, display_buffer):
10059 Revert 2007-09-08 change.
10060
2d33f506
GM
100612007-09-12 Glenn Morris <rgm@gnu.org>
10062
585474ae 10063 * alloca.c: Remove file.
ca7af97a
GM
10064 * Makefile.in (alloca): Do not undef.
10065 (allocaobj, alloca.o): Remove.
10066 (otherobj): Remove allocaobj.
10067 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
10068 * regex.c (C_ALLOCA): Remove all references and code that was only
10069 used when this was defined.
10070 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
10071 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
10072 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
10073
2d33f506 10074 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
10075
10076 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
10077 (menu_grab_callback): All uses changed.
10078
10079 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
10080 (x_reply_selection_request): All uses changed.
2d33f506 10081
18a4a65e
SM
100822007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
10083
10084 * lread.c (load_warn_old_style_backquotes): Change message to look
10085 better when it appears in the middle of byte-compiler messages.
10086
47cc8819
DN
100872007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
10088
b7ea0894
DN
10089 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
10090
47cc8819
DN
10091 * xterm.c (x_create_terminal): Add comment.
10092
10093 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
10094
5632bd0f
RS
100952007-09-10 Richard Stallman <rms@gnu.org>
10096
10097 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
10098
880820fe 100992007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 10100
4bca9161
MC
10101 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
10102 (DEFUN): Document `intspec', use it instead of `prompt'.
10103
04724b69
MC
10104 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
10105
8a6d230a
MC
10106 * data.c (Finteractive_form): If the interactive specification starts
10107 with a `(', use it as a Lisp form.
10108
09fbdf6c
MC
10109 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
10110 name and file modes.
10111
ccb5c14f
MC
10112 * callint.c (Fcall_interactively): Comment fixes.
10113
023accd6
SM
101142007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
10115
10116 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
10117 and compiled functions.
10118
f26b9544
EZ
101192007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
10120
10121 * window.c (prefer_window_split_horizontally): New variable.
10122 (display_buffer): Consider splitting window horizontally depending
10123 on prefer_window_split_horizontally.
10124
4d395425
EZ
101252007-09-08 Eli Zaretskii <eliz@gnu.org>
10126
97ddc760 10127 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 10128
08c1d235
SM
101292007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10130
179cef48
SM
10131 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
10132
08c1d235
SM
10133 * frame.c (x_set_frame_parameters): Check number is positive before
10134 using XFASTINT.
10135
10136 * window.c (freeze_window_start): Don't presume selected_window holds
10137 a window object.
92f94a12 10138 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 10139
97ddc760 101402007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
10141
10142 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
10143
90ab5c62
SM
101442007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
10145
10146 * window.c (Vsplit_window_preferred_function): New var.
10147 (Fdisplay_buffer): Use it.
10148 (syms_of_window): Export, and initialize it.
10149
1ab2cd43
TTN
101502007-09-06 Pixel <pixel@mandriva.com> (tiny change)
10151
10152 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
10153
0b0515bc
GM
101542007-09-06 Glenn Morris <rgm@gnu.org>
10155
57fd5c55 10156 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
10157 * xselect.c (x_reply_selection_request) <cnt>: Move static
10158 variable to file scope.
10159
98594580
SM
101602007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
10161
10162 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
10163 consistent values of selected_frame and selected_window.
10164
0f4c7aef
JR
101652007-09-04 Jason Rumney <jasonr@gnu.org>
10166
10167 * w32console.c (initialize_w32_display): Zero unused hooks.
10168
e4019195
DN
101692007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10170
10171 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
10172 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
10173
bce179b5
JR
101742007-09-04 Jason Rumney <jasonr@gnu.org>
10175
a0236551
JR
10176 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
10177 in w32console.c. Set up input. Remove XXX comments that have been
10178 confirmed as correct.
10179
a4926668
JR
10180 * s/ms-w32.h (MULTI_KBOARD): Define.
10181
953bf0dc
JR
10182 * w32console.c (one_and_only_w32cons): Remove.
10183 (initialize_w32_display): Take terminal argument.
10184
10185 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
10186 initialize_w32_display.
10187 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
10188
bce179b5
JR
10189 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
10190
10191 * keyboard.c (discard_mouse_events): Discard it.
10192 (make_lispy_event): Translate it to a lisp event.
10193 (lispy_wheel_names): Add wheel-left and right events.
10194 (syms_of_keyboard): Enlarge wheel_syms.
10195
10196 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
10197 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
10198
10199 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
10200
10201 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
10202 from WM_MOUSEHWHEEL.
10203 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
10204
10205 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
10206 terminal.
10207
10208 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
10209 keyboard for the terminal.
10210
92cd6a7c
DN
102112007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
10212
10213 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
10214 (Vresume_tty_hook): Rename from Vresume_tty_functions.
10215 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
10216 and resume-tty-function to resume-tty-hook.
10217 (Fsuspend_tty, Fresume_tty): Use new names.
10218
880820fe 102192007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
10220
10221 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
10222 if it starts with "n:".
10223
880820fe 102242007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
10225
10226 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
10227
6b8e474c
SM
102282007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
10229
92d9c1d4
SM
10230 * frame.h:
10231 * frame.c (Qterm_environment_variable): Remove.
10232 (syms_of_frame): Don't init and staticpro it.
10233
92d9c1d4
SM
10234 * callproc.c (getenv_internal): Remove special case for $TERM.
10235
6b8e474c
SM
10236 * callproc.c (Vinitial_environment): New variable.
10237 (set_initial_environment): Initialize it.
10238 (syms_of_callproc): Declare it.
10239 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
10240 TERM under which a process runs is never related to the TERM in which
10241 Emacs is running.
10242
0f1444e1
DN
102432007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10244
10245 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
10246 * s/darwin.h: ... do it here.
10247
b8866860
SM
102482007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
10249
10250 * lisp.h (set_initial_environment): Rename from set_global_environment.
10251
10252 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
10253 removed by mistake on the multi-tty branch.
10254
10255 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
10256 (Fmodify_frame_parameters): Return a value.
10257
10258 * image.c (png_load): Comment-out var only used in commented-out code.
10259
10260 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
10261 before passing it to mark_object.
10262
10263 * xfaces.c (internal_resolve_face_name): Return a value.
10264 (internal_resolve_face_name, resolve_face_name_error): Comment out.
10265
10266 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
10267 (x_icon): Comment-out var only used in commented-out code.
10268
0a42be6d
RF
102692007-08-29 Romain Francoise <romain@orebokech.com>
10270
10271 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
10272 QUIT hasn't been provided.
10273
8d9cc0b7
MB
102742007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
10275
10276 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 10277 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
10278 (set_initial_environment): Initialise Vprocess_environment.
10279
10280 * config.in: Disable multi-keyboard support on a mac.
10281
10282 * frame.c (Qterm_environment_variable)
10283 (Qdisplay_environment_variable): New variables.
10284 (syms_of_frame): Intern and staticpro them.
10285 (Fmake_terminal_frame): Disable output method test.
10286
10287 * frame.h: Declare them here.
10288
10289 * macfns.c (x_set_mouse_color): Get rif from the frame.
10290 (x_set_tool_bar_lines): Don't use updating_frame.
10291 (mac_window): Add 2 new parameters for consistency with other systems.
10292 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
10293 frame parameters following what is done in X11 and w32. Don't use
10294 FRAME_MAC_DISPLAY_INFO.
10295 (Fx_open_connection, start_hourglass): Remove window-system check.
10296 (x_create_tip_frame): Get the keyboard from the terminal.
10297
10298 * macmenu.c: Reorder includes.
10299 (Fx_popup_menu): Use terminal specific mouse_position_hook.
10300
10301 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
10302 terminal parameter.
10303 (x_clear_frame): Add a frame parameter.
10304 (note_mouse_movement): Get rif from the frame.
10305 (mac_term_init): Initialize the terminal.
10306 (mac_initialize): Make static and move terminal initialization ...
10307 (mac_create_terminal): ... to this new function.
10308
10309 * macterm.h (struct mac_display_info): Add terminal.
7196c970 10310 (mac_initialize): Delete declaration.
8d9cc0b7 10311
381864b2 10312 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
10313
10314 * sysdep.c: Comment out text after #endif.
10315
10316 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
10317 is defined. Better initialize ttys in windows. Use terminal
10318 specific mouse_position_hook.
10319
10320 * termhooks.h (union display_info): Add mac_display_info.
10321
b8866860
SM
10322 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
10323 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
10324 frame parameters following what is done in X11.
10325
10326 * w32term.c (w32_initialize): Make static.
10327
10328 * xselect.c (x_handle_selection_clear): Only access
10329 terminal->kboard when MULTI_KBOARD is defined.
10330
10331 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
10332 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
10333
103342007-08-29 Jason Rumney <jasonr@gnu.org>
10335
10336 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
10337 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
10338
10339 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
10340 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
10341
10342 * keyboard.c (restore_kboard_configuration): Only define when
10343 MULTI_KBOARD defined.
10344
35277b03 10345 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
10346 (OBJ1): Add terminal.$(O)
10347
b8866860
SM
10348 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
10349 Don't define function body.
8d9cc0b7
MB
10350 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
10351
10352 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
10353
10354 * w32.c (request_sigio, unrequest_sigio): Remove.
10355
10356 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
10357 (w32con_clear_frame, w32con_clear_end_of_line)
10358 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
10359 (w32con_delete_glyphs, w32con_set_terminal_window)
10360 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
10361 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
10362 Add terminal arg.
8d9cc0b7
MB
10363 (PICK_FRAME): Remove.
10364 (w32con_write_glyphs): Use frame specific terminal coding.
10365 (one_and_only_w32cons): New global variable.
10366 (initialize_w32_display): Use it for storing hooks.
10367 (create_w32cons_output): New function.
10368
10369 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
10370 arg a frame.
10371
b8866860
SM
10372 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
10373 Set window_system.
8d9cc0b7
MB
10374 (x_set_tool_bar_lines): Don't use updating_frame.
10375 (Fx_create_frame): Set terminal and ref count.
10376 (Fx_open_connection): Remove window-system check.
10377
10378 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
10379
10380 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
10381 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
10382 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
10383 Add frame arg.
10384 (x_delete_terminal, w32_create_terminal): New functions.
10385 (w32_term_init): Create a terminal.
10386 (w32_initialize): Move terminal specific initialization to
10387 w32_create_terminal.
10388
b8866860 10389 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
10390 (w32_clear_rect, w32_clear_area): Use background from frame.
10391 (w32_display_info): Add terminal.
10392 (w32_sys_ring_bell, x_delete_display): Declare here.
10393
10394 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
10395
10396 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
10397
103982007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
10399
10400 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
10401 Fix get_named_tty calls for the controlling tty.
10402
104032007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
10404
10405 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
10406
104072007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
10408
10409 * term.c (tty_insert_glyphs): Add missing first parameter.
10410
880820fe 104112007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 10412
b8866860
SM
10413 * buffer.c (Fbuffer_list, Fbury_buffer):
10414 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
10415
10416 * cm.c (current_tty): New variable, for cmputc().
10417 (cmputc): Use it.
10418 (cmcheckmagic): Add tty parameter, look up terminal streams there.
10419 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
10420 (cmgoto): Add tty parameter. Pass it on to calccost().
10421 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
10422
10423 * cm.h (emacs_tputs): New macro to set current_tty, and then call
10424 tputs().
10425 (current_tty): New variable, for cmputc().
10426 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
10427
10428 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
10429 (internal_condition_case, internal_condition_case_1)
10430 (internal_condition_case_2): Don't abort when x_catching_errors.
10431
10432 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
10433 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
10434 prevent crashes caused by bogus longjmps in read_char.
10435
10436 * keymap.h (Fset_keymap_parent): Add EXFUN.
10437
10438 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
10439 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
10440 Remove redundant definition.
10441
b8866860
SM
10442 * macfns.c (x_set_mouse_color, x_make_gc):
10443 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 10444
b8866860
SM
10445 * w32term.c (x_free_frame_resources):
10446 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10447 (w32_initialize): Use the accessor macros for terminal characteristics.
10448
10449 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
10450 Use the accessor macros for terminal characteristics.
10451 * msdos.c (internal_terminal_init): Use the accessor macros for
10452 terminal characteristics.
b8866860
SM
10453 (ScreenVisualBell, internal_terminal_init):
10454 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10455
10456 * termopts.h (no_redraw_on_reenter): Declare.
10457
10458 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 10459 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 10460 (Fgarbage_collect): Call them.
03f06e5c 10461 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
10462
10463 * prefix-args.c: Include stdlib.h for exit.
10464
10465 * syssignal.h: Add comment.
10466
10467 * indent.c: Include stdio.h.
10468
10469 * window.h (Vinitial_window_system): Declare.
10470 (Vwindow_system): Delete declaration.
10471
10472 * fontset.c (Finternal_char_font): Use FRAME_RIF.
10473
10474 * image.c (lookup_image): Don't initialize `c' until the xasserts
10475 have been run.
10476
10477 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
10478 FRAME_FOREGROUND_PIXEL.
10479
10480 * print.c (print_preprocess): Don't lose print_depth levels while
10481 iterating.
10482
b8866860
SM
10483 * widget.c (update_from_various_frame_slots):
10484 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10485
10486 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
10487 frames.
10488 (window_internal_height): Remove bogus make_number call.
b8866860 10489 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
10490
10491 * fileio.c (Fread_file_name): Update comment.
10492
b8866860
SM
10493 * callint.c (Fcall_interactively):
10494 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
10495 Make sure it is correctly unwound.
10496
10497 * xsmfns.c (x_session_close): New function.
10498
03f06e5c 10499 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
10500 Delete declarations.
10501
10502 * xterm.h: Remove declaration for x_fully_uncatch_errors.
10503 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 10504 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 10505 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
10506
10507 * lread.c: Include setjmp.h. Update declaration of `read_char'.
10508 (read_filtered_event): Call `read_char' with a local
10509 `wrong_kboard_jmpbuf'.
10510
b8866860
SM
10511 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
10512 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
10513
10514 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
10515 systems.
10516
b8866860 10517 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 10518 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 10519 (Fset_quit_char): EXFUN.
03f06e5c 10520 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
10521 (init_sys_modes, reset_sys_modes): Update prototypes.
10522 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
10523
b8866860
SM
10524 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
10525 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 10526 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 10527 Delete declarations.
03f06e5c
JB
10528 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
10529 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
10530 New declarations.
10531
10532 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
10533 already does that during init_display(). Call syms_of_keymap
b8866860
SM
10534 before syms_of_keyboard. Call `syms_of_terminal'.
10535 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
10536 (shut_down_emacs): Call reset_all_sys_modes() instead of
10537 reset_sys_modes().
10538
10539 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
10540 (internal_resolve_face_name, resolve_face_name_error): New functions.
10541 (resolve_face_name): Protect against loops and errors thrown by Fget.
10542 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
10543 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
10544
10545 * scroll.c: Replace CURTTY() with local variables throughout the
10546 file (where applicable).
10547 (calculate_scrolling, calculate_direct_scrolling)
10548 (scrolling_1, scroll_cost): Use the accessor macros for terminal
10549 characteristics.
10550
10551 * keymap.c (Vfunction_key_map): Remove.
b8866860 10552 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
10553 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
10554 (Vkey_translation_map): Remove.
10555 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 10556 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
10557 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
10558 Update for terminal-local key-translation-map.
10559
10560 * Makefile.in (callproc.o): Update dependencies.
10561 (lisp, shortlisp): Add termdev.elc.
10562 (obj): Add terminal.o.
10563 (terminal.o): Add dependencies.
10564 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
10565 (data.o, fns.o): Add termhooks.h dependency.
10566 (SOME_MACHINE_LISP): Add dnd.elc.
10567 (minibuf.o): Fix typo.
10568 Update dependencies.
10569
10570 * data.c (do_symval_forwarding, store_symval_forwarding)
10571 (find_symbol_value): Use the selected frame's keyboard, not
10572 current_kboard.
10573
10574 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
10575 Vwindow_system.
10576
10577 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
10578 Fmenu_bar_open.
10579 (syms_of_xmenu): Update defsubr.
10580 (mouse_position_for_popup, Fx_popup_menu)
10581 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
10582 (set_frame_menubar, free_frame_menubar)
10583 (create_and_show_popup_menu, xmenu_show, )
10584 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
10585 an X frame.
10586
10587 * xselect.c (x_own_selection): Abort if not an X frame.
10588 (some_frame_on_display): Check if it is an X frame.
10589 (x_handle_selection_clear): Deal with MULTI_KBOARD.
10590
10591 * coding.c: Include frame.h and termhooks.h.
03f06e5c 10592 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
10593 (Fset_terminal_coding_system_internal)
10594 (Fset_keyboard_coding_system_internal)
10595 (Fkeyboard_coding_system)
03f06e5c
JB
10596 (Fterminal_coding_system): Add a terminal parameter.
10597 Get terminal_coding from the terminal.
8d9cc0b7
MB
10598 (init_coding_once): Don't call setup_coding_system here.
10599
10600 * dispextern.h (set_scroll_region, turn_off_insert)
10601 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
10602 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 10603 (delete_tty, updating_frame)
8d9cc0b7
MB
10604 (produce_special_glyphs, produce_glyphs, write_glyphs)
10605 (insert_glyphs): Remove.
10606 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 10607 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 10608 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
10609
10610 * frame.h (enum output_method): Add output_initial.
10611 (struct x_output): Delete.
b8866860
SM
10612 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
10613 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
10614 (tty_display): Delete.
10615 (struct frame): Add buried_buffer_list, foreground_pixel,
03f06e5c 10616 background_pixel and terminal. Delete kboard
8d9cc0b7
MB
10617 (union output_data): Add tty.
10618 (FRAME_KBOARD): Get the kboard from the terminal.
10619 (FRAME_INITIAL_P): New macro.
10620 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
10621 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
10622 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
10623 New declarations.
8d9cc0b7
MB
10624
10625 * termchar.h (tty_output, tty_display_info): New structures.
10626 (tty_list): Declare.
10627 (FRAME_TTY, CURTTY): New macros.
10628 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
10629 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
10630 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
10631 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
10632
10633 * callproc.c: Include frame.h and termhooks.h, for terminal
10634 parameters.
10635 (add_env): New function.
10636 (child_setup): Use it.
b8866860 10637 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
10638 (getenv_internal): Fix get_terminal_param call.
10639 (Fgetenv_internal, egetenv): Update doc.
10640 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 10641 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
10642 strings.
10643 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
10644 (getenv_internal): Add terminal parameter.
10645 Handle Vlocal_environment_variables.
8d9cc0b7
MB
10646 (Fgetenv_internal): Add terminal parameter.
10647 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 10648 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
10649 (set_initial_environment): Rename from set_global_environment.
10650 Store Emacs environment in initial frame parameter.
10651
10652 * xdisp.c (redisplay_internal): Update references to
10653 `previous_terminal_frame'.
10654 (display_mode_line, Fformat_mode_line): Replace calls to
10655 `push_frame_kboard' with `push_kboard'.
10656 (get_glyph_string_clip_rects): Add extra parentheses and
10657 braces to prevent compiler warnings.
10658 (calc_pixel_width_or_height): Add xassert to check that the
10659 frame is alive. Don't call `lookup_image' on a termcap frame.
10660 (message2_nolog, message3_nolog, redisplay_internal)
10661 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
10662 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
10663 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
10664 (Fx_display_pixel_width, Fx_display_pixel_height)
10665 (Fx_display_planes, Fx_display_color_cells)
10666 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
10667 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
10668 (Fx_display_backing_store, Fx_display_visual_class)
10669 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 10670 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
10671
10672 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
10673 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
10674 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
10675 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
10676 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
10677 terminal that is being deleted.
10678 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 10679 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
10680 (Fx_close_connection, Fx_synchronize): Unify argument names with
10681 the rest of the DEFUNs.
10682
10683 * dispnew.c (Fsend_string_to_terminal): Update call to
10684 `get_tty_terminal'.
10685 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 10686 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
10687 FRAME_TERMCAP_P and FRAME_TTY.
10688 (window_change_signal): Don't believe width/height values that are
10689 impossibly small.
10690 (Vinitial_window_system): Rename from Vwindow_system.
10691 (termscript, Wcm, rif): Delete.
10692
10693 * termhooks.h (struct terminal): New struct containing the
10694 previously global text display hooks and new members NAME,
10695 DELETED and PARAM_ALIST.
10696 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
10697 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
10698 (FRAME_RIF): New macros.
10699 (get_terminal_param, get_device): New declarations.
10700 (termscript): Delete declaration.
10701
10702 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
10703 (XTflash, x_free_frame_resources, x_scroll_bar_create)
10704 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
10705 FRAME_FOREGROUND_PIXEL.
10706 (x_fully_uncatch_errors): Disable definition.
10707 (x_scroll_bar_expose): Fix reference to foreground pixel.
10708 (XTread_socket): Disable loop on all X displays.
10709 (x_delete_terminal): Don't set terminal->deleted and let
10710 delete_terminal delete the frames on the terminal.
10711 (x_delete_display): Doc update to reflect changes in
10712 delete_terminal.
10713 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
10714 (deleting_tty): Remove old variable.
10715 (Fsuspend_tty): Call clear_tty_hooks.
10716 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
10717 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
10718 errors on X frames.
10719 (x_catch_errors_unwind): Abort if x_error_message is NULL.
10720 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 10721 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
10722 (XTset_terminal_modes, XTreset_terminal_modes)
10723 (XTread_socket, x_connection_closed, x_term_init)
10724 (x_term_init, x_delete_display): Add terminal parameter.
10725 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
10726 X connections.
10727
bf380f53
GM
10728 * frame.c: Include termchar.h.
10729 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
10730 (Qwindow_system, Qenvironment, Qterm_environment_variable)
10731 (Qdisplay_environment_variable): New vars.
10732 (Fframep): Deal with output_initial.
10733 (Fframe-live-p): Doc fix.
10734 (Fwindow-system): New function.
8d9cc0b7
MB
10735 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
10736 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 10737 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 10738 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
10739 (Fmake_terminal_frame): Handle NULL tty names correctly.
10740 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
10741 (Fdelete_frame): Remove unused variable `count'. Don't allow other
10742 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 10743 (Fframe_with_environment): New function.
b8866860 10744 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
10745 (get_future_frame_param): New function.
10746 (Fmake_terminal_frame): Use it.
2d33f506 10747 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
10748
10749 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
10750 * sysdep.c (reset_sys_modes): Update for renames.
10751
10752 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 10753 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
10754 (syms_of_keyboard): Defsubr them.
10755 (Fset_input_meta_mode, Fset_quit_char): New functions.
10756 (Fset_input_mode): Split to above functions.
10757
10758 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
10759 parameter. Use it in call to `read_char'.
b8866860
SM
10760 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
10761 Set wrong_kboard_jmpbuf correctly in recursive calls.
10762 Use current_kboard to access Vkeyboard_translate_table.
10763 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
10764 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
10765 Update longjmp invocations. Remember the original current_kboard,
10766 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
10767 changes it. Comment out unnecessary calls to
10768 `record_single_kboard_state' and `any_kboard_state'.
10769 Update recursive calls.
8d9cc0b7
MB
10770 (wrong_kboard_jmpbuf): Remove global variable.
10771 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
10772 Handle deleted interrupted_kboards correctly; that is a legal
10773 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 10774 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
10775 (any_kboard_state, single_kboard_state)
10776 (push_frame_kboard): Remove function.
10777 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
10778 been deleted. Remove unused variable. Help debugging by not
10779 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
10780 kboard of the selected frame when the stored kboard object has
10781 been deleted before pop_kboard.
10782 (temporarily_switch_to_single_kboard): Change first parameter to a
10783 frame pointer. Throw an error when caller wants to change kboards
10784 while in single_kboard mode. Don't push_kboard if we weren't in
10785 single kboard state. Don't pop_kboard if we popped into any
10786 kboard state.
10787 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 10788 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
10789 up single_kboard mode.
10790 (Frecursive_edit): Switch to single_kboard mode only in nested
10791 command loops.
b8866860
SM
10792 (cmd_error, command_loop, command_loop_1, timer_check):
10793 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
10794 `record_single_kboard_state'.
10795 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 10796 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
10797 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
10798 `fatal_error_signal'.
10799 (record_single_kboard_state): Don't push_kboard if we weren't in
10800 single kboard state. Don't pop_kboard if we popped into any
10801 kboard state.
10802 (push_frame_kboard): Rename to push_kboard.
10803 (kbd_buffer_get_event): Use FRAME_TERMINAL.
10804 (read_avail_input): Read input from all terminals.
10805 (mark_kboards): Also mark Vkeyboard_translate_table.
10806 (kbd_buffer_store_event_hold): Simplify condition.
10807 (read_key_sequence): Reinitialize fkey and keytran at each replay.
10808 (Vkeyboard_translate_table): Move to struct kboard.
10809 (init_kboard): Initialize Vkeyboard_translate_table.
10810 (syms_of_keyboard): Use DEFVAR_KBOARD to define
10811 Vkeyboard_translate_table. Update doc strings. Update docs of
10812 local-function-key-map and function-key-map.
10813
10814 * terminal.c: New file.
10815
10816 * term.c: Include errno.h.
10817 (Vring_bell_function, device_list, initial_device)
10818 (next_device_id, ring_bell, update_begin, update_end)
10819 (set_terminal_window, cursor_to, raw_cursor_to)
10820 (clear_to_end, clear_frame, clear_end_of_line)
10821 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
10822 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
10823 (syms_of_term): Move their initialization to terminal.c.
10824 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
10825 (Ftty_display_color_cells)
10826 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 10827 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
10828 (init_tty, maybe_fatal): New functions.
10829 (Ftty_type): Return nil if terminal is not on a tty instead of
10830 throwing an error. Doc update.
10831 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 10832 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
10833 (delete_tty): Use terminal->deleted.
10834 (tty_set_terminal_modes): Rename from set_terminal_modes.
10835 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
10836 (set_scroll_region): Rename to `tty_set_scroll_region'.
10837 (turn_on_insert): Rename to `tty_turn_on_insert'.
10838 (turn_off_insert): Rename to `tty_turn_off_insert'.
10839 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
10840 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
10841 (toggle_highligh): Rename to `tty_toggle_highlight'.
10842 (background_highlight): Rename to `tty_background_highlight'.
10843 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
10844 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
10845 (tty_set_scroll_region, tty_background_highlight)
10846 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
10847 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
10848 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
10849 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
10850 Add static modifier.
10851 (tty_reset_terminal_modes, tty_set_terminal_window)
10852 (tty_set_scroll_region, tty_background_highlight)
10853 (tty_highlight_if_desired, tty_cursor_to)
10854 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
10855 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
10856 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
10857 renames.
10858
880820fe 108592007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
10860
10861 * keyboard.c: Qrtl is new.
10862 (parse_tool_bar_item): Handle :rtl keyword.
10863 (syms_of_keyboard): Intern :rtl keyword.
10864
10865 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
10866
10867 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
10868 so no Lisp code is executed.
10869 (file_for_image, find_rtl_image): New functions.
10870 (xg_get_image_for_pixmap): Use file_for_image
10871 (update_frame_tool_bar): If direction is RTL, use RTL image if
10872 defined. Use Gtk stock images if defined.
10873
83cc8d35
YM
108742007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10875
10876 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
10877 for nonexistent or zero-width glyph in composition glyph.
10878
e60c4e15
SM
108792007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
10880
d7e2a28f
SM
10881 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
10882
e60c4e15
SM
10883 * xdisp.c (Finvisible_p): New function.
10884 (syms_of_xdisp): defsubr it.
10885
ee163e6d
JB
108862007-08-24 Juanma Barranquero <lekktu@gmail.com>
10887
10888 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
10889 Doc fixes.
10890
90fa408d
YM
108912007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10892
35277b03 10893 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 10894
cac4219c
MR
108952007-08-24 Martin Rudalics <rudalics@gmx.at>
10896
10897 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
10898 whether decoding has modified buffer contents.
10899
5fc9fdeb
JR
109002007-08-24 Jason Rumney <jasonr@gnu.org>
10901
10902 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
10903 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
10904 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
10905 (init_svg_functions) [HAVE_NTGUI]: New function.
10906 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
10907 (svg_load_image): Use them.
10908 (svg_load_image) [HAVE_NTGUI]: Implement background.
10909
93b23406
YM
109102007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10911
10912 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
10913 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
10914 (LIBX): Remove @RSVG_LIBS@.
10915 (LIBES): Add $(RSVG_LIBS).
10916
10917 * image.c (svg_load_image): Blend with specified background if exists.
10918 Use IMAGE_BACKGROUND. Add Mac OS Support.
10919
10920 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
10921 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
10922 Remove macros.
10923 [MAC_OSX] (socket_callback): Do nothing.
10924 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
10925 ReceiveNextEvent.
10926 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
10927 socket_callback.
10928 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
10929
2467875c
GM
109302007-08-22 Glenn Morris <rgm@gnu.org>
10931
ff8da443 10932 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 10933
4ab27a43
GM
109342007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
10935
10936 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 10937
666e0eda
GM
10938 * image.c: Add support for SVG images. Some additional comments
10939 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
10940 (svg_image_p): New function to test for SVG image.
10941 (svg_load): New function to load SVG image.
10942 (svg_load_image): New function, helper for svg_load.
10943 (Qsvg): New Lisp_object.
10944 (svg_keyword_index): New enum.
10945 (svg_format): New static `image_keyword' struct.
10946 (svg_type): New static `image_type' struct.
10947 (librsvg/rsvg.h): Include it.
4ab27a43 10948
b636b4c1
SM
109492007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
10950
10951 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
10952
9ecb827b
SM
109532007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
10954
1d064697
SM
10955 * lread.c (Qold_style_backquotes): New var.
10956 (syms_of_lread): Init and staticpro it.
10957 (load_warn_old_style_backquotes): New fun.
10958 (Fload): Use them to warn about old style backquotes.
10959 (end_of_file_error, Fload): Remove unused vars.
10960
5772ed4b
SM
10961 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
10962
9ecb827b 10963 * lread.c (Vold_style_backquotes): New var.
5aa273b0 10964 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
10965 (read1): Set it when we find an old-style (back)quote.
10966
32e1c7b1
JR
109672007-08-22 Jason Rumney <jasonr@gnu.org>
10968
10969 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
10970
b8fa755b
KY
109712007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
10972
10973 * puresize.h (BASE_PURESIZE): Increase to 1140000.
10974
1283140e
RS
109752007-08-19 Richard Stallman <rms@gnu.org>
10976
10977 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
10978
2c4685ee
AS
109792007-08-19 Andreas Schwab <schwab@suse.de>
10980
10981 * alloc.c (pure): Round PURESIZE up.
10982
880820fe 109832007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
10984
10985 * xterm.c (handle_one_xevent): Remove check that mouse click is in
10986 active frame.
10987
6e33efc4
RS
109882007-08-16 Richard Stallman <rms@gnu.org>
10989
10990 * eval.c (Fcommandp): Add parens to clarify.
10991
10992 * minibuf.c (Fall_completions): Use enum for type of table.
10993
10994 * emacs.c (USAGE2): Improve text.
10995
fcf8ff2e
GM
109962007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
10997
5205ee62
GM
10998 * term.c (tty_default_color_capabilities): Declare static
10999 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 11000
880820fe 110012007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
11002
11003 * gtkutil.c (update_frame_tool_bar): Use -1 as index
11004 to gtk_toolbar_insert.
11005
4a181359
SM
110062007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
11007
1bc99c9c
SM
11008 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
11009
4a181359
SM
11010 * insdel.c (reset_var_on_error): New fun.
11011 (signal_before_change, signal_after_change):
11012 Use it to reset (after|before)-change-functions to nil in case of error.
11013 Bind inhibit-modification-hooks to t.
11014 Don't bind (after|before)-change-functions to nil while they run.
11015
6c28435c
YM
110162007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11017
11018 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
11019 filling pixmap with stippled background.
11020
ad3b3e02
YM
110212007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11022
11023 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
11024 Don't use invisible frame as parent window for repositioning.
11025
a22dec27
SM
110262007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
11027
11028 * print.c (new_backquote_output): Rename from old_backquote_output.
11029 (print): Inverse its logic (according to its name) so as to match the
11030 behavior of new_backquote_flag in lread.c.
11031
7b7d07bb
YM
110322007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11033
11034 * gmalloc.c (posix_memalign): New function.
11035
11036 * macterm.c (frame_highlight, frame_unhighlight): Don't call
11037 ActivateControl/DeactivateControl here.
11038 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
11039 frame-notice-user-settings is non-nil.
11040 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
11041 for kEventParamFMFontStyle.
11042 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
11043 mac_pass_command_to_system and mac_pass_control_to_system here.
11044 (XTread_socket): Call ActivateControl/DeactivateControl here.
11045 (XTread_socket) [TARGET_API_MAC_CARBON]:
11046 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
11047 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
11048 for window repositioning.
7b7d07bb 11049
22e9fe24
GM
110502007-08-08 Glenn Morris <rgm@gnu.org>
11051
11052 * Replace `iff' in doc-strings and comments.
11053
ae494350
CY
110542007-08-07 Chong Yidong <cyd@stupidchicken.com>
11055
11056 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
11057
6f2528d8
MR
110582007-08-07 Martin Rudalics <rudalics@gmx.at>
11059
11060 * fileio.c (Finsert_file_contents): Run format-decode and
11061 after_insert_file_functions on entire buffer when REPLACE is
11062 non-nil and inhibit modification_hooks and point_motion_hooks.
11063 For consistency, run after_insert_file_functions iff something
11064 got inserted. Move signal_after_change and update_compositions
11065 after code running after_insert_file_functions. Make sure that
6b8e474c 11066 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 11067
3ceeb306
YM
110682007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11069
11070 * emacs.c (main)
11071 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
11072 Call malloc_enable_thread on interactive startup.
11073
11074 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
11075 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
11076 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
11077 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
11078 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
11079 New functions.
11080
ca5e6fd5
CY
110812007-08-06 Chong Yidong <cyd@stupidchicken.com>
11082
32bfce5d
CY
11083 * xdisp.c (redisplay_window): When restoring original buffer
11084 position, make sure it is still valid.
11085
ca5e6fd5
CY
11086 * image.c (png_load): Ignore png-supplied background color.
11087
a5b11587
YM
110882007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11089
11090 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
11091 Use kCFAbsoluteTimeIntervalSince1970.
11092
11093 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
11094 New variable.
11095 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
11096 event loop should be quit.
11097 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
11098 Quit dialog event loop if quit_dialog_event_loop is set.
11099
11100 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
11101 (Selection): New typedef. Use instead of ScrapRef.
11102 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
11103 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
11104 (mac_clear_selection): Rename from clear_scrap.
11105 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 11106 scrap_has_target_type. All uses changed.
a5b11587
YM
11107 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
11108 (mac_selection_has_target_p): New functions.
11109 (mac_put_selection_value): Rename from put_scrap_string.
11110 (mac_get_selection_value): Rename from get_scrap_string.
11111 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
11112 (put_scrap_private_timestamp, scrap_has_target_type)
11113 (get_scrap_private_timestamp): Remove functions.
11114 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
11115 (x_own_selection, x_get_local_selection):
11116 Use mac_valid_selection_value_p.
11117 (x_own_selection): Don't use put_scrap_private_timestamp.
11118 Record OWNERSHIP-INFO into Vselection_alist instead.
11119 (x_get_local_selection): Don't check type if request is local.
11120 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
11121 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
11122
880820fe 111232007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
11124
11125 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
11126 add comment explaining why.
11127
73ff9d42
RS
111282007-08-03 Richard Stallman <rms@gnu.org>
11129
11130 * fileio.c (Fvisited_file_modtime): Use make_time.
11131
54ed9a2d 111322007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
11133
11134 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
11135 build.
11136
65a9c8e2
SM
111372007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
11138
11139 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
11140
c5925799
KY
111412007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
11142
11143 * puresize.h (BASE_PURESIZE): Increase to 1130000.
11144
adef3de7
RS
111452007-07-30 Richard Stallman <rms@gnu.org>
11146
11147 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
11148
880820fe 111492007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
11150
11151 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
11152
a10421a1
NR
111532007-07-28 Nick Roberts <nickrob@snap.net.nz>
11154
11155 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
11156 remote default-directory.
11157
11158 * buffer.c (mode-line-format): Update doc string.
11159
0cb1ae20
YM
111602007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11161
11162 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
11163 scroll bar gap.
11164 (x_scroll_bar_create): Set bar->fringe_extended_p.
11165 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
11166 on frame edge. Check fringe background extension. Don't clear
11167 extended fringe background area.
11168
11169 * w32term.h (struct scroll_bar): New member fringe_extended_p.
11170 (w32_fill_area): Enclose multiple statements with do ... while (0).
11171
11172 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
11173 Extend fringe background to scroll bar gap.
11174 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
11175 Set bar->fringe_extended_p.
11176 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11177 Put leftmost/rightmost scroll bars on frame edge. Check fringe
11178 background extension. Don't clear extended fringe background area.
11179
11180 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
11181 New member fringe_extended_p.
11182
cacc7b51
GM
111832007-07-25 Glenn Morris <rgm@gnu.org>
11184
11185 * Relicense all FSF files to GPLv3 or later.
11186
11187 * COPYING: Switch to GPLv3.
11188
89835619
SM
111892007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
11190
c4f46926
SM
11191 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
11192
11193 * data.c (Finteractive_form): Check for the presence of an
11194 `interactive-form' symbol property more thoroughly.
11195
11196 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
11197 present, analogous to the function-documentation property.
11198
ee04257d
JR
111992007-07-24 Jason Rumney <jasonr@gnu.org>
11200
11201 * w32fns.c (x_real_positions): Get real position from OS instead of
11202 calculating it.
11203
50624218
JR
112042007-07-23 Jason Rumney <jasonr@gnu.org>
11205
11206 * filelock.c (current_lock_owner): Allow for @ sign in username.
11207
3650f60e
NR
112082007-07-22 Nick Roberts <nickrob@snap.net.nz>
11209
11210 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
11211 remote default-directory.
11212
11213 * buffer.c (mode-line-format): Describe above case in doc string.
11214
1e899515 112152007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 11216
75be5258
EZ
11217 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
11218 Define if not defined.
11219
2b6e2f4d
JR
112202007-07-18 Jason Rumney <jasonr@gnu.org>
11221
11222 * w32proc.c (w32_executable_type): Handle 64 bit executables.
11223
23dacf80
JB
112242007-07-18 Richard Stallman <rms@gnu.org>
11225
11226 * data.c (Fsetq_default): Doc fix.
11227
11228 * eval.c (Fsetq): Doc fix.
11229
112302007-07-18 Juanma Barranquero <lekktu@gmail.com>
11231
11232 * coding.c (Ffind_operation_coding_system):
11233 * eval.c (For, Fand): Doc fixes.
880820fe 11234 Reported by Johan Bockgård.
23dacf80 11235
880820fe 112362007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 11237
23dacf80 11238 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 11239
23dacf80 11240 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
11241
11242 * xterm.c (x_ewmh_activate_frame): New function.
11243 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
11244
71ec17e6
MR
112452007-07-17 Martin Rudalics <rudalics@gmx.at>
11246
11247 * window.c (Fdisplay_buffer): If largest or LRU window is the
11248 only window, split it even if it is not eligible for splitting.
11249 This restores the original behavior broken by the 2007-07-15
11250 change.
11251
e9818042
GM
112522007-07-17 Glenn Morris <rgm@gnu.org>
11253
11254 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
11255 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
11256 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
11257 constituents. Doc fix.
11258
e6fca843
SM
112592007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
11260
11261 * process.c (Fstart_process, Fmake_network_process)
11262 (read_process_output): Fix up last changes.
11263
b5d2b4ab
EZ
112642007-07-16 Eli Zaretskii <eliz@gnu.org>
11265
11266 * makefile.w32-in (clean): Don't delete *~.
11267
413a79ad
AS
112682007-07-16 Andreas Schwab <schwab@suse.de>
11269
11270 * window.c (Fdisplay_buffer): Use NILP.
11271 (Fset_window_scroll_bars): Likewise.
11272
f1de8c77
MR
112732007-07-15 Martin Rudalics <rudalics@gmx.at>
11274
11275 * window.c (window_min_size_2): New function.
11276 (window_min_size_1, size_window, Fdisplay_buffer)
11277 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
11278 windows without mode- or header-lines when window-min-height is
11279 too small.
11280 (size_window): Reset nodelete_p after testing it, following an
11281 earlier note by Kim F. Storm.
11282 (display_buffer): Do not set split_height_threshold to twice the
11283 value of window_min_height to avoid changing the value of a
11284 customizable variable. Rather explicitly check whether the
11285 height of the window that shall be splitted is at least as large
11286 as split_height_threshold.
1af74d06
MB
11287 (Fwindow_full_width_p): New defun.
11288 (syms_of_window): Defsubr it.
d31053f9 11289
1af74d06 11290 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 11291
5e1ab613
JR
112922007-07-14 Jason Rumney <jasonr@gnu.org>
11293
11294 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
11295
f01cbfdd
RS
112962007-07-14 Richard Stallman <rms@gnu.org>
11297
11298 * eval.c (maybe_call_debugger): New function.
11299 (find_handler_clause): Use maybe_call_debugger.
11300 Call it when the handler says `debug'.
11301 Eliminate DEBUGGER_VALUE_PTR.
11302 (Fsignal): Eliminate debugger_value.
11303 (Qdebug): New variable.
11304 (syms_of_eval): Initialize it.
11305
1bab435a
JB
113062007-07-14 Juanma Barranquero <lekktu@gmail.com>
11307
11308 * eval.c (Fprogn):
11309 * keyboard.c (Ftrack_mouse):
11310 * print.c (Fwith_output_to_temp_buffer):
11311 * window.c (Fsave_window_excursion): Doc fix.
11312
be436d23
SM
113132007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
11314
11315 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
11316
60f0fb11
SM
113172007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
11318
11319 * process.h (struct Lisp_Process): Turn slots infd, outfd,
11320 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
11321 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
11322 read_output_delay, and read_output_skip from Lisp_Objects to ints.
11323 Remove unused encoding_carryover.
11324 * process.c: Adjust all functions accordingly.
11325
d8b18043
RS
113262007-07-12 Richard Stallman <rms@gnu.org>
11327
11328 * term.c: Include unistd.h only if HAVE_UNISTD_H.
11329
d5781bb6
JR
113302007-07-11 Jason Rumney <jasonr@gnu.org>
11331
11332 * makefile.w32-in (LIBS): Include OLE32.
11333
11334 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
11335 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
11336
5bb7dfee
SM
113372007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
11338
11339 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
11340 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
11341 from a Lisp_Object into a bare pointer.
11342 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
11343 Adjust the code correspondingly.
11344
11345 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
11346
11347 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
11348 (term_show_mouse_face): Remove unused var `j'.
11349 (handle_one_term_event): Remove unused vars `i' and `j'.
11350 Don't cast return value of ttyname since it's not necessary.
11351
a1be1ce8
SM
113522007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
11353
5045e68e
SM
11354 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
11355 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
11356
8071c00f
SM
11357 * fns.c (map_char_table): Use an array of int for `indices' rather than
11358 an array of Lisp_Objects (which are only ever integers anyway).
11359 (Fmap_char_table): Update caller.
11360 * lisp.h: Update prototype.
11361 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
11362 * fontset.c (Ffontset_info):
11363 * casetab.c (set_case_table): Update callers.
11364
11365 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
11366
fab84e3c
SM
11367 * keymap.c (struct accessible_keymaps_data)
11368 (struct where_is_internal_data): New structures.
11369 (accessible_keymaps_1, where_is_internal_1): Use them to change
11370 interface to adhere to the one used by map_keymap.
11371 (Faccessible_keymaps, where_is_internal): Use map_keymap.
11372 (accessible_keymaps_char_table, where_is_internal_2): Remove.
11373
a1be1ce8
SM
11374 * keymap.h (map_keymap_function_t): More informative prototype.
11375
ef887810
RS
113762007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
11377
11378 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
11379 (looking_at_1): Don't change search_regs and last_thing_searched
11380 if `inhibit-changing-match-data' is non-nil.
11381 (string_match_1, search_buffer, set_search_regs): Likewise.
11382 (syms_of_search): Add Lisp level definition for
11383 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
11384 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
11385 start and end of the match, instead of using values in search_regs.
ef887810 11386
4d02fc25
SM
113872007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
11388
11389 * minibuf.c (Fcompleting_read): New value `confirm-only'
11390 for `require-match'.
11391
fe45b81f
SM
113922007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
11393
11394 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
11395 part of the 2007-06-27 change to syms_of_fileio.
11396
a56dd283
YM
113972007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11398
11399 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
11400 Check WINDOWP before using XWINDOW. Consolidate return statements.
11401
0cf9f5b5
RS
114022007-06-27 Richard Stallman <rms@gnu.org>
11403
11404 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
11405
a66f285a
JB
114062007-06-27 Juanma Barranquero <lekktu@gmail.com>
11407
11408 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
11409
8d0d84d2
YM
114102007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11411
11412 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
11413 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
11414 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
11415 (_free_internal, memalign): Use them.
11416 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
11417 Initialize to PTHREAD_MUTEX_INITIALIZER.
11418 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
11419 (morecore_nolock): Rename from morecore. All uses changed.
11420 Use only nolock versions of internal allocation functions.
11421 (_malloc_internal_nolock, _realloc_internal_nolock)
11422 (_free_internal_nolock): New functions created from
11423 _malloc_internal, _realloc_internal, and _free_internal.
11424 (_malloc_internal, _realloc_internal, _free_internal): Use them.
11425 Copy hook value to automatic variable before its use.
11426 (memalign): Copy hook value to automatic variable before its use.
11427
5a0bbd9a
KH
114282007-06-26 Kenichi Handa <handa@m17n.org>
11429
11430 * coding.c (Ffind_operation_coding_system): Docstring improved.
11431 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
11432
9a51747b
DK
114332007-06-25 David Kastrup <dak@gnu.org>
11434
11435 * keymap.c (Fcurrent_active_maps): Add `position' argument.
11436 (Fwhere_is_internal): Adjust call to `current-active-maps' to
11437 cater for additional parameter.
11438
11439 * keymap.h: Adjust number of parameters to `current-active-maps'.
11440
11441 * doc.c (Fsubstitute_command_keys): Adjust call of
11442 `current-active-maps'.
11443
e4305426
DK
114442007-06-25 David Kastrup <dak@gnu.org>
11445
11446 * callint.c (Fcall_interactively): Make the parsing of interactive
11447 specs somewhat more readable.
11448
511a18d9
YM
114492007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11450
11451 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
11452 to scroll bar gap also when bitmap fills fringe. Draw only foreground
11453 if extended background has already been filled.
11454
512eb161
YM
114552007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11456
11457 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
11458 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
11459
11460 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
11461 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
11462 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
11463 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
11464 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
11465 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
11466 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
11467 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
11468 Run timers during dialog popup.
11469 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
11470
2386b1f1
JR
114712007-06-21 Jason Rumney <jasonr@gnu.org>
11472
11473 * image.c (convert_mono_to_color_image): Swap fore and background.
11474
fab8b787
JR
114752007-06-20 Jason Rumney <jasonr@gnu.org>
11476
11477 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
11478 (w32_free_bdf_font): Unmap memory not handle.
11479
15bdd7a0 114802007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
11481
11482 * gmalloc.c (__morecore): Fix the declaration to comply with the
11483 definition.
11484
1bb8a291
JB
114852007-06-20 Juanma Barranquero <lekktu@gmail.com>
11486
11487 * w32term.c (w32_delete_display): Remove leftover declaration.
11488 (w32_define_cursor, w32_initialize): Make static.
11489
11490 * w32.c (_wsa_errlist): Fix typo in error message.
11491 (init_environment): Ignore any environment variable from the
11492 registry having a null value.
11493
92648dea
GM
114942007-06-20 Glenn Morris <rgm@gnu.org>
11495
11496 * Makefile.in (LIBGIF): Default to -lgif.
11497
ff25d115
JR
114982007-06-17 Jason Rumney <jasonr@gnu.org>
11499
11500 * w32menu.c (add_menu_item): Don't use multibyte string functions on
11501 unicode strings.
11502
a1a578a5
JB
115032007-06-16 Juanma Barranquero <lekktu@gmail.com>
11504
11505 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
11506 Fix typo in docstring.
11507
af41f8a8
EZ
115082007-06-16 Eli Zaretskii <eliz@gnu.org>
11509
11510 * w32menu.c (add_menu_item): Escape `&' characters in menu items
11511 and their keybindings.
11512
8b29cab9
CY
115132007-06-15 Chong Yidong <cyd@stupidchicken.com>
11514
11515 * composite.c (update_compositions): Fix last fix.
11516
c433c134
JR
115172007-06-14 Jason Rumney <jasonr@gnu.org>
11518
11519 * w32.c (get_process_times_fn): New function pointer.
11520 (globals_of_w32): Intialize it if present in kernel32.dll.
11521 (w32_get_internal_run_time): New function.
11522
11523 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
11524
553d3164
KH
115252007-06-14 Kenichi Handa <handa@etlken.m17n.org>
11526
11527 * composite.c (update_compositions): Check the validness of
11528 compositions.
11529
446ba96f
YM
115302007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11531
11532 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
11533 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
11534
11535 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
11536 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
11537
11538 * macgui.h (USE_MAC_TOOLBAR): New define.
11539
11540 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
11541 Return immediately unless popup is activated.
11542
11543 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
11544 background to scroll bar gap.
11545 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
11546 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
11547 scroll bars on frame edge. Check fringe background extension.
11548 Don't clear extended fringe background area.
11549 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
11550 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
11551 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
11552 [USE_MAC_TOOLBAR]: New macros.
11553 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
11554 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
11555 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
11556 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
11557 [USE_MAC_TOOLBAR]: New functions.
11558 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
11559 manually if previous repositioning has failed.
11560 (mac_handle_keyboard_event): Use precomputed event kind.
11561 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
11562 as tool bar item click. Handle mouse movement over tool bar items.
11563
11564 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
11565 toolbar_win_gravity.
11566 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
11567 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
11568 Add externs.
11569
11570 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
11571 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
11572
9720173f
CY
115732007-06-14 Chong Yidong <cyd@stupidchicken.com>
11574
11575 * image.c (search_image_cache): Remove unused variable.
11576
1217dd00
CY
115772007-06-13 Chong Yidong <cyd@stupidchicken.com>
11578
11579 * xfns.c, xmenu.c: Link to xaw3d if available.
11580
c5b8e0ea
YM
115812007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11582
11583 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
11584 frame_foreground and frame_background.
11585
11586 * image.c (lookup_image): Save frame foreground and background colors.
11587 (search_image_cache): Check if saved and current frame colors match.
11588
c69b0314
SM
115892007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
11590
11591 * regex.c (regex_compile): Remove the `regnum' counter.
11592 Use bufp->re_nsub instead. Add support for \(?N:RE\).
11593
c9612b8e
SM
115942007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
11595
11596 * term.c: Include intervals.h to declare Fget_text_property.
11597
843d2458
JR
115982007-06-10 Jason Rumney <jasonr@gnu.org>
11599
11600 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
11601
1e0d2d60 116022007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
11603
11604 * callint.c (Fcall_interactively):
11605 * editfns.c (Fdelete_and_extract_region):
11606 * fileio.c (Fread_file_name):
11607 * fns.c (Fmapconcat):
11608 * keyboard.c (cmd_error_internal):
11609 * keymap.c (Fkey_description):
11610 * lread.c (openp):
11611 * minibuf.c (read_minibuf):
11612 * search.c (wordify):
11613 * sunfns.c (sel_read):
11614 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
11615 * xfns.c (x_default_scroll_bar_color_parameter):
11616 * xmenu.c (menu_help_callback):
11617 * xselect.c (Fx_get_atom_name):
11618 * xterm.c (x_term_init): Use empty_unibyte_string.
11619
15bdd7a0 116202007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
11621
11622 * alloc.c (init_strings): Initialize canonical empty strings.
11623 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
11624 canonical empty string when the requested size is 0.
11625
11626 * emacs.c (empty_unibyte_string): Rename from empty_string.
11627 (empty_multibyte_string): New canonical empty string.
11628 (syms_of_emacs): Don't initialize empty_string.
11629
11630 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
11631 string, if appropriate.
11632 (empty_unibyte_string, empty_multibyte_string): New externs.
11633 (empty_string): Remove extern.
11634
11635 * lread.c (syms_of_lread): Use empty_unibyte_string.
11636
42c4c67a
JR
116372007-06-07 Jason Rumney <jasonr@gnu.org>
11638
11639 * s/ms-w32.h: Don't define HAVE_TZNAME.
11640
11641 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
11642
aa8280d3
YM
116432007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11644
11645 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
11646
11647 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
11648 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
11649
11650 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
11651 Don't call next handler.
11652 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
11653 Remove argument. Install handler to application.
11654 (set_frame_menubar): Don't change deep_p.
1e0d2d60 11655 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
11656 FRAME_OUTER_TO_INNER_DIFF_Y.
11657 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
11658 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
11659 [HAVE_DIALOGS]: New macros.
11660 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
11661 Use them.
11662 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
11663
11664 * macselect.c [MAC_OSX] (install_service_handler): Rename from
11665 init_service_handler. All callers changed. Return OSStatus value.
11666
11667 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
11668 All callers changed so as not to call SetPortWindowPort.
11669 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
11670 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
11671 mac_draw_string_common.
11672 (mac_draw_image_string_qd): Likewise.
11673 (mac_draw_string_common): Use them. Add INLINE.
11674 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
11675 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
11676 GetGlobalMouse.
11677 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
11678 and FRAME_OUTER_TO_INNER_DIFF_Y.
11679 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
11680 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
11681 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
11682 repositioning window to mac_handle_window_event.
11683 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
11684 saving window location to mac_handle_window_event
11685 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
11686 (install_menu_target_item_handler): Remove argument in extern.
11687 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
11688 Also accept command events.
11689 (do_keystroke): New function created from XTread_socket.
11690 (init_command_handler): Remove functions.
11691 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
11692 and save window location by kEventWindowShowing and kEventWindowHiding
11693 handlers here. Don't call next handler for window state change and
11694 focus events.
11695 (mac_handle_application_event, mac_handle_keyboard_event)
11696 [TARGET_API_MAC_CARBON]: New functions.
11697 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
11698 kEventWindowShowing and kEventWindowHiding events. Move installation
11699 of mouse, font, text input and menu target item handlers to
11700 install_application_handler.
11701 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
11702 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
11703 New function.
11704 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
11705 Register it.
c9612b8e
SM
11706 (XTread_socket) [TARGET_API_MAC_CARBON]:
11707 Consolidate SendEventToEventTarget calls.
11708 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
11709 Move application activation handler to mac_handle_application_event.
11710 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
11711 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
11712 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
11713 init_command_handler. Call install_application_handler.
11714
11715 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
11716 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
11717
6926c954
GM
117182007-06-07 Glenn Morris <rgm@gnu.org>
11719
11720 * emacs.c (main): Use `emacs-copyright' in --version output.
11721
6fe04c89
CY
117222007-06-06 Chong Yidong <cyd@stupidchicken.com>
11723
c9612b8e 11724 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 11725
7eb0d727
YM
117262007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11727
11728 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
11729
11730 * macgui.h: Replace WindowPtr with WindowRef.
11731
11732 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
11733 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
11734 Replace ControlHandle with ControlRef.
11735 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
11736
11737 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
11738 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
11739 Replace ControlHandle with ControlRef.
11740 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
11741 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
11742
11743 * macterm.h (struct scroll_bar): Rename member control_handle_low
11744 and control_handle_high to control_ref_low and control_ref_high.
11745 All uses changed.
11746 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
11747 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
11748 respectively. All uses changed.
11749 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
11750 (install_window_handler, remove_window_handler): Replace WindowPtr
11751 with WindowRef in externs.
11752
65fddb74
JB
117532007-06-05 Juanma Barranquero <lekktu@gmail.com>
11754
11755 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
11756
db1213a9
NR
117572007-06-03 Nick Roberts <nickrob@snap.net.nz>
11758
11759 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
11760
65fddb74 11761 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
11762 Condition on HAVE_GPM too.
11763
11764 * term.c (term_mouse_highlight): Remove unused variables.
11765 (Fterm_open_connection): Set gpm_zerobased to 1.
11766 (term_mouse_movement, term_mouse_click, handle_one_term_event):
11767 Use zero based co-ordinates.
11768 (handle_one_term_event): Report a drag as mouse movement too.
11769
11770 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
11771
d94df25b
CY
117722007-06-03 Chong Yidong <cyd@stupidchicken.com>
11773
11774 * image.c (search_image_cache): New function. Require background
11775 color match if background color is unspecified in the image spec.
11776 (uncache_image, lookup_image): Use it.
11777
4797b6d9
JB
117782007-06-01 Juanma Barranquero <lekktu@gmail.com>
11779
11780 * window.c (Fshrink_window): Reflow docstring.
11781
1ffe7343
NR
117822007-06-02 Chong Yidong <cyd@stupidchicken.com>
11783
11784 * Version 22.1 released.
11785
117862007-06-01 Richard Stallman <rms@gnu.org>
11787
11788 * xfns.c (x_encode_text): Add GCPRO.
11789
117902007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11791
11792 * xfns.c (x_set_name_internal): Save encoded name before
11793 x_encode_text in case string data is relocated.
11794
117952007-05-31 Richard Stallman <rms@gnu.org>
11796
11797 * buffer.c (syms_of_buffer): Doc fix.
11798
117992007-05-30 Nick Roberts <nickrob@snap.net.nz>
11800
11801 * sysdep.c (init_sys_modes): Add rather than replace with
11802 O_NONBLOCK.
11803
11804 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
11805 term_mouse_moveto.
11806
11807 * termhooks.h (term_mouse_moveto): New extern.
11808
11809 * term.c (mouse_face_window): Rename...
11810 (Qmouse_face_window): ...to this.
11811 (term_show_mouse_face, term_clear_mouse_face)
11812 (term_mouse_highlight): Use Qmouse_face_window.
11813 (term_mouse_moveto): New function.
11814 (term_mouse_position): Make it work.
11815 (syms_of_term): Uncomment assignment to mouse_position_hook.
11816 Staticpro Qmouse_face_window.
11817
118182007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11819
11820 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
11821 around current_column call.
11822
118232007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
11824
11825 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
11826 * xdisp.c (next_element_from_buffer):
11827 * window.c (delete_window):
11828 * term.c (term_mouse_highlight):
11829 * msdos.c (getdefdir):
11830 * macterm.c (mac_create_bitmap_from_bitmap_data)
11831 (init_font_name_table):
11832 * fns.c (Fsxhash):
11833 * data.c (Fmake_local_variable):
11834 * ccl.c (ccl_driver): Likewise.
11835
118362007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11837
11838 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
11839 Call mac_wakeup_from_rne on window size change.
11840
118412007-05-25 Chong Yidong <cyd@stupidchicken.com>
11842
11843 * image.c (uncache_image): Fix typo.
11844
118452007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
11846
11847 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
11848
118492007-05-22 Richard Stallman <rms@gnu.org>
11850
11851 * xterm.c (x_connection_closed): Remove NO_RETURN.
11852
118532007-05-22 Martin Rudalics <rudalics@gmx.at>
11854
11855 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
11856
118572007-05-21 Chong Yidong <cyd@stupidchicken.com>
11858
11859 * image.c (uncache_image): New function.
11860 (Fimage_refresh): New function.
11861
880820fe 118622007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
11863
11864 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
11865
118662007-05-20 Nick Roberts <nickrob@snap.net.nz>
11867
11868 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
11869 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
11870
118712007-05-20 Nick Roberts <nickrob@snap.net.nz>
11872
11873 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
11874 conditional on [HAVE_GPM_H].
11875
118762007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
11877
11878 * syntax.c (skip_chars): Update syntax-table only after we checked that
11879 the new location is valid.
11880
118812007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11882
11883 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
11884 mac_get_window_bounds.
11885
118862007-05-20 Nick Roberts <nickrob@snap.net.nz>
11887
11888 * Makefile.in (LIBGPM): Allow it to be set from configure.
11889 If set then link Emacs with it.
11890
11891 * config.in: Regenerate.
11892
11893 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
11894 New externs.
11895
11896 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
11897 Include gpm.h.
11898 (handle_one_term_event, term_gpm): New externs.
11899
11900 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
11901 and allow it to be interrupted by SIGIO.
11902
11903 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
11904 (wait_reading_process_output): Wait on gpm_fd too.
11905 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
11906 (add_gpm_wait_descriptor_called_flag): New variable.
11907 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
11908
11909 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
11910 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
11911 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
11912 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
11913 (make_lispy_event): Add case GPM_CLICK_EVENT.
11914 (read_avail_input): Handle mouse input.
11915
11916 * term.c (write_glyphs_with_face): New function.
11917 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
11918 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
11919 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
11920 (mouse_face_face_id, term_gpm, pos_x, pos_y)
11921 (last_mouse_x, last_mouse_y): New variables.
11922 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
11923 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
11924 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
11925 (Fterm_close_connection): New functions.
11926 (term_init): Initialise mouse_face_window.
11927
119282007-05-19 Chong Yidong <cyd@stupidchicken.com>
11929
11930 * xdisp.c (redisplay_window): If first window line is a
11931 continuation line, recompute the new window start instead of
11932 recentering.
11933
119342007-05-18 Glenn Morris <rgm@gnu.org>
11935
11936 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
11937 Suggested by Alfred M. Szmidt <ams@gnu.org>.
11938
119392007-05-17 Glenn Morris <rgm@gnu.org>
11940
11941 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
11942
119432007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11944
11945 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
11946 dead key repeat and up events.
11947
119482007-05-14 Chong Yidong <cyd@stupidchicken.com>
11949
11950 * image.c (pbm_load): Check image size for monochrome pbm.
11951
119522007-05-13 Chong Yidong <cyd@stupidchicken.com>
11953
11954 * xterm.c (XTread_socket): Revert last change.
11955
119562007-05-12 Chong Yidong <cyd@stupidchicken.com>
11957
11958 * image.c (pbm_load): Correctly check image size for greyscale pbm.
11959
11960 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
11961
119622007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
11963
11964 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
11965 mixup (YAILOM).
11966
119672007-05-07 Andreas Schwab <schwab@suse.de>
11968
11969 * keymap.c (Flookup_key): Fix typo in last change.
11970
119712007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
11972
11973 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
11974 mapping for unibyte strings.
11975
119762007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11977
11978 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
11979 (Fx_popup_dialog) [MAC_OSX]: Likewise.
11980
119812007-04-29 Richard Stallman <rms@gnu.org>
11982
11983 * insdel.c (replace_range): For undo, record insertion first.
11984
119852007-04-29 Andreas Schwab <schwab@suse.de>
11986
11987 * lisp.h (VECSIZE): Use OFFSETOF.
11988
119892007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11990
11991 * xdisp.c (try_window_reusing_current_matrix): Fix number of
11992 disabled lines.
11993
119942007-04-28 Richard Stallman <rms@gnu.org>
11995
11996 * lread.c (read_escape): In a string, \s is always space.
11997
880820fe 119982007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
11999
12000 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
12001
12002 * gtkutil.c (xg_update_menubar, create_menus): Create empty
12003 submenu for menu bar items.
12004
382c648d 12005See ChangeLog.10 for earlier changes.
6922b018
KH
12006
12007;; Local Variables:
880820fe 12008;; coding: utf-8
33462dfa 12009;; add-log-time-zone-rule: t
6922b018 12010;; End:
2a34a036 12011
59ce725a 12012 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
12013
12014 This file is part of GNU Emacs.
12015
5a1dde61 12016 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 12017 it under the terms of the GNU General Public License as published by
5a1dde61
GM
12018 the Free Software Foundation, either version 3 of the License, or
12019 (at your option) any later version.
7f6d64f8
GM
12020
12021 GNU Emacs is distributed in the hope that it will be useful,
12022 but WITHOUT ANY WARRANTY; without even the implied warranty of
12023 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12024 GNU General Public License for more details.
12025
12026 You should have received a copy of the GNU General Public License
5a1dde61 12027 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 12028
28f60c3d 12029;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40