Fix typos.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ec4e88d7
CY
12008-12-11 Chong Yidong <cyd@stupidchicken.com>
2
3 * term.c (tty_free_frame_resources): Renamed from
4 delete_tty_output; all callers changed. Call free_frame_faces to
5 free the face cache.
6
b4233ec9
JR
72008-12-11 Jason Rumney <jasonr@gnu.org>
8
8ec71e23
JR
9 * w32font.c (fill_in_logfont): Don't assume symbol script means
10 SYMBOL_CHARSET.
11
b4233ec9
JR
12 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
13 size for surrogates.
14
011a0143
JB
152008-12-11 Juanma Barranquero <lekktu@gmail.com>
16
17 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
18
3c309f34
JB
192008-12-11 Juanma Barranquero <lekktu@gmail.com>
20
21 * process.c (Fsystem_process_attributes, syms_of_process):
22 Fix typo in name of Ssystem_process_attributes.
23 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
24
fedc6ab5
JB
252008-12-11 Juanma Barranquero <lekktu@gmail.com>
26
27 * syntax.c (Fmodify_syntax_entry): Doc fix.
28
ba3de0e8
JB
292008-12-10 Juanma Barranquero <lekktu@gmail.com>
30
31 * font.c (Ffont_spec): Move usage to end of docstring.
32
174f1c74
JR
332008-12-10 Jason Rumney <jasonr@gnu.org>
34
35 * w32font.c (Qcham): New symbol.
36 (font_supported_scripts): Add cham, and comments for other new
37 scripts in bitfield from OpenType spec.
9d32f818
JR
38 (add_font_entity_to_list): Limit unicode-sip fonts to those that
39 contain characters beyond the bmp.
174f1c74 40
7b649478
KH
412008-12-10 Kenichi Handa <handa@m17n.org>
42
43 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 44 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
45 Qunicode_sip.
46
2133e2d1
JB
472008-12-10 Juanma Barranquero <lekktu@gmail.com>
48
49 * coding.c (QCdefault_char): Rename from QCdefalut_char.
50 (Fcoding_system_put): Use QCdefault_char.
51 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
52
9af886ee
CY
532008-12-09 Chong Yidong <cyd@stupidchicken.com>
54
74d819eb
CY
55 * xftfont.c (syms_of_xftfont): Fix typo.
56
4ccfa1c0 57 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 58
7c19d3ae
DN
592008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
60
61 * emacs.c (main): Close daemon_pipe on exec.
62
567826bb
CY
632008-12-08 Chong Yidong <cyd@stupidchicken.com>
64
65 * termchar.h (struct tty): New members termcap_term_buffer and
66 termcap_strings_buffer.
67
68 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 69 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
70 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
71 All callers changed.
72 (init_tty): Store termcap data and string buffers in new struct
73 tty members termcap_term_buffer and termcap_strings_buffer.
74 (delete_tty): Free them.
4ccfa1c0 75 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 76
aa96c42b
SZ
772008-12-07 Seiji Zenitani <zenitani@mac.com>
78
79 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 80 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 81
b7e1d896
CY
822008-12-06 Chong Yidong <cyd@stupidchicken.com>
83
84 * coding.c (make_conversion_work_buffer): Disable buffer
85 modification hooks in the work buffer.
86
b5ec91a5
EZ
872008-12-05 Eli Zaretskii <eliz@gnu.org>
88
89 * process.c (procfs_system_process_attributes): If `nread' has a
90 negative value, assign zero to it.
91
a5d2a52b
CY
922008-12-05 Chong Yidong <cyd@stupidchicken.com>
93
68c5540b 94 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 95
7bf1bb21
KH
962008-12-05 Kenichi Handa <handa@m17n.org>
97
98 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
99 second character is a combining character.
100
2fdc7d00
EZ
1012008-12-05 Eli Zaretskii <eliz@gnu.org>
102
103 * process.c (procfs_system_process_attributes): Don't use cmd,
104 cmdsize, and q without initializing them first.
105
bf6bfba8
JR
1062008-12-04 Jason Rumney <jasonr@gnu.org>
107
108 * w32font.c (w32font_draw): Initialize orig_clip before getting
109 it, and delete it when finished.
110
a3b1a468
DN
1112008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
112
113 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
114 case when running as a daemon before detaching.
115
8b8be8eb
JB
1162008-12-03 Juanma Barranquero <lekktu@gmail.com>
117
805f2638 118 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 119
b1bde622
KH
1202008-12-03 Kenichi Handa <handa@m17n.org>
121
e500c47d
KH
122 * font.c (font_at): Set `multibyte' at first.
123
ca516334
KH
124 * coding.c (decode_coding_charset): Check type of an element of
125 vector VALIDS.
7bf1bb21 126 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 127
4ccfa1c0 128 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
129 (font_for_char): Likewise.
130
1e5ecd37
CY
1312008-12-03 Chong Yidong <cyd@stupidchicken.com>
132
d5b01609 133 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
134 (font_update_lface): Handle fonts with corrupted size specs,
135 i.e. non-int and non-float.
d5b01609 136
11e3a6e4 137 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 138 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 139 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 140
ab06788b
CY
141 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
142
1e5ecd37 143 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 144 underline_minimum_offset for underline position.
1e5ecd37 145
63c125ab
DN
1462008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
147
148 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
149
150 * character.c (c_string_width): Specify the type for LEN.
151
3a8406e1
KH
1522008-12-03 Kenichi Handa <handa@m17n.org>
153
4ccfa1c0 154 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 155 (decode_coding_utf_8): Likewise.
4ccfa1c0 156 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 157 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 158
651df7d9
CY
1592008-12-02 Chong Yidong <cyd@stupidchicken.com>
160
161 * keyboard.c (make_lispy_position): Only use PT if the selected
162 window is current.
163
1f625c6c
AS
1642008-12-02 Andreas Schwab <schwab@suse.de>
165
f7741ce9
AS
166 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
167
1f625c6c
AS
168 * doprnt.c (doprnt1): Fix size of charbuf.
169
92bc2678
CY
1702008-12-02 Chong Yidong <cyd@stupidchicken.com>
171
172 * keyboard.c (timer_check): Revert last change.
173
93b9e8cc
JB
1742008-12-02 Juanma Barranquero <lekktu@gmail.com>
175
176 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
177
fd7a37d5
JB
1782008-12-01 Juanma Barranquero <lekktu@gmail.com>
179
180 * makefile.w32-in: Update dependencies.
181 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
182
c115043b
AS
1832008-12-01 Andreas Schwab <schwab@suse.de>
184
185 * font.c (register_font_driver): Use xmalloc.
186 (font_put_frame_data): Likewise.
187
f5668d2a
CY
1882008-12-01 Chong Yidong <cyd@stupidchicken.com>
189
860d96be
CY
190 * xfaces.c (realize_x_face): Make abort condition clearer.
191
f5668d2a
CY
192 * gtkutil.c (update_frame_tool_bar): Initialize variable.
193
379c17e7
CY
1942008-11-30 Chong Yidong <cyd@stupidchicken.com>
195
196 * keyboard.c (timer_check): After a timer runs, ensure that the
197 selected window's buffer is current.
198
35f36d65
JB
1992008-11-30 Juanma Barranquero <lekktu@gmail.com>
200
f952c61c
JB
201 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
202 It was accidentally restored by the Unicode merge.
203
35f36d65
JB
204 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
205
b23077df
JB
2062008-11-29 Juanma Barranquero <lekktu@gmail.com>
207
208 * w32proc.c: Include "coding.h".
209 (Fw32_short_file_name): Encode filename passed to Windows API.
210 (Fw32_long_file_name): Encode filename passed to Windows API and
211 decode back the result. (Bug#1433)
212
b8ebe9dd
KH
2132008-11-29 Kenichi Handa <handa@m17n.org>
214
8cc53f96
KH
215 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
216 not before accessing it.
217
b8ebe9dd
KH
218 * charset.c (Fdefine_charset_internal): After calculating
219 min_char, max_char, and fastmap, copy the charset structure again.
220 (encode_char): Fix the previous change.
221
59bc82c0
SZ
2222008-11-28 Seiji Zenitani <zenitani@mac.com>
223
224 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
225
226 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
227
228 * nsterm.m (x_set_frame_alpha): New function.
229
32247e3d
EZ
2302008-11-27 Eli Zaretskii <eliz@gnu.org>
231
232 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
233
b003e5ff
JB
2342008-11-27 Juanma Barranquero <lekktu@gmail.com>
235
236 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
237 pointer to check_face_name.
238
708550f5
KH
2392008-11-27 Kenichi Handa <handa@m17n.org>
240
241 * category.h (SET_CATEGORY_SET): Call set_category_set.
242 (set_category_set): Extern it.
243
244 * category.c (hash_get_category_set): New function.
245 (Fmodify_category_entry): Adjusted for the change of
246 char_table_ref_and_range. Call hash_get_category_set to get a
247 category set to store in the table.
248
249 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
250 Funify_charset.
251
2ae37cf0 252 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
253 (DECODE_CHAR): Check if the decoder vector is ready.
254 (ENCODE_CHAR): Check if the encoder char-table is ready.
255 (maybe_unify_char): Extern it.
256
257 * charset.c (Vchar_unified_charset_table): Delete it.
258 (inhibit_load_charset_map): New variable.
259 (temp_charset_work): New variable.
260 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
261 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
262 New macros.
263 (load_charset_map): Meaning of control_flag changed. If
264 inhibit_load_charset_map is nonzero, setup a table in
265 temp_charset_work.
266 (load_charset): New argument control_flag.
267 (map_charset_for_dump): New function.
268 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
269 map_charset_for_dump.
270 (Fdefine_charset_internal): If the charset method is MAP, load
271 mapping tables by calling load_charset.
272 (Funify_charset): Don't load a mapping table but directly set
273 Vchar_unify_table.
274 (maybe_unify_char): New function.
275 (decode_char): Don't handle the deleted method MAP_DEFERRED.
276 Handle the case of inhibit_load_charset_map being nonzero.
277 (encode_char): Don't handle the deleted method MAP_DEFERRED.
278 Handle the case of inhibit_load_charset_map being nonzero.
279 (Fclear_charset_maps): Just free temp_charset_work.
280 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
281 variable.
282
283 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
284 change of char_table_ref_and_range.
285 (char_table_ref_and_range): Change the meaning of argument FROM
286 and TO. Now the caller must provide initial values for *FROM
287 and *TO.
288
289 * fontset.c (fontset_add): Adjusted for the change of
290 char_table_ref_and_range.
291 (fontset_get_font_group): Likewise.
292 (Ffontset_info): Likewise.
293
294 * keymap.c (describe_vector): Adjusted for the change of
295 char_table_ref_and_range. For char-table, put boundary between
296 non-ASCII and 8-bit characters.
297
298 * print.c (print_object): For bool-vector, delete unnecessary
299 check of ASCII_BYTE_P.
300
9196133b
JR
3012008-11-26 Jason Rumney <jasonr@gnu.org>
302
303 * w32font.c (w32font_open_internal): Don't include external
304 leading in font height.
305
9f688acf
GM
3062008-11-26 Glenn Morris <rgm@gnu.org>
307
308 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
309 redefinition with ifdef. (Bug#1383)
310
90d19aff
AR
3112008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
312
313 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
314
4ccfa1c0 3152008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
316
317 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
318 New EmacsView methods.
319 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
320 Fixes bug #1048,1357,1414.
321
3222008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
323
324 Fix bug #1362.
325 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
326 is not an indexed color.
327 * nsterm.m (free_indexed_color): Add argument checking.
328 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
329
e7d5ecb3
CY
3302008-11-24 Chong Yidong <cyd@stupidchicken.com>
331
332 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
333 Document confirm-after-completion value for
334 minibuffer-completion-confirm.
335
c285743c
JR
3362008-11-24 Jason Rumney <jasonr@gnu.org>
337
338 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
339 warning.
340
b0857706
JR
3412008-11-23 Jason Rumney <jasonr@gnu.org>
342
343 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
344 restored before returning.
345
346 * w32font.c (check_face_name): New function.
347 (add_font_entity_to_list): Use it to filter out common substituted
348 fonts.
349
ee50ff07
MR
3502008-11-22 Martin Rudalics <rudalics@gmx.at>
351
352 * buffer.c (Fswitch_to_buffer): Reword and mention new option
353 confirm-nonexistent-file-or-buffer in doc-string.
354
b8ff72fa
SM
3552008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
356
357 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
358 Fix copy/paste typo. Add checks.
359
cee53ed4
KH
3602008-11-21 Kenichi Handa <handa@m17n.org>
361
362 * coding.c (detect_coding_iso_2022): Reject invalid composition
363 sequence.
364 (DECODE_COMPOSITION_START): If the current source is the last
365 block, and the current composition doesn't end, regard this
366 sequence as invalid.
367 (decode_coding_iso_2022): Handle invalid composition sequence.
368
f6ef1e65
MR
3692008-11-20 Martin Rudalics <rudalics@gmx.at>
370
371 * window.c (coordinates_in_window): Don't return
372 ON_VERTICAL_BORDER for the rightmost position of a mode/header
373 line when the window is not the rightmost one. (Bug#1372)
374
e08b1705
MR
3752008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
376
377 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
378
ad98e89f
EZ
3792008-11-15 Eli Zaretskii <eliz@gnu.org>
380
381 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
382 and bright_bg if noninteractive is non-zero.
383
fb098a4b
CY
3842008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
385
386 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
387 x_draw_glyph_string_background.
388
389 * w32term.c (x_draw_glyph_string): Likewise.
390
ce952b6e
CY
3912008-11-15 Chong Yidong <cyd@stupidchicken.com>
392
393 * xterm.c (x_draw_glyph_string): Stop drawing the background of
394 the next glyph string once past the overhang width.
395
396 * nsterm.m (ns_draw_glyph_string): Likewise.
397
398 * w32term.c (x_draw_glyph_string): Likewise.
399
26ea7079
CY
4002008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
401
402 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
403 double file close.
404
1c33c906
MR
4052008-11-14 Martin Rudalics <rudalics@gmx.at>
406
407 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
408 dedicated status of window before attempting to display another
409 buffer in it.
410
8fc29035
JB
4112008-11-14 Juanma Barranquero <lekktu@gmail.com>
412
413 * msdos.c (Fmsdos_long_file_names):
414 (syms_of_msdos) <dos-unsupported-char-glyph>:
415 * dosfns.c (Fint86): Fix typos in docstrings.
416
55fb4286
EZ
4172008-11-14 Eli Zaretskii <eliz@gnu.org>
418
419 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
420
3fda0315
KY
4212008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
422
423 * puresize.h (BASE_PURESIZE): Increase to 1260000.
424
7e849c17
CY
4252008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
426
427 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
428
429 * frame.h: Negative alpha means "don't touch".
430
431 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
432
433 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
434
b9fd67bd
DN
4352008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
436
437 * hftctl.c:
438 * chpdef.h:
439 * acldef.h: Remove files used only for systems no longer supported.
440
441 * Makefile.in: Fix .o alphabetical ordering.
442 (hftctl.o): Remove dependency, file removed.
443 (keymap.o, print.o): Depend on charset.h.
444
d5998e03
KH
4452008-11-10 Kenichi Handa <handa@m17n.org>
446
2ae37cf0 447 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 448
be70e183
CY
4492008-11-08 Chong Yidong <cyd@stupidchicken.com>
450
451 * dired.c (file_name_completion): If completion_ignore_case is
452 enabled, ignore case when checking completion-regexp-list.
453
7cf94eac
EZ
4542008-11-08 Eli Zaretskii <eliz@gnu.org>
455
456 * vm-limit.c (get_lim_data): Fix last change.
457
ee107a89
KH
4582008-11-08 Kenichi Handa <handa@m17n.org>
459
460 * character.c (Fget_byte): New function.
461 (syms_of_character): Defsubr Fget_byte.
462
5fd15622
CY
4632008-11-07 Chong Yidong <cyd@stupidchicken.com>
464
465 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
466 cursor position is valid after scrolling.
467
13d62fad
JB
4682008-11-06 Juanma Barranquero <lekktu@gmail.com>
469
470 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
471
a1dd2936
GM
4722008-11-06 Glenn Morris <rgm@gnu.org>
473
474 * xterm.c (handle_one_xevent): Don't let popup menus cause
475 mouse-autoselect-window related window switching. (Bug#1261)
476
860cd236
CY
4772008-11-04 David Smith <davidsmith@acm.org> (tiny change)
478
479 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
480
653a3150
AS
4812008-11-04 Andreas Schwab <schwab@suse.de>
482
483 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
484
870f5cac
CY
4852008-11-03 Chong Yidong <cyd@stupidchicken.com>
486
487 * xfns.c (Fx_wm_set_size_hint): New function.
488
1e02f3cb
MR
4892008-11-03 Martin Rudalics <rudalics@gmx.at>
490
491 * textprop.c (Fprevious_single_char_property_change): Return 0
492 when there's no change in a string. (Bug#1301)
493
e630dfc6
MR
4942008-11-02 Martin Rudalics <rudalics@gmx.at>
495
496 * frame.c (do_switch_frame): New argument NORECORD passed to
497 Fselect_window.
498 (Fselect_frame): New argument NORECORD passed to
499 do_switch_frame.
500 (Fset_frame_selected_window): New argument NORECORD passed to
501 Fselect_frame.
502 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
503 in call of do_switch_frame.
504 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
505 Handle NORECORD argument in call of Fselect_frame.
506 * lisp.h (do_switch_frame, Fselect_frame)
507 (Fset_frame_selected_window): Adjust declarations.
508 * window.c (select_frame_norecord): New function.
509 (run_window_configuration_change_hook): Use it and call
510 Fselect_frame with NORECORD set.
511 (Fselect_window): Pass NORECORD to Fselect_frame.
512 (Fset_window_configuration): Handle NORECORD argument in call of
513 do_switch_frame.
514 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
515 Fset_frame_selected_window.
516 * keyboard.c (command_loop_1): Handle NORECORD in call of
517 Fselect_frame (currently ifdefd).
518
9020b223
GM
5192008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
520
521 * emacs.c (USAGE2): Untabify.
522
793ffee8
SM
5232008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
524
525 * composite.c (fill_gstring_header): Fix copy/paste typo.
526
ab6d1131
MR
5272008-10-31 Martin Rudalics <rudalics@gmx.at>
528
529 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
530 (Fother_window): Rename argument and rewrite doc-string.
531 (select_window_norecord): Fix return value. (Bug#1276)
532
601a9cf1
JB
5332008-10-30 Juanma Barranquero <lekktu@gmail.com>
534
535 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
536 new frames overriding foreground for tooltips. Based on similar patch
537 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
538
813b0652
CY
5392008-10-29 Chong Yidong <cyd@stupidchicken.com>
540
541 * emacs.c (Fdaemon_initialized): Initialize nfd.
542
4414f58f
MR
5432008-10-29 Martin Rudalics <rudalics@gmx.at>
544
545 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
546 (Fwindow_text_height): Clarify doc-strings.
547 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
548 doc-string of window-scroll-functions.
549
ecdcaa09
RS
5502008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
551
552 * category.c (syms_of_category): Fix typo in docstring.
553
23fe745a
JB
5542008-10-28 Juanma Barranquero <lekktu@gmail.com>
555
556 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
557 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
558 Fix typos in docstrings.
559
ff808935
DN
5602008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
561
562 * emacs.c (daemon_pipe): Make non-static.
563 (IS_DAEMON): Move definition ...
564 * lisp.h (IS_DAEMON): ... here.
565 (daemon_pipe): Declare.
566 (is_daemon): Remove.
567 * dispnew.c (init_display): Use IS_DAEMON.
568
fc012771
SM
5692008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
570
571 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
572 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
573
574 * emacs.c (is_daemon): Remove.
575 (main): Don't set is_daemon.
576 (IS_DAEMON): New macro.
577 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 578 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
579 parent exits.
580 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
581
d8bdbe6f
CY
5822008-10-27 Chong Yidong <cyd@stupidchicken.com>
583
d1a072bf
CY
584 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
585 over-sized glyph, draw it with the default glyph width.
586
e2e325aa
CY
587 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
588 glyph, draw it with the default glyph width.
589
590 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
591 glyph, draw it with the default glyph width.
592
d8bdbe6f
CY
593 * xdisp.c (try_scrolling): When computing the distance from the
594 scroll margin to PT, try moving some distance past the window
595 bottom before giving up.
596
7bfac547
MR
5972008-10-27 Martin Rudalics <rudalics@gmx.at>
598
599 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
600 (Fset_window_buffer): Explain in doc-string that a window can be
601 "strongly" dedicated to its buffer.
602
4ff029f6
DN
6032008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
604
605 * emacs.c (daemon_name): New variable.
606 (main): Deal with --daemon=SERVER_NAME.
607 (Fdaemonp): Return a name if one was passed to --daemon.
608
5790ef40
DN
6092008-10-26 Romain Francoise <romain@orebokech.com>
610
f9bd0df9 611 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
612 (main): Create a pipe before forking, make the parent exit only after
613 the child has closed its end of the pipe. Move closing the
614 descriptors ...
615 (Fdaemon_initialized): ... here. New function.
616
f5385255
SM
6172008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
618
4d632321
SM
619 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
620 the previous unoptimized table.
621
f5385255
SM
622 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
623 the distinction between non-nil and non-t value of `dedicated'.
624
6c56a0f3
CY
6252008-10-25 Chong Yidong <cyd@stupidchicken.com>
626
627 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 628 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 629
fec89261
MR
6302008-10-25 Martin Rudalics <rudalics@gmx.at>
631
632 * window.c (Fget_buffer_window, Fdelete_windows_on)
633 (Freplace_buffer_in_windows): Make buffer argument optional and
634 rename to buffer_or_name.
635
34fcddd0
CY
6362008-10-24 Chong Yidong <cyd@stupidchicken.com>
637
f5385255
SM
638 * xdisp.c (handle_single_display_spec, handle_display_prop):
639 Undo 2005-05-16 change.
34fcddd0
CY
640 (handle_stop): Pop iterator if it's loaded with an empty string.
641 (get_overlay_strings_1): Don't save iterator if it's loaded with
642 an empty string (bug#1201).
643
064766f2
KH
6442008-10-24 Kenichi Handa <handa@m17n.org>
645
646 * ftfont.c (ftfont_otf_features): Fix previous change.
647 (ftfont_otf_capability): Check FeatureList.FeatureCount before
648 calling ftfont_otf_features.
649
f9bd0df9 6502008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
651
652 * font.c (font_match_p): Fix for the case that a vector of
653 characters is in script-representative-chars.
654
1dae9197
MA
6552008-10-24 Michael Albinus <michael.albinus@gmx.de>
656
657 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 658 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
659 (xd_read_queued_messages): Catch Qdbus_error from the macros.
660 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
661 macro. (Bug#1186).
662
f9bd0df9 6632008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
664
665 * s/sol2-10.h: New file.
666
878a4584
JB
6672008-10-23 Juanma Barranquero <lekktu@gmail.com>
668
669 * xdisp.c (fill_glyph_string): Fix typo in source (though the
670 poor beast has survived 9+ years and the jump from xterm.c!).
671
cd265ca6
MR
6722008-10-23 Martin Rudalics <rudalics@gmx.at>
673
674 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
675 Reword doc-string.
f5385255 676 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 677
472a4dc9
JB
6782008-10-23 Juanma Barranquero <lekktu@gmail.com>
679
680 * character.c (syms_of_character) <script-representative-chars>:
681 <unicode-category-table>: Doc fixes.
682
159bd5a2
NF
6832008-10-23 Noah Friedman <friedman@splode.com>
684
685 * coding.c (make_conversion_work_buffer): Check that
686 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
687 Fget_buffer_create.
688
49f9c344
KH
6892008-10-23 Kenichi Handa <handa@m17n.org>
690
691 * font.c (font_add_log): Check the values of extra properties.
692
12bb3111
MR
6932008-10-22 Martin Rudalics <rudalics@gmx.at>
694
695 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
696 Reword doc-string.
697 (Fset_window_parameter): Use NILP.
698 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 699 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 700
bbeb4e99
JB
7012008-10-22 Juanma Barranquero <lekktu@gmail.com>
702
703 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
704
7052008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
706
707 * nsfns.m (ns_appkit_version): New function.
708 (x-server-version): Use it.
709 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
710 (x-server-vendor): Don't check_ns().
711
712 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
713
a9b555d3
JB
7142008-10-22 Juanma Barranquero <lekktu@gmail.com>
715
716 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
717 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
718
4626499f
KH
7192008-10-22 Kenichi Handa <handa@m17n.org>
720
e3681952
KH
721 * syntax.c (scan_words): Call word_boundary_p instead of comparing
722 scripts.
723
4626499f
KH
724 * category.c (word_boundary_p): Check scripts instead of charset.
725 Handle nil value in word-separating-categories and
726 word-combining-categories.
727 (syms_of_category): Fix docstrings of word-separating-categories
728 and word-combining-categories.
729
1560f91a
EZ
7302008-10-21 Eli Zaretskii <eliz@gnu.org>
731
732 * coding.c (Fencode_coding_region, Fdecode_coding_region)
733 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
734
f4668441
MR
7352008-10-21 Martin Rudalics <rudalics@gmx.at>
736
737 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
738 Rename arg "buffer" to "buffer_or_name".
739 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
740 it optional.
741 (no_switch_window): Remove since the return value is not used.
a9b555d3 742 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
743 Consider window as dedicated when Fwindow_dedicated_p returns a
744 non-nil value.
745 * lisp.h: Remove prototype for no_switch_window.
746
fd75ddb2
JD
7472008-10-21 Jan Djärv <jan.h.d@swipnet.se>
748
749 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 750 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 751
07295713
KH
7522008-10-21 Kenichi Handa <handa@m17n.org>
753
754 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
755 check Vlatin_extra_code_table.
756
712adc82
EZ
7572008-10-20 Eli Zaretskii <eliz@gnu.org>
758
759 * fileio.c (Fset_file_modes): Doc fix.
760
f549eb0b
MA
7612008-10-19 Michael Albinus <michael.albinus@gmx.de>
762
763 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
764 in arrays.
765
aac0c6e3
MR
7662008-10-19 Martin Rudalics <rudalics@gmx.at>
767
768 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
769 Mention kill-buffer in doc-string.
770 (Fset_window_buffer): Reinsert tem check removed in last commit.
771 (Fenlarge_window, Fshrink_window): Have argument names and
772 doc-string follow Elisp manual more closely.
773
7742008-10-18 Eli Zaretskii <eliz@gnu.org>
775
776 * fileio.c (Fset_file_modes): Doc fix.
777
7782008-10-18 Martin Rudalics <rudalics@gmx.at>
779
780 * window.c (Fwindow_width, Fset_window_start)
781 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
782 (Fdelete_windows_on, Freplace_buffer_in_windows):
783 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
784 (Fwindow_dedicated_p): Make window argument optional.
785 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
786 (Fset_window_buffer): Respect any non-nil dedicated value for
787 window. Rename "buffer" argument to "buffer_or_name".
788
7892008-10-18 Ulrich Mueller <ulm@gentoo.org>
790
791 * m/sh3.h: New file, machine description for SuperH.
792
7932008-10-17 Martin Rudalics <rudalics@gmx.at>
794
795 * window.c (Fsplit_window): Rename arg horflag to horizontal.
796
7972008-10-17 Kenichi Handa <handa@m17n.org>
798
799 * ftfont.c (ftfont_otf_features): Fix indexing
800 gsub_gpos->FeatureList.Feature. Check the validity of indices.
801
8022008-10-16 Magnus Henoch <mange@freemail.hu>
803
804 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
805 (Fdbus_call_method_asynchronously): Ditto.
806 This change makes C-h f display the argument list.
807
8082008-10-16 Chong Yidong <cyd@stupidchicken.com>
809
810 * fileio.c (Fexpand_file_name): Doc fix.
811
812 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
813 of :foreground and :background equivalent to unspecified (20.x
814 compatibility).
815
8162008-10-15 Eli Zaretskii <eliz@gnu.org>
817
818 * buffer.c (syms_of_buffer): Doc fix.
819
8202008-10-14 Kenichi Handa <handa@m17n.org>
821
822 * font.c (font_clear_prop): When clearing font width, clear the
823 average width field too.
824
8252008-10-12 Andreas Schwab <schwab@suse.de>
826
827 * ftfont.c (ftfont_shape_by_flt): Make static.
828 * ftfont.h (ftfont_shape_by_flt): Don't declare.
829
830 * font.c: Don't include <m17n-flt.h>.
831
8322008-10-10 Eli Zaretskii <eliz@gnu.org>
833
834 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
835
8362008-10-09 Eli Zaretskii <eliz@gnu.org>
837
838 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
839 away code.
840
8412008-10-09 Chong Yidong <cyd@stupidchicken.com>
842
843 * dispnew.c (update_text_area): Avoid looping due to large glyph
844 overhangs (bug#1070).
845
8462008-10-09 Kenichi Handa <handa@m17n.org>
847
848 * fontset.c (face_for_char): If face->fontset is negative, just
849 return ascii_face.
850
f5385255
SM
851 * font.c (font_delete_unmatched): Fix previous change.
852 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
853
8542008-10-09 Martin Rudalics <rudalics@gmx.at>
855
856 * frame.c (Fraise_frame): On text-only terminals select frame in
857 order to make it visible. (Bug#1061)
858
8592008-10-08 Chong Yidong <cyd@stupidchicken.com>
860
861 * fontset.c (fontset_find_font): Check frame validity.
862
8632008-10-07 Chong Yidong <cyd@stupidchicken.com>
864
a9b555d3 865 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
866 (xg_display_close): Allow Emacs to close all displays (bug#985).
867
8682008-10-06 Andreas Schwab <schwab@suse.de>
869
f5385255 870 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
871
8722008-10-06 Chong Yidong <cyd@stupidchicken.com>
873
f5385255 874 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 875
a9b555d3 876 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
877
878 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
879 during initialization.
880
8812008-10-04 Eli Zaretskii <eliz@gnu.org>
882
883 * xdisp.c (redisplay_internal): If frame switched, redisplay the
884 whole thing on MSDOS frames as well as on a TTY.
885
886 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
887 well as for TTY.
888 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
889 well as on a TTY.
890
891 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
892 as well as for TTY.
893
894 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
895
896 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
897 MSDOS frames as well.
898
8992008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
900
901 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
902 correct arguments.
903 * menu.c (find_and_return_menu_selection) Add cast.
904
9052008-10-03 Glenn Morris <rgm@gnu.org>
906
907 * emacs.c (USAGE1): Add --daemon.
908
9092008-10-02 Eli Zaretskii <eliz@gnu.org>
910
911 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
912 100, so it's in percents as advertised.
913
9142008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
915
916 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
917 (ns_output.current_cursor, ns_output.desired_cursor)
918 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
919 (FRAME_NEW_CURSOR_COLOR): Remove.
920
921 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 922 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
923 enumeration (HOLLOW_BOX_CURSOR, etc.).
924
925 * nsterm.m (ns_frame_rehighlight): Remove commented code.
926 (draw_window_cursor): Simplify code.
f5385255
SM
927 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
928 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 929 updates manually.
a9b555d3
JB
930 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
931 Use core Emacs cursor types.
aac0c6e3 932
b8ff72fa 933 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
934
9352008-10-02 Martin Rudalics <rudalics@gmx.at>
936
937 * process.c (Faccept_process_output): Fix doc-string.
938
9392008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
940
941 * gmalloc.c (__sbrk): Also define for uClibc.
942
943 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
944 for uClibc.
945
9462008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
947
948 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
949 styles.
950 (nsfont_open): Reenable the cache.
951
9522008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
953
954 * font.c (font_matching_entity): Reflect ATTRS in font selection.
955 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
956
9572008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
958
959 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
960 a suspended terminal.
961
9622008-09-30 Michael Albinus <michael.albinus@gmx.de>
963
964 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
965
9662008-09-30 Eli Zaretskii <eliz@gnu.org>
967
968 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
969
9702008-09-30 Chong Yidong <cyd@stupidchicken.com>
971
972 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
973 in a continued line coincides with a line beginning.
974
9752008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
976
977 * nsfont.m (nsfont_trait_distance): Fix bug.
978 (nsfont_list): Return a list rather than a vector (syncs with Handa
979 changes of 2008-05-14).
980 (nsfont_open): Improve logging.
981
9822008-09-29 Andreas Schwab <schwab@suse.de>
983
984 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
985
9862008-09-28 Martin Rudalics <rudalics@gmx.at>
987
988 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
989 name as char-resolve-modifiers.
990 Reported by: Markus Triska <markus.triska@gmx.at>
991
9922008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
993
994 * dispnew.c (init_display): Return earlier when running as a daemon.
995
9962008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
997
998 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
999
10002008-09-27 Eli Zaretskii <eliz@gnu.org>
1001
1002 * composite.c (Fcomposition_get_gstring)
1003 (Fcompose_region_internal, Fcompose_string_internal)
1004 (Ffind_composition_internal): Doc fix.
1005 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1006 (syms_of_composite) <auto-composition-function>: Doc fix.
1007 (syms_of_composite) <composition-function-table>: Doc fix.
1008
10092008-09-25 Chong Yidong <cyd@stupidchicken.com>
1010
1011 * search.c (wordify): New argument for lax word-ends.
1012 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1013
10142008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1015
1016 * lisp.h (is_daemon): Declare.
1017 * dispnew.c (init_display): Do not try to initialize the terminal
1018 when running as a daemon.
1019
10202008-09-22 Chong Yidong <cyd@stupidchicken.com>
1021
1022 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1023 x_display_pixel_height.
1024
10252008-09-22 Martin Rudalics <rudalics@gmx.at>
1026
1027 * undo.c (record_point): Don't call Fundo_boundary for first
1028 change. (Bug#731)
1029
10302008-09-22 Juanma Barranquero <lekktu@gmail.com>
1031
1032 * emacs.c (Fdaemonp): Doc fix.
1033
10342008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1035
1036 * emacs.c (main): Place #ifdef in the proper place.
1037
10382008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1039
1040 * emacs.c (standard_args): Add --daemon.
1041 (main): Disconnect from the terminal when --daemon is passed.
1042 (is_daemon): New variable.
1043 (Fdaemonp): New function.
1044 (syms_of_emacs): Defsubr it.
1045
10462008-09-20 Chong Yidong <cyd@stupidchicken.com>
1047
1048 * xdisp.c (get_next_display_element): Handle string display
1049 correctly when checking for the end of a box run.
1050
10512008-09-20 Glenn Morris <rgm@gnu.org>
1052
1053 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1054 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1055 (Frename_file): Avoid copying to trash if a rename involves
1056 a delete. (Bug#964).
1057
10582008-09-20 Eli Zaretskii <eliz@gnu.org>
1059
1060 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1061 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1062 frames as well as termcap frames.
1063 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1064 get_named_tty.
1065
10662008-09-19 Eli Zaretskii <eliz@gnu.org>
1067
1068 * process.c (procfs_system_process_attributes): Fix cmdline in
1069 case /proc/PID/cmdline is empty.
1070
1071 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1072 x_display_pixel_height.
1073
10742008-09-19 Juanma Barranquero <lekktu@gmail.com>
1075
1076 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1077
1078 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1079 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1080
10812008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1082
1083 * dispextern.h (struct it): Move line_wrap away from the middle of
1084 bitfields. Move voffset in struct iterator_stack_entry after the
1085 bitfields. Move tab_width near after another short.
1086
10872008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1088
1089 * frame.h (struct frame): Move alpha from the middle of bitfields.
1090
1091 * window.h (struct window): Move frozen_window_start_p after the
1092 rest of the bitfields to reduce padding.
1093
10942008-09-18 Chong Yidong <cyd@stupidchicken.com>
1095
1096 * xterm.h (x_display_info): Remove `height' and `width' members.
1097
1098 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1099
1100 * w32term.h (w32_display_info): Remove `height', `width',
1101 `height_in', and `width_in' members.
1102
b8ff72fa
SM
1103 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1104 New functions.
aac0c6e3
MR
1105 (x_calc_absolute_position): Use them.
1106 (x_term_init): Omit removed `height' and `width' members.
1107
b8ff72fa
SM
1108 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1109 New functions.
aac0c6e3
MR
1110 (w32_read_socket, x_calc_absolute_position): Use them.
1111 (w32_initialize_display_info, w32_term_init): Omit removed members
1112 of w32_display_info.
1113
b8ff72fa
SM
1114 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1115 New functions.
1116 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1117
b8ff72fa
SM
1118 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1119 New functions.
aac0c6e3
MR
1120 (x_calc_absolute_position): Use them.
1121 (x_term_init): Omit removed `height' and `width' members.
1122
1123 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1124 (compute_tip_xy):
1125 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1126 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1127 x_display_pixel_width.
1128
11292008-09-18 Kenichi Handa <handa@m17n.org>
1130
1131 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1132 (composition_compute_stop_pos): Fix handling of static composition.
1133 (Fcomposition_get_gstring): Check FROM and TO at first.
1134
11352008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1136
1137 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1138 mixup (YAILOM).
1139
11402008-09-17 Chong Yidong <cyd@stupidchicken.com>
1141
1142 * indent.c (Fvertical_motion): Use position reported by iterator
1143 instead of PT for determining screen motion (bug#943).
1144
11452008-09-17 Romain Francoise <romain@orebokech.com>
1146
1147 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1148
11492008-09-17 Kenichi Handa <handa@m17n.org>
1150
1151 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1152
1153 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1154 if necessary.
1155
11562008-09-16 Kenichi Handa <handa@m17n.org>
1157
1158 * coding.c (make_conversion_work_buffer): Avoid calling
1159 Fget_buffer_create if it is not necessary.
1160
11612008-09-15 Martin Rudalics <rudalics@gmx.at>
1162
1163 * window.c (Fselect_window): Don't update window_select_count and
1164 use_time when norecord is not nil.
1165
11662008-09-14 Kenichi Handa <handa@m17n.org>
1167
1168 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1169 specpdl_ptr.
1170
11712008-09-12 Kenichi Handa <handa@m17n.org>
1172
1173 * indent.c (scan_for_column): Don't handle automatic composition
1174 if the current buffer is not associated with a window.
1175
1176 * composite.c (composition_reseat_it): If the current buffer is
1177 not associated with a window, ignore the automatic composition.
1178 (find_automatic_composition): Likewise.
1179
11802008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1181
1182 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1183 (Fgpm_mouse_stop): Use it.
1184 * termhooks.h (close_gpm): Declare.
1185 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1186 connection if Gpm_GetEvent fails.
1187
1188 * window.c (set_window_buffer): Always preserve current-buffer.
1189
11902008-09-12 Glenn Morris <rgm@gnu.org>
1191
1192 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1193
11942008-09-11 Glenn Morris <rgm@gnu.org>
1195
1196 * charset.c (charset-map-path): Doc fix.
1197
11982008-09-10 Kenichi Handa <handa@m17n.org>
1199
1200 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1201
1202 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1203 compose a grapheme cluster with the preceding base glyph.
1204
1205 * composite.c (composition_compute_stop_pos): Fix previous change.
1206 Reset cmp_it->id to -1 at first.
1207
12082008-09-10 Glenn Morris <rgm@gnu.org>
1209
1210 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1211
12122008-09-09 Chong Yidong <cyd@stupidchicken.com>
1213
1214 * keyboard.c (read_key_sequence): Reapply translation maps when
1215 switching keyboards.
1216
12172008-09-09 Kenichi Handa <handa@m17n.org>
1218
1219 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1220 characters.
1221
1222 * composite.c (FORWARD_CHAR): Fix calculation
1223 of (POSITION).pos_byte.
1224 (composition_compute_stop_pos): Limit the search of composition to
1225 at most 500 characters ahead. If we reach the limit or find a
1226 newline, set cmp_it->ch to -2 and return 0.
1227 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1228
12292008-09-08 Kenichi Handa <handa@m17n.org>
1230
1231 * indent.c (Fvertical_motion): Be sure to set
1232 it_overshoot_expected if it.cmp_it.id is non-negative.
1233
12342008-09-07 Andreas Schwab <schwab@suse.de>
1235
1236 * callproc.c (Fcall_process): Don't hold references to string data
1237 across garbage collection. Move initialisation of new_argv down
1238 to avoid compiler bug.
1239
12402008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1241
1242 * process.c (Fsystem_process_attributes): Doc fix.
1243
12442008-09-07 Chong Yidong <cyd@stupidchicken.com>
1245
1246 * callproc.c (Fcall_process): Canonicalize current directory name.
1247
1248 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1249 iterator advances to the next line if the current line ends in a
1250 continued tab.
1251
12522008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1253
1254 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1255 member to point to cmp_from.
1256
1257 * xdisp.c: Doc fix for references to gidx data member.
1258
12592008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1260
1261 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1262
12632008-09-07 Kenichi Handa <handa@m17n.org>
1264
1265 * composite.c (FORWARD_CHAR): Check STOP after
1266 incrementing (POSITION).pos.
1267
12682008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1269
1270 * process.c (Fsystem_process_attributes): Doc fix.
1271
12722008-09-06 Chong Yidong <cyd@stupidchicken.com>
1273
1274 * keyboard.c (Ftop_level): Doc fix.
1275
12762008-09-06 Eli Zaretskii <eliz@gnu.org>
1277
1278 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1279 minibuffer, don't let lower part of menu invade the echo area.
1280
1281 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1282 "char *q" to access menu text and advance through it. Revert the
1283 change that displayed ">" instead of ASCII character 0x10.
1284
12852008-09-05 Eli Zaretskii <eliz@gnu.org>
1286
1287 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1288 toggle boxes and radio buttons on MS-DOS as well.
1289
12902008-09-05 Kenichi Handa <handa@m17n.org>
1291
1292 * composite.c (autocmp_chars): Check lookback count.
1293 (composition_compute_stop_pos): Set cmp_it->lookback.
1294 (composition_reseat_it): Check lookback count.
1295 (struct position_record): New struct.
1296 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1297 (find_automatic_composition): New function.
1298 (composition_adjust_point): Use find_automatic_composition.
1299
1300 * dispextern.h (struct composition_it): New member lookback.
1301
13022008-09-02 Chong Yidong <cyd@stupidchicken.com>
1303
1304 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1305 if moving by a single line.
1306
13072008-09-02 Andreas Schwab <schwab@suse.de>
1308
1309 * xterm.c (x_delete_display): Fix merge error.
1310
1311 * fileio.c (Fexpand_file_name): Remove unused variables.
1312
13132008-09-02 Eli Zaretskii <eliz@gnu.org>
1314
1315 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1316 storage on all platforms, not just on DOS_NT.
1317
13182008-09-02 Jason Rumney <jasonr@gnu.org>
1319
b8ff72fa
SM
1320 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1321 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1322
13232008-09-01 Chong Yidong <cyd@stupidchicken.com>
1324
1325 * xfaces.c (Finternal_set_alternative_font_family_alist)
1326 (Finternal_set_alternative_font_registry_alist): Properly copy
1327 entire alist structure.
1328
13292008-09-01 Kenichi Handa <handa@m17n.org>
1330
1331 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1332 representative chars of the script is a vector.
1333 (ftfont_list): Handle the case the representative chars of the
1334 script is a vector.
1335
1336 * character.c (syms_of_character): Docstring of
1337 script-representative-chars fixed.
1338
13392008-08-31 Eli Zaretskii <eliz@gnu.org>
1340
1341 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1342 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1343 the menu. Allocate larger buffer for `text', to account for
1344 possible ^C characters.
1345
13462008-08-31 Martin Rudalics <rudalics@gmx.at>
1347
1348 * xdisp.c (prepare_menu_bars): Don't call
1349 Vwindow_size_change_functions with arg Qt.
1350
13512008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1352
1353 * font.h (font_range):
1354 * fileio.c (report_file_error):
1355 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1356
13572008-08-30 Glenn Morris <rgm@gnu.org>
1358
1359 * data.c (Fmake_variable_frame_local): Doc fix.
1360
1361 * frame.c (Fmodify_frame_parameters): Doc fix.
1362
13632008-08-30 Eli Zaretskii <eliz@gnu.org>
1364
1365 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1366 needed by GetTokenInformation.
1367 (w32_system_process_attributes): Check return values of all system
1368 APIs.
1369
1370 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1371 only when the state changes.
1372 (IT_update_begin, IT_update_end): Add termscript trace.
1373
1374 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1375 clipboard is unavailable. Set dst to NULL if it doesn't point to
1376 malloc'ed data.
1377 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1378 passing random values to xfree.
1379
1380 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1381 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1382
13832008-08-29 Jason Rumney <jasonr@gnu.org>
1384
1385 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1386
13872008-08-29 Eli Zaretskii <eliz@gnu.org>
1388
1389 * composite.c (fill_gstring_body): Avoid compiler warnings.
1390
1391 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1392 LGLYPH_SET_CODE to avoid compiler warnings.
1393
2ae37cf0 1394 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1395
1396 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1397
1398 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1399 LGLYPH_SET_CODE.
1400
14012008-08-29 Kenichi Handa <handa@m17n.org>
1402
1403 * fileio.c (report_file_error): Don't downcase the first character
1404 of errstring if it is still unibyte.
1405
14062008-08-29 Kenichi Handa <handa@m17n.org>
1407
1408 These changes are to re-implement the automatic composition so
1409 that it doesn't use text properties.
1410
1411 * Makefile.in (ftfont.o): Depend on composite.h.
1412 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1413
1414 * character.h (Vunicode_category_table): Extern it.
1415
1416 * character.c (Vunicode_category_table): New variable.
1417 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1418
1419 * chartab.c (optimize_sub_char_table): Perform more greedy
1420 optimization.
1421
b8ff72fa
SM
1422 * composite.h (enum composition_method):
1423 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1424 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1425 (Vcomposition_function_table): Extern it.
1426 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1427 (composition_gstring_put_cache, composition_gstring_from_id)
1428 (composition_gstring_p, composition_gstring_width)
1429 (composition_compute_stop_pos, composition_reseat_it)
1430 (composition_update_it, composition_adjust_point): Extern them.
1431 (Fcomposition_get_gstring): EXFUN it.
1432
1433 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1434 (Vcomposition_function_table)
1435 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1436 (gstring_hash_table, gstring_work, gstring_work_headers):
1437 New variables.
aac0c6e3
MR
1438 (gstring_lookup_cache, composition_gstring_put_cache)
1439 (composition_gstring_from_id, composition_gstring_p)
1440 (composition_gstring_width, fill_gstring_header)
1441 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1442 (composition_reseat_it, composition_update_it)
b8ff72fa 1443 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1444 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1445 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1446 Defsubr compostion_get_gstring.
1447
1448 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1449 cmp_id.
1450 (struct glyph_string): Delete the member gidx. New members
1451 cmp_id, cmp_from, and cmp_to.
1452 (enum it_method): Delete GET_FROM_COMPOSITION.
1453 (struct composition_it): New struct.
1454 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1455 Delete c, len, cmp_id, cmp_len in u.comp.
1456
1457 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1458 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1459 (enum lglyph_indices): Likewise.
b8ff72fa 1460 (font_range): Adjust extern.
aac0c6e3
MR
1461 (font_fill_lglyph_metrics): Extern it.
1462
1463 * font.c (QCf): New variable.
1464 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1465 (font_prepare_composition): Delete this function.
1466 (font_range): Type and arguments changed.
1467 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1468 (font_fill_lglyph_metrics): New function.
b8ff72fa 1469 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1470 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1471 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1472 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1473
1474 * fontset.h (font_for_char): Extern it.
1475
1476 * fontset.c (font_for_char): New function.
1477
1478 * ftfont.c: Include composite.h.
1479 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1480 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1481
1482 * indent.c: Include composite.h and dispextern.h.
1483 (check_composition): Delete this function.
1484 (scan_for_column): Handle composition by
1485 composition_compute_stop_pos, composition_reseat_it, and
1486 composition_update_it.
1487 (compute_motion): Likewise.
1488 (Fvertical_motion): Fix checking of composition.
1489
1490 * keyboard.c (adjust_point_for_property): Check composition by
1491 composition_adjust_point.
1492
b8ff72fa 1493 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1494 struct glyph_string.
1495
b8ff72fa
SM
1496 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1497 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1498 struct glyph.
1499 (produce_composite_glyph): Likewise.
1500
b8ff72fa
SM
1501 * w32term.c (x_draw_composite_glyph_string_foreground):
1502 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1503 (x_draw_glyph_string): Likewise.
1504
1505 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1506 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1507
1508 * xdisp.c: Include font.h.
1509 (it_props): Delete the entry for Qauto_composed.
1510 (init_iterator): Initialize it->cmp_it.id to -1.
1511 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1512 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1513 (handle_auto_composed_prop): Delete it.
1514 (handle_composition_prop): Handle only static composition.
1515 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1516 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1517 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1518 (pop_it): Likewise.
1519 (get_next_element): Delete next_element_from_composition.
1520 (CHAR_COMPOSED_P): New macro.
1521 (get_next_display_element): For automatic composition, get a face
1522 from the font in the glyph-string.
1523 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1524 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1525 (next_element_from_string): Check if the character at the current
1526 position is composed by CHAR_COMPOSED_P.
1527 (next_element_from_buffer): Likewise.
b8ff72fa 1528 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1529 it. Update it->cmp_it.
b8ff72fa
SM
1530 (dump_glyph): Adjust for the change of struct glyph.
1531 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1532 it and struct glyph. Don't handle automatic composition here.
1533 (fill_gstring_glyph_string): New function.
1534 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1535 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1536 (BUILD_GSTRING_GLYPH_STRING): New macro.
1537 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1538 automatic composition.
b8ff72fa 1539 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1540 struct glyph.
b8ff72fa 1541 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1542
b8ff72fa 1543 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1544 the change of struct glyph_string.
1545 (x_draw_glyph_string): Likewise.
1546
15472008-08-29 Glenn Morris <rgm@gnu.org>
1548
1549 * buffer.c (word-wrap): Doc fix.
1550 * xdisp.c (truncate-partial-width-windows): Doc fix.
1551 Increase default to 50.
1552
15532008-08-29 Chong Yidong <cyd@stupidchicken.com>
1554
1555 * xdisp.c (update_tool_bar_unwind): New function.
1556 (update_tool_bar): Temporarily set selected frame before building
1557 tool-bar items.
1558
15592008-08-28 Michael Albinus <michael.albinus@gmx.de>
1560
1561 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1562 snprintf, respectively.
1563 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1564
15652008-08-28 Chong Yidong <cyd@stupidchicken.com>
1566
1567 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1568 LDFLAGS to GNUstep CC invocation.
1569
15702008-08-27 Chong Yidong <cyd@stupidchicken.com>
1571
1572 * indent.c (Fvertical_motion): Revert last change. Handle the
1573 general case where we are moving forward, and PT spans multiple
1574 screen lines.
1575
1576 * eval.c (find_handler_clause): Temporarily increase
1577 max-lisp-eval-depth while printing the backtrace buffer, to
1578 guarantee that help-mode code can run.
1579
15802008-08-27 Eli Zaretskii <eliz@gnu.org>
1581
1582 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1583 colors under -rv.
1584 (IT_set_frame_parameters): Don't swap foreground and background
1585 colors if `(reverse . t)' is present in the frame properties.
1586 (internal_terminal_init): Call init_frame_faces only for the
1587 initial frame.
1588
15892008-08-27 Andreas Schwab <schwab@suse.de>
1590
1591 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1592
15932008-08-27 Andreas Schwab <schwab@suse.de>
1594
1595 * search.c (search_buffer): Set char_base to zero only at the end.
1596
15972008-08-27 Kenichi Handa <handa@m17n.org>
1598
b8ff72fa 1599 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1600
16012008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1602
1603 * xterm.c (x_term_init): Temporarily hide the partially
1604 initialized terminal while calling vendor-specific-keysyms.
1605
16062008-08-26 Eli Zaretskii <eliz@gnu.org>
1607
1608 * msdos.c (internal_terminal_init): Most initializations done only
1609 once, especially initial_screen_colors[] and termscript open.
1610
16112008-08-26 Chong Yidong <cyd@stupidchicken.com>
1612
1613 * eval.c (Fcondition_case): Doc fix.
1614
1615 * widgetprv.h (EmacsFramePart): Change font member to the new font
1616 struct.
1617
1618 * widget.c: Include character.h and font.h for XSETFONT.
1619 (setup_frame_gcs): Compute X font id from font struct, just once.
1620
16212008-08-26 Eli Zaretskii <eliz@gnu.org>
1622
1623 * term.c (get_named_tty): Fix last change.
1624
16252008-08-26 Chong Yidong <cyd@stupidchicken.com>
1626
1627 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1628 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1629
16302008-08-25 Eli Zaretskii <eliz@gnu.org>
1631
1632 * frame.c (do_switch_frame): Mark previously displayed frame as
1633 obscured for FRAME_MSDOS_P frames as well.
1634
16352008-08-24 Eli Zaretskii <eliz@gnu.org>
1636
1637 * frame.c (make_terminal_frame): Initialize f->terminal,
1638 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1639 Set the top frame to newly created frame.
1640 (Fmake_terminal_frame): Reuse the_only_display_info.
1641
1642 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1643 estimating available memory.
1644
b97439ce 16452008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1646
1647 * nsterm.m (ns_draw_window_cursor): Don't call
1648 NSDisableScreenUpdates and NSEnableScreenUpdates on
1649 non-NS_IMPL_COCOA systems.
1650
16512008-08-23 Andreas Schwab <schwab@suse.de>
1652
1653 * process.c (procfs_system_process_attributes): Fix use of
1654 uninitialized variables.
1655
16562008-08-23 Eli Zaretskii <eliz@gnu.org>
1657
1658 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1659
1660 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1661 calling tty-set-up-initial-frame-faces.
1662
b8ff72fa
SM
1663 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1664 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1665
1666 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1667 addition to output_termcap.
1668
1669 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1670
1671 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1672 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1673 highlight.
1674
1675 * process.c [!subprocesses]: Define QCname.
1676 (syms_of_process): Intern and staticpro it.
1677
1678 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1679 Adjust for changes in encoding/decoding routines.
1680 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1681 encode_coding and decode_coding.
1682
b8ff72fa 1683 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1684
1685 * dosfns.c: Include frame.h before termhooks.h.
1686 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1687 variable termscript.
1688
1689 * s/msdos.h (USER_FULL_NAME): Define.
1690 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1691
1692 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1693 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1694 pw->pw_gecos.
1695
1696 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1697 SELECTED_FRAME as additional (1st) argument.
1698 (tty_read_avail_input): Handle output_msdos_raw in
1699 addition to output_termcap.
1700
1701 * msdos.c: Include frame.h before termhooks.h.
1702 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1703 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1704 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1705 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1706 (IT_set_terminal_modes, IT_reset_terminal_modes)
1707 (IT_set_frame_parameters): Use tty->termscript instead of a global
1708 variable termscript.
1709 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1710 global variable terminal_coding. Don't refer to
1711 Vnonascii_translation_table.
1712 (internal_terminal_init): Set Vwindow_system in current_kboard.
1713 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1714 Announce date and time of session start, if termscript is open.
1715 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1716 term.c:init_tty). Open termscript only of not already open.
1717 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1718 here instead of dos_ttraw. Don't initialize display if this is an
1719 initial tty. Don't set FRAME_FONT.
1720 (Vwindow_system_version): Bump to 23.
1721 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1722 is available, set up mouse_position_hook.
1723 (dos_ttraw, IT_set_terminal_modes): If called with initial
1724 terminal, do nothing.
1725 (IT_set_frame_parameters): Handle the Qtty_type frame
1726 parameter by calling internal_terminal_init.
1727 (dos_set_window_size, show_mouse_face)
1728 (clear_mouse_face, IT_note_mode_line_highlight)
1729 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1730 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1731 (initialize_msdos_display): New function.
1732 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1733 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1734 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1735 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1736 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1737 (request_sigio, unrequest_sigio): Don't define, now defined on
1738 sysdep.c.
1739 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1740
1741 * term.c [MSDOS]: Include msdos.h.
1742 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1743 conditional to DOS_NT. Allow only one call to this function in a
1744 session. Don't allocate a new struct tty_display_info; instead,
1745 reuse the_only_display_info. Call get_tty_size to get screen
1746 dimensions. Call init_baud_rate to set bad_rate.
1747 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1748 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1749 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1750 (get_tty_terminal, get_named_tty, Ftty_type)
1751 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1752 output_termcap.
b8ff72fa
SM
1753 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1754 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 1755 only when subprocesses are supported.
aac0c6e3
MR
1756
1757 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1758 f->output_data.x.
1759 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1760 terminal devices.
1761
1762 * msdos.h Remove definition of struct x_display_info and struct
1763 x_output.
1764 (FRAME_FONT): Use output_data.tty.
1765 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1766 (struct x_display_info): Rename from display_info. Update all users in
1767 msdos.c.
aac0c6e3 1768 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1769 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1770 (dos_ttraw): Update prototype.
1771
1772 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1773 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1774
17752008-08-23 Jason Rumney <jasonr@gnu.org>
1776
1777 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1778 (fn_TIFFSetDirectory): New library function used.
1779 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1780 (tiff_load): Use :index to select among multiple images. Set count
1781 property when multiple images exist.
1782 (gif_format): Use :index, not :image.
1783
17842008-08-23 Chong Yidong <cyd@stupidchicken.com>
1785
1786 * xdisp.c (try_scrolling): Check INT_MAX instead of
1787 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1788 to obtain INT_MAX.
1789
17902008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1791
1792 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1793
17942008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1795
1796 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1797 GNUstep library location.
1798
17992008-08-21 Chong Yidong <cyd@stupidchicken.com>
1800
1801 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1802 before using it.
1803
1804 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1805
18062008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1807
1808 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1809 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1810 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1811 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1812 (EmacsApp-cursor_blink_handler): Remove declaration.
1813 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1814 match 01 Feb 2008 changes in xterm.c.
1815 (ns_read_socket): Add cast to avoid warning.
1816 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1817 GNUstep.
1818
18192008-08-20 Chong Yidong <cyd@stupidchicken.com>
1820
1821 * xselect.c (x_get_foreign_selection): Return nil if desired
1822 selection could not be obtained, instead of signalling an error.
1823
18242008-08-20 David Reitter <david.reitter@gmail.com>
1825
1826 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1827 * nsterm.m: Remove ns-specific code for cursor blinking.
1828 (ns_draw_window_cursor): Clear cursor properly rather than
1829 redrawing the area. Respect width of bar cursors.
1830 These changes enable the use of generic blink-cursor-mode and
1831 generic cursor types in NS and support smooth cursor movements (do
1832 not blink off after command).
1833 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1834 Nextstep, too.
1835
18362008-08-19 Kenichi Handa <handa@m17n.org>
1837
1838 * font.c (Vfont_log_deferred): New variable.
1839 (font_add_log): Check Vfont_log_deferred.
1840 (font_deferred_log): New function.
1841
1842 * font.h (font_deferred_log): Extern it.
1843
1844 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1845 for sorting.
1846 (face_for_char): Use deferred log.
1847
18482008-08-18 Kenichi Handa <handa@m17n.org>
1849
1850 * fontset.c (face_for_char): Add font log.
1851
1852 * font.c (font_add_log): Add the font properties :script, :lang,
1853 and :otf in the log.
1854
18552008-08-17 Chong Yidong <cyd@stupidchicken.com>
1856
1857 * xdisp.c: Remove dead code.
1858 (handle_invisible_prop, next_overlay_string): Defer call to
1859 setup_for_ellipsis.
1860 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1861
18622008-08-15 Chong Yidong <cyd@stupidchicken.com>
1863
1864 * xfaces.c (lookup_derived_face): Properly handle possible zero
1865 return value of get_lface_attributes.
1866 (merge_faces): Don't tell lookup_derived_face to signal an error
1867 if face is not found.
1868
1869 * dired.c (Fdirectory_files): Doc fix.
1870
1871 * process.c (make_process): Initialize kill_without_query struct
1872 member.
1873
18742008-08-15 Eli Zaretskii <eliz@gnu.org>
1875
1876 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1877 Alternative calculation of totphys for Visual Studio 6.
1878
1879 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1880
1881 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1882 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1883 All users changed.
1884 (stat): Only root directory passed to GetDriveType. Allow RAM
1885 disk as well as local fixed disk when w32-get-true-file-attributes
1886 is set to `local'.
1887 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1888 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1889 (w32_cached_id, w32_add_to_cache): New functions.
1890 (get_name_and_id): Look account names in the cache before calling
1891 lookup_account_sid.
1892 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1893 New initialization flags.
1894 (globals_of_w32): Initialize them to zero.
1895 (w32_system_process_attributes): Use w32_cached_id and
1896 w32_add_to_cache.
1897
18982008-08-14 Lawrence Mitchell <wence@gmx.li>
1899
1900 * lread.c (Fread_char, Fread_char_exclusive): If no character
1901 event is read before timeout is reached, return nil, rather than
1902 converting to a number.
1903
19042008-08-14 Chong Yidong <cyd@stupidchicken.com>
1905
1906 * fns.c (use_dialog_box): Doc fix.
1907
1908 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1909 on OS X.
1910
19112008-08-13 Chong Yidong <cyd@stupidchicken.com>
1912
1913 * frame.c (Qns_parse_geometry): New var.
1914 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1915
19162008-08-11 Chong Yidong <cyd@stupidchicken.com>
1917
1918 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1919 space character in calculating tabs.
1920
19212008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1922
1923 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1924
19252008-08-10 Glenn Morris <rgm@gnu.org>
1926
1927 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1928 silence gcc "limited range of data type" warnings in some
1929 make_fixnum_or_float calls.
1930
19312008-08-09 Eli Zaretskii <eliz@gnu.org>
1932
1933 * w32.c (w32_system_process_attributes): If the process does not
1934 exist, return nil.
1935
1936 * w32.c: Include thelp32.h, psapi.h and coding.h.
1937 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1938 declarations.
1939 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1940 (Process32Next_Proc): New typedefs.
1941 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1942 (g_b_init_process32_next, g_b_init_open_thread_token)
1943 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1944 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1945 (g_b_init_get_process_working_set_size)
1946 (g_b_init_global_memory_status_ex): New static variables.
1947 (globals_of_w32): Initialize them.
1948 (create_toolhelp32_snapshot, process32_first, process32_next)
1949 (open_thread_token, impersonate_self, revert_to_self)
1950 (get_process_memory_info, get_process_working_set_size)
1951 (global_memory_status, global_memory_status_ex): New wrapper
1952 functions.
1953 (w32_list_system_processes, w32_system_process_attributes)
1954 (enable_privilege, restore_privilege, ltime, process_times):
1955 New functions.
1956 (convert_time_raw): New function.
1957 (convert_time): Remove conversion of FILETIME into time in 100
1958 nsec units, call convert_time_raw instead.
1959
1960 * process.h (w32_list_system_processes, w32_system_process_attributes):
1961 Add prototypes.
1962 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1963 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1964 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1965 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1966
1967 * process.c (Fsystem_process_attributes): Doc fix.
1968
19692008-08-08 Chong Yidong <cyd@stupidchicken.com>
1970
1971 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1972 a continued multi-char glyph; if so, advance to the actual glyph.
1973
19742008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1975
1976 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1977
1978 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1979 (.m.o): Use it.
1980 * config.in: Regenerate.
1981
19822008-08-07 Chong Yidong <cyd@stupidchicken.com>
1983
1984 * xdisp.c (redisplay_window): Revert last change.
1985 (try_window): Check bottom scroll margin too.
1986
19872008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1988
1989 * config.in: Regenerate.
1990
1991 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1992 -list-load-path-shadows'.
1993 (nsgui.h): Reduce number of things depending on it.
1994
19952008-08-06 Chong Yidong <cyd@stupidchicken.com>
1996
1997 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1998 instead of window-end which does the wrong thing at eob.
1999 (try_cursor_movement): Minor optimization.
2000 (redisplay_window): If scroll margin is defined, don't assume
2001 window doesn't need scrolling.
2002
20032008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2004
2005 * config.in: Regenerate.
2006
2007 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2008 (mostlyclean): Don't delete *.d under NS.
2009
2010 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2011
20122008-08-06 Kenichi Handa <handa@m17n.org>
2013
2014 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2015
20162008-08-06 Andreas Schwab <schwab@suse.de>
2017
2018 * config.in: Regenerate.
2019
20202008-08-05 Chong Yidong <cyd@stupidchicken.com>
2021
2022 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2023 forcing a window start.
2024
2025 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2026 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2027
20282008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2029
2030 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2031 argument.
2032
20332008-08-05 Juanma Barranquero <lekktu@gmail.com>
2034
2035 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2036 <scroll-down-aggressively, before-change-functions>:
2037 <after-change-functions>: Reflow docstrings.
2038
20392008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2040 Ken Raeburn <raeburn@gnu.org>
2041
2042 Dock menu customization, based on a patch by Ken Raeburn, plus some
2043 other fixes.
2044 * nsmenu.m (dockMenu): New variable.
2045 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2046
2047 * nsterm.h (dockMenu): Declare.
2048
2049 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2050 (ns_term_init): Initialize dockMenu.
2051 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2052 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2053 left.
2054
2055 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2056
20572008-08-04 Chong Yidong <cyd@stupidchicken.com>
2058
2059 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2060
2061 * config.in: Regenerate.
2062
20632008-08-04 Seiji Zenitani <zenitani@mac.com>
2064
2065 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2066
20672008-08-04 Chong Yidong <cyd@stupidchicken.com>
2068
2069 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2070
20712008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2072
2073 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2074
2075 * keyboard.h: Comment an #endif.
2076
2077 * lisp.h (have_menus_p): Adjust comment.
2078
2079 * menu.c (find_and_return_menu_selection): Fix comparison with
2080 client_data.
2081
2082 * nsmenu.m (popup_activated_flag): New variable.
2083 (popup_activated): New function.
2084 (menu-or-popup-active-p): New exported lisp definition.
2085 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2086 when popup done.
2087 (ns_popup_dialog): Set popup_activated_flag.
2088
2089 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2090 version for GNUstep (handled by conditional typedef in nsterm.m).
2091 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2092 in rgb.txt).
2093
2094 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2095
2096 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2097
2098 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2099
2100 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2101 shortcircuit if popup_activated like GTK and X toolkit.
2102
2103 * m/inter386.h: Change DARWIN to DARWIN_OS.
2104
2105 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2106 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2107 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2108 comment on NO_SOCK_SIGIO.
2109
21102008-08-03 Chong Yidong <cyd@stupidchicken.com>
2111
2112 * nsterm.m (windowDidResize): Remove stopModal call.
2113
21142008-08-03 Andreas Schwab <schwab@suse.de>
2115
2116 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2117 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2118
21192008-08-02 Chong Yidong <cyd@stupidchicken.com>
2120
2121 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2122 Don't use uninitialized pointer variable when using getrlimit.
2123
21242008-08-02 Jason Rumney <jasonr@gnu.org>
2125
2126 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2127
21282008-08-02 Eli Zaretskii <eliz@gnu.org>
2129
2130 * alloc.c (NSTATICS): Bump to 0x640.
2131
2132 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2133
2134 * lisp.h: Add prototype for directory_files_internal.
2135
2136 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2137 New functions.
2138 (syms_of_process): Defsubr them. Add initializations for various
2139 Q* symbols used in procfs_system_process_attributes.
2140 (procfs_list_system_processes, procfs_system_process_attributes)
2141 [HAVE_PROCFS]: New functions.
2142 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2143 (procfs_get_total_memory): New functions.
2144
21452008-08-01 Juanma Barranquero <lekktu@gmail.com>
2146
2147 * xfaces.c (Fx_load_color_file): Fix previous change;
2148 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2149
21502008-08-01 Michael Albinus <michael.albinus@gmx.de>
2151
2152 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2153
21542008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2155
2156 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2157
21582008-08-01 Chong Yidong <cyd@stupidchicken.com>
2159
2160 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2161
2162 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2163 define NSApplicationDelegateReplySuccess.
2164 (EmacsView -converstationIdentifier): Use long instead of
2165 NSInteger for GNUstep, since it doesn't have NSInteger.
2166
2167 * xmenu.c: Revert last change.
2168
2169 * keyboard.h: Fix last change.
2170
21712008-08-01 Juanma Barranquero <lekktu@gmail.com>
2172
2173 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2174 on Windows.
2175
21762008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2177
2178 Warning clearing and clean-up in NS port.
2179 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2180 Add prototypes.
2181 * nsgui.h (FACE_DEFAULT): Remove, unused.
2182 (XGCValues): Change colors to unsigned long.
2183 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2184 nsterm.m.
2185 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2186 (ns_list_fonts): Remove, unused.
2187 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2188 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2189 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2190 (nsfont_draw): Compare face colors to 0, not nil.
2191 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2192 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2193 (-addSubmenuWithTitle:): Use NSMenuItem class.
2194 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2195 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2196 (ns_clip_to_row): Make gc arg a BOOL.
2197 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2198 ns_clip_to_row() call.
2199 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2200 used). Cast FRAME_FONT assignments.
2201 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2202 (ns_string_to_lispmod): Change arg to const char.
2203 (ns_term_init): Use NSMenuItem class.
2204 (EmacsApp -openFile:): Move to different section of file.
2205 (EmacsApp -application:openFiles:): Don't return a value, call
2206 -replyToOpenOrPrint:.
2207 (EmacsView -keyDown:): Fix up cast.
2208 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2209 (EmacsView -menuDown:): Cast tag in call to
2210 find_and_call_menu_selection().
2211 (ns_list_fonts): Remove, unused.
2212 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2213 (ns_fontname_to_xlfd): Make static.
2214 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2215 Remove prototypes (now in keyboard.h).
2216 (next_menubar_widget_id): Remove, unused.
2217 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2218 Remove prototypes (now in keyboard.h).
2219 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2220
22212008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2222
2223 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2224 (floatfns.o): Depend on syssignal.h.
2225 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2226
2227 * systty.h: Fix previous change that removed BSD_TERMIOS.
2228 Add comments to #ifdefs.
2229
22302008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2231
2232 * w32fns.c (w32-load-color-file): Remove.
2233 (x-open-connection): Use renamed Fx_load_color_file.
2234 * xfaces.c (x-load-color-file): Add.
2235 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2236 Emacs.clr.
2237 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2238
22392008-07-31 Michael Albinus <michael.albinus@gmx.de>
2240
2241 * dbusbind.c (Fdbus_call_method_asynchronously)
2242 (Fdbus_method_error_internal): New defuns.
2243 (xd_read_message): Handle also reply messages.
2244 (Vdbus_registered_functions_table): Extend docstring.
2245
22462008-07-31 Juanma Barranquero <lekktu@gmail.com>
2247
2248 * keyboard.c (gobble_input): Fix previous change.
2249
22502008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2251
2252 * bitmaps/README:
2253 * xfns.c:
2254 * termcap.c:
2255 * term.c:
2256 * syswait.h:
2257 * systty.h:
2258 * systime.h:
2259 * syssignal.h:
2260 * sysdep.c:
2261 * process.h:
2262 * process.c:
2263 * print.c:
2264 * ndir.h:
2265 * lread.c:
2266 * keyboard.c:
2267 * getpagesize.h:
2268 * floatfns.c:
2269 * fileio.c:
2270 * emacs.c:
2271 * doc.c:
2272 * dispnew.c:
2273 * dired.c:
2274 * data.c:
2275 * callproc.c:
2276 * buffer.c:
2277 * README:
2278 * Makefile.in:
2279 * s/template.h:
2280 * s/msdos.h:
2281 * m/vax.h: Remove VMS support.
2282 * s/vms.h:
2283 * vlimit.h:
2284 * uaf.h:
2285 * temacs.opt:
2286 * param.h:
2287 * ioctl.h: Remove file.
2288
22892008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2290
2291 * s/ms-w32.h (MULTI_KBOARD): Remove.
2292 * xterm.c:
2293 * xselect.c:
2294 * xfns.c:
2295 * window.c:
2296 * w32term.c:
2297 * w32fns.c:
2298 * terminal.c:
2299 * termhooks.h:
2300 * term.c:
2301 * sysdep.c:
2302 * keyboard.h:
2303 * keyboard.c:
2304 * frame.h:
2305 * frame.c:
2306 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2307 * config.in: Regenerate.
2308
23092008-07-30 Jason Rumney <jasonr@gnu.org>
2310
2311 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2312
2313 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2314 (w32font_open_internal): Get unicode version of textmetrics.
2315 Don't enable or disable glyph indices here.
2316 (w32font_open): Disable use of glyph indices.
2317
2318 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2319
23202008-07-30 Chong Yidong <cyd@stupidchicken.com>
2321
2322 * minibuf.c (Vread_buffer_function): Doc fix.
2323
23242008-07-30 John Paul Wallington <jpw@pobox.com>
2325
2326 * minibuf.c (read_buffer_completion_ignore_case): New var.
2327 (Fread_buffer): Use it.
2328
23292008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2330
2331 * systty.h (sensemode): Remove empty #if. Remove reference to
2332 BSD_TERMIOS, unused.
2333
2334 * sysdep.c: Remove reference to DGUX.
2335 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2336
2337 * config.in: Regenerate.
2338
23392008-07-30 Jason Rumney <jasonr@gnu.org>
2340
2341 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2342
23432008-07-29 Jason Rumney <jasonr@gnu.org>
2344
2345 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2346 is populated.
2347 (uniscribe_encode_char): Always use uniscribe.
2348 Avoid using context if cache is populated.
2349
23502008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2351
2352 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2353 open menu.
2354
2355 * gtkutil.c (menu_nav_ended): Remove.
2356 (create_menus): Remove signal connect for menu_nav_ended.
2357
23582008-07-28 Chong Yidong <cyd@stupidchicken.com>
2359
2360 * xdisp.c (redisplay_window): Check return value of
2361 compute_window_start_on_continuation_line before forcing a window
2362 start.
2363
23642008-07-28 Jason Rumney <jasonr@gnu.org>
2365
2366 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2367
2368 * w32term.c (w32_enable_unicode_output, cleartype_active):
2369 Remove obsolete display options.
2370 (x_draw_glyph_string_background): Don't use old cleartype_active
2371 workaround.
2372 (w32_initialize): Remove cleartype_active initialization.
2373 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2374
23752008-07-28 Andreas Schwab <schwab@suse.de>
2376
2377 * lisp.h (init_weak_hash_tables, syms_of_font)
2378 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2379 (remove_hash_entry): Don't declare.
2380 * eval.c (maybe_call_debugger): Make static and move before use.
2381 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2382 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2383 * xterm.h (x_set_frame_alpha): Declare.
2384
23852008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2386
2387 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2388 (create_menus): Connect selection-done to menu_nav_ended.
2389
23902008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2391
2392 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2393 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2394 parameter with read of 'alpha' one.
2395 (Qns_frame_parameter): Remove.
2396 * nsselection.m (selection-coding-system)
2397 (next-selection-coding-system, Vselection_coding_system)
2398 (Vnext_selection_coding_system): Drop.
2399
24002008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2401
2402 * nsfns.m (do-applescript, do_applescript): Rename to
2403 ns-do-applescript, ns_do_applescript, and move within file.
2404
24052008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2406
2407 Remove support for Mac Carbon.
2408 * mactoolbox.c:
2409 * macterm.h:
2410 * macterm.c:
2411 * macselect.c:
2412 * macmenu.c:
2413 * macgui.h:
2414 * macfns.c:
2415 * mac.c: Remove file.
2416 * s/darwin.h:
2417 * m/intel386.h:
2418 * xfaces.c:
2419 * xdisp.c:
2420 * window.c:
2421 * tparam.c:
2422 * termhooks.h:
2423 * termcap.c:
2424 * term.c:
2425 * syssignal.h:
2426 * sysselect.h:
2427 * sysdep.c:
2428 * process.c:
2429 * lread.c:
2430 * lisp.h:
2431 * keyboard.c:
2432 * image.c:
2433 * fringe.c:
2434 * frame.h:
2435 * frame.c:
2436 * fontset.c:
2437 * font.h:
2438 * font.c:
2439 * fns.c:
2440 * fileio.c:
2441 * emacs.c:
2442 * dispnew.c:
2443 * dispextern.h:
2444 * config.in:
2445 * atimer.c:
2ae37cf0 2446 * Makefile.in: Remove code for Carbon.
aac0c6e3
MR
2447
24482008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2449
2450 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2451
24522008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2453
2454 * macterm.h (kCGBitmapByteOrder32Host): New define for
2455 non-universal SDKs.
2456
2457 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2458 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2459
2460 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2461 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2462
24632008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2464
2465 * w32inevt.c: Include dispextern.h.
2466
24672008-07-26 Andreas Schwab <schwab@suse.de>
2468
2469 * print.c (print_object): Fix off-by-one in last change.
2470
24712008-07-25 Juanma Barranquero <lekktu@gmail.com>
2472
2473 * term.c (syms_of_term): Don't initialize default_orig_pair,
2474 default_set_foreground and default_set_background on Windows.
2475
24762008-07-25 Jason Rumney <jasonr@gnu.org>
2477
2478 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2479 ScriptItemize. Clean up return value checking. Remove unused
2480 variables.
2481 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2482 shaping engine.
2483
2484 * w32font.c (w32font_has_char): Handle the case where we can't
2485 determine the script for a character.
2486
24872008-07-25 Chong Yidong <cyd@stupidchicken.com>
2488
2489 * term.c (syms_of_term): Initialize default_orig_pair,
2490 default_set_foreground, and default_set_background.
2491
2492 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2493 clash (bug#86).
2494 (getloadavg): Callers changed.
2495
2496 * image.c (svg_load_image): Fix last change.
2497 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2498 image size is valid. Use g_object_unref instead of deprecated
2499 rsvg_handle_free to free rsvg handle.
2500 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2501
25022008-07-25 Jason Rumney <jasonr@gnu.org>
2503
2504 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2505 surrogates before looking up glyph index.
2506 (w32font_text_extents): Encode as surrogates if falling back to
2507 functions that need UTF-16 wide chars.
2508
2509 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2510 BMP as surrogates before looking up glyph index.
2511
25122008-07-25 Chong Yidong <cyd@stupidchicken.com>
2513
2514 * image.c (svg_load_image): Check for failure in return value of
2515 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2516
25172008-07-25 Jason Rumney <jasonr@gnu.org>
2518
2519 * w32font.c (Fx_select_font): Reverse sense of second arg.
2520
25212008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2522
2523 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2524 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2525
2526 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2527 (PURESIZE): Use it.
2528
25292008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2530
2531 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2532 * m/alpha.h (TEXT_END):
2533 * m/ibmrs6000.h (TEXT_END):
2534 * m/macppc.h (TEXT_END):
2535 * s/darwin.h (TEXT_END):
2536 * s/msdos.h (TEXT_END): Remove, unused.
2537 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2538 * s/cygwin.h: Remove comment.
2539
2540 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2541 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2542 * m/intel386.h (DOT_GLOBAL_START):
2543 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2544 (USG): Remove, file not used on USG platforms.
2545
2546 * Makefile.in (HAVE_X11): Remove empty #else.
2547
25482008-07-24 Andreas Schwab <schwab@suse.de>
2549
2550 * fileio.c (Finsert_file_contents): Properly adjust undo list
2551 after format conversion.
2552
25532008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2554
2555 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2556 (menu_nav_ended): Remove.
2557 (create_menus): Remove signal connect for menu_nav_ended.
2558 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2559 create_menus.
2560 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2561
25622008-07-23 Jason Rumney <jasonr@gnu.org>
2563
2564 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2565 with opened font.
2566 (w32font_open): Set font type to gdi.
2567
2568 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2569
25702008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2571
2572 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2573 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2574 defines it.
2575 * unexec.c (ADDR_CORRECT): Define unconditionally.
2576
2577 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2578
2579 * unexec.c: Remove code depending on !COFF and USG, the file is
2580 not used for such systems.
2581
2582 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2583 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2584 (LD_SWITCH_SYSTEM_1): Remove, update users.
2585
2586 * s/darwin.h (DATA_END):
2587 * m/intel386.h (DATA_END):
2588 * m/ibmrs6000.h (DATA_END):
2589 * m/alpha.h (DATA_END): Remove, unused.
2590
2591 * config.in: Regenerate.
2592 * s/ms-w32.h (subprocesses): Define unconditionally.
2593 * s/template.h (subprocesses): Update comment.
2594 * s/vms.h (subprocesses):
2595 * s/usg5-4.h (subprocesses):
2596 * s/hpux10-20.h (subprocesses):
2597 * s/gnu-linux.h (subprocesses):
2598 * s/cygwin.h (subprocesses):
2599 * s/bsd-common.h (subprocesses):
2600 * s/aix4-2.h (subprocesses):
2601 * s/darwin.h (subprocesses): Do not define, defined by default now.
2602
2603 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2604 Remove all references.
2605 (temacs): Add GNUstep specific ld flags.
2606
2607 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2608 similarly to what X does.
2609
26102008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2611
2612 * nsfns.m (x-list-fonts): Remove.
2613 (syms_of_nsfns): Drop the x-list-fonts declaration.
2614 * nsterm.m: Get rid of remaining "//" comments.
2615
26162008-07-22 Chong Yidong <cyd@stupidchicken.com>
2617
2618 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2619
2620 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2621 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2622 (Fns_own_selection_internal, Fx_disown_selection_internal)
2623 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2624
2625 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2626 ... */' style of docstrings. Doc fixes.
2627
26282008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2629
2630 * terminfo.c (UP, BC, PC): Undo previous change.
2631
2632 * nsfns.m: Rename ns prefixed functions/variables to the
2633 corresponding x versions. Update references.
2634
26352008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2636
2637 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2638
26392008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2640
2641 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2642 Remove forwarding functions.
2643 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2644 non-static.
2645 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2646 non-static.
2647 (ns_frame_parm_handlers): Use the new names.
2648 (syms_of_nsfns): Move to the end of file.
2649
2650 * nsterm.m (syms_of_nsterm): Move to the end of file.
2651
2652 * dispnew.c (init_display): Remove code for X10.
2653
26542008-07-22 Jason Rumney <jasonr@gnu.org>
2655
2656 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2657 bare drive.
2658
26592008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2660
2661 * nsterm.m (syms_of_nsterm): Remove debugging println.
2662
26632008-07-22 David Reitter <david.reitter@gmail.com>
2664
2665 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2666 Carbon implementation of the same functionality: execute arbitrary
2667 AppleScript code.
2668
26692008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2670
2671 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2672 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2673 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2674 (Fx_display_mm_height, Fx_display_mm_width)
2675 (Fx_display_backing_store, Fx_display_visual_class)
2676 (Fx_display_save_under, Fx_open_connection)
2677 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2678 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2679 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2680 (Fx_display_pixel_width, Fx_display_pixel_height)
2681 (Fx_display_usable_bounds, Fx_display_planes)
2682 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2683 ... */' style of docstrings.
2684
26852008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2686
2687 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2688 on this platform.
2689 (mips):
2690 * m/iris4d.h (mips): Do not define.
2691 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2692
2693 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2694
2695 * image.c:
2696 * nsfns.m:
2697 * nsselect.m:
2698 * nsterm.h:
2699 * nsterm.m: Rename ns prefixed functions/variables to the
2700 corresponding x versions. Update references.
2701
2702 * m/ibms390x.h (NO_REMAP): Do not undefine.
2703
2704 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2705
27062008-07-21 Chong Yidong <cyd@stupidchicken.com>
2707
2708 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2709 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2710 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2711 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2712 (Fns_display_mm_height, Fns_display_mm_width)
2713 (Fns_display_backing_store, Fns_display_visual_class)
2714 (Fns_display_save_under, Fns_open_connection)
2715 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2716 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2717 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2718 (Fns_display_pixel_width, Fns_display_pixel_height)
2719 (Fns_display_usable_bounds, Fx_display_planes)
2720 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2721
27222008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2723
2724 * print.c (print_object): Check print_depth before searching for
2725 circularities.
2726
27272008-07-21 Michael Albinus <michael.albinus@gmx.de>
2728
2729 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2730 only sprintf.
2731
27322008-07-21 Kenichi Handa <handa@m17n.org>
2733
2734 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2735
27362008-07-20 Andreas Schwab <schwab@suse.de>
2737
2738 * syntax.c (find_start_pos, find_start_value)
2739 (find_start_value_byte, find_start_begv, find_defun_start)
2740 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2741
27422008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2743
2744 * s/sol2-3.h: Insert contents of s/sol2.h.
2745 (LD_SWITCH_SYSTEM): Remove redundant definition.
2746 * s/sol2.h: Remove, unused.
2747
27482008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2749
2750 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2751
27522008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2753
2754 * Makefile.in (ns_appdir): Fix typo in find command.
2755
27562008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2757
2758 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2759
2760 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2761 added not supported anymore.
2762
2763 * s/usg5-4-2.h (LIBS_SYSTEM):
2764 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2765
2766 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2767 * s/lynxos.h (GETPGRP_NO_ARG):
2768 * s/hpux10-20.h (NO_SIOCTL_H):
2769 * s/gnu.h (GETPGRP_NO_ARG):
2770 * s/gnu-linux.h (NO_SIOCTL_H):
2771 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2772 * s/cygwin.h (GETPGRP_NO_ARG):
2773 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2774 (C_DEBUG_SWITCH): Remove duplicate definition.
2775
2776 * m/ibms390.h: Remove boilerplate comments.
2777
2778 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2779
2780 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2781 (wait_reading_process_output): Remove code for SunOS, platform not
2782 supported anymore. Use SOLARIS2 instead of sun.
2783
27842008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2785
2786 * font.c (font_open_by_name): Under NS, default lface height to zero.
2787 (font_open_for_lface): Under NS, set size based on frame fontsize.
2788 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2789 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2790
27912008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2792
2793 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2794 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2795 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2796 YES/NO.
2797 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2798 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2799 * Makefile.in (clean): Clear out build destination dir.
2800
28012008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2802
2803 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2804 xterm, xselect.
2805 * lisp.h: Remove declaration of hash_remove.
2806 * nsgui.h: Remove redefinitions of hash_remove.
2807 * fns.c (hash_remove): Rename to hash_remove_from_table.
2808
28092008-07-19 Seiji Zenitani <zenitani@mac.com>
2810
2811 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2812 strdup() the family UTF8String before modifying it.
2813
28142008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2815
2816 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2817 NS_FACE_BACKGROUND with 0 instead of nil.
2818 * nsfont.m (nsfont_draw): Same.
2819
28202008-07-19 Chong Yidong <cyd@stupidchicken.com>
2821
2822 * nsfns.m (ns_set_background_color): Fix crash.
2823
28242008-07-18 Chong Yidong <cyd@stupidchicken.com>
2825
2826 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2827
28282008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2829
2830 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2831
28322008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2833
2834 * gtkutil.c: Include <config.h> instead of "config.h".
2835
2836 * lisp.h (Foverlay_buffer): Add EXFUN.
2837
2838 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2839 child process to complete child_setup. Undo 2005-09-21 change.
2840
2841 * s/darwin.h: Mention setsid after vfork.
2842
28432008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2844
2845 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2846 Depend on macgui.h.
2847
2848 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2849 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2850
2851 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2852 and f19.
2853 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2854
2855 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2856 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2857 Remove enumerators.
2858
2859 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2860 Check if FACE_FROM_ID returns NULL.
2861
28622008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2863
2864 * w32inevt.c (change_frame_size): Remove extern declaration.
2865 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2866 change_frame_size.
2867
28682008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2869
2870 * getloadavg.c: Revert last change (2008-07-15).
2871
28722008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2873
2874 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2875 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2876 from configure.
2877
28782008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2879
2880 * s/sol2.h:
2881 * s/sol2-4.h: Reorganize conditionals.
2882
2883 * ecrt0.c: Remove code depending on m68000, not used anymore.
2884
2885 * fns.c (hash_remove): Make static.
2886 * lisp.h (hash_remove): Don't prototype.
2887
2888 * m/ibmrs6000.h:
2889 * m/ibms390x.h:
2890 * m/macppc.h: Remove boilerplate comments.
2891
2892 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2893 Solaris, which does not need them.
2894
2895 * m/vax.h: Remove comments about unsupported systems.
2896
2897 * s/darwin.h: Reorganize ifdefs.
2898
28992008-07-17 Andreas Schwab <schwab@suse.de>
2900
2901 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2902
29032008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2904
2905 Use SDATA. Follow coding convention of placing operators at
2906 beginning of next line rather than end of previous line, and placing
2907 spaces around infix operators.
2908
2909 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2910 in case it was defined already.
2911 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2912 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2913 ns_default.
2914 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2915 Lisp_Objects.
2916 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2917 (ns_defined_color, ns_color_to_lisp): Declare.
2918 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2919 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2920 it's accepted even with USE_LISP_UNION_TYPE.
2921 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2922 (update_frame_tool_bar): Remove apparently obsolete tests for
2923 non-integerness of f->tool_bar_lines.
2924 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2925 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2926 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2927 (nsfont_open): Don't confuse NULL for Qnil.
2928 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2929 * menu.h (find_and_call_menu_selection):
2930 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2931 (find_and_return_menu_selection): Always return something.
2932 * frame.h: Include dispextern.h for Display_Info.
2933 (display_x_get_resource): Declare.
2934
29352008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2936
2937 * syntax.c: Remove stdio.h include accidentally introduced in
2938 Emacs.app commit.
2939 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2940 NS_IMPL_COCOA.
2941 * keyboard.c (handle_async_input, input_available_signal): Remove
2942 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2943
29442008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2945
2946 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2947 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2948 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2949 Use SDATA.
2950
2951 * keymap.c: Remove all NS-specific code.
2952 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2953 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2954 where_is_preferred_modifier, return a different value depending on how
2955 preferred is the binding.
2956 (where_is_internal): Adjust accordingly.
2957 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2958 Adjust to new preferred_sequence_p.
2959 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2960 * keyboard.c (parse_solitary_modifier): Not static any more.
2961 * keyboard.h (parse_solitary_modifier): Declare.
2962
29632008-07-16 Andreas Schwab <schwab@suse.de>
2964
2965 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2966 of easymenu.
2967
29682008-07-16 Chong Yidong <cyd@stupidchicken.com>
2969
2970 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2971 that we don't move off the line.
2972
29732008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2974
2975 * keyboard.c (Qsuper): Remove.
2976 (parse_menu_item): Don't call where_is_internal specially for NS.
2977
29782008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2979
2980 * s/gnu-linux.h: Remove boilerplate comments.
2981
2982 * m/alpha.h (__ELF__): Consolidate conditions.
2983
2984 * m/m68k.h (linux): Use GNU_LINUX instead.
2985 Remove boilerplate comments.
2986
2987 * m/intel386.h: Undo refactoring from previous change.
2988 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2989 too, remove dead code.
2990 (linux): Use GNU_LINUX instead.
2991
29922008-07-16 Jason Rumney <jasonr@gnu.org>
2993
2994 * w32gui.h: Repeat 26 June changes lost by last change.
2995
29962008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2997
2998 * systty.h: Remove code for Aix on 386, unsupported platform.
2999
3000 * s/ms-w32.h: Remove boilerplate comments.
3001 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3002
3003 * s/gnu-linux.h (TERM): Remove support.
3004 (HAVE_SYSVIPC): Remove, unused.
3005 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3006 for this system.
3007
3008 * process.c: Remove support for IRIS, unused.
3009 Remove support for TERM, not relevant anymore.
3010
3011 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3012 used with the definition.
3013
3014 * s/aix4-2.h (static): Do not undef.
3015
3016 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3017 only used on Aix.
3018 (HAVE_SYSVIPC): Remove, unused.
3019
3020 * m/hp800.h (CANNOT_DUMP): Do not undef.
3021
3022 * m/alpha.h: Fix comment.
3023
3024 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3025 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3026 used by this configuration.
3027 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3028 * unexec.c: Remove code depending on HPUX and
3029 USG_SHARED_LIBRARIES, not used with this file. Remove code
3030 depending on IRIS, unused. Remove if 0-ed code.
3031
3032 * s/template.h: Remove comments about static.
3033
3034 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3035 Remove if 0-ed code.
3036 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3037 were the same as the default.
3038 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3039 Remove boilerplate comments.
3040 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3041 (HAVE_SYSVIPC): Remove, unused.
3042 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3043
3044 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3045 Remove boilerplate comments.
3046 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3047 Remove boilerplate comments.
3048 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3049 Remove boilerplate comments.
3050 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3051
3052 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3053 USG systems which do not use DATA_SEG_BITS.
3054 Refactor code. Remove boilerplate comments.
3055
3056 * m/ibms390.h:
3057 * m/m68k.h:
3058 * s/bsd-common.h:
3059 * s/cygwin.h:
3060 * s/darwin.h:
3061 * s/freebsd.h:
3062 * s/gnu.h:
3063 * s/msdos.h: Remove boilerplate comments.
3064
3065 * m/iris4d.h: Remove boilerplate comments and code for systems that
3066 do not use this file.
3067 (IRIS_4D): Remove, unused.
3068
3069 * m/mips.h: Remove boilerplate comments and code for systems that
3070 do not use this file.
3071 (SIGN_EXTEND_CHAR):
3072 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3073 * unexmips.c: Remove file, unused.
3074
3075 * editfns.c (Fuser_full_name): Replace the only use of
3076 USER_FULL_NAME with its value.
3077 * config.in: Regenerate.
3078
30792008-07-16 David Reitter <david.reitter@gmail.com>
3080
3081 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3082 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3083
30842008-07-16 Glenn Morris <rgm@gnu.org>
3085
3086 * emacs.c (system-type): Doc fix.
3087
30882008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3089
3090 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3091 If the cache doesn't work, let's fix it, rather than work around it.
3092
30932008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3094
3095 * Makefile.in: Correct additions for nsfont.o in last commit.
3096 * nsfont.m: New file (forgot last commit).
3097
30982008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3099
3100 * callproc.c (set_initial_environment): Initialize
3101 Vprocess_environment under CANNOT_DUMP (fixes crash when
3102 batch-compiling for bootstrap).
3103
31042008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3105 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3106
3107 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3108 fix crash due to different init order.
3109
31102008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3111
3112 Changes and additions for NeXTstep windowing system (Cocoa and
3113 GNUstep) support.
3114
3115 * Makefile.in:
3116 * config.in: Support defines and build commands for NS port.
3117 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3118 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3119 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3120 windowing.
3121 (struct face): Add synth_ital field.
3122 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3123 (init_display): Initialize Vinitial_window_system to "ns" when so
3124 compiled.
3125 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3126 (display_arg): Use under NS.
3127 (main): Under NS, allocate autorelease pool and handle command line
3128 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3129 (standard_args): Add NS-specific args.
3130 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3131 * font.c (DEFAULT_ENCODING): New variable.
3132 (font_find_for_lface): Use it.
3133 (syms_of_font): Load syms_of_nsfont under NS.
3134 * font.h: Declare nsfont_driver when compiled under NS.
3135 * fontset.c: When compiling under NS, include nsterm.h.
3136 (fontset_from_font): Autoconstruct fontset under NS.
3137 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3138 symbol, document and use it.
3139 (do_switch_frame): When for_deletion under Cocoa, add
3140 Fraise_frame(Qnil).
3141 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3142 (x_get_arg): Allow "yes" and "no" as boolean values.
3143 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3144 Qright under Cocoa.
3145 (focus-follows-mouse): Default to 0 under NS.
3146 * frame.h (enum output_method): Add output_ns.
3147 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3148 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3149 (FRAME_WINDOW_P): NS-specific definition.
3150 * fringe.c (max_used_fringe_bitmap): Make public.
3151 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3152 (getloadavg): Use NeXT code under descendant OS's.
3153 * image.c (includes and header section, x_create_bitmap_from_data)
3154 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3155 (image_background_transparent, x_clear_image_1)
3156 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3157 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3158 (x_to_xcolors, x_from_xcolors, x_disable_image)
3159 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3160 other GUIs, including XPM support using code originally written for
3161 Carbon GUI.
3162 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3163 using NS API.
3164 (image_ascent): Use font metrics macros instead of direct struct field
3165 access.
3166 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3167 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3168 Also, handle NS as GTK for menu bar purposes.
3169 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3170 toolkit where they differ.
3171 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3172 use cachelist, still needed under NS.
3173 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3174 (struct widget_value): Define it here for menu.c.
3175 * keymap.c (includes): Include modifier internals.
3176 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3177 NS.
3178 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3179 support for preferring sequences using certain modifiers, specified by
3180 the FIRSTONLY argument.
3181 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3182 under NS GNUstep implementation.
3183 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3184 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3185 * menu.c: Include nsterm.h under NS.
3186 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3187 (free_menubar_widget_tree_value, update_submenu_strings)
3188 (find_and_call_menu_selection): Treat NS as X and NT.
3189 (find_and_return_menu_selection): New function, used for popup menus.
3190 * nsgui.h:
3191 * nsterm.h:
3192 * nsfns.m:
3193 * nsimage.m:
3194 * nsmenu.m:
3195 * nsselect.m:
3196 * nsterm.m: New files.
3197 * process.c (wait_reading_process_output): Under NS, call ns_select()
3198 instead of plain select().
3199 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3200 beginning of buffer.
3201 * sysselect.h (init_process): Rename when compiling under Cocoa to
3202 avoid name conflict.
3203 * termhooks.h (display_info): Add ns_display_info to union.
3204 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3205 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3206 COCOA environment.
3207 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3208 unexec() signature. (Note, this will dump, but the resulting file
3209 crashes; unexosx is used instead; keeping around for reference and
3210 possible aid in getting dump working under GNUstep.)
3211 * w32gui.h (button_type, widget_value): Remove definitions (now in
3212 keyboard.h).
3213 * window.c: Include nsterm.h when compiling under NS.
3214 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3215 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3216 other GUI windowing systems.
3217 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3218 GTK.
3219 (x_consider_frame_title): Under NS, set icon type and frame
3220 modified-state indicator; use ns_set_name_as_filename() when using
3221 formatted title.
3222 (update_window_cursor): Make public when compiling under NS.
3223 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3224 (hourglass_atimer, Vhourglass_delay
3225 * xfaces.c (header section, init_frame_faces, clear_font_table)
3226 (defined_color, unload_color, x_face_list_fonts)
3227 (prepare_face_for_display): Add NS support parallel to other GUIs.
3228 Emulate GCs like other non-X GUIs.
3229 (split_font_name): Don't lowercase font name under NS.
3230 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3231 under NS.
3232 * s/darwin.h: Add support for compilation under NS.
3233
32342008-07-15 Jason Rumney <jasonr@gnu.org>
3235
3236 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3237 (w32_show_hourglass): Rename from show_hourglass.
3238 (w32_hide_hourglass): Rename from hide_hourglass.
3239 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3240 (Vhourglass_delay): Declare extern.
3241 (hourglass_started): Remove.
3242
3243 * xdisp.c (Vhourglass_delay): Remove static.
3244 (hourglass_started, start_hourglass, cancel_hourglass):
3245 Don't include these versions on WINDOWSNT.
3246
32472008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3248
3249 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3250 variables (formerly in xfns.c).
3251 (show_hourglass, hide_hourglass): New prototypes (same).
3252 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3253 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3254 in xfns.c).
3255 (syms_of_xdisp): Declare/initialize display-hourglass,
3256 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3257 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3258 formerly in xfns.c.
3259 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3260 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3261 (start_hourglass, cancel_hourglass): Remove.
3262 (show_hourglass, hide_hourglass): Remove prototypes and static
3263 modifiers.
3264 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3265 hourglass_atimer, hourglass_shown_p declaration/initialization.
3266 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3267 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3268 (start_hourglass, cancel_hourglass): Remove.
3269 (show_hourglass, hide_hourglass): Remove prototypes and static
3270 modifiers.
3271 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3272 hourglass_atimer, hourglass_shown_p declaration/initialization.
3273 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3274 (DEFAULT_HOURGLASS_DELAY): Remove.
3275 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3276 hourglass_shown_p declaration/initialization.
3277
32782008-07-14 Jason Rumney <jasonr@gnu.org>
3279
3280 * w32fns.c (w32_get_arg): Remove wrapper function.
3281 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3282 directly.
3283 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3284
32852008-07-14 Kenichi Handa <handa@m17n.org>
3286
3287 * xfont.c (xfont_open): Add workaround for X's bug.
3288
32892008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3290
3291 * fontset.c: Include <stdio.h> unconditionally.
3292
32932008-07-13 Michael Albinus <michael.albinus@gmx.de>
3294
3295 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3296 for filtering.
3297
32982008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3299
3300 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3301
3302 * m/macppc.h:
3303 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3304
3305 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3306 (SPECIAL_EMACS_INT):
3307 * m/ia64.h (SPECIAL_EMACS_INT):
3308 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3309 * s/gnu.h (NLIST_STRUCT):
3310 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3311 * s/gnu-linux.h (LINUX):
3312 * s/msdos.h (HAVE_FACES):
3313 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3314
3315 * systty.h:
3316 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3317 anymore.
3318
33192008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3320
3321 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3322 always defined as int.
3323
3324 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3325 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3326 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3327 * s/freebsd.h (HAVE_WAIT_HEADER):
3328 * s/bsd-common.h (HAVE_UNION_WAIT):
3329 * s/aix4-2.h (HAVE_WAIT_HEADER):
3330 * m/mips.h (HAVE_UNION_WAIT):
3331 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3332 (COFF, static): Do not define, they are undefined later in the file.
3333
3334 * process.c (update_status): Don't use a union.
3335 (status_convert):
3336 (sigchld_handler): Use int instead of WAITTYPE.
3337
33382008-07-12 Chong Yidong <cyd@stupidchicken.com>
3339
3340 * indent.c (Fvertical_motion): Restore hscroll before moving to
3341 goal column.
3342
33432008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3344
3345 * lisp.h: Remove left over code.
3346
33472008-07-11 Andreas Schwab <schwab@suse.de>
3348
3349 * lisp.h: Fix logic in last change.
3350
3351 * menu.h: New file.
3352 * menu.c: Include it.
3353 * xmenu.c: Likewise.
3354 * Makefile.in: Update dependencies.
3355
33562008-07-11 Kenichi Handa <handa@m17n.org>
3357
3358 * fontset.c (fontset_from_font): Cancel the previous change.
3359
33602008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3361
3362 * lisp.h:
3363 * w32heap.c:
3364 * emacs.c:
3365 * alloc.c: Replace all references of NO_UNION_TYPE with
3366 USE_LISP_UNION_TYPE.
3367
3368 * m/xtensa.h (NO_UNION_TYPE):
3369 * m/vax.h (NO_UNION_TYPE):
3370 * m/template.h (NO_UNION_TYPE):
3371 * m/sparc.h (NO_UNION_TYPE):
3372 * m/mips.h (NO_UNION_TYPE):
3373 * m/macppc.h (NO_UNION_TYPE):
3374 * m/m68k.h (NO_UNION_TYPE):
3375 * m/iris4d.h (NO_UNION_TYPE):
3376 * m/intel386.h (NO_UNION_TYPE):
3377 * m/ibms390x.h (NO_UNION_TYPE):
3378 * m/ibms390.h (NO_UNION_TYPE):
3379 * m/ibmrs6000.h (NO_UNION_TYPE):
3380 * m/ia64.h (NO_UNION_TYPE):
3381 * m/hp800.h (NO_UNION_TYPE):
3382 * m/arm.h (NO_UNION_TYPE):
3383 * m/amdx86-64.h (NO_UNION_TYPE):
3384 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3385 defining it the same.
3386
33872008-07-10 Chong Yidong <cyd@stupidchicken.com>
3388
3389 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3390
33912008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3392
3393 * fileio.c:
3394 * sysdep.c
3395 * systty.h:
3396 * m/ibmrs6000.h:
3397 * m/iris4d.h:
3398 * s/aix4-2.h:
3399 * s/freebsd.h:
3400 * s/gnu-linux.h:
3401 * s/hpux10-20.h:
3402 * s/hpux11.h:
3403 * s/netbsd.h:
3404 * s/sol2-3.h:
3405 * s/sol2-4.h:
3406 * s/sol2.h:
3407 * s/usg5-4.h:
3408 * s/vms.h: Remove references to unused variables.
3409
34102008-07-10 Andreas Schwab <schwab@suse.de>
3411
3412 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3413 pattern before matching the generic family.
3414
34152008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3416
3417 * unexec.c:
3418 * s/vms.h:
3419 * s/usg5-4-2.h:
3420 * s/sol2-5.h:
3421 * s/freebsd.h:
3422 * s/darwin.h: Remove dead code.
3423
3424 * m/template.h:
3425 * m/sparc.h:
3426 * m/mips.h:
3427 * m/m68k.h:
3428 * m/iris4d.h:
3429 * m/intel386.h:
3430 * m/ibms390x.h:
3431 * m/ibms390.h:
3432 * m/ia64.h:
3433 * m/hp800.h:
3434 * m/arm.h:
3435 * m/amdx86-64.h: Remove dead code and references to unused
3436 and compiler defined symbols.
3437
3438 * unexmips.c:
3439 * unexelf.c: Remove references to desupported systems.
3440
3441 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3442
3443 * m/powermac.h: Remove boilerplate comments.
3444 (NO_REMAP): Remove unused definition.
3445
3446 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3447 define them.
3448
34492008-07-10 Kenichi Handa <handa@m17n.org>
3450
3451 * xfont.c (xfont_open): Log the reason of failure.
3452
34532008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3454
3455 * fontset.c (fontset_get_font_group):
3456 * font.c (font_check_otf): Specify argument types.
3457
34582008-07-09 Kenichi Handa <handa@m17n.org>
3459
3460 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3461 non-ASCII char is found.
3462
3463 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3464 (reorder_font_vector): Change the arg preferred_family to font.
3465 Prefer the spec matching with font.
3466 (fontset_get_font_group): New function.
3467 (fontset_find_font): Change the format of an element of a realized
3468 fontset. Use fontset_get_font_group.
3469 (fontset_font): Try the current fontset, the default fontset, the
3470 fallbacks of the current fontset, and the fallbacks of the default
3471 fontset in this order.
3472 (face_for_char): Delete the shortcut to use the current font.
3473 (fontset_from_font): Don't set fonts for Latin in the fontset.
3474
3475 * font.h (font_make_object, font_match_p): Adjust prototypes.
3476
3477 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3478
3479 * font.c (font_make_object): New arg entity and pixelsize.
3480 (font_check_otf_features, font_check_otf): New functions.
3481 (font_match_p): Check :lang, :script, and :otf properties.
3482
3483 * xfont.c (xfont_open): Adjust it for the change of
3484 font_make_object.
3485 (xfont_text_extents): Fix initial setting of metrics.
3486
3487 * ftfont.c (struct ftfont_info): New member index, delete member
3488 fc_charset_idx. Make the member order compatible with struct
3489 xftfont_info.
3490 (fc_charset_table): Change charset names to registry names.
3491 (ftfont_pattern_entity): Delete the args registry and
3492 fc_charset_idx. Change the value of :font-entity property
3493 to (FONTNAME . INDEX). Always set :registry property to
3494 `iso10646-1'.
3495 (struct ftfont_cache_data): New struct.
3496 (ftfont_lookup_cache): New arg for_face.
3497 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3498 (ftfont_driver): Set the member otf_capability.
3499 (ftfont_get_charset): Adjust it for the change of
3500 fc_charset_table.
3501 (OTF_TAG_SYM): New macro.
3502 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3503 for the change of fc_charset_table.
3504 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3505 ftfont_pattern_entity. Add FC_INDEX to objset.
3506 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3507 and ftfont_pattern_entity.
3508 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3509 font_make_object, struct ftfont_info.
3510 (ftfont_has_char): Use ftfont_get_fc_charset.
3511 (ftfont_otf_features, ftfont_otf_capability): New functions.
3512 (ftfont_shape): Use ftfont_get_otf.
3513 (ftfont_text_extents): Fix initial setting of metrics.
3514
3515 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3516 member order compatible with struct ftfont_info.
3517 (xftfont_open): Add FC_CHARSET to the pattern. Set
3518 xftfont_info->ft_size. Don't unlock the face. Check BDF
3519 properties if appropriate.
3520 (xftfont_close): Unlock the face.
3521 (xftfont_anchor_point, xftfont_shape): Deleted.
3522 (syms_of_xftfont): Don't set members anchor_point and shape of
3523 xftfont_driver.
3524
3525 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3526 font_make_object.
3527
3528 * w32font.c (w32font_open): Adjust it for the change of
3529 font_make_object.
3530 (w32font_open_internal): Don't set properties of font_object here.
3531
35322008-07-08 Chong Yidong <cyd@stupidchicken.com>
3533
3534 * macfns.c (x_create_tip_frame):
3535 * w32fns.c (x_create_tip_frame):
3536 * xfns.c (x_create_tip_frame): Pass parameter argument to
3537 face-set-after-frame-default.
3538
3539 * xfaces.c (Finternal_merge_in_global_face): Save merged
3540 attributes for the default face back into the face vector.
3541
35422008-07-08 Andreas Schwab <schwab@suse.de>
3543
3544 * fontset.h: Declare fontset_from_font. Don't declare
3545 new_fontset_from_font and fontset_from_font_name.
3546 * xterm.c: Include "fontset.h".
3547 * Makefile.in (xterm.o): Update dependencies.
3548
35492008-07-08 Glenn Morris <rgm@gnu.org>
3550
3551 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3552 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3553
35542008-07-07 Chong Yidong <cyd@stupidchicken.com>
3555
3556 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3557 (x_set_frame_parameters): Don't bind it.
3558
35592008-07-07 Juanma Barranquero <lekktu@gmail.com>
3560
3561 * w32fns.c (map_w32_filename): Declare extern.
3562
35632008-07-07 Jason Rumney <jasonr@gnu.org>
3564
3565 * w32term.c (WS_EX_LAYERED): Define if not already.
3566
35672008-07-06 Chong Yidong <cyd@stupidchicken.com>
3568
3569 * xfaces.c (set_font_frame_param): Don't try to set the font
3570 parameter if it is still unspecified in the lface.
3571
35722008-07-05 Chong Yidong <cyd@stupidchicken.com>
3573
3574 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3575 face if it didn't already exist.
3576
3577 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3578
35792008-07-05 Andreas Schwab <schwab@suse.de>
3580
3581 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3582
35832008-07-05 Chong Yidong <cyd@stupidchicken.com>
3584
3585 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3586 word-wrapping.
3587 (IT_DISPLAYING_WHITESPACE): New macro.
3588 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3589 when word-wrapping. Simplify word-wrapping logic. Use correct
3590 pixel positions when saving copies of the iterator.
3591 (display_line): Use proper wrap point if the last character on a
3592 line was preceded by whitespace.
3593
35942008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3595
3596 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3597
35982008-07-04 Kenichi Handa <handa@m17n.org>
3599
3600 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3601
3602 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3603
36042008-07-02 Jason Rumney <jasonr@gnu.org>
3605
3606 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 3607 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
3608
3609 * xdisp.c (next_element_from_display_vector): Move assignment out
3610 of if statement.
3611
36122008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3613
3614 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3615
3616 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3617 (syms_of_fileio): Initialize and export them.
3618 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3619
3620 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3621 (Fsystem_move_file_to_trash): New function.
3622 (syms_of_w32fns): Export it to lisp.
3623
36242008-07-01 Jason Rumney <jasonr@gnu.org>
3625
3626 * w32font.c (w32font_text_extents): Don't count overhang as part
3627 of width.
3628
36292008-06-30 Miles Bader <miles@gnu.org>
3630
3631 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3632 Add `avoid_cursor_p' field.
3633
3634 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3635 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3636 (append_glyph, append_composite_glyph, produce_image_glyph)
3637 (append_stretch_glyph): Initialize avoid_cursor_p.
3638 (get_it_property): Rename from `get_line_height_property'.
3639 (x_produce_glyphs): Use get_it_property.
3640 (handle_line_prefix, push_display_prop): New functions.
3641 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3642 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3643 New variables.
3644 (syms_of_xdisp): Initialize them.
3645
36462008-06-30 Kenichi Handa <handa@m17n.org>
3647
3648 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3649 XftDefaultSubstitute (they are called in XftFontMatch).
3650 (xftfont_open): Fix args to ftfont_font_format.
3651
3652 * ftfont.c (fc_charset_table): New member lang.
3653 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3654 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3655 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3656 (ftfont_open): Fix args to ftfont_font_format.
3657 (ftfont_font_format): New arg filename.
3658
36592008-06-30 Chong Yidong <cyd@stupidchicken.com>
3660
3661 * xfaces.c (Finternal_merge_in_global_face): If default face was
3662 modified, realize it again. Update the font face attribute.
3663
36642008-06-29 Jason Rumney <jasonr@gnu.org>
3665
3666 * w32term.c (x_set_frame_alpha): Fix logic.
3667
36682008-06-29 Kenichi Handa <handa@m17n.org>
3669
3670 * fontset.c (Finternal_char_font): Return font-object instead of
3671 font-name.
3672
3673 * composite.c (get_composition_id): Fix the width calculation for TAB.
3674
36752008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3676
3677 * indent.c (Fvertical_motion): Properly handle float column arg.
3678
36792008-06-28 Jason Rumney <jasonr@gnu.org>
3680
3681 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3682 (pfnSetLayeredWindowAttributes): New function pointer.
3683 (w32_initialize): Initialize it when supported.
3684 (x_set_frame_alpha): New function.
3685
3686 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3687 (w32_frame_parm_handlers): Set alpha handler.
3688
3689 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3690
36912008-06-27 Jason Rumney <jasonr@gnu.org>
3692
3693 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3694 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3695 (w32_to_x_charset, x_to_w32_charset)
3696 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3697 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3698 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3699 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3700 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3701 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3702 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3703 (Qw32_charset_unicode): Remove.
3704 (syms_of_w32fns): Update for above changes.
3705
3706 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3707 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3708 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3709 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3710 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3711 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3712 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3713 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3714 (syms_of_w32font): Update for above changes.
3715
37162008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3717
3718 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3719 removed #if.
3720 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3721
37222008-06-26 Juanma Barranquero <lekktu@gmail.com>
3723 Eli Zaretskii <eliz@gnu.org>
3724
3725 * makefile.w32-in (LOCAL_FLAGS):
3726 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3727
3728 * sysdep.c (_spawnlp, _getpid):
3729 Declare with explicit _cdecl instead of _CRTAPI1.
3730
3731 * editfns.c (Fget_internal_run_time):
3732 Check for WINDOWSNT with #ifdef, not #if.
3733
37342008-06-26 Jason Rumney <jasonr@gnu.org>
3735
3736 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3737
3738 * w32term.c (x_draw_glyph_string_foreground)
3739 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3740 Use FONT_HANDLE macro.
3741 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3742
3743 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3744 (uniscribe_encode_char): Use FONT_HANDLE macro.
3745
3746 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3747 (w32font_text_extents): Use precast w32_font.
3748 (w32font_close): Free cached metrics.
3749 (w32font_open_internal): Allocate space for name on stack.
3750
37512008-06-26 Chong Yidong <cyd@stupidchicken.com>
3752
3753 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3754
37552008-06-26 Jason Rumney <jasonr@gnu.org>
3756
3757 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3758 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3759
37602008-06-26 Juanma Barranquero <lekktu@gmail.com>
3761
3762 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3763
37642008-06-26 Jason Rumney <jasonr@gnu.org>
3765
3766 * w32bdf.c, w32bdf.h: Remove obsolete files.
3767
3768 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3769
3770 * w32gui.h: Don't include w32bdf.h.
3771 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3772 Remove obsolete font support.
3773
3774 * w32font.h (struct w32font_info): Remove compat_w32_font.
3775 Add hfont member.
3776 (FONT_COMPAT): Remove obsolete macro.
3777
3778 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3779 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3780 (w32font_open_internal): Remove compat code. Set new hfont member.
3781 (Fx_select_font): Use new hfont member.
3782
3783 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3784 (uniscribe_encode_char): Use new hfont member.
3785
3786 * w32term.c (x_draw_glyph_string_foreground)
3787 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3788 (x_draw_glyph_string): Use metrics in w32font_info.
3789
37902008-06-26 Kenichi Handa <handa@m17n.org>
3791
3792 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3793
37942008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3795
3796 * unexnext.c:
3797 * m/ews4800.h:
3798 * m/hp9000s300.h:
3799 * m/ibm370aix.h:
3800 * m/mips-siemens.h:
3801 * m/ncr386.h:
3802 * m/next.h:
3803 * m/pmax.h:
3804 * m/powerpcle.h:
3805 * m/tandem-s2.h:
3806 * s/386bsd.h:
3807 * s/bsd386.h:
3808 * s/bsd4-1.h:
3809 * s/bsd4-2.h:
3810 * s/bsdos2-1.h:
3811 * s/bsdos2.h:
3812 * s/bsdos3.h:
3813 * s/bsdos4.h:
3814 * s/nextstep.h:
3815 * s/ultrix4-3.h:
3816 * s/usg5-0.h:
3817 * s/usg5-2-2.h:
3818 * s/usg5-2.h:
3819 * s/usg5-4-3.h:
3820 * s/ux4800.h:
3821 * s/uxpds.h:
3822 * s/uxpv.h: Remove support for obsolete systems.
3823 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3824 Remove, insert contents in s/hpux-10.20.h.
3825 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3826 Remove, insert contents in s/aix4-2.h.
3827 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3828 * s/bsd4-3.h: Rename to ...
3829 * s/bsd-common.h: ... this.
3830 * data.c:
3831 * doc.c:
3832 * ecrt0.c:
3833 * emacs.c:
3834 * fileio.c:
3835 * floatfns.c:
3836 * keyboard.c:
3837 * mem-limits.h:
3838 * print.c:
3839 * process.c:
3840 * sysdep.c:
3841 * syssignal.h:
3842 * systty.h:
3843 * syswait.h:
3844 * term.c:
3845 * unexec.c:
3846 * unexelf.c:
3847 * unexhp9k800.c:
3848 * m/hp800.h:
3849 * m/ibmrs6000.h:
3850 * m/mips.h:
3851 * m/vax.h:
3852 * s/darwin.h:
3853 * s/freebsd.h:
3854 * s/gnu.h:
3855 * s/ms-w32.h:
3856 * s/msdos.h:
3857 * s/netbsd.h:
3858 * s/template.h: Remove references to obsolete variables.
3859
3860 * Makefile.in: Add dependencies for all unexec files.
3861 (admindir): Remove unused variable.
3862 (UNEXEC_SRC): Remove references.
3863
38642008-06-25 Chong Yidong <cyd@stupidchicken.com>
3865
3866 * xfns.c (x_default_font_parameter): If Xft is available, first
3867 try Monospace-12 for the default font.
3868
38692008-06-25 Jason Rumney <jasonr@gnu.org>
3870
3871 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3872
38732008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3874
3875 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3876
3877 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3878
38792008-06-25 Juanma Barranquero <lekktu@gmail.com>
3880
3881 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3882 <scroll-conservatively>: Fix typo in docstring.
3883
3884 * xselect.c (Fx_send_client_event): Doc fix.
3885
38862008-06-25 Kenichi Handa <handa@m17n.org>
3887
3888 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3889
3890 * font.c (font_parse_fcname): Remove unused variables.
3891 (font_sort_entites): Delete the arg SPEC. Caller changed.
3892 Fix for the case of ! best_only.
3893 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3894
3895 * lisp.h (Fstring_to_unibyte): EXFUN it.
3896
3897 * character.h (str_to_unibyte): Extern it.
3898
3899 * character.c (str_to_unibyte): New function.
3900
3901 * fns.c (Fstring_to_unibyte): New function.
3902 (syms_of_fns): Defsubr it.
3903
39042008-06-24 Kenichi Handa <handa@m17n.org>
3905
3906 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3907 DPI too.
3908 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3909
39102008-06-24 Andreas Schwab <schwab@suse.de>
3911
3912 * Makefile.in (${lispsource}loaddefs.el): Rename from
3913 ../lisp/loaddefs.el.
3914 (bootstrap-clean): Do what distclean does but don't remove
3915 Makefile.
3916 (distclean): Depend on bootstrap-clean and remove Makefile.
3917
39182008-06-24 Chong Yidong <cyd@stupidchicken.com>
3919
3920 * buffer.h (struct buffer): New member word_wrap.
3921
3922 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3923 word-wrap.
3924 (init_buffer_once): Initialize them.
3925
3926 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3927 line_wrap enum possessing three possible values.
3928
3929 * termopts.h: Replace truncate_partial_width_windows with
3930 Vtruncate_partial_width_windows.
3931
3932 * dispnew.c (direct_output_for_insert): Avoid direct output when
3933 inserting a space with word wrap on.
3934
3935 * indent.c (compute_motion): Obey integer values of
3936 truncate-partial-width-windows.
3937
3938 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3939 replacing truncate_partial_width_windows.
3940 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3941 truncate only if the window width is below that integer.
3942 (start_display, resize_mini_window, produce_stretch_glyph)
3943 (display_string, move_it_in_display_line_to): Use line_wrap.
3944 (back_to_previous_visible_line_start, reseat_1): Reset
3945 string_from_display_prop_p.
3946 (display_line): Extend default face to end of line when wrapping.
3947
39482008-06-24 Kim F. Storm <storm@cua.dk>
3949
3950 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3951 to wrap continued lines at word boundaries.
3952
39532008-06-24 Jason Rumney <jasonr@gnu.org>
3954
3955 * font.c (Ffont_face_attributes): Multiply pixel size before point
3956 conversion to avoid multiplying rounding error.
3957
39582008-06-23 Jason Rumney <jasonr@gnu.org>
3959
3960 * w32term.c (x_draw_glyph_string_background)
3961 (x_draw_glyph_string): Remove old bdf font code.
3962
3963 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3964
39652008-06-22 Kenichi Handa <handa@m17n.org>
3966
3967 * font.c (font_find_for_lface): Try the adstyle specified in
3968 the property of LFACE_FONT of LFACE (if any).
3969
39702008-06-21 Seiji Zenitani <zenitani@mac.com>
3971 Ryo Yoshitake <ryo@shiftmode.net>
3972
3973 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3974
39752008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3976
3977 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3978 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3979 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3980 (witness-emacs): Remove.
3981 (lisp, shortlisp): Move loaddefs.el earlier.
3982 (mostlyclean): Forget about witness-emacs.
3983
39842008-06-22 Glenn Morris <rgm@gnu.org>
3985
3986 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3987 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3988
39892008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3990
3991 * Makefile.in (PRECOMP): Remove.
3992 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3993 (witness-emacs): Run `compile-first'.
3994 (.el.elc): Use the new compile-onefile target.
3995
39962008-06-21 Kenichi Handa <handa@m17n.org>
3997
3998 * xftfont.c (xftfont_open): Handle QCembolden only when
3999 FC_EMBOLDEN is defined.
4000
40012008-06-21 Andreas Schwab <schwab@suse.de>
4002
4003 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4004 (.el.elc): Likewise.
4005
40062008-06-21 Miles Bader <miles@gnu.org>
4007
4008 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4009 build dir, not the lisp source dir.
4010
40112008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4012
4013 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4014 (bootstrapclean): Remove.
4015 (.el.elc): New rule.
4016 (PRECOMP): New var.
4017 (../lisp/subdirs.el): Remove.
4018 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4019 (witness-emacs): New target.
4020 (mostlyclean): Remove witness-emacs as well.
4021 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4022 Add witness-emacs dependency.
4023
40242008-06-20 Chong Yidong <cyd@stupidchicken.com>
4025
4026 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4027 defined by the font.
4028
40292008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4030
4031 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4032 (bootstrap-clean): New target that keeps TAGS around.
4033 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4034 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4035
40362008-06-20 Jason Rumney <jasonr@gnu.org>
4037
4038 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4039 Remove obsolete font code.
4040
4041 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4042 to determine language support.
4043
40442008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4045
4046 * sysdep.c (cfsetspeed): New fun extracted from the code.
4047 (cfmakeraw): Move before first use.
4048
40492008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4050
4051 * sysdep.c (cfmakeraw): Provide fallback implementation.
4052 (serial_configure): Provide fallback implementation of cfsetspeed.
4053
40542008-06-20 Kenichi Handa <handa@m17n.org>
4055
4056 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4057 the pattern.
4058
4059 * fontset.c (fontset_from_font): Copy font_spec before changing
4060 the elements.
4061
4062 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4063
40642008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4065
4066 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4067 for explicit `font' parameters.
4068
4069 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4070
40712008-06-19 Kenichi Handa <handa@m17n.org>
4072
4073 * frame.c: Include <ctype.h>.
4074 (x_set_font_backend): Allow spacing characters in the X resource
4075 for FontBackend.
4076
40772008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4078
4079 * w32fns.c, xfns.c (Qfont_param): New var.
4080 (syms_of_w32fns): Initialize it.
4081 (x_default_font_parameter): Record explicit `font' into
4082 `font-parameter'.
4083
40842008-06-18 Kenichi Handa <handa@m17n.org>
4085
4086 * font.c (font_parse_xlfd): Fix previous change.
4087 (font_parse_fcname): Don't use :fc-unknown-spec.
4088 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4089 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4090 (font_add_log): Prepend the driver name to the resulting fonts.
4091
4092 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4093 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4094 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4095
4096 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4097 (QCembolden): New variables.
4098 (syms_of_xftfont): DEFSYM them.
4099 (xftfont_open): Call XftFontMatch. Don't trust the result of
4100 XftTextExtents8 if the pixel_size is less than 5.
4101
41022008-06-18 Andreas Schwab <schwab@suse.de>
4103
4104 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4105 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4106
41072008-06-18 Jason Rumney <jasonr@gnu.org>
4108
4109 * w32font.c (w32font_list, w32font_match): Add logging.
4110
4111 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4112
41132008-06-17 Chong Yidong <cyd@stupidchicken.com>
4114
4115 * font.c (font_parse_fcname): Store divider characters for
4116 unknown-spec list. For known key symbols, intern using correct
4117 symbol name.
4118
41192008-06-17 Kenichi Handa <handa@m17n.org>
4120
4121 * xfaces.c (realize_default_face): If the frame is not on window
4122 system, set the fontset of face to nil.
4123
41242008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4125
4126 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4127
41282008-06-16 Juanma Barranquero <lekktu@gmail.com>
4129
4130 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4131 (build_font_name_from_vector): Delete externs.
4132
4133 * xfaces.c (struct font_name): Don't declare.
4134
41352008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4136
4137 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4138
41392008-06-16 Chong Yidong <cyd@stupidchicken.com>
4140
4141 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4142
41432008-06-16 Juanma Barranquero <lekktu@gmail.com>
4144
4145 * font.c (Ffont_spec): Fix usage in docstring.
4146 (Ffont_face_attributes): Doc fix.
4147
41482008-06-16 Andreas Schwab <schwab@suse.de>
4149
4150 * font.c (Ffont_face_attributes): Fix definition.
4151
41522008-06-16 Jason Rumney <jasonr@gnu.org>
4153
4154 * font.h (font_style_symbolic_from_value): Remove.
4155
4156 * font.c (font_style_symbolic_from_value): Remove.
4157 (font_style_symbolic): Revert to pre 2008-06-13 version.
4158
4159 * w32font.c (w32_to_fc_weight): New function.
4160 (w32font_full_name, logfont_to_fcname): Use it.
4161
41622008-06-16 Kenichi Handa <handa@m17n.org>
4163
4164 * font.c (font_check_object): Delete it.
4165 (font_clear_cache): Check if a font-object is alive.
4166 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4167 font-object to nil.
4168 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4169 (font_at): Don't call font_check_object.
4170 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4171
41722008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4173
4174 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4175
41762008-06-16 Chong Yidong <cyd@stupidchicken.com>
4177
4178 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4179
41802008-06-15 Chong Yidong <cyd@stupidchicken.com>
4181
4182 * font.c (font_parse_fcname): Only one decimal point.
4183 (font_unparse_fcname): Handle data in family and foundry indices
4184 as symbols, not strings.
4185 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4186
4187 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4188
4189 * font.h (font_unparse_gtkname): Add prototype.
4190
41912008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4192
4193 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4194
41952008-06-15 Andreas Schwab <schwab@suse.de>
4196
4197 * font.c (font_update_drivers): Fix crash when no drivers match.
4198
41992008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4200
4201 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4202 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4203
42042008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4205
4206 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4207
42082008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4209
4210 * process.c (Fserial_process_configure, Fprocess_send_eof):
4211 Use EQ to compare Lisp_Objects.
4212
42132008-06-13 Jason Rumney <jasonr@gnu.org>
4214
4215 * w32fns.c (Fw32_select_font): Remove old font API function.
4216
4217 * w32font.c (logfont_to_fcname): New function.
4218 (Fx_select_font): New font dialog function compatible with
4219 GTK/fontconfig version.
4220
4221 * font.c (font_style_symbolic_from_value): New function.
4222 (font_style_symbolic): Use it.
4223
4224 * font.h (font_style_symbolic_from_value): Declare new function.
4225
42262008-06-13 Juanma Barranquero <lekktu@gmail.com>
4227
4228 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4229 <font-width-table>: Fix typos in docstrings.
4230
42312008-06-13 Daniel Engeler <engeler@gmail.com>
4232
4233 These changes add serial port access.
4234 * process.c: Add HAVE_SERIAL.
4235 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4236 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4237 (list_processes_1, select_wrapper, Fstop_process)
4238 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4239 (status_notify): Modify to handle serial processes.
4240 [HAVE_SERIAL] (Fserial_process_configure)
4241 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4242 New functions.
4243 * process.h (struct Lisp_Process): Add `type'.
4244 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4245 New functions.
4246 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4247 serial ports.
4248 (serial_open, serial_configure) New functions.
4249 * w32.h: Add FILE_SERIAL.
4250 (struct _child_process): Add ovl_read, ovl_write.
4251
42522008-06-13 Kenichi Handa <handa@m17n.org>
4253
4254 * dispextern.h (enum lface_attribute_index): New member
4255 LFACE_FOUNDRY_INDEX.
4256
4257 * font.c (font_score): Delete arg alternate_families. Check only
4258 weight, slant, width, and size. Ignore the difference of alias
4259 style symbols.
4260 (font_sort_entites): Adjust for the above change. Reflect the
4261 order of font-driver to scores.
4262 (font_list_entities): Don't check alternate_familes here.
4263 (font_clear_prop): Handle foundry.
4264 (font_update_lface): Don't parse "foundry-family" form here.
4265 Handle FONT_FOUNDRY_INDEX.
4266 (font_find_for_lface): Likewise. Handle alternate families here.
4267 If registry is nil, try iso8859-1 and ascii-0.
4268 (font_open_for_lface): Pay attention to size in ENTITY.
4269 (font_open_by_name): Simplify by calling font_load_for_lface.
4270 (free_font_driver_list): Delete it.
4271 (font_update_drivers): Preserve the order of backends.
4272 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4273 of font_score and font_sort_entites.
4274 (font_update_sort_order): Likewise.
4275
4276 * xfaces.c (LFACE_FOUNDRY): New macro.
4277 (check_lface_attrs): Check foundry.
4278 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4279 (merge_face_vectors): Check foundry.
4280 (merge_face_ref): Likewise.
4281 (Finternal_set_lisp_face_attribute): Likewise.
4282 (x_update_menu_appearance): Likewise.
4283 (Finternal_get_lisp_face_attribute): Likewise.
4284 (lface_hash): Likewise.
4285 (lface_same_font_attributes_p): Likewise.
4286 (x_supports_face_attributes_p): Likewise.
4287 (tty_supports_face_attributes_p): Likewise.
4288 (Finternal_set_alternative_font_family_alist): Intern strings.
4289 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4290 (realize_default_face): Set LFACE_FOUNDRY (lface).
4291
4292 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4293 font-driver at first.
4294
4295 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4296
42972008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4298
4299 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4300
43012008-06-12 Jim Meyering <meyering@redhat.com>
4302
4303 Make unexec_free handle NULL the same way free does.
4304 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4305
43062008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4307
4308 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4309 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4310 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4311 (WEAK_ALIAS): Simplify.
4312 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4313 when searching a unibyte buffer.
4314
43152008-06-12 Chong Yidong <cyd@stupidchicken.com>
4316
4317 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4318
43192008-06-12 Juanma Barranquero <lekktu@gmail.com>
4320
4321 * w32font.c: Include ctype.h.
4322
43232008-06-11 Jason Rumney <jasonr@gnu.org>
4324
4325 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4326 misreported as space.
4327 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4328 as aliases for registry iso10646-1.
4329
43302008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4331
4332 * buffer.c (clone_per_buffer_values): Skip `name'.
4333
43342008-06-11 Chong Yidong <cyd@stupidchicken.com>
4335
4336 * font.c (font_parse_fcname): Fix last change; accept decimal
4337 points in font size.
4338
43392008-06-10 Jason Rumney <jasonr@gnu.org>
4340
4341 * w32uniscribe.c (add_opentype_font_name_to_list):
4342 Skip non unicode fonts.
4343
43442008-06-10 Chong Yidong <cyd@stupidchicken.com>
4345
4346 * xfns.c (Fx_font_dialog): New function.
4347
4348 * gtkutil.c (xg_dialog_response_cb): Rename from
4349 xg_file_response_callback.
4350 (pop_down_dialog): Rename from pop_down_file_dialog.
4351 (xg_get_file_name): Callers changed.
4352 (xg_get_font_name): New function.
4353
4354 * gtkutil.h (xg_get_font_name): Insert prototype.
4355
43562008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4357
4358 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4359 x_underline_minimum_display_offset.
4360 (syms_of_xdisp): Declare it here rather than in xterm.c.
4361 * dispextern.h (underline_minimum_offset): Declare it.
4362 * w32term.c (x_draw_glyph_string): Use it.
4363 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4364 (syms_of_xterm): Don't declare it any more.
4365 (x_draw_glyph_string): Adjust to the new name.
4366
43672008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4368
4369 * xterm.c (x_underline_minimum_display_offset): New var.
4370 (x_draw_glyph_string): Use it.
4371 (syms_of_xterm): Declare it.
4372
43732008-06-10 Chong Yidong <cyd@stupidchicken.com>
4374
4375 * font.c (font_parse_fcname): Accept GTK-style font names too.
4376
43772008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4378
4379 * dired.c (file_name_completion): Don't return t if the match is exact
4380 but with different capitalization.
4381 * minibuf.c (Ftry_completion): Simplify.
4382
4383 * window.c (Vwindow_point_insertion_type): New var.
4384 (set_window_buffer): Use it.
4385 (syms_of_window): Init and export it to Lisp.
4386
43872008-06-10 Kenichi Handa <handa@m17n.org>
4388
4389 * font.h (font_intern_prop): Prototype adjusted.
4390
4391 * font.c (font_intern_prop): New arg force_symbol.
4392 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4393 Adjust for the change of font_intern_prop.
4394
4395 * ftfont.c (ftfont_pattern_entity):
4396 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4397 (w32_registry):
4398 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4399 the change of font_intern_prop.
4400
44012008-06-09 Juanma Barranquero <lekktu@gmail.com>
4402
4403 * w32menu.c (digest_single_submenu): Declare extern.
4404
44052008-06-09 Jason Rumney <jasonr@gnu.org>
4406
4407 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4408
4409 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4410 (parse_single_submenu): Remove.
4411 (digest_single_submenu): Remove.
4412 (syms_of_w32menu): Don't initialise variables that have moved
4413 to menu.c.
4414 (set_frame_menubar): Sync with version in xmenu.c.
4415 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4416
4417 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4418 Make static again.
4419
44202008-06-09 Jason Rumney <jasonr@gnu.org>
4421
4422 Changes to w32 files related to the move of common menu code
4423 to menu.c on 2008-06-08 by Chong Yidong.
4424
4425 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4426 defs to w32gui.h.
4427 (single_keymap_panes, push_menu_item, push_menu_pane):
4428 Make globally visible.
4429
4430 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4431 (local_free, malloc_widget_value, free_widget_value)
4432 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4433 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4434 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4435 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4436 (menu_items, menu_items_allocated, menu_items_used)
4437 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4438 (init_menu_items, finish_menu_items, discard_menu_items)
4439 (grow_menu_items, push_submenu_start, push_submenu_end)
4440 (push_left_right_boundary, push_menu_pane, push_menu_item)
4441 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4442 (free_menubar_widget_tree_value, parse_single_submenu)
4443 (update_submenu_strings): Remove functions.
4444 (xmalloc_widget_value): Remove and declare extern.
4445
4446 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4447 (OBJ1): Build it.
4448
4449 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4450 (local_heap, local_alloc, local_free, malloc_widget_value)
4451 (free_widget_value): Define here.
4452
44532008-06-09 Kenichi Handa <handa@m17n.org>
4454
4455 * font.h (Qascii_0): Extern it.
4456
4457 * font.c (Qascii_0): New variable.
4458 (syms_of_font): DEFSYM it.
4459 (font_open_by_name): If the registry "iso8859-1" fails, try also
4460 "ascii-0".
4461
4462 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4463
44642008-06-08 Kenichi Handa <handa@m17n.org>
4465
4466 * .gdbinit (xfont): New command.
4467
44682008-06-08 Andreas Schwab <schwab@suse.de>
4469
4470 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4471 * Makefile.in (menu.o): Update dependencies.
4472
4473 * Makefile.in (obj): Always add menu.o.
4474 * emacs.c (main): Always call syms_of_menu.
4475 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4476
44772008-06-08 Chong Yidong <cyd@stupidchicken.com>
4478
4479 * Makefile.in: Compile menu.c.
4480
4481 * lisp.h: Declare syms_of_menu.
4482
4483 * emacs.c (main): Call syms_of_menu.
4484
4485 * keyboard.h: Relocate platform-independent menu definitions from
4486 xmenu.c.
4487
4488 * menu.c: New file. Relocate platform-independent menu
4489 definitions from xmenu.c. Suggested by Adrian Robert.
4490
4491 * xmenu.c: Remove platform-independent menu definitions.
4492 (menu_items menu_items_inuse, menu_items_allocated)
4493 (menu_items_used, menu_items_n_panes)
4494 (menu_items_submenu_depth): Move to keyboard.h.
4495 (init_menu_items, finish_menu_items, unuse_menu_items)
4496 (discard_menu_items, restore_menu_items, save_menu_items)
4497 (grow_menu_items, push_submenu_start, push_submenu_end)
4498 (push_left_right_boundary, push_menu_pane, push_menu_item)
4499 (keymap_panes, single_keymap_panes, single_menu_item)
4500 (list_of_panes, list_of_items, find_and_call_menu_selection)
4501 (xmalloc_widget_value, free_menubar_widget_value_tree)
4502 (parse_single_submenu, digest_single_submenu)
4503 (update_submenu_strings): Move to menu.c.
4504
45052008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4506
4507 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4508
45092008-06-06 Miles Bader <miles@gnu.org>
4510
4511 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4512 face, not frame default.
4513
45142008-06-05 Martin Rudalics <rudalics@gmx.at>
4515
4516 * window.c (pop_up_windows, pop_up_frames)
4517 (display_buffer_reuse_frames, Vpop_up_frame_function)
4518 (Vdisplay_buffer_function, Veven_window_heights)
4519 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4520 (Vspecial_display_function, Vsame_window_buffer_names)
4521 (Vsame_window_regexps, split_height_threshold)
4522 (Vsplit_window_preferred_function): Move those vars to window.el.
4523 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4524 (Fdisplay_buffer): Move those functions to window.el.
4525 (syms_of_window): Remove corresponding declarations.
4526 (display_buffer): New function.
4527 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4528 * dispnew.c (Flast_nonminibuf_frame): New function.
4529 * buffer.c (Fpop_to_buffer): Move to window.el.
4530
45312008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4532
4533 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4534
45352008-06-05 Kenichi Handa <handa@m17n.org>
4536
4537 * coding.c (detect_coding): Fix previous change.
4538 (detect_coding_system): Likewise.
4539
45402008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4541
4542 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4543
4544 * keymap.c (Vminibuffer_local_filename_must_match_map):
4545 Rename from Vminibuffer_local_must_match_filename_map.
4546 (syms_of_keymap):
4547 * minibuf.c (Fcompleting_read): Adjust accordingly.
4548 * commands.h: Rename declaration as well.
4549
45502008-06-05 Kenichi Handa <handa@m17n.org>
4551
4552 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4553 family name.
4554 (Ffont_put): Likewise.
4555
4556 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4557 current font-spec.
4558
4559 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4560 is unspecified.
4561
4562 * xfaces.c (realize_x_face): If the font-related face attributes
4563 are the same as those of default face, realize a new fontset from
4564 default->fontset.
4565 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4566
45672008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4568
4569 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4570 (move_it_in_display_line): New wrapper.
4571
4572 * window.c (window_scroll_pixel_based_preserve_x)
4573 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4574 (window_scroll_pixel_based, window_scroll_line_based):
4575 Use them to preserve column positions.
4576 (syms_of_window): Initialize them.
4577
4578 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4579 (HPOS . VPOS) pair.
4580
4581 * dispextern.h (move_it_in_display_line): Declare.
4582
45832008-06-05 Juanma Barranquero <lekktu@gmail.com>
4584
4585 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4586 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4587 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4588
45892008-06-04 Juanma Barranquero <lekktu@gmail.com>
4590
4591 * window.c (Fset_window_parameter): Doc fix.
4592 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4593
45942008-06-04 Joakim Verona <joakim@verona.se>
4595
4596 * window.h (struct window): Add new member window_parameters.
4597
4598 * window.c (Fwindow_parameters, Fwindow_parameter)
4599 (Fset_window_parameter): New defuns.
4600 (syms_of_window): Defsubr the new defuns.
4601 (make_window): Initialize window_parameters to nil.
4602
46032008-06-04 John Paul Wallington <jpw@pobox.com>
4604
4605 * eval.c (Fdefmacro): Doc fix.
4606
46072008-06-04 Kenichi Handa <handa@m17n.org>
4608
4609 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4610 Be sure to call setup_coding_system when we find a proper coding system.
4611 (detect_coding_system): Fix handling of coding->head_ascii.
4612
46132008-06-03 Andreas Schwab <schwab@suse.de>
4614
4615 * font.c (font_prop_validate_spacing): Fix last change.
4616
46172008-06-03 Kenichi Handa <handa@m17n.org>
4618
4619 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4620 (font_parse_fcname): Fix handling of unknown key.
4621
4622 * xfont.c (xfont_list): Try an alias.
4623
4624 * charset.c (char_charset): Return NULL if the arg charset_list is
4625 specified and C doesn't belong to any of them.
4626
46272008-06-02 Chip Coldwell <coldwell@redhat.com>
4628
4629 * font.c (font_pixel_size): Don't take cdr of an integer.
4630
46312008-06-02 Jim Meyering <meyering@redhat.com>
4632
4633 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4634 * alloc.c (xfree): Return right away for a NULL arg.
4635 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4636 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4637 * mac.c (create_apple_event_from_event_ref): Likewise.
4638 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4639 Likewise.
4640 * doprnt.c (doprnt1): Likewise.
4641 * frame.c (frame): Likewise.
4642 * keyboard.c (wipe_kboard): Likewise.
4643 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4644 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4645 * term.c (tty_default_color_capabilities, maybe_fatal)
4646 (delete_tty): Likewise.
4647 * w16select.c (string): Likewise.
4648 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4649 * w32bdf.c (w32_free_bdf_font): Likewise.
4650 * w32fns.c (w32_unload_font): Likewise.
4651 * w32font.c (w32font_close): Likewise.
4652 * window.c (size_window): Likewise.
4653 * xselect.c (receive_incremental_selection): Likewise.
4654 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4655 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4656 * w32.c (stat): Likewise.
4657
4658 Remove useless if-before-free tests.
4659 * editfns.c (Fset_time_zone_rule): Likewise.
4660 * lread.c (nosuffix): Likewise.
4661 * ralloc.c (get_bloc): Likewise.
4662 * regex.c (reg_free): Likewise.
4663 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4664 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4665 * xsmfns.c (smc_save_yourself_CB): Likewise.
4666
46672008-06-02 Kenichi Handa <handa@m17n.org>
4668
4669 * font.c (font_find_for_lface): Handle float font size.
4670 (font_open_for_lface): Likewise.
4671
4672 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4673 comparing the properties.
4674
46752008-06-01 Jason Rumney <jasonr@gnu.org>
4676
4677 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4678 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4679 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4680 Don't add empty script list.
4681 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4682
46832008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4684
4685 * Makefile.in (dot, dotdot): Remove, update users.
4686 ".." has been used elsewhere in the file for a long time.
4687 (LIBXT_STATIC): Remove conditional based on unused variable.
4688
46892008-06-01 Miles Bader <miles@gnu.org>
4690
4691 * xfaces.c (Vface_remapping_alist): New variable.
4692 (syms_of_xfaces): Initialize it.
4693 (enum named_merge_point_kind): New type.
4694 (struct named_merge_point): Add `named_merge_point_kind' field.
4695 (push_named_merge_point): Make cycle detection respect different
4696 named-merge-point kinds.
4697 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4698 Remove face-name alias resolution.
4699 (lface_from_face_name): New definition using
4700 `lface_from_face_name_no_resolve'.
4701 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4702 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4703 (get_lface_attributes): New definition that layers face-remapping on
4704 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4705 (lookup_basic_face): New function.
4706 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4707 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4708 `get_lface_attributes'.
4709 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4710 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4711 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4712
4713 * xdisp.c (init_iterator): Pass base_face_id through
4714 `lookup_basic_face' when we actually use it as a face-id.
4715 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4716 DEFAULT_FACE_ID.
4717
4718 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4719 lookup the initial face-id.
4720
4721 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4722
47232008-06-01 Juanma Barranquero <lekktu@gmail.com>
4724
4725 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4726 (Fremove_text_properties): Fix typos in docstrings.
4727
47282008-05-31 Kenichi Handa <handa@m17n.org>
4729
4730 * font.c (font_list_entities): Fix the car part of data to be
4731 stored in the cache.
4732
4733 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4734
47352008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4736
4737 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4738 Add a `test' argument so another predicate than `equal' can be used.
4739 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4740 (map_char_table): Remove unused vars `c' and `i'.
4741 * lisp.h (Foptimize_char_table): Adjust declaration.
4742 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4743
47442008-05-30 Kenichi Handa <handa@m17n.org>
4745
4746 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4747 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4748 defined.
4749
47502008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4751
4752 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4753 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4754 frame-local settings for the same variable.
4755
47562008-05-30 Kenichi Handa <handa@m17n.org>
4757
4758 * fontset.c (Ffont_info): Move to font.c.
4759 (syms_of_fontset): Delete defsubr of Sfont_info.
4760
4761 * font.c (font_style_to_value, font_score): Delete casting of the
4762 args to xstcasecmp.
4763 (register_font_driver): Increment num_font_drivers only when
4764 registering the driver globally.
4765 (Ffont_info): Move from fontset.c. Handle a font object too.
4766 (syms_of_font): Defsubr Sfont_info.
4767
47682008-05-29 Kenichi Handa <handa@m17n.org>
4769
4770 * coding.h (enum define_coding_utf8_arg_index): New enum.
4771 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4772 coding_attr_utf_bom.
4773 (enum utf_bom_type): Rename from utf_16_bom_type.
4774 (struct utf_16_spec): Adjust for the above change.
4775 (struct coding_system): Add utf_8_bom in `spec' union.
4776
4777 * coding.c (CODING_UTF_8_BOM): New macro.
4778 (enum coding_category): Delete coding_category_utf_8, add
4779 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4780 coding_category_utf_8_sig.
4781 (CATEGORY_MASK_UTF_8): Delete it.
4782 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4783 (CATEGORY_MASK_UTF_8_SIG): New macros.
4784 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4785 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4786 CATEGORY_MASK_UTF_8_SIG.
4787 (CATEGORY_MASK_UTF_8): New macro.
4788 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4789 (detect_coding_utf_8): Check BOM.
4790 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4791 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4792 (encode_coding_utf_16): Likewise.
4793 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4794 (detect_coding, detect_coding_system): Handle utf-8-auto.
4795 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4796 (syms_of_coding): Fix setting up of Vcoding_category_table.
4797
47982008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4799
4800 * process.c (Faccept_process_output): If `millisec' is non-nil,
4801 `seconds' default to 0.
4802 (wait_reading_process_output): Also return non-nil if we read output
4803 from a non-running process.
4804
48052008-05-29 Jason Rumney <jasonr@gnu.org>
4806
4807 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4808 `raster' specified.
4809 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4810 in the uniscribe backend, but disallow any font that has no
4811 unicode subrange support.
4812
48132008-05-29 Juanma Barranquero <lekktu@gmail.com>
4814
4815 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4816 Fix typos in docstrings.
4817
48182008-05-29 Kenichi Handa <handa@m17n.org>
4819
4820 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4821 (Fx_family_fonts): Set frame correctly.
4822
48232008-05-28 Jason Rumney <jasonr@gnu.org>
4824
4825 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4826
48272008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4828
4829 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4830 calling build_annotations.
4831
48322008-05-28 Juanma Barranquero <lekktu@gmail.com>
4833
4834 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4835 (Fencode_coding_string):
4836 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4837 <latin-extra-code-table>: Fix typos in docstrings.
4838 (syms_of_coding) <coding-system-alist>: Doc fix.
4839 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4840
48412008-05-28 Kenichi Handa <handa@m17n.org>
4842
4843 * fontset.c (Ffont_info): Don't call font_close_object.
4844
4845 * font.c (font_parse_family_registry): Use Ffont_put to validate
4846 foundry and family.
4847 (font_delete_unmatched): Don't check spacing.
4848 (font_list_entities): Add spacing to the spec to list fonts.
4849
4850 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4851 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4852
4853 * coding.c (encode_coding_raw_text): Fix previous change.
4854 (encode_coding_object): When the dst_object is a buffer and is
4855 different from src_object, move gap to PT.
4856
48572008-05-27 Chong Yidong <cyd@stupidchicken.com>
4858
4859 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4860
48612008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4862
4863 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4864 all branches. Compute it differently.
4865
4866 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4867
48682008-05-27 Juanma Barranquero <lekktu@gmail.com>
4869
4870 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4871 into "else if () ... else ...".
4872
48732008-05-27 Jason Rumney <jasonr@gnu.org>
4874
4875 * w32font.c (w32font_open_internal): Determine if glyph indices
4876 are likely to work here.
4877
48782008-05-27 Chong Yidong <cyd@stupidchicken.com>
4879
4880 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4881 draw overlap glyphs with appropriate highlighting.
4882
48832008-05-27 Kenichi Handa <handa@m17n.org>
4884
4885 * xfont.c (xfont_open): Fix calculation of font->average_width.
4886
48872008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4888
4889 * casefiddle.c (casify_object): Try to guess better whether the
4890 argument is a byte or a char.
4891
48922008-05-26 Andreas Schwab <schwab@suse.de>
4893
4894 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4895 Always send multiples of format size.
4896
4897 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4898
48992008-05-26 Jason Rumney <jasonr@gnu.org>
4900
4901 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4902 (compute_metrics): Don't set failure if we just cleared the cache.
4903 (w32_weight_table): Remove unused variable.
4904 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4905 backwards compatibility.
4906
49072008-05-25 Kenichi Handa <handa@m17n.org>
4908
4909 * w32term.c (x_draw_glyph_string):
4910 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4911
4912 * xfaces.c: Delete unused function prototypes.
4913 (xstrlwr, font_frame): Delete them.
4914 (clear_face_cache): Delete unused variable.
4915
4916 * xftfont.c (xftfont_open): Delete unused variable.
4917 If underline_thickness is not 1, adjust underline_position.
4918
4919 * ftxfont.c (ftxfont_open): Delete unused variable.
4920
4921 * fontset.c (face_for_char): Optimize for the case of no charset
4922 property.
4923
4924 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4925 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4926 (otf_open, font_otf_capability, generate_otf_features)
4927 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4928 Comment out by surrounding "#if 0" and "#endif" for the moment.
4929 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4930 (syms_of_font): Codes for accessing above commented out.
4931
49322008-05-24 Eli Zaretskii <eliz@gnu.org>
4933
4934 * w32proc.c: Include dispextern.h.
4935
4936 * w32.c: Include dispextern.h.
4937
49382008-05-23 Juanma Barranquero <lekktu@gmail.com>
4939
4940 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4941 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4942 Fix typos in docstrings.
4943
49442008-05-23 Jason Rumney <jasonr@gnu.org>
4945
4946 * xsmfns.c: Remove includes that are already included by config.h.
4947
49482008-05-23 Kenichi Handa <handa@m17n.org>
4949
4950 * charset.c (Qemacs, charset_emacs): New variables.
4951 (char_charset): Fix for non-Unicode characters.
4952 (syms_of_charset): Define charset_emacs.
4953
4954 * w32term.c (x_draw_glyph_string): Be sure to update
4955 s->underline_thickness and s->underline_position. Be sure to draw
4956 underline within the current line area.
4957
4958 * xterm.c (x_draw_glyph_string): Be sure to update
4959 s->underline_thickness and s->underline_position. Be sure to draw
4960 underline within the current line area.
4961
4962 * fontset.c: Delete unused variables and add casting for char *
4963 throughout the file.
4964 (fontset_font): Try the fallback fonts of the current fontset
4965 before consulting the default fontset.
4966
4967 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4968
4969 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4970
49712008-05-22 Jason Rumney <jasonr@gnu.org>
4972
4973 * font.c: Don't include strings.h.
4974
4975 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4976
4977 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4978 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4979 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4980 to call xstrcasecmp.
4981
4982 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4983
4984 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4985
4986 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4987
4988 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4989
49902008-05-22 Kenichi Handa <handa@m17n.org>
4991
4992 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4993
4994 * font.c (font_prop_validate_style): Adjust for the format
4995 change of font_style_table.
4996
4997 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4998 two args.
4999
5000 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5001 two args.
5002
50032008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5004
5005 * minibuf.c (keys_of_minibuf): Delete.
5006 * lisp.h (keys_of_minibuf): Delete.
5007 * emacs.c (main): Don't call keys_of_minibuf.
5008
50092008-05-22 Kenichi Handa <handa@m17n.org>
5010
5011 * ftfont.c (ftfont_resolve_generic_family): Rename from
5012 ftfont_list_generic_family. Return a single family for each
5013 generic family.
5014 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5015 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5016 Call font_add_log.
5017 (ftfont_match): Call font_add_log.
5018
5019 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5020 (FONT_DEBUG): Define it.
5021 (font_add_log): Extern it.
5022 (font_assert): Rename from xassert.
5023
5024 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5025 (xfont_list_family): Call font_add_log.
5026 (xfont_match): Likewise.
5027 (memq_no_quit): Delete.
5028
5029 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5030 call of Ffont_xlfd_name.
5031
5032 * xfaces.c (struct table_entry, slant_table, weight_table)
5033 (swidth_table): Move to font.c.
5034
5035 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5036 xassert are changed to font_assert. Delete many unused variables.
5037 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5038 New variables.
5039 (struct table_entry): Move from xfaces.c and modified.
5040 (weight_table, slant_table, width_table): Move from xfaces.c and
5041 contents adjusted for the change of struct table_entry.
5042 (font_style_to_value, font_style_symbolic): Adjust for the
5043 format change of font_style_table.
5044 (font_parse_family_registry): Don't overwrite existing foundry and
5045 family of font_spec.
5046 (font_score): Fix calculation of diff for sizes.
5047 (font_sort_entites): Call font_add_log.
5048 (font_delete_unmatched): Return a newly created list.
5049 (font_list_entities): Fix previous change. Call font_add_log.
5050 (font_matching_entity, font_open_entity, font_close_entity):
5051 Call font_add_log.
5052 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5053 (Finternal_set_font_style_table): Delete.
5054 (BUILD_STYLE_TABLE): New macro.
5055 (build_style_table): New function.
5056 (Vfont_log, font_log_env_checked): New variables.
5057 (font_add_log): New function.
5058 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5059 Declare Lisp variables "font-weight-table", "font-slant-table",
5060 "font-width-table", and "font-log". Initialize font_style_table.
5061
50622008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5063
5064 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5065
50662008-05-21 Seiji Zenitani <zenitani@mac.com>
5067 Ryo Yoshitake <ryo@shiftmode.net>
5068
5069 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5070 (Vframe_alpha_lower_limit): New variable.
5071 (x_set_alpha): New function.
5072
5073 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5074
5075 * xfns.c (x-create-frame, Qalpha):
5076 Initialize the frame parameter `alpha'.
5077 * xterm.c (OPAQUE, OPACITY): New.
5078 (x_set_frame_alpha): New function.
5079 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5080
5081 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5082 * w32fns.c (w32_frame_parm_handlers): Likewise.
5083
50842008-05-20 Jason Rumney <jasonr@gnu.org>
5085
5086 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5087 truetype fonts to opentype list.
5088
50892008-05-20 Juanma Barranquero <lekktu@gmail.com>
5090
5091 * fontset.c (Ffontset_info): Doc fix.
5092 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5093 <ignore-relative-composition>: Fix typos in docstrings.
5094
5095 * font.c (syms-of-font) <font-encoding-alist>:
5096 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5097 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5098 (Ffont_otf_alternates): Doc fixes.
5099
51002008-05-20 Kenichi Handa <handa@m17n.org>
5101
5102 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5103 font.h through out the file.
5104 (FONT_DRIVERS): Rename from FONTOBJ.
5105 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5106 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5107
5108 * emacs.c (main): Call syms_of_font unconditionally.
5109
5110 * font.h (find_font_encoding): Extern it.
5111
5112 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5113 fontset.c.
5114 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5115 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5116 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5117 only when HAVE_WINDOW_SYSTEM is defined.
5118 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5119 when HAVE_WINDOW_SYSTEM is defined.
5120
5121 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5122 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5123
5124 * xfaces.c: Include font.h unconditionally.
5125 (merge_face_ref, merge_face_vectors)
5126 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5127
51282008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5129
5130 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5131 indirect_variable.
5132 * eval.c (lisp_indirect_variable): New fun.
5133 (Fuser_variable_p): Use it.
5134
51352008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5136
5137 * lisp.h (indirect_variable):
5138 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5139 Use Lisp_Symbol pointers rather than Lisp_Object.
5140 Adjust callers.
5141 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5142 To this end, change calling-convention.
5143
5144 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5145 if some non-hidden buffers are selected by string&pred.
5146
51472008-05-19 Chong Yidong <cyd@stupidchicken.com>
5148
5149 * process.c (wait_reading_process_output): Always check status
5150 when in batch mode.
5151
51522008-05-19 Kenichi Handa <handa@m17n.org>
5153
5154 * font.c (font_list_entities): Fix handling of cache.
5155 (font_matching_entity): Likewise.
5156
5157 * ftfont.c (cs_iso8859_1): Delete.
5158 (ft_face_cache): New variable.
5159 (struct ftfont_info): New member fc_charset_idx.
5160 (ftfont_build_basic_charsets): Delete.
5161 (fc_charset_table): New variable.
5162 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5163 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5164 Callers changed.
5165 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5166 (ftfont_spec_pattern): New argument fc_charset_idx.
5167 Check registry more rigidly. Change callers.
5168 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5169 change of :font-entity property of the font.
5170
5171 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5172 property of the font.
5173
51742008-05-18 Juanma Barranquero <lekktu@gmail.com>
5175
5176 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5177 (Funencodable_char_position, Fcheck_coding_systems_region)
5178 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5179 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5180 (Ffind_operation_coding_system, Fset_coding_system_priority)
5181 (Fcoding_system_eol_type): Doc fixes.
5182
51832008-05-17 Glenn Morris <rgm@gnu.org>
5184
5185 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5186
51872008-05-16 Eli Zaretskii <eliz@gnu.org>
5188
5189 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5190 and st_gid.
5191
5192 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5193 HAVE_WINDOW_SYSTEM is not defined.
5194
5195 * xfaces.c (merge_face_ref, merge_face_vectors)
5196 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5197 HAVE_WINDOW_SYSTEM is defined.
5198 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5199
52002008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5201
5202 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5203
52042008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5205
5206 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5207
52082008-05-15 Kenichi Handa <handa@m17n.org>
5209
5210 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5211 preference.
5212
52132008-05-15 Glenn Morris <rgm@gnu.org>
5214
5215 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5216
52172008-05-15 Chong Yidong <cyd@stupidchicken.com>
5218
5219 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5220 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5221
5222 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5223
52242008-05-15 Kenichi Handa <handa@m17n.org>
5225
5226 * ftfont.c (ftfont_list): Downcase family name to check generic
5227 families.
5228
5229 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5230 font-spec for QCfont value.
5231
5232 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5233 buffer. Check the return value of it.
5234
52352008-05-14 Jason Rumney <jasonr@gnu.org>
5236
5237 * w32term.c (w32_get_glyph_overhangs): Remove.
5238 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5239
52402008-05-14 Kenichi Handa <handa@m17n.org>
5241
5242 * font.c (font_prop_validate): Make nil a valid value.
5243 (font_clear_cache): Check if the cached vector of entities is nil
5244 or not.
5245
52462008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5247
5248 * emacs.c (main_thread): Conditionalize on
5249 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5250 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5251
5252 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5253 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5254 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5255
52562008-05-14 Kenichi Handa <handa@m17n.org>
5257
5258 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5259 has no corresponding coding system.
5260
52612008-05-14 Jason Rumney <jasonr@gnu.org>
5262
5263 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5264
5265 * w32font.h (w32font_open_internal): Update declaration.
5266
5267 * w32font.c (w32font_open_internal): Change last argument from
5268 w32font_info struct to font object. Fill in font object from
5269 font_entity. Get Outline metrics if possible. Use them to
5270 calculate underline position and thickness. Use xlfd name as name
5271 property. Don't set codepage.
5272 (w32font_open): Pass font_object to w32font_open_internal. Don't
5273 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5274 (w32font_draw): Use s->font.
5275 (clear_cached_metrics): Don't clear non-existent blocks.
5276
5277 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5278 font was not found.
5279 (x_draw_glyph_string): Use underline position and thickness from font.
5280
5281 * w32uniscribe.c (uniscribe_open): Pass font_object to
5282 w32font_open_internal.
5283
52842008-05-14 Kenichi Handa <handa@m17n.org>
5285
5286 These changes are to delete all legacy font-handling codes, and
5287 make Emacs use only font-backends.
5288
5289 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5290 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5291
5292 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5293
5294 * charset.h (Vcharset_non_preferred_head)
5295 (Vcurrent_iso639_language): Extern them.
5296
5297 * charset.c (Vcharset_non_preferred_head): New variable.
5298 (Vcurrent_iso639_language): New variable.
5299 (syms_of_charset): Declare it as a Lisp variable.
5300 (char_charset): Don't check non preferred charsets. As a last
5301 resort, return charset_unicode.
5302 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5303
5304 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5305 conditionals. Don't check enable_font_backend. Delete all codes
5306 used only when USE_FONT_BACKEND is not defined.
5307
5308 * dispextern.h (struct glyph_string): Change type of `font' to
5309 `struct font *'.
5310 (struct glyph_string): New member underline_position and
5311 underline_thickness.
5312 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5313 (struct face): Change type of `font' to `struct font *'. Remove
5314 members `font_name', `font_info_id'.
5315 (per_char_metric, encode_char): Delete externs.
5316 (calc_pixel_width_or_height): Adjust the prototype.
5317
5318 * emacs.c (enable_font_backend): Delete extern.
5319 (main): Don't set enable_font_backend. Don't check the command
5320 line argument "-disable-font-backend".
5321
5322 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5323 (enum font_property_index): New members FONT_DPI_INDEX,
5324 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5325 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5326 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5327 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5328 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5329 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5330 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5331 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5332 (struct font_spec, struct font_entity): New structs.
5333 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5334 (struct font): Many members from old "struct font_info" moved to
5335 here. Members font and entity deleted.
5336 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5337 the new font-related objects.
5338 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5339 (CHECK_FONT_GET_OBJECT): Likewise.
5340 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5341 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5342 (struct font_driver): New members case_sensitive anc check. Type
5343 of the member list and open changed.
5344 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5345 (font_symbolic_width, font_find_object, font_get_spec)
5346 (font_set_lface_from_name): Delete extern.
5347 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5348
5349 * font.c: Include <strings.h>.
5350 (enable_font_backend): Delete it.
5351 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5352 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5353 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5354 (null_string): Delete it.
5355 (null_vector): Make it static.
5356 (font_family_alist): Delete it.
5357 (Qnormal): Extern it.
5358 (QCextra, QClanguage): Delete it.
5359 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5360 (font_make_spec, font_make_entity, font_make_object)
5361 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5362 the string. Callers changed.
5363 (font_pixel_size): Adjusted for the format change of font-related
5364 objects.
5365 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5366 (font_style_to_value, font_style_symbolic): New function.
5367 (build_font_family_alist): Delete it.
5368 (font_registry_charsets): Use Fassoc_string instead of
5369 assq_no_quit.
5370 (font_prop_validate_symbol): Don't return null_string.
5371 (font_prop_validate_style): Adjusted for the change of
5372 style-related values in a font vector.
5373 (font_property_table): Delete entries for QClanguage and
5374 QCantialias, add entries for QCavgwidth.
5375 (get_font_prop_index): Delete the 2nd argument FROM.
5376 (font_prop_validate): Arguments changed.
5377 (font_put_extra): Adjusted for the change of font-related objects.
5378 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5379 (font_parse_fcname, font_unparse_fcname)
5380 (font_prepare_composition): Likewise.
5381 (font_parse_family_registry): Renamed from font_merge_old_spec.
5382 (otf_open): Delete the 1st arg entity.
5383 (font_otf_capability): Adjusted for the above change.
5384 (font_score): New arg alternate_families. Adjusted for the change
5385 of font-related objects.
5386 (font_sort_entites): New arg best_only.
5387 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5388 Delete them.
5389 (font_match_p): Check alternate families.
5390 (font_find_object): Delete it.
5391 (font_check_object): New function.
5392 (font_clear_cache): Adjusted for the change of font-related objects.
5393 (font_delete_unmatched): New arg.
5394 (font_list_entities): Call font_driver->list with a spec that
5395 doesn't specify style-related properties.
5396 (font_matching_entity): Arguments changed. Caller changed.
5397 (font_open_entity): Adjusted for the change of font-related objects.
5398 (font_close_object, font_has_char, font_encode_char)
5399 (font_get_name, font_get_spec): Likewise.
5400 (font_spec_from_name, font_clear_prop, font_update_lface):
5401 New functions.
5402 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5403 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5404 (font_at): Adjusted for the change of font-related objects.
5405 (font_range): New function.
5406 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5407 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5408 (Fcopy_font_spec, Fmerge_font_spec): New function.
5409 (Ffont_family_list): Renamed from list-families.
5410 (Finternal_set_font_style_table): Arguments changed.
5411 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5412 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5413 change of font-related objects.
5414 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5415
5416 * fontset.h (struct font_info): Delete it. Most members go to
5417 struct font.
5418 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5419 (enum FONT_SPEC_INDEX): Delete it.
5420 (font_info, list_fonts_func, load_font_func, query_font_func)
5421 (set_frame_fontset_func, find_ccl_program_func)
5422 (get_font_repertory_func, new_fontset_from_font_name): Delete
5423 externs.
5424 (fontset_from_font_name): Extern it.
5425 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5426 (FONT_INFO_FROM_FACE): Deleted.
5427 (face_for_font): Adjust prototype.
5428
5429 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5430 conditionals. Don't check enable_font_backend. Delete all codes
5431 used only when USE_FONT_BACKEND is not defined.
5432 (get_font_info_func, list_font_func, load_font_func)
5433 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5434 (get_font_repertory_func): Delete them.
5435 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5436 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5437 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5438 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5439 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5440 (fontset_compare_rfontdef): New function.
5441 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5442 rfont-defs by qsort. Adjusted for the change of font-group vector.
5443 (load_font_get_repertory): Deleted.
5444 (fontset_find_font): Use new macros to ref/set elements of
5445 font-def and rfont-def.
5446 (fontset_font): Fix the timing of remembering that no font for C.
5447 (free_face_fontset): Do nothing if the face has no fontset.
5448 (face_suitable_for_char_p): Use new macros to ref/set elements of
5449 rfont-def.
5450 (face_for_char): Likewise. Call face_for_char with font_object.
5451 (fs_load_font): Delete. Delete #pragma surrounding it.
5452 (fs_query_fontset): Use strcasecmp instead of strcmp.
5453 (generate_ascii_font_name): Adjusted for the format change of
5454 font-spec.
5455 (Fset_fontset_font): Likewise. Use new macros to set elements of
5456 font-def.
5457 (Fnew_fontset): Use font_unparse_xlfd to generate
5458 FONTSET_ASCII (fontset).
5459 (new_fontset_from_font_name): Deleted.
5460 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5461 a fontset is already created for the font. FIx updating of
5462 Vfontset_alias_alist.
5463 (fontset_ascii_font): Deleted.
5464 (Ffont_info): Adjusted for the format change of font-spec.
5465 (Finternal_char_font): Likewise.
5466 (Ffontset_info): Likewise.
5467 (syms_of_fontset): Don't check load_font_func.
5468
5469 * fns.c (internal_equal): Handle PREV_FONT.
5470
5471 * frame.h: Delete USE_FONT_BACKEND conditional.
5472
5473 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5474 conditionals. Don't check enable_font_backend. Delete all codes
5475 used only when USE_FONT_BACKEND is not defined.
5476 (x_set_font): Call x_new_font, not x_new_fontset2.
5477 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5478 already set for the frame.
5479
5480 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5481 a font-entity by font_make_entity. Use font_intern_prop instead
5482 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5483 font property. If a font is scalable, set avgwidth property to 0.
5484 Set font-entity property by font_put_extra.
5485 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5486 (ffont_driver): Adjusted for the change of struct font_driver.
5487 (ftfont_spec_pattern): New function.
5488 (ftfont_list): Return a list, not vector.
5489 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5490 (ftfont_list_family): Don't downcase names.
5491 (ftfont_free_entity): Deleted.
5492 (ftfont_open): Return a font-object. Adjusted for the change of
5493 struct font. Get underline_thickness and underline_position from
5494 font property. Don't update dpyinfo->smallest_font_height and
5495 dpyinfo->smallest_char_width.
5496 (ftfont_close): Don't free `struct font'.
5497 (ftfont_has_char): Adjusted for the format change of font-entity.
5498 (ftfont_encode_char, ftfont_text_extents): Likewise.
5499
5500 * ftxfont.c (ftxfont_list): Return a list, not vector.
5501 (ftxfont_open): Return a font-object. Adjusted for the change of
5502 struct font. Get underline_thickness and underline_position from
5503 font property. Don't update dpyinfo->smallest_font_height and
5504 dpyinfo->smallest_char_width.
5505 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5506 (ftxfont_draw): Adjusted for the change of struct font.
5507
5508 * image.c (image_ascent): Don't include "charset.h". Include
5509 "character.h" and "font.h".
5510
5511 * lisp.h (enum pvec_type): New member PREV_FONT.
5512 (Fassoc_string): EXFUN it.
5513
5514 * print.c: Include font.h.
5515 (print_object): Handle font-related objects.
5516
5517 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5518 conditionals. Don't check enable_font_backend. Delete all codes
5519 used only when USE_FONT_BACKEND is not defined.
5520 (handle_auto_composed_prop): Do nothing if it->f is not on a
5521 window system. Check how many following characters can be
5522 displayed by the same font.
5523 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5524 'struct font *'.
5525 (get_char_face_and_encoding): Assign the whole encoding task to
5526 the `encode-char' method of a font driver.
5527 (fill_composite_glyph_string): Adjusted for the change of `struct
5528 face' and `struct glyph_string'.
5529 (fill_glyph_string): Likewise.
5530 (get_per_char_metric): Arguments changed.
5531 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5532 and `struct glyph_string'.
5533 (produce_stretch_glyph, calc_line_height_property)
5534 (x_produce_glyphs): Likewise.
5535
5536 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5537 conditionals. Don't check enable_font_backend. Delete all codes
5538 used only when USE_FONT_BACKEND is not defined. Use
5539 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5540 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5541 (Qp): Extern them.
5542 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5543 Deleted.
5544 (struct font_name): Deleted.
5545 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5546 (compare_fonts_by_sort_order): New function.
5547 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5548 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5549 Deleted.
5550 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5551 compare_fonts_by_sort_order.
5552 (Fx_font_family_list): Call Ffont_family_list.
5553 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5554 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5555 (face_symbolic_slant, face_symbolic_swidth)
5556 (split_font_name_into_vector, build_font_name_from_vector)
5557 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5558 (font_rescale_ratio, split_font_name, build_font_name)
5559 (free_font_names, sort_fonts, x_face_list_fonts)
5560 (face_font_available_p, sorted_font_list, cmp_font_names)
5561 (font_list_1, concat_font_list, font_list, remove_duplicates):
5562 Deleted.
5563 (Fx_list_fonts): Use Ffont_list.
5564 (LFACE_AVGWIDTH): Deleted.
5565 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5566 by FONTP.
5567 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5568 (set_lface_from_font_name): Delete it.
5569 (set_lface_from_font): Renamed from
5570 set_lface_from_font_and_fontset. Caller changed. Don't set
5571 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5572 for face.
5573 (merge_face_vectors): Copy font-spec if necessary.
5574 Clear properties of the font-spec if necessary.
5575 (merge_face_ref): Clear properties of the font-spec if necessary.
5576 (Finternal_set_lisp_face_attribute): Likewise.
5577 (set_font_frame_param): Use font_load_for_lface to load a
5578 font-object, and call Fmodify_frame_parameters with it.
5579 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5580 font name by Ffont_xlfd_name.
5581 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5582 QCslant, and QCwidth.
5583 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5584 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5585 Compare fonts by EQ.
5586 (lookup_non_ascii_face): Deleted.
5587 (face_for_font): The 2nd argument changed.
5588 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5589 Check atomic font properties by case insensitive.
5590 (realize_non_ascii_face): Set face->overstrike correctly.
5591 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5592 (dump_realized_face): Get font name from
5593 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5594
5595 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5596 conditionals. Don't check enable_font_backend. Delete all codes
5597 used only when USE_FONT_BACKEND is not defined.
5598 (xic_create_xfontset): Original code deleted and renamed from
5599 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5600 (x_make_gc): Don't set GCFont in GCs.
5601 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5602 opened by "fixed".
5603 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5604 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5605 get_font_repertory_func.
5606
5607 * xfont.c: Include <stdlib.h> and "ccl.h".
5608 (struct xfont_info): New structure.
5609 (xfont_query_font): Deleted.
5610 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5611 moved from xterm.c.
5612 (xfont_driver): Adjusted for the change of struct font_driver.
5613 (compare_font_names): New function.
5614 (xfont_list_pattern): Sort font names case insensitively. Make
5615 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5616 (xfont_list): Return a list, not vector.
5617 (xfont_match): If the font doesn't have QCname property, generate
5618 a name from the other font properties.
5619 (xfont_open): Return a font-object. Adjusted for the change of
5620 struct font. Get underline_thickness and underline_position from
5621 font property. Don't update dpyinfo->smallest_font_height and
5622 dpyinfo->smallest_char_width.
5623 (xfont_close): Don't free struct font.
5624 (xfont_prepare_face): Adjusted for the change of struct font.
5625 (xfont_done_face): Deleted.
5626 (xfont_has_char): Adjusted for the change of struct font.
5627 (xfont_encode_char, xfont_draw): Likewise.
5628 (xfont_check): New function.
5629
5630 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5631 callback function.
5632 (xftfont_match): Adjusted for the format change of font-entity.
5633 (xftfont_open): Adjusted for the format change of font-entity and
5634 font-object. Adjusted for the change of struct font. Return a
5635 font-object. Don't update dpyinfo->smallest_font_height and
5636 dpyinfo->smallest_char_width.
5637 (xftfont_close): Block input while calling XftFontClose.
5638 (xftfont_prepare_face): Don't block input while calling
5639 xftfont_get_colors. Adjusted for the change of struct font.
5640 (xftfont_shape): Return value of error case fixed.
5641
5642 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5643
5644 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5645 conditionals.
5646 (FONT_WIDTH): Return (f)->max_width.
5647 (struct x_display_info): Delete member `font'.
5648 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5649 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5650 (struct x_output): Change type of `font' to `struct font *'.
5651
5652 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5653 conditionals. Don't check enable_font_backend. Delete all codes
5654 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5655 (x_per_char_metric, x_encode_char): Deleted.
5656 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5657 (x_compute_glyph_string_overhangs): Adjusted for the change of
5658 `struct face'.
5659 (x_draw_glyph_string_foreground)
5660 (x_draw_composite_glyph_string_foreground): Likewise.
5661 (x_draw_glyph_string): Likewise. Use font->underline_position and
5662 font->underline_thickness.
5663 (x_new_font): Renamed from x_new_fontset2.
5664 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5665 (x_check_font): Call `check' method of a font driver.
5666 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5667 (x_query_font, x_get_font_repertory): Deleted.
5668 (x_find_ccl_program): Renamed and moved to xfont.c.
5669 (x_redisplay_interface): Adjusted for the change of `struct
5670 redisplay_interface'.
5671
5672 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5673 conditionals. Don't check enable_font_backend. Delete all codes
5674 used only when USE_FONT_BACKEND is not defined. Surround non-used
5675 code by "#ifdef OLD_FONT" and "endif".
5676 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5677
5678 * w32font.h (struct w32font_info): New member.
5679 (FONT_COMPAT): New macro.
5680 (w32font_open_internal): Prototype adjusted.
5681
5682 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5683 OLD_FONT" and "endif".
5684
5685 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5686 conditionals. Don't check enable_font_backend. Delete all codes
5687 used only when USE_FONT_BACKEND is not defined.
5688 (w32font_open): Return a font-object. Make a font-object by
5689 font_make_object. Adjusted for the change of struct w32font_info.
5690 (w32font_close): Don't free struct font. Adjusted for the change
5691 of struct w32font_info.
5692 (w32font_encode_char, w32font_text_extents, w32font_draw):
5693 Adjusted for the change of struct w32font_info.
5694 (w32font_draw): Likewise.
5695 (w32font_list_internal): Return a list, not vector.
5696 (w32font_open_internal): Change the 4th arg to font-object.
5697 Adjusted for the change of struct w32font_info and font-object format.
5698 (add_font_name_to_list): Don't downcase names.
5699 (w32_enumfont_pattern_entity): Make a font-entity by
5700 font_make_entity. Adjusted for the format change of font-entity.
5701 Use FONT_SET_STYLE to set a style-related font property. If a
5702 font is scalable, set avgwidth property to 0. Set font-entity
5703 property by font_put_extra.
5704 (font_matches_spec): Adjusted for the format change of font-entity.
5705 (w32_weight_table, w32_decode_weight): New variables.
5706 (w32_encode_weight): New function.
5707 (fill_in_logfont): Adjusted for the format change of font-spec.
5708 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5709 weight value.
5710 (w32font_driver): Adjusted for the change of struct font_driver.
5711
5712 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5713 conditionals. Don't check enable_font_backend. Surround non-used
5714 code by "#ifdef OLD_FONT" and "endif".
5715 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5716 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5717
5718 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5719 conditionals. Don't check enable_font_backend. Delete all codes
5720 used only when USE_FONT_BACKEND is not defined. Surround non-used
5721 code by "#ifdef OLD_FONT" and "endif".
5722
5723 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5724 (uniscribe_open): Return value changed to font-object.
5725 Adjusted for the format change of font-object.
5726 (uniscribe_otf_capability): Adjusted for the change of struct font.
5727 (add_opentype_font_name_to_list): Don't downcase names.
5728 (uniscribe_font_driver): Adjusted for the change of struct
5729 font_driver.
5730
57312008-05-13 Chong Yidong <cyd@stupidchicken.com>
5732
5733 * dispnew.c (update_frame_1): Check if tty output is still valid
5734 before flushing it.
5735
57362008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5737
5738 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5739 to Gtk+ menus.
5740
57412008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5742
5743 * dired.c (file_name_completion): Tweak the code so as to always do it
5744 in a single pass. Tighten the scope of some variables.
5745
5746 * dired.c (Qdefault_directory): New var.
5747 (file_name_completion): Use it instead of Fexpand_file_name.
5748 (syms_of_dired): Initialize it.
5749
57502008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5751
5752 * fileio.c (double_dollars): Remove dead code.
5753
57542008-05-10 Eli Zaretskii <eliz@gnu.org>
5755
5756 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5757 Mention w32-get-true-file-attributes in doc string.
5758
5759 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5760
57612008-05-09 Glenn Morris <rgm@gnu.org>
5762
5763 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5764 2008-04-23.
5765
57662008-05-09 Eli Zaretskii <eliz@gnu.org>
5767
5768 Support for reporting owner and group of each file on MS-Windows:
5769 * dired.c (stat_uname, stat_gname): New functions, with special
5770 implementation for w32.
5771 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5772
5773 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5774 (dflt_group_name): New static variable.
5775 (dflt_group): Rename from the_group.
5776 (init_user_info): Init dflt_group fields. Get user's group name
5777 from LookupAccountSid.
5778 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5779 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5780 New initialization states.
5781 (globals_of_w32): Initialize them to zero. Initialize the default
5782 group name to "None".
5783 (GetFileSecurity_Name): New global var, the name of the function
5784 to call for GetFileSecurity.
5785 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5786 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5787 (get_file_security, get_security_descriptor_owner)
5788 (get_security_descriptor_group, is_valid_sid)
5789 (get_file_security_desc, get_rid, get_name_and_id)
5790 (get_file_owner_and_group): New functions.
5791 (stat): Use get_file_security_desc and get_file_owner_and_group to
5792 report the owner and primary group of each file. Don't ignore the
5793 high 32 bits of file's size, now that st_size is 64-bit wide.
5794 Fix test when to get true file attributes.
5795 (init_user_info): Use get_rid instead of equivalent inline code.
5796 (fstat): Don't ignore the high 32 bits of file's size.
5797
57982008-05-09 Chong Yidong <cyd@stupidchicken.com>
5799
5800 * image.c (png_load): Use correct bit-depth for setting background
5801 color.
5802
58032008-05-08 Eli Zaretskii <eliz@gnu.org>
5804
5805 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5806 epa-hook.elc.
5807
58082008-05-08 Juanma Barranquero <lekktu@gmail.com>
5809
5810 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5811
58122008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5813
5814 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5815 because the original parameters are in pure storage now.
5816 (mac_window): Remove unused params. Update callers.
5817
58182008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5819
5820 * lread.c (substitute_object_recurse): Use lower-level primitives.
5821 Don't signal errors when traversing sub-char-tables.
5822 Don't loop over all the possible characters when traversing char-tables.
5823
5824 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5825 just like we do in print.c.
5826
58272008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5828
5829 * minibuf.c (Ftry_completion): Remove code left over from when we used
5830 scmp instead of Fcompare_strings.
5831
58322008-05-04 Juanma Barranquero <lekktu@gmail.com>
5833
5834 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5835
58362008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5837
5838 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5839 Create bitmap context in native byte order.
5840
5841 * macterm.c (XDrawLine)
5842 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5843 context in native byte order.
5844
58452008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5846
5847 * config.in: Regenerate.
5848
5849 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5850 New definitions for Image I/O support.
5851 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5852 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5853 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5854 (mac_data_provider_release_data, image_load_image_io)
5855 [USE_MAC_IMAGE_IO]: New functions.
5856 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5857 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5858 (init_image_func_pointer) [MAC_OSX]: Remove function.
5859 (image_load_quartz2d) [MAC_OSX]: Check availability of
5860 CGImageCreateWithPNGDataProvider at compile time.
5861 Use lowercase `false' for boolean constant.
5862 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5863 Use image_load_image_io.
5864 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5865 Don't check MyCGImageCreateWithPNGDataProvider.
5866 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5867 Don't call init_image_func_pointer.
5868
5869 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5870
5871 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5872 Make variable non-static.
5873 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5874 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5875
5876 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5877 (RED_FROM_ULONG): Mask off higher bits.
5878 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5879
5880 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5881 Include AvailabilityMacros.h.
5882 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5883 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5884
58852008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5886
5887 * chartab.c (Fset_char_table_range): If range is t, really set all
5888 chars to that value.
5889
58902008-05-03 Eli Zaretskii <eliz@gnu.org>
5891
5892 * dired.c (Ffile_attributes): Don't allow the device number become
5893 negative.
5894
58952008-05-02 Daiki Ueno <ueno@unixuser.org>
5896
5897 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5898
58992008-05-02 Juri Linkov <juri@jurta.org>
5900
5901 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5902 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5903 DEFAULT argument as a list of default values in docstrings.
5904
59052008-05-01 Chong Yidong <cyd@stupidchicken.com>
5906
5907 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5908
59092008-05-01 Martin Rudalics <rudalics@gmx.at>
5910
5911 * dispnew.c (change_frame_size_1): Preserve small windows when
5912 shrinking frames by calling set_window_height|width with third
5913 arg 2.
5914
5915 * window.h (struct window): Replace field too_small_ok by field
5916 resize_proportionally.
5917
5918 * window.c (make_window): Initialize resize_proportionally.
5919 (enlarge_window): Temporarily set resize_proportionally to make
5920 sure that shrink_windows does scale the window proportionally.
5921 (shrink_windows): When window has resize_proportionally set try
5922 to shrink it proportionally by stealing from other windows.
5923 (struct saved_window, Fset_window_configuration)
5924 (compare_window_configurations): Handle resize_proportionally.
5925 (WINDOW_TOTAL_SIZE): New macro.
5926 (window_min_size, shrink_windows, size_window): Use it.
5927 (check_min_window_sizes): Remove. Invalid values of
5928 window-min-height|width are handled by window_min_size_2 now.
5929 (size_window, Fsplit_window, enlarge_window)
5930 (adjust_window_trailing_edge, grow_mini_window): Don't call
5931 check_min_window_sizes.
5932 (window_min_size_2, window_min_size_1, window_min_size):
5933 New argument safe_p for retrieving "safe" minimum sizes.
5934 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5935 (adjust_window_trailing_edge, grow_mini_window):
5936 Adjust arguments of window_min_size... functions.
5937 (shrink_windows): Argument min_size removed. New argument
5938 safe_p allows shrinking windows to their safe minimum sizes.
5939 Calculate minimum size and decide whether a window shall be
5940 deleted for each window individually.
5941 (size_window): When nodelete_p equals 2, tell shrink_windows to
5942 delete windows only if their new minimum size is no more safe.
5943 (shrink_window_lowest_first): Call window_min_size_1 to make
5944 sure to preserve modeline of bottom-most window when resizing
5945 the minibuffer.
5946 (Fset_window_configuration, Fcurrent_window_configuration)
5947 (compare_window_configurations): Do not handle
5948 window-min-height|width any more.
5949 (syms_of_window): Clarify window-min-height|width doc-strings.
5950
59512008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5952
5953 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5954 some more. Copy some of the code from Ftry_completions.
5955 Remove special case code that dates back to initial revision when the
5956 slash was only added when necessary and that can't trigger nowadays.
5957
59582008-04-27 Kenichi Handa <handa@m17n.org>
5959
5960 * font.c (font_prop_validate): Signal `error' instead of `font'.
5961
59622008-04-29 Jason Rumney <jasonr@gnu.org>
5963
5964 * w32fns.c (Fw32_battery_status): New defun.
5965 (syms_of_w32fns): Defsubr it.
5966
59672008-04-28 Andreas Schwab <schwab@suse.de>
5968
5969 * dired.c (file_name_completion): Fix another mixing of encoded
5970 and decoded names.
5971
59722008-04-28 Juanma Barranquero <lekktu@gmail.com>
5973
5974 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5975
59762008-04-27 Juanma Barranquero <lekktu@gmail.com>
5977
5978 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5979
59802008-04-27 Andreas Schwab <schwab@suse.de>
5981
5982 * dired.c (file_name_completion): Fix inappropriate mixing of
5983 encoded and decoded names.
5984
5985 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5986
5987 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5988
59892008-04-26 Eli Zaretskii <eliz@gnu.org>
5990
5991 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5992 2008-03-31, it's not needed anymore with `struct stat' definition
5993 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5994 for the same reasons.
5995
59962008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5997
5998 * m/sparc.h: Additional redefinitions for GNU/Linux.
5999
60002008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6001
6002 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6003 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6004 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6005 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6006 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6007 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6008 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6009 Likewise.
6010
6011 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6012 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6013 (mac_ax_number_of_characters): Add externs.
6014 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6015 [USE_MAC_TSM]: Likewise.
6016 (mac_handle_text_input_event) [MAC_OSX]:
6017 Handle kEventTextInputOffsetToPos for no active input area case.
6018 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6019 (mac_handle_document_access_event)
6020 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6021 (install_application_handler) [MAC_OSX]: Register handlers for
6022 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6023 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6024 Register mac_handle_document_access_event.
6025
6026 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6027 Make functions non-static.
6028
60292008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6030
6031 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6032 (read_file_name_completion_ignore_case, insert_default_directory)
6033 (Qdefault_directory): Move to minibuffer.el.
6034 (Fread_file_name): Call the new `read-file-name' instead.
6035
60362008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6037
6038 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6039 Make function non-static.
6040 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6041 Remove function.
6042 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6043 Move to mactoolbox.c.
6044 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6045
6046 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6047 (mac_rect_make): New macro.
6048
6049 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6050 instead of float.
6051 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6052 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6053 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6054 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6055 CGRectMake.
6056 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6057 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6058 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6059 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6060 instead of WindowRef in argument type.
6061 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6062 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6063 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6064 instead of DISPLAY. All uses changed.
6065 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6066 (x_calc_absolute_position): Simplify so as not to use
6067 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6068
6069 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6070 instead of WindowRef in argument type.
6071 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6072 [TARGET_API_MAC_CARBON]: Remove externs.
6073 (create_apple_event, mac_event_parameters_to_lisp)
6074 [TARGET_API_MAC_CARBON]: Add externs.
6075
6076 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6077 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6078 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6079 is clicked.
6080 (x_activate_menubar): Remove extern for saved_menu_event_location.
6081 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6082 Move from mac.c.
6083
60842008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6085
6086 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6087 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6088
60892008-04-23 Jason Rumney <jasonr@gnu.org>
6090
6091 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6092 attributes only for local files.
6093
6094 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6095 default to Qlocal.
6096
60972008-04-22 Juri Linkov <juri@jurta.org>
6098
6099 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6100 read-buffer-to-switch instead of using the letter "B".
6101
61022008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6103
6104 * fileio.c (Qdefault_directory): New variable.
6105 (Fread_file_name): Use it to pass `dir' to the completion functions.
6106
61072008-04-20 Chong Yidong <cyd@stupidchicken.com>
6108
6109 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6110
61112008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6112
6113 * keyboard.c (Vpre_help_message): Remove.
6114 (show_help_echo): Remove default C code.
6115
6116 * dired.c (directory_files_internal, file_name_completion):
6117 Only call ENCODE_FILE if the string is indeed decoded.
6118
61192008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6120
6121 * Makefile.in (TOOLKIT_DEFINES): Remove.
6122 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6123
61242008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6125
6126 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6127 (mactoolbox.o): New target.
6128
6129 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6130 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6131
6132 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6133 Use mac_set_frame_window_background instead of XSetWindowBackground.
6134 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6135 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6136 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6137 instead of SetWindowTitleWithCFString.
6138 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6139 Move function to mactoolbox.c.
6140 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6141 Use mac_set_window_modified instead of SetWindowModified.
6142 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6143 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6144 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6145 FrontNonFloatingWindow. Use mac_activate_window instead of
6146 ActivateWindow. Use mac_active_non_floating_window instead of
6147 ActiveNonFloatingWindow.
6148 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6149 Use mac_show_hourglass and mac_hide_hourglass.
6150 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6151 instead of GetGlobalMouse.
6152 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6153 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6154 Use mac_bring_window_to_front instead of BringToFront.
6155 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6156 mactoolbox.c.
6157 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6158 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6159 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6160 mactoolbox.c.
6161
6162 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6163 (XtPointer): Move typedef from macmenu.c.
6164 (enum button_type): Move enum from macmenu.c.
6165 (widget_value): Move typedef from macmenu.c.
6166 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6167 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6168 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6169 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6170 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6171 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6172 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6173 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6174 (Selection): Move typedef from macselect.c.
6175 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6176 macterm.c.
6177 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6178 (mac_is_window_collapsed, mac_bring_window_to_front)
6179 (mac_send_window_behind, mac_hide_window, mac_show_window)
6180 (mac_collapse_window, mac_front_non_floating_window)
6181 (mac_active_non_floating_window, mac_activate_window)
6182 (mac_move_window_structure, mac_move_window, mac_size_window)
6183 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6184
6185 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6186 (enum mac_menu_kind): Move enum to mactoolbox.c.
6187 (min_menu_id): Move variable to mactoolbox.c.
6188 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6189 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6190 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6191 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6192 [TARGET_API_MAC_CARBON]: Likewise.
6193 (XtPointer): Move typedef to macgui.h.
6194 (enum button_type): Move enum to macgui.h.
6195 (widget_value): Move typedef to macgui.h.
6196 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6197 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6198 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6199 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6200 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6201 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6202 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6203 (popup_activated_flag): Make variable non-static.
6204 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6205 (add_menu_item, fill_menu, dispose_menus):
6206 Move functions to mactoolbox.c.
6207 (restore_show_help_function, menu_target_item_handler)
6208 (install_menu_target_item_handler, mac_handle_dialog_event)
6209 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6210 [TARGET_API_MAC_CARBON]: Likewise.
6211 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6212 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6213 (find_and_call_menu_selection, name_is_separator): Make function
6214 non-static.
6215 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6216 to mactoolbox.c.
6217 (set_frame_menubar): Don't call install_menu_quit_handler.
6218 (menu_item_selection): New variable.
6219 (mac_menu_show): Use create_and_show_popup_menu.
6220 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6221 selection but set variable menu_item_selection. All uses changed.
6222 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6223 Call install_menu_quit_handler. Move to mactoolbox.c.
6224
6225 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6226 (Selection): Move typedef to macgui.h.
6227 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6228 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6229 Make variables non-static.
6230 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6231 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6232 Make functions non-static.
6233 (Vmac_service_selection) [MAC_OSX]: Likewise.
6234 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6235 (mac_valid_selection_target_p, mac_clear_selection)
6236 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6237 (mac_put_selection_value, mac_selection_has_target_p)
6238 (mac_get_selection_value, mac_get_selection_target_list)
6239 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6240 Move functions to mactoolbox.c.
6241 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6242 Likewise.
6243 (copy_scrap_flavor_data, mac_handle_service_event)
6244 (install_service_handler) [MAC_OSX]: Likewise.
6245 (syms_of_macselect) <Vmac_dnd_known_types>:
6246 Use mac_dnd_default_known_types.
6247
6248 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6249 Move to mactoolbox.c.
6250 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6251 (Fx_selection_owner_p): Add EXFUN.
6252 (install_window_handler, remove_window_handler, XSetWindowBackground):
6253 Remove externs.
6254 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6255 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6256 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6257 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6258 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6259 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6260 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6261 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6262 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6263 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6264 (mac_valid_selection_target_p, mac_clear_selection)
6265 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6266 (mac_put_selection_value, mac_selection_has_target_p)
6267 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6268 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6269 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6270 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6271 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6272 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6273 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6274 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6275 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6276
6277 * mactoolbox.c: New file.
6278
62792008-04-18 Jason Rumney <jasonr@gnu.org>
6280
6281 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6282
62832008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6284
6285 * character.c (Fmultibyte_char_to_unibyte):
6286 Return latin1 chars unchanged.
6287
6288 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6289 relocated if it points to `name'.
6290
62912008-04-17 Kenichi Handa <handa@m17n.org>
6292
6293 * data.c (Faset): Allow setting a multibyte character in an
6294 ASCII-only unibyte string.
6295
6296 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6297
62982008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6299
6300 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6301 done in config.h.
6302
63032008-04-16 Juanma Barranquero <lekktu@gmail.com>
6304
6305 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6306 (Fchar_direction): Add usage in the docstring.
6307
63082008-04-15 Chong Yidong <cyd@stupidchicken.com>
6309
6310 * keyboard.c (read_key_sequence): Remove always-true checks.
6311
63122008-04-14 Jason Rumney <jasonr@gnu.org>
6313
6314 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6315 compatibility struct, for better underline positioning.
6316
63172008-04-13 David Hansen <david.hansen@gmx.net>
6318
6319 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6320 string.
6321
63222008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6323
6324 * m/hp800.h (XUINT, XSET): Remove.
6325
63262008-04-12 Juanma Barranquero <lekktu@gmail.com>
6327
6328 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6329 previous change.
6330
63312008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6332
6333 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6334 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6335
63362008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6337
6338 * keymap.h (map_keymap_canonical): Declare.
6339 * xmenu.c (single_keymap_panes): Use it.
6340
63412008-04-11 Glenn Morris <rgm@gnu.org>
6342
6343 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6344 set the target's value to that of the alias.
6345
63462008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6347
6348 * term.c (set_tty_color_mode): Left over typo.
6349
63502008-04-10 Michael Albinus <michael.albinus@gmx.de>
6351
6352 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6353 only after check for file name handler functions. Signal, when
6354 native functionality is not supported.
6355 (syms_of_fileio): Declare it unconditionally.
6356
63572008-04-10 Jason Rumney <jasonr@gnu.org>
6358
6359 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6360 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6361
6362 * w32.c (logon_network_drive): Also logon to remote drives that
6363 are mapped to drive letters.
6364
63652008-04-10 Glenn Morris <rgm@gnu.org>
6366
6367 * xdisp.c (truncate-partial-width-windows): Doc fix.
6368
63692008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6370
6371 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6372 Move functions to minibuffer.el.
6373 (syms_of_fileio): Don't declare them.
6374
63752008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6376
6377 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6378 (syms_of_minibuf): Remove its initialization.
6379
6380 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6381
63822008-04-09 Juanma Barranquero <lekktu@gmail.com>
6383
6384 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6385
63862008-04-09 Jason Rumney <jasonr@gnu.org>
6387
6388 * makefile.w32-in (distclean): Delete makefile too.
6389 (maintainer-clean): New target.
6390
6391 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6392
6393 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6394 for new font backend and composite cases.
6395
63962008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6397
6398 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6399 Most of the code moved to run_timers.
6400 (do_pending_atimers): Call run_timers.
6401 (run_timers): New function.
6402
6403 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6404 run atimers.
6405
6406 * process.c (wait_reading_process_output): The same as above.
6407
64082008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6409
6410 * minibuf.c (last_exact_completion): Remove variable.
6411 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6412 (complete_and_exit_1, complete_and_exit_2)
6413 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6414 (Fdisplay_completion_list, display_completion_list_1)
6415 (Fminibuffer_completion_help, Fself_insert_and_exit)
6416 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6417 minibuffer.el.
6418 (syms_of_minibuf): Remove corresponding initializations.
6419
6420 * keyboard.c (Qdeactivate_mark): New var.
6421 (command_loop_1): Use it to call `deactivate-mark'.
6422 (syms_of_keyboard): Initialize it.
6423
6424 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6425 to another frame.
6426 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6427 Don't call set_tty_color_mode.
6428 (store_frame_param): Reset previous_frame rather than call
6429 set_tty_color_mode.
6430 * term.c (set_tty_color_mode): Rewrite.
6431 * dispextern.h (set_tty_color_mode): New type.
6432 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6433
64342008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6435
6436 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6437 for generic chars, which do not exist any more in emacs-unicode.
6438
64392008-04-08 Michael Albinus <michael.albinus@gmx.de>
6440
6441 * coding.c (detect_coding_emacs_mule)
6442 (Ffind_operation_coding_system): Fix typo.
6443
64442008-04-08 Jason Rumney <jasonr@gnu.org>
6445
6446 * w32uniscribe.c (SNAME): Extract only symbol name.
6447
6448 * w32font.h (struct w32_metric_cache): New struct.
6449 (w32font_info): Use it.
6450 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6451 (CACHE_BLOCKSIZE): New constants.
6452
6453 * w32font.c (Qja, Qko, Qzh): New symbols.
6454 (syms_of_w32font): Initialise them.
6455 (font_matches_spec): Use them to filter by language.
6456 (recompute_cached_metrics): Remove function.
6457 (compute_metrics, clear_cached_metrics): New functions.
6458 (w32font_encode_char): Use them to manage metric cache.
6459 (w32font_text_extents): Cache metrics for all glyphs on demand.
6460 Delay converting glyph indices to WORD until needed.
6461 (w32font_open_internal): Initialize metric cache to empty.
6462 (registry_to_w32_charset): Charset should always be a symbol.
6463 (fill_in_logfont, list_all_matching_fonts): Family should
6464 always be a symbol.
6465
64662008-04-06 Jason Rumney <jasonr@gnu.org>
6467
6468 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6469 Give up if glyph indices not supported. Use uniscribe obtained
6470 ABC widths for individual metrics. Map glyph clusters back to
6471 characters using fClusterStart flag. Return number of glyphs
6472 produced, not chars processed.
6473 (uniscribe_shape): Map char at FROM to current glyph.
6474
64752008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6476
6477 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6478 Use SetMenuItemHierarchicalMenu.
6479
64802008-04-05 Jason Rumney <jasonr@gnu.org>
6481
6482 * image.c (pbm_load): Allow color values up to 65535.
6483 Throw an error if max_color_idx is outside the supported range.
6484 Report an error when image size is invalid.
6485 Read two bytes at a time when raw images have max_color_idx above 255.
6486
64872008-04-05 Eli Zaretskii <eliz@gnu.org>
6488
6489 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6490 cFileName a file name that includes `?' characters, use the 8+3
6491 alias in cAlternateFileName instead.
6492
64932008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6494
6495 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6496 append "CCL: Quitted" when the CCL program is quitted.
6497 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6498
6499 * ccl.h (struct ccl_program): New member quit_silently.
6500
65012008-04-05 Chong Yidong <cyd@stupidchicken.com>
6502
6503 * search.c (compile_pattern_1): Treat non-nil and non-string of
6504 search-spaces-regexp as nil.
6505
6506 * minibuf.c (Fassoc_string): Tweak docstring.
6507
65082008-04-05 Eli Zaretskii <eliz@gnu.org>
6509
6510 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6511 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6512 2008-03-14 to force inode be positive.
6513
6514 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6515 _S_* ones, since we now use our own sys/stat.h.
6516 (stat, fstat): Don't mangle the inode number.
6517 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6518
65192008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6520
6521 * frame.h (struct frame): Give one more bit to `visible' since we use
6522 values larger than 1 to indicate obscured frames on ttys.
6523
6524 * keymap.c (Qkeymap_canonicalize): New var.
6525 (Fmap_keymap_internal): New fun.
6526 (describe_map): Use keymap-canonicalize.
6527
6528 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6529 (Fundo_boundary): Set them.
6530 (syms_of_undo): Initialize them.
6531 (record_point): Use them instead of last_point_position*.
6532 (last_undo_buffer): Change type.
6533
65342008-04-04 Jason Rumney <jasonr@gnu.org>
6535
6536 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6537 (recompute_cached_metrics): Don't set ascent and descent per char.
6538
6539 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6540 (uniscribe_check_otf): Add GC protection before consing.
6541 Rearrange loop for counting features.
6542
65432008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6544
6545 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6546 buffer with byte-size of source buffer.
6547
65482008-04-03 Chong Yidong <cyd@stupidchicken.com>
6549
6550 * callint.c (Fcall_interactively): Handle temporary region even
6551 when shift-select-mode is off.
6552
65532008-04-03 Jason Rumney <jasonr@gnu.org>
6554
6555 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6556
65572008-04-03 Kenichi Handa <handa@m17n.org>
6558
6559 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6560 (CATEGORY_MASK_UTF_16): Likewise.
6561 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6562 binary file.
6563 (detect_coding): Add null-byte detection for a binary file.
6564 (detect_coding_system): Likewise.
6565
65662008-04-03 Jason Rumney <jasonr@gnu.org>
6567
6568 * w32uniscribe.c: New file.
6569
6570 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6571
6572 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6573
6574 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6575 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6576 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6577 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6578 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6579 (Qphonetic): New symbols.
6580 (syms_of_w32font): Initialize them.
6581 (font_supported_scripts): Use them.
6582 (w32font_list_family): List all charsets.
6583 (w32font_text_extents, recompute_cached_metrics): Fix metric
6584 calculations.
6585 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6586 Give opentype fonts their own format.
6587 (font_matches_spec): New arguments backend and logfont.
6588 Handle :otf spec for uniscribe backend.
6589 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6590 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6591
6592 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6593 font backend.
6594 (globals_of_w32fns): Initialize uniscribe font backend.
6595
6596 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6597 dependencies.
6598 (w32uniscribe.$(O)): New file to build.
6599 (FONT_OBJ): Include w32uniscribe.$(O).
6600 (LIBS): Add uniscribe libraries.
6601
6602 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6603
66042008-04-02 Chong Yidong <cyd@stupidchicken.com>
6605
6606 * callint.c (Vshift_select_mode): New var.
6607 (Finteractive): Document new ^ spec.
6608 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6609 is present.
6610
6611 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6612 (command_loop_1): Avoid running the direct display versions of
6613 forward-char and backward-char if shift-selection may occur.
6614 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6615 shift-translation takes place.
6616
6617 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6618 avoid clobbering by define-minor-mode.
6619
6620 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6621 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6622
6623 * syntax.c (Fforward_word): Add ^ interactive spec.
6624
6625 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6626 (Fscroll_right): Add ^ interactive spec.
6627
66282008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6629
6630 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6631
6632 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6633
6634 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6635
66362008-03-31 Juri Linkov <juri@jurta.org>
6637
6638 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6639
66402008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6641
6642 * gtkutil.c (xg_set_geometry): Fix indentation.
6643 (xg_resize_outer_widget): Remove.
6644 (x_wm_size_hint_off): Fix indentation.
6645 (xg_frame_set_char_size): Call flush_and_sync after
6646 gtk_window_resize.
6647 (x_wm_set_size_hint): Pass NULL as geometry window to
6648 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6649 Add menu bar and tool bar height to base height.
6650 (xg_update_frame_menubar, free_frame_menubar)
6651 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6652 (update_frame_tool_bar, free_frame_tool_bar):
6653 Change xg_resize_outer_widget to xg_frame_set_char_size.
6654
66552008-03-30 Michael Albinus <michael.albinus@gmx.de>
6656
6657 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6658 (Fdbus_call_method): New parameter TIMEOUT.
6659 (dbus-send-signal): Optimize UNGCPRO call.
6660
66612008-03-29 Juri Linkov <juri@jurta.org>
6662
6663 * window.c (Fdisplay_buffer): Move call to
6664 Vsplit_window_preferred_function out of conditions that check
6665 if window is eligible for vertical splitting.
6666 When Vsplit_window_preferred_function is non-nil, call it and use
6667 its non-nil return value as window. Otherwise, continue doing
6668 vertical splitting using Fsplit_window with arg horflag=nil.
6669 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6670 default value from `split-window' to nil.
6671
66722008-03-29 Juri Linkov <juri@jurta.org>
6673
6674 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6675 for interactive code letters 'b' and 'B'.
6676
66772008-03-29 Eli Zaretskii <eliz@gnu.org>
6678
6679 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6680 multibyte string.
6681
66822008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6683
6684 * keyboard.c (pending_funcalls): New var.
6685 (timer_check): Run it.
6686 (syms_of_keyboard): Initialize it.
6687 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6688 (Vdelete_terminal_functions): New vars.
6689 (syms_of_terminal): Initialize them.
6690 (Fdelete_terminal): Run delete-terminal-functions.
6691 * xdisp.c (safe_eval): Rewrite.
6692 (safe_call2): New fun.
6693 * frame.c (Qdelete_frame_functions): New var.
6694 (syms_of_frame): Initialize it.
6695 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6696 * lisp.h (safe_call2, pending_funcalls): Declare.
6697
66982008-03-28 Andreas Schwab <schwab@suse.de>
6699
6700 * indent.c (Fmove_to_column): Move declaration before statements.
6701
67022008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6703
6704 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6705 (struct frame): Use bit fields for boolean vars.
6706
6707 * process.c (server_accept_connection): Simplify naming.
6708 (emacs_get_tty_pgrp): Use SDATA.
6709
6710 * coding.c (decode_coding_object): Fix last change.
6711
67122008-03-27 Jason Rumney <jasonr@gnu.org>
6713
6714 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6715
67162008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6717
6718 * charset.c (Fdefine_charset_internal): Change the way of
6719 registering charsets in Vcharset_order_list.
6720 (syms_of_charset): Make the charset `eight-bit' supplementary.
6721
67222008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6723
6724 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6725 operations, to avoid having the difference between pointers
6726 overflow.
6727
67282008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6729
6730 * indent.c (check_display_width): New fun.
6731 (scan_for_column): Use it.
6732
6733 * data.c (syms_of_data): Mark most-positive-fixnum and
6734 most-negative-fixnum as constants.
6735
6736 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6737
6738 * indent.c (scan_for_column): Extract from current_column_1.
6739 Merge with the same code from Fmove_to_column.
6740 (current_column_1, Fmove_to_column): Use it.
6741
67422008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6743
6744 * keymap.c (map_keymap_internal): New fun.
6745 (map_keymap): Use it.
6746 (Fmap_keymap_internal): New fun.
6747 (Fmap_keymap): Remove left-out test from before make_save_value.
6748
6749 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6750
6751 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6752 Use XCAR/XCDR.
6753
6754 * process.h (struct Lisp_Process): Remove filter_multibyte.
6755 * process.c (QCfilter_multibyte): Remove.
6756 (setup_process_coding_systems): Don't use filter_multibyte.
6757 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6758 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6759 (Fset_process_filter_multibyte): Change the coding-system to
6760 approximate the previous behavior.
6761 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6762 coding-system.
6763
6764 * coding.c (decode_coding_object): When not decoding into a buffer,
6765 obey the coding system's preference of (uni|multi)byte.
6766
67672008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6768
6769 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6770 every char is changed and has a different byte-length.
6771 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6772 Fix int -> EMACS_INT.
6773
67742008-03-23 David Hansen <david.hansen@gmx.net>
6775
6776 * dbusbind.c (xd_read_message): Remove extra copying of message
6777 strings. Check for NULL `interface' or `member'.
6778
67792008-03-22 Eli Zaretskii <eliz@gnu.org>
6780
6781 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6782 cFileName a file name that includes `?' characters, use the 8+3
6783 alias in cAlternateFileName instead.
6784
67852008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6786
6787 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6788
67892008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6790
6791 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6792 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6793 work on current_buffer only instead (that was already the case
6794 for some of the code anyway).
6795 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6796 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6797 (SET_PT, SET_PT_BOTH): Adjust.
6798 * intervals.h (set_point, temp_set_point, set_point_both)
6799 (temp_set_point_both): Remove redundant declarations.
6800
68012008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6802
6803 * fileio.c (Finsert_file_contents):
6804 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6805 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6806 when buffer != current_buffer anyway.
6807
68082008-03-20 Andreas Schwab <schwab@suse.de>
6809
6810 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6811 as default.
6812
68132008-03-19 Jason Rumney <jasonr@gnu.org>
6814
6815 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6816 (syms_of_w32fns): Initialize them.
6817 (HOURGLASS_ID): New constant.
6818 (x_window_to_frame): Don't check hourglass_window.
6819 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6820 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6821 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6822 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6823 Only change the cursor if hourglass is not active.
6824 (Fx_create_frame): Initialize frame's current_cursor.
6825 (hourglass_atimer): Remove.
6826 (hourglass_started): New function.
6827 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6828 (show_hourglass): Adapt to w32, changing argument to frame.
6829
6830 * w32term.h (struct w32_output): Remove hourglass_window.
6831 Add current_cursor.
6832
6833 * eval.c (call_debugger, Fsignal):
6834 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6835 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6836 (Fexecute_extended_command, cancel_hourglass_unwind):
6837 * minibuf.c (read_minibuf):
6838 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6839
68402008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6841
6842 * window.c (run_funs): New fun.
6843 (run_window_configuration_change_hook): Use it to run the buffer-local
6844 and the global part of the hook.
6845
6846 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6847 (unwind_format_mode_line): Restore selected window.
6848 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6849
68502008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6851
6852 * editfns.c (Fchar_equal): Check they are valid characters.
6853
6854 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6855
68562008-03-17 Andreas Schwab <schwab@suse.de>
6857
6858 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6859 against a charset.
6860
6861 * lisp.h (Fbuffer_list): Declare.
6862
68632008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6864
aac0c6e3
MR
6865 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6866 handlebox_widget is != 0.
6867
68682008-03-16 Juri Linkov <juri@jurta.org>
6869
6870 * callint.c (Fcall_interactively): For interactive code letters
6871 'b' and 'B' put the buffer list into the list of default "future"
6872 values of the minibuffer.
6873
68742008-03-16 Andreas Schwab <schwab@suse.de>
6875
6876 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6877 modifiers.
6878
6879 * regex.c (re_match_2_internal): Correct matching of a charset
6880 against latin-1 characters.
6881
68822008-03-16 Kenichi Handa <handa@m17n.org>
6883
6884 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6885 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6886 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6887 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6888 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6889 CHAR_STRING_ADVANCE.
6890 (produce_chars): Fix for the case that the source and the
6891 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6892 instead of CHAR_STRING_ADVANCE.
6893 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6894 STRING_CHAR_ADVANCE.
6895
68962008-03-15 Andreas Schwab <schwab@suse.de>
6897
6898 * regex.c (re_match_2_internal): Correct matching of eight bit
6899 characters in unibyte strings.
6900
69012008-03-15 Martin Rudalics <rudalics@gmx.at>
6902
6903 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6904 at end of range when it coincides with the end of the buffer.
6905
69062008-03-14 Eli Zaretskii <eliz@gnu.org>
6907
6908 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6909
6910 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6911
69122008-03-14 Jason Rumney <jasonr@gnu.org>
6913
6914 * editfns.c (initial_tz): New variable.
6915 (syms_of_editfns): Initialize it.
6916 (Fset_time_zone_rule): Set it when first called.
6917 Use it when TZSTRING is nil.
6918
6919 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6920 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6921 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6922 (globals_of_w32fns): Initialize them.
6923 (compute_tip_xy): Use them to position tooltips.
6924
69252008-03-14 Glenn Morris <rgm@gnu.org>
6926
6927 * emacs.c (main): Revert previous change.
6928 (standard_args): Revert -internal-script back to -scriptload,
6929 and remove the long-option form.
6930
69312008-03-13 Glenn Morris <rgm@gnu.org>
6932
6933 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6934 Remove option -enable-font-backend.
6935
69362008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6937
6938 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6939
69402008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6941
6942 * xterm.c (x_connection_closed): For GTK: If this is the last
6943 terminal just exit without closing the display.
6944
69452008-03-11 Jason Rumney <jasonr@gnu.org>
6946
6947 * w32font.c (w32font_full_name): Use floor to round.
6948
69492008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6950
6951 * sound.c (alsa_configure): Declare vol at beginning of block.
6952
6953 * fontset.c (Ffontset_info): Remove extra semicolon.
6954
69552008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6956
6957 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6958 size of resulting string.
6959
69602008-03-10 Jason Rumney <jasonr@gnu.org>
6961
6962 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6963
69642008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6965
6966 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6967 Don't pretend as if characters with display property haven't been
6968 consumed for string-replacing-string case.
6969
69702008-03-08 Kim F. Storm <storm@cua.dk>
6971
6972 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6973 (get_next_display_element, next_element_from_string)
6974 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6975
69762008-03-08 Andreas Schwab <schwab@suse.de>
6977
6978 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6979
69802008-03-06 Jason Rumney <jasonr@gnu.org>
6981
6982 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6983 when charset not specified. Only translate ANSI to unicode when
6984 font_type is truetype.
6985 (w32font_coverage_ok): New function.
6986 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6987
69882008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6989
6990 * lread.c (Fread_char): Resolve modifiers.
6991 (Fread_char_exclusive): Likewise.
6992
6993 * character.c (char_resolve_modifier_mask): New function.
6994 (char_string): Use char_resolve_modifier_mask.
6995 (Fchar_resolve_modifiers): New function.
6996 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6997 function.
6998
69992008-03-04 Jason Rumney <jasonr@gnu.org>
7000
7001 * makefile.w32-in: Always include w32font.c in the build.
7002 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7003
70042008-03-04 Andreas Schwab <schwab@suse.de>
7005
7006 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7007 (versionclean): Likewise.
7008
70092008-03-04 Juanma Barranquero <lekktu@gmail.com>
7010
7011 * .cvsignore: Add oo.
7012
70132008-03-03 Andreas Schwab <schwab@suse.de>
7014
7015 * coding.c (decode_coding_object): Inhibit gap shrinking while
7016 decoding in place.
7017
70182008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7019
7020 * w32term.c: Remove unused include "gnu.h".
7021 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7022
7023 * gnu.h: Rename to ...
7024 * emacs-icon.h: ... this.
7025 * xterm.c: Use emacs-icon.h instead of gnu.h.
7026 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7027
70282008-03-03 Juanma Barranquero <lekktu@gmail.com>
7029
7030 * w32font.c: Include math.h.
7031
70322008-03-03 Jason Rumney <jasonr@gnu.org>
7033
7034 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7035 Compute options separately.
7036 (w32font_open_internal): Set glyph_idx before caching metrics.
7037
7038 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7039 Define if system headers don't.
7040 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7041 (w32font_encode_char): Don't declare here.
7042
7043 * w32font.c (Quniscribe, QCformat): New symbols.
7044 (syms_of_w32font): Define them.
7045 (w32font_has_char): Indicate uncertainty.
7046 (w32font_encode_char): Encode as glyph point. Make static.
7047 (recompute_cached_metrics): New function.
7048 (w32font_open_internal): Use it. Set font to use glyph points
7049 initially. Set format based on type of font.
7050 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7051 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7052 on it. Set format based on information available here.
7053 (add_font_entity_to_list): Identify backend based on opentype_only.
7054
70552008-03-02 Andreas Schwab <schwab@suse.de>
7056
7057 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7058
7059 * coding.c (decode_coding_big5, produce_chars):
7060 Fix typos in last change.
7061
70622008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7063
7064 * gnu.h: New icon.
7065
70662008-03-02 Kenichi Handa <handa@m17n.org>
7067
7068 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7069 `dos', don't decode '\r' if that is the last in the source.
7070 (decode_coding_utf_16, decode_coding_emacs_mule)
7071 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7072 (decode_coding_raw_text, decode_coding_charset): Likewise.
7073 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7074
70752008-03-01 Jason Rumney <jasonr@gnu.org>
7076
7077 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7078
70792008-03-01 Kim F. Storm <storm@cua.dk>
7080
7081 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7082
70832008-03-01 Jason Rumney <jasonr@gnu.org>
7084
7085 * w32font.c (w32font_full_name): New function.
7086 (w32font_open_internal): Use it.
7087
70882008-03-01 Kim F. Storm <storm@cua.dk>
7089
7090 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7091
70922008-03-01 Jason Rumney <jasonr@gnu.org>
7093
7094 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7095
70962008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7097
7098 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7099 xg_frame_resized when the event is for the edit widget.
7100
7101 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7102
7103 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7104 set_char_size.
7105 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7106 operations on widgets here. Just set frame size if needed.
7107 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7108 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7109 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7110 the whole frame.
7111 (xg_create_tool_bar): Move attachment of the tool bar to
7112 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7113 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7114
71152008-03-01 Jason Rumney <jasonr@gnu.org>
7116
7117 * w32fns.c (w32_msg_pump): Disable debug code.
7118
71192008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7120
7121 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7122
71232008-02-29 Chong Yidong <cyd@stupidchicken.com>
7124
7125 * xdisp.c (next_overlay_string): Don't set
7126 overlay_strings_at_end_processed_p if we're currently reading from
7127 a display string.
7128
71292008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7130
7131 * xdisp.c (get_overlay_strings_1): Fix typo.
7132
71332008-02-29 Chong Yidong <cyd@stupidchicken.com>
7134
7135 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7136
71372008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7138
7139 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7140
7141 * xdisp.c (display_mode_element): Cancel the previous change.
7142 (decode_mode_spec): Likewise.
7143 (handle_auto_composed_prop): Don't make composition if it->string
7144 is a string.
7145
71462008-02-27 Kim F. Storm <storm@cua.dk>
7147
7148 * lisp.h (GLYPH): Change type from int to struct with separate char
7149 and face_id members.
7150 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7151 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7152 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7153 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7154 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7155 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7156 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7157 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7158 handle new Lisp glyph code encoding, either an integer or a cons.
7159
7160 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7161 (GLYPH_ALIAS): Delete.
7162 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7163 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7164 (GLYPH_FROM_CHAR): Replace macro by ...
7165 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7166
7167 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7168 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7169 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7170 (GLYPH_INVALID_P): New macro.
7171 (spec_glyph_lookup_face): Update prototype.
7172
7173 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7174 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7175 new glyph code encoding.
7176 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7177 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7178
7179 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7180 Adapt to new glyph type and new glyph code encoding.
7181
7182 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7183
7184 * indent.c (current_column, current_column_1, Fmove_to_column)
7185 (compute_motion): Adapt to new glyph code encoding.
7186
7187 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7188
71892008-02-27 Chong Yidong <cyd@stupidchicken.com>
7190
7191 * process.c (wait_reading_process_output): Check for window
7192 changes caused by timers.
7193 Suggested by Johan Bockgård.
7194
71952008-02-27 Glenn Morris <rgm@gnu.org>
7196
7197 * emacs.c (USAGE1): Add `--disable-font-backend'.
7198
71992008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7200
7201 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7202 is made to the buffer.
7203
72042008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7205
7206 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7207 (face_at_string_position):
7208 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7209 (face_at_string_position):
7210 * xdisp.c (display_string, next_overlay_change):
7211 * buffer.h (overlays_at):
7212 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7213 Update callers.
7214
72152008-02-26 Chong Yidong <cyd@stupidchicken.com>
7216
7217 * editfns.c (Fformat): Doc fix.
7218
72192008-02-26 Juanma Barranquero <lekktu@gmail.com>
7220
7221 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7222 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7223 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7224
72252008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7226
7227 * buffer.c (Fbuffer_swap_text): New function.
7228 (syms_of_buffer): Defsubr it.
7229
72302008-02-25 Chong Yidong <cyd@stupidchicken.com>
7231
7232 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7233
72342008-02-25 Jason Rumney <jasonr@gnu.org>
7235
7236 * w32font.c (w32font_draw): Draw one character at a time when padding.
7237
72382008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7239
7240 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7241 Handle a nil arg. Use run_window_configuration_change_hook.
7242 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7243 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7244 Use run_window_configuration_change_hook.
7245
72462008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7247
7248 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7249 1-pixel width.
7250
72512008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7252
7253 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7254 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7255 if the glyph in the font is zero pixel with.
7256
7257 * dispextern.h (struct glyph_string): New member padding_p.
7258
7259 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7260
7261 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7262
7263 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7264
7265 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7266
7267 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7268
72692008-02-25 Jason Rumney <jasonr@gnu.org>
7270
7271 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7272
72732008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7274
7275 Allow fine-grained image-cache flushing.
7276 * dispextern.h (struct image): Add `dependencies' field.
7277 (clear_image_caches): Change arg to Lisp_Object.
7278 * image.c (make_image): Initialize `dependencies' field.
7279 (clear_image_cache): Change arg to allow fine-grained flushing.
7280 Perform the flush even if image-cache-eviction-delay is nil.
7281 (clear_image_caches): Change arg to Lisp_Object.
7282 (Fclear_image_cache): Expand meaning of the argument.
7283 (mark_image): Mark `dependencies' field.
7284 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7285 (lface_hash): Use XHASH rather than XFASTINT.
7286 (face_at_buffer_position): Fix int -> EMACS_INT position.
7287 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7288 (select_frame_for_redisplay): Remove code duplication.
7289 (redisplay_internal): Adapt arg to call to clear_image_caches.
7290
72912008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7292
7293 * s/vms4-0.h:
7294 * s/vms4-2.h:
7295 * s/vms4-4.h:
7296 * s/vms5-5.h: Remove, unused.
7297
7298 * s/irix5-2.h:
7299 * s/irix6-0.h:
7300 * s/riscos5.h:
7301 * s/mach-bsd4-3.h:
7302 * m/mips4.h: Remove files for obsolete systems.
7303
7304 * Makefile.in:
7305 * filelock.c:
7306 * unexmips.c:
7307 * m/hp9000s300.h:
7308 * m/iris4d.h:
7309 * s/aix3-1.h:
7310 * s/hpux.h:
7311 * s/msdos.h:
7312 * s/usg5-0.h:
7313 * s/usg5-2-2.h:
7314 * s/usg5-2.h:
7315 * s/usg5-3.h: Remove references to obsolete variables.
7316
7317 * s/irix5-0.h: Remove, move all the contents ...
7318 * s/irix6-5.h: ... here. Simplify.
7319 * config.in: Regenerate.
7320
73212008-02-24 Jason Rumney <jasonr@gnu.org>
7322
7323 * w32term.c (x_draw_glyph_string_background): Clear the background
7324 manually when cleartype is in use.
7325 (x_draw_glyph_string_foreground): Draw text transparently when
7326 cleartype is in use.
7327
7328 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7329 a font into it unless we have to.
7330
73312008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7332
7333 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7334 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7335
aac0c6e3
MR
73362008-02-18 Jason Rumney <jasonr@gnu.org>
7337
7338 * w32fns.c (Fw32_shell_execute): Encode parameters.
7339
73402008-02-09 Eli Zaretskii <eliz@gnu.org>
7341
7342 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7343
73442008-02-05 Juanma Barranquero <lekktu@gmail.com>
7345
7346 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7347
73482008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7349
7350 * xterm.c (x_set_offset): Don't change the gravity if
7351 CHANGE_GRAVITY is -1.
7352
73532008-02-23 Chong Yidong <cyd@stupidchicken.com>
7354
7355 * fileio.c (auto_save_error_occurred): New var.
7356 (auto_save_error): Set it.
7357 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7358 error occurred.
7359
73602008-02-23 Eli Zaretskii <eliz@gnu.org>
7361
7362 * w32.c (globals_of_w32): Add initializations for
7363 g_b_init_get_sid_sub_authority and
7364 g_b_init_get_sid_sub_authority_count.
7365
73662008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7367
7368 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7369 (font_parse_xlfd): Use them for sanity check.
7370 (Finternal_set_font_style_table): Make sure the table is bijective.
7371
7372 Consolidate the image_cache to the terminal struct.
7373 * termhooks.h (P_): Remove redundant def.
7374 (struct terminal): New field `image_cache'.
7375 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7376 of FRAME_X_IMAGE_CACHE.
7377 * xterm.h (struct x_display_info): Remove image_cache field.
7378 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7379 * w32term.h (struct w32_display_info): Remove image_cache field.
7380 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7381 * macterm.h (struct mac_display_info): Remove image_cache field.
7382 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7383 * xterm.c (x_term_init):
7384 * w32term.c (w32_term_init):
7385 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7386 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7387 Remove declarations.
7388 (clear_image_caches, mark_image_cache): New declarations.
7389 * xfaces.c (clear_face_cache):
7390 * xdisp.c (redisplay_internal): Use clear_image_caches.
7391 * image.c (clear_image_cache): Don't check that a frame is on
7392 a window-system before checking if it shares the same cache.
7393 (clear_image_caches): New function.
7394 (Fclear_image_cache): Use it.
7395 (mark_image): Move from allo.c.
7396 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7397 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7398 (mark_object): Don't call mark_image_cache for frames.
7399 (mark_terminals): Call mark_image_cache.
7400
7401 * lisp.h (Fdelete_terminal): Declare.
7402
7403 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7404 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7405 wrong_type_argument.
7406
74072008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7408
7409 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7410 malayalam.el, and tamil.el. Add sinhala.el.
7411
74122008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7413
7414 * xterm.c (x_connection_closed): Consolidate identical tests.
7415 (x_delete_terminal): Don't crash if called via x_connection_closed.
7416
74172008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7418
7419 * xdisp.c (decode_mode_spec): New arg string.
7420 (display_mode_element): Adjust for the above change.
7421
74222008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7423
7424 * callint.c (Fcall_interactively): Use AREF.
7425
74262008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7427
7428 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7429
74302008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7431
7432 * xfns.c (Fx_show_tip): Set string to " " if empty.
7433
74342008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7435
7436 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7437 with Qt.
7438
74392008-02-17 Kenichi Handa <handa@m17n.org>
7440
7441 * ftfont.c (ftfont_shape): Return Lispy number.
7442
7443 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7444 for GCs.
7445 (Finternal_set_font_selection_order): Call font_update_sort_order
7446 only when enable_font_backend is set.
7447 (realize_x_face): Set face->font_info to that of default face only
7448 when enable_font_backend is set.
7449
7450 * xdisp.c (handle_composition_prop): Set it->c to the fist
7451 character of the composed region.
7452 (fill_composite_glyph_string): Set base_face->font_info to
7453 s->font_info. Get a face for ascii from base_face->ascii_face.
7454 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7455 with a face already decided.
7456 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7457 non-negative.
7458 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7459 call font_prepare_composition unconditionally.
7460
7461 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7462
7463 * xterm.h (struct x_display_info): New member font.
7464
7465 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7466 (x_set_mouse_face_gc, x_new_font): Likewise.
7467 (x_term_init): Setup display_info->font.
7468 (x_delete_terminal): Free display_info->font.
7469
7470 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7471
7472 * ftxfont.c (ftxfont_default_fid): Delete it.
7473 (ftxfont_open): Set xfont->fid to 0.
7474 (ftxfont_end_for_frame): Clear data specific to the frame and the
7475 font-driver.
7476
7477 * xftfont.c (xftfont_default_fid): Delete it.
7478 (xftfont_open): Set xfont->fid to 0.
7479
7480 * fontset.c (FONTSET_OBJLIST): New macro.
7481 (fontset_find_font): Update font-object list of the fontset.
7482 (free_realized_fontset): New function.
7483 (free_face_fontset): Call free_realized_fontset.
7484 (Ffont_info): Call font_close_object only when enable_font_backend
7485 is set.
7486
7487 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7488 [HAVE_NTGUI]: Include w32term.h.
7489 [MAC_OS]: Include macterm.ch.
7490 (font_otf_ValueRecord): Use make_number.
7491 (font_finish_cache): Fix handling of reference count.
7492 (font_clear_cache): Update num_fonts.
7493 (font_open_entity): Update smallest_char_width and
7494 smallest_font_height of the frame.
7495 (font_close_object): Update num_fonts.
7496 (Fclear_font_cache): Fix finding the target cache data.
7497
74982008-02-16 Glenn Morris <rgm@gnu.org>
7499
7500 * fontset.c (Finternal_char_font): Fix compilation warning.
7501
75022008-02-16 Eli Zaretskii <eliz@gnu.org>
7503
7504 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7505 instead of char arrays. Enlarge the size of array passed to
7506 get_token_information.
7507
7508 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7509 warnings.
7510
75112008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7512
7513 * .gdbinit: Don't set `args', it breaks gdb --args.
7514
75152008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7516
7517 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7518 within a narrowed buffer.
7519
75202008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7521
7522 * coding.c (decode_coding_object, encode_coding_object):
7523 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7524
75252008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7526
7527 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7528 hardcoding 1.
7529 (detect_coding_system):
7530 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7531 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7532 * insdel.c (insert_from_gap):
7533 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7534 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7535 (string_to_multibyte):
7536 * character.c (chars_in_text, multibyte_chars_in_text):
7537 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7538
7539 * character.h (FETCH_STRING_CHAR_ADVANCE)
7540 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7541 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7542 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7543
7544 * casefiddle.c (casify_region): Only call after-change and composition
7545 functions on the part of the region that was changed.
7546
7547 * keyboard.c (read_avail_input):
7548 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7549
75502008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7551
7552 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7553 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7554
75552008-02-11 Juanma Barranquero <lekktu@gmail.com>
7556
7557 * w32menu.c (push_submenu_start, push_submenu_end)
7558 (push_left_right_boundary, push_menu_pane, push_menu_item):
7559 * keyboard.c (read_key_sequence): Don't pass args with side effects
7560 to AREF, it fails when compiling with -DENABLE_CHECKING.
7561
75622008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7563
7564 * Makefile.in (${lispsource}international/charprop.el):
7565 Delete this target.
7566
7567 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7568 emacs-unicode-2.
7569
75702008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7571
7572 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7573
75742008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7575
7576 * frame.c (Qnoelisp): New symbol.
7577 (syms_of_frame): Initialize it.
7578 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7579 harmless Elisp code, from a strong `force' from x_connection_closed.
7580 * frame.h (Qnoelisp): Declare.
7581 * xterm.c (x_connection_closed): Pass `noelisp'.
7582
7583 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7584 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7585 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7586 rather than `int' for the type of `type'.
7587
75882008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7589
7590 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7591
7592 * Makefile.in (GNUC): Remove support for gcc-1.x.
7593
75942008-02-10 Richard Stallman <rms@gnu.org>
7595
7596 * lisp.h (ASET): Use AREF, not ASLOT.
7597
75982008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7599
7600 * lisp.h (ASET): Check bounds.
7601
76022008-02-10 Glenn Morris <rgm@gnu.org>
7603
7604 * buffer.c (mode-name): Doc fix.
7605
76062008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7607
7608 * Makefile.in:
7609 * emacs.c:
7610 * gmalloc.c:
7611 * keyboard.c:
7612 * lisp.h:
7613 * m/ibm370aix.h:
7614 * process.c:
7615 * regex.c:
7616 * s/hpux.h:
7617 * sysdep.c:
7618 * sysselect.h:
7619 * systty.h:
7620 * unexec.c:
7621 * w32term.c:
7622 * xsmfns.c:
7623 * xterm.c: Remove code that deals with obsolete variables.
7624
7625 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7626
7627 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7628 nothing else needs it anymore.
7629
76302008-02-09 Eli Zaretskii <eliz@gnu.org>
7631
7632 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7633 instead of unibyte_char_to_multibyte.
7634
76352008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7636
7637 * s/gnu-linux.h: Remove commented out code.
7638
7639 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7640
7641 * Makefile.in: Update what RMS says about using autoconf.
7642 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7643 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7644 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7645 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7646
76472008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7648
7649 * keymap.c (Fkey_description): Move side effect outside of macro call.
7650
7651 * xfaces.c (Finternal_make_lisp_face):
7652 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7653
7654 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7655 (syms_of_fontset): Use ASET.
7656
7657 * fns.c (concat): Move side effect outside of macro call.
7658 (hash_clear): Use ASET.
7659
76602008-02-08 Richard Stallman <rms@gnu.org>
7661
7662 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7663 If FORCE, and frame has a surrogate minibuffer for another frame,
7664 delete the other frame first.
7665
76662008-02-07 Timo Savola <timo.savola@iki.fi>
7667
7668 * xterm.c (x_detect_focus_change): Handle embed client message.
7669 (handle_one_xevent): Ditto.
7670 (handle_one_xevent): If embedded and we get a button press/release,
7671 request focus.
7672 (xembed_set_info, xembed_send_message): New functions.
7673 (x_make_frame_visible): Call xembed_set_info if embedded.
7674 (x_make_frame_invisible): Call xembed_set_info if embedded.
7675 (x_term_init): Initialize Xatom_XEMBED.
7676 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7677 (x_iconify_frame): Ditto.
7678
7679 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7680 (enum xembed_info, enum xembed_message, enum xembed_focus)
7681 (enum xembed_modifier, enum xembed_accelerator): New.
7682 (xembed_set_info, xembed_send_message): Declare.
7683 (FRAME_X_EMBEDDED_P): New.
7684
7685 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7686 gtk_plug_new.
7687
7688 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7689 window ID of a frame.
7690 (x_window): Reparent frame if embedded.
7691 (Fx_create_frame): Don't set border width if embedded.
7692
7693 * emacs.c (USAGE3): Add --parent-id.
7694 (standard_args): Ditto.
7695
76962008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7697
7698 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7699
77002008-02-07 Jim Meyering <meyering@redhat.com>
7701
7702 Use "do...while (0)", not "if (1)...else" in macro definitions.
7703 The latter provokes a warning from gcc about the empty else, when
7704 followed by ";". Also, without that trailing semicolon, it would
7705 silently swallow up any following statement.
7706 * syntax.h (SETUP_SYNTAX_TABLE)
7707 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7708 * buffer.h (DECODE_POSITION): Likewise.
7709 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7710 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7711 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7712 (FETCH_CHAR_ADVANCE): Likewise.
7713 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7714
77152008-02-07 Jim Meyering <meyering@redhat.com>
7716
7717 * lread.c [lint]: Don't include <sys/inode.h>.
7718
77192008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7720
7721 * xselect.c (x_handle_dnd_message):
7722 * xmenu.c (digest_single_submenu, xmenu_show):
7723 * xdisp.c (with_echo_area_buffer_unwind_data)
7724 (format_mode_line_unwind_data, unwind_format_mode_line)
7725 (display_menu_bar):
7726 * eval.c (Ffetch_bytecode):
7727 * doc.c (store_function_docstring):
7728 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7729 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7730 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7731
77322008-02-07 Kenichi Handa <handa@m17n.org>
7733
7734 * ftxfont.c (ftxfont_open): Don't set
7735 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7736
7737 * ftfont.c (ftfont_open): Fix previous change.
7738
77392008-02-06 Jason Rumney <jasonr@gnu.org>
7740
7741 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7742 Use cached metrics for ASCII characters.
7743 (w32font_open_internal): Don't set font's owning_frame.
7744 Cache metrics for ASCII characters.
7745
7746 * w32font.h (struct w32font_info): Add ascii_metrics.
7747 Remove owning_frame.
7748
77492008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7750
7751 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7752 to negative value.
7753
7754 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7755
7756 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7757
7758 * charset.c (syms_of_charset): Set QCtest and Qeq.
7759
77602008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7761
7762 * process.c (Fstart_process):
7763 * callproc.c (Fcall_process): Handle the case where
7764 Funhandled_file_name_directory returns nil.
7765
7766 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7767 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7768 * font.c (check_gstring): Use them and AREF to access the vector before
7769 we know it's really a gstring.
7770 (Ffont_shape_text): Fix typo.
7771 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7772
7773 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7774 Declare.
7775
7776 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7777
77782008-02-05 Jason Rumney <jasonr@gnu.org>
7779
7780 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7781 Set smallest_font_height and smallest_char_width in display info.
7782
77832008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7784
7785 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7786
77872008-02-05 Miles Bader <miles@gnu.org>
7788
7789 * xfaces.c (get_lface_attributes, merge_named_face)
7790 (lookup_named_face, lookup_derived_face, realize_named_face):
7791 Revert 2008-02-01 change by cyd@stupidchicken.com.
7792
77932008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7794
7795 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7796 fallback fonts.
7797 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7798
77992008-02-04 Jason Rumney <jasonr@gnu.org>
7800
7801 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7802 set full_name.
7803 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7804
78052008-02-03 Jason Rumney <jasonr@gnu.org>
7806
7807 * makefile.w32-in (OBJ1): Include font.o here.
7808 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7809
78102008-02-02 Jason Rumney <jasonr@gnu.org>
7811
7812 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7813
78142008-02-01 Jason Rumney <jasonr@gnu.org>
7815
7816 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7817
7818 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7819
78202008-02-01 Andreas Schwab <schwab@suse.de>
7821
7822 * Makefile.in (shortlisp, lisp): Update for rename of
7823 ../lisp/language/myanmar.el.
7824
78252008-02-01 Chong Yidong <cyd@stupidchicken.com>
7826
7827 * xfaces.c (get_lface_attributes): Delete function.
7828 (merge_named_face, lookup_named_face, lookup_derived_face)
7829 (realize_named_face): Call lface_from_face_name directly, and use
7830 the fact that merge_face_vectors does not alter its FROM argument.
7831
78322008-02-01 Jason Rumney <jasonr@gnu.org>
7833
7834 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7835 input in the default locale. Handle non-Unicode multibyte input.
7836
78372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7838
7839 * fontset.c (reorder_font_vector): Exclude nil elements from the
7840 font group. Don't try multiple fonts.
7841 (fontset_font): Adjust for the above change.
7842 (Finternal_char_font): Return nil if the found font doesn't
7843 contain the character ch.
7844
7845 * Makefile.in (lisp, shortlisp): Add cham.el.
7846
78472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7848
7849 * font.h (FONTP): Make it return 1 also for a font-object.
7850
7851 * .gdbinit (xfontset): New function.
7852
7853 * font.c (font_find_for_lface): Check if the character C is
7854 supported or not only for the first font.
7855
7856 * fontset.c (reorder_font_vector): Fix typo.
7857 (fontset_find_font): Don't add a font-spec specifying a script.
7858 Use 0 (not Qt) for the indication of empty font-group. Change the
7859 format of RFONT-DEF. Return Qt if no font in the font-group
7860 support the character.
7861 (fontset_font): Adjust for the above change. If no font was
7862 found the character, remember that.
7863 (face_for_char): Adjust for the change of RFONT-DEF.
7864 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7865 no font for the target.
7866 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7867
78682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7869
7870 * font.c (font_load_for_face): Handle the case that the font in
7871 face->lface is a string.
7872
78732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7874
7875 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7876
78772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7878
7879 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7880 Fix previous change. If the frame is not on a window system,
7881 signal an error.
7882
78832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7884
7885 * coding.c (decode_coding_object, encode_coding_object): Adjust
7886 marker positions after conversion.
7887
7888 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7889
78902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7891
7892 * font.c (font_find_for_lface): Fix the handling of the return
7893 value of font_has_char.
7894 (Ffont_shape_text): Fix previous change.
7895
7896 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7897 (fontset_ref_and_range): Delete it.
7898 (fontset_find_font): Call char_table_ref_and_range instead of
7899 FONTSET_REF_AND_RANGE.
7900 (make_fontset): Don't setup font groups of Latin here.
7901 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7902 (new_fontset_from_font): Make the specified font the default for
7903 all Latin characters.
7904
79052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7906
7907 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7908 is on a window system before accessing the fontset of the frame.
7909
79102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7911
7912 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7913
7914 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7915 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7916
7917 * font.c (Ffont_shape_text): If the font driver doesn't have a
7918 shaper function, make zero-width glyphs to have at least one-pixel
7919 width. Fix setting of `to' field of glyphs.
7920
79212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7922
7923 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7924 glyphs.
7925
7926 * font.h (struct font_driver): Improve docstring of member `shape'.
7927
79282008-02-01 Kenichi Handa <handa@m17n.org>
7929
7930 * composite.c (syms_of_composite): Fix docstring of
7931 auto-composition-function.
7932
7933 * font.h (LGLYPH_SIZE): New macro.
7934
7935 * font.c (Ffont_fill_gstring): Stop filling when a character not
7936 supported by the font is found.
7937 (Ffont_shape_text): When a shape callback function returns nil,
7938 try at most two more times with larger gstring.
7939 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7940
7941 * xdisp.c (handle_auto_composed_prop): Change the argument to
7942 auto-composition-function.
7943
7944 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7945 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7946 Lispy glyph and store it in the lgstring.
7947
7948 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7949
7950 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7951
79522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7953
7954 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7955
7956 * fontset.c (Vfont_encoding_charset_alist): New variable.
7957 (syms_of_fontset): DEFVAR it.
7958 (reorder_font_vector, fontset_find_font): Optimize for the case of
7959 no need of reordering.
7960 (face_for_char): Map the charset property by
7961 Vfont_encoding_charset_alist.
7962
79632008-02-01 Jason Rumney <jasonr@gnu.org>
7964
7965 * w32font.c (logfonts_match): Don't check adstyle here.
7966 (font_matches_spec): Check here against physical font instead.
7967 (add_font_entity_to_list): Avoid some substitutions.
7968
7969 * font.c (font_parse_fcname): Default weight and slant to normal.
7970 (font_score): Prefer normal fonts if weight or slant unspecified.
7971 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7972 match freetype scores.
7973
79742008-02-01 Jason Rumney <jasonr@gnu.org>
7975
7976 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7977 font, as it may have been deleted.
7978 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7979 most common hyphenless variation.
7980 (logfonts_match): Check generic family.
7981 (font_matches_spec): Don't check generic family here.
7982 (fill_in_logfont): Set generic family based on adstyle.
7983
7984 * w32font.h (w32font_get_cache): Update declaration.
7985
79862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7987
7988 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7989
7990 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7991 If none of the new drivers are available, call font_update_drivers
7992 with the old drivers.
7993
7994 * w32font.c (w32font_get_cache): Adjust the argument type.
7995
7996 * xfont.c (xfont_get_cache): Adjust the argument type.
7997
7998 * font.h (struct font_driver): Change argument type of get_cache.
7999
8000 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8001
8002 * font.c (Ffont_get): Fix arguments to Fassoc.
8003 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8004 (font_clear_cache): New function.
8005 (font_list_entities, font_matching_entity): Use font_get_cache.
8006 (font_update_drivers): Call font_clear_cache when finishing a driver.
8007
8008 * fontset.c (fontset_find_font): Fix previous change.
8009
80102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8011
8012 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8013 dpyinfo->font_table.
8014 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8015 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8016
8017 * font.c (font_at): Handle the case that the arg C is negative.
8018 Handle the unibyte case.
8019 (Ffont_at): Call font_at with the arg C -1.
8020
8021 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8022 the position here, and call font_at with the arg C -1.
8023 Don't check the range of the existing composition at the point.
8024
80252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8026
8027 * fontset.c (fontset_add): New args charset_id and family.
8028 Change caller.
8029 (load_font_get_repertory, fontset_find_font): Assume that
8030 font_spec is always a font-spec object.
8031 (Fset_fontset_font): Always store a font-spec object in a fontset.
8032
8033 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8034 instead of get_property_and_range.
8035
80362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8037
8038 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8039 (xftfont_open): Don't keep locking face.
8040 (xftfont_close): Don't unlock face.
8041 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8042
8043 * fontset.c (fontset_find_font): Don't prefer a font of
8044 supplementary charset.
8045
80462008-02-01 Kenichi Handa <handa@m17n.org>
8047
8048 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8049 script, langsys_tag to langsys, new member script.
8050 (OTF_TAG_STR): Terminate by '\0'.
8051 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8052 listing to the script specified in that property. Fix arg to
8053 OTF_check_features.
8054
80552008-02-01 Jason Rumney <jasonr@gnu.org>
8056
8057 * w32font.h: New file.
8058
8059 * w32font.c: Include it.
8060 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8061 (w32font_open): Set owning_frame.
8062 (w32font_text_extents): Use owning_frame.
8063 (struct font_callback_data): Add opentype_only field.
8064 (add_font_entity_to_list): Use it to filter fonts.
8065 Don't check against full name.
8066 (w32font_list_internal): New function.
8067 (w32font_list): Use it.
8068 (w32font_match_internal): New function.
8069 (w32font_match): Use it.
8070 (w32font_open_internal): New function.
8071 (w32font_open): Use it.
8072 (w32font_get_cache, w32font_close, w32font_has_char)
8073 (w32font_encode_char, w32font_text_extents, w32font_draw):
8074 Make non-static.
8075
8076 * makefile.w32-in (w32font.o): Depend on w32font.h.
8077
80782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8079
8080 * charset.c (Fdefine_charset_internal): Record a supplementary
8081 charset at the tail of Vcharset_order_list.
8082
8083 * font.c (Ffont_shape_text): Fix the return value.
8084
8085 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8086
8087 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8088
80892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8090
8091 * ftfont.c (struct OpenTypeSpec): New struct.
8092 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8093 (ftfont_get_open_type_spec): New function.
8094 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8095
8096 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8097
80982008-02-01 Jason Rumney <jasonr@gnu.org>
8099
8100 * w32font.c (add_font_entity_to_list): Compare only the beginning
8101 of full name.
8102
81032008-02-01 Kenichi Handa <handa@m17n.org>
8104
8105 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8106 Never return HANDLED_RECOMPUTE_PROPS.
8107
81082008-02-01 Kenichi Handa <handa@m17n.org>
8109
8110 * font.c (font_gstring_produce): Delete it.
8111
8112 * composite.h (COMPOSITION_METHOD):
8113 Handle COMPOSITION_WITH_GLYPH_STRING.
8114
81152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8116
8117 * xfont.c (Qx): Delete.
8118 (syms_of_xfont): Don't initialize Qx.
8119
8120 * composite.h (enum composition_method):
8121 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8122
81232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8124
8125 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8126 (choose_face_font): Accept new form of font-spec.
8127
8128 * frame.h (font_driver_list): Declare it unconditionally.
8129 (struct frame): Define members font_driver_list and font_data_list
8130 unconditionally.
8131
8132 * fontset.c: Include "font.h" unconditionally.
8133 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8134 (Fset_fontset_font): Accept a font-spec object.
8135
8136 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8137 PIXEL_SIZE part a wild card.
8138
8139 * dispextern.h (struct glyph_string): Define members clip and
8140 num_clips unconditionally.
8141 (struct face): Define members font_info and extra unconditionally.
8142
8143 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8144 ftfont_info only when HAVE_LIBOTF is defined.
8145
81462008-02-01 Andreas Schwab <schwab@suse.de>
8147
8148 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8149 and end.
8150
81512008-02-01 Jason Rumney <jasonr@gnu.org>
8152
8153 * w32font.c (w32font_driver): Add new fields.
8154
81552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8156
8157 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8158 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8159 (LIBES): Add @M17N_FLT_CFLAGS@.
8160
8161 * composite.c (compose_text): Don't treat the new style
8162 composition specially.
8163
8164 * emacs.c (main): Call syms_of_font unconditionally.
8165
8166 * font.h (FONT_ENTITY_NOT_LOADABLE)
8167 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8168 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8169 (struct font_driver): New member shape.
8170 (font_registry_charsets): Extern it.
8171 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8172 (font_otf_capability, font_drive_otf): Delete their externs.
8173
8174 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8175 (font_charset_alist, font_registry_charsets): Move from xfont.c
8176 and rename.
8177 (font_prop_validate_otf): New function.
8178 (font_property_table): Register it for QCotf.
8179 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8180 (font_drive_otf): Delete.
8181 (font_prepare_composition): New arg F. Adjust for the change of
8182 lispy gstring.
8183 (font_find_for_lface): New arg C.
8184 (font_load_for_face): Adjust for the change of font_find_for_lface.
8185 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8186 lispy gstring.
8187 (Ffont_shape_text): New function.
8188 (Fopen_font): If the font size is not given, use 12-pixel.
8189 (Ffont_at): New arg STRING.
8190 (syms_of_font): Initalize font_charset_alist.
8191 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8192 conditionally.
8193
8194 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8195 fonts of the same font-spec. Change the format of RFONT-DEF.
8196 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8197 Adjust for the change of RFONT-DEF.
8198 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8199
8200 * ftfont.h: New file.
8201
8202 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8203 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8204 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8205 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8206 font_otf_capability and font_drive_otf, set ftfont_shape.
8207 (ftfont_list): Adjust for the change of :otf property value.
8208 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8209 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8210 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8211 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8212 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8213 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8214
8215 * w32term.c (x_draw_composite_glyph_string_foreground):
8216 Adjust for the change of lispy gstring.
8217
8218 * xdisp.c (handle_composition_prop): Adjust for the change of
8219 lispy gstring. Call a function for auto-composition with the
8220 third arg it->window.
8221 (fill_composite_glyph_string): Adjust for the change of lispy string.
8222 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8223
8224 * xfaces.c (set_font_frame_param): Adjust for the change of
8225 font_find_for_lface.
8226
8227 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8228 (xfont_registry_charsets): Likewise. Change caller.
8229 (syms_of_xfont): Don't handle x_font_charset_alist.
8230
8231 * xftfont.c: Include "ftfont.h".
8232 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8233 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8234 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8235 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8236 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8237 Set xftfont_driver.shape to xftfont_shape.
8238
8239 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8240 the change of lispy gstring.
8241
82422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8243
8244 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8245
82462008-02-01 Jason Rumney <jasonr@gnu.org>
8247
8248 * w32font.c (w32font_draw): Fill background manually.
8249
82502008-02-01 Jason Rumney <jasonr@gnu.org>
8251
8252 * font.c (Qfontp): Remove unused symbol.
8253 (QCantialias): New symbol.
8254 (syms_of_font): Define it.
8255 (font_property_table): Set a validator for QCantialias.
8256
8257 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8258 Define if not already.
8259 (QCfamily): Share with xfaces.c.
8260 (Qstandard, Qsubpixel, Qnatural): New symbols.
8261 (syms_of_w32font): Define them. Don't define QCfamily here.
8262 (w32_antialias_type, lispy_antialias_type): New functions.
8263 (w32_enumfont_pattern_entity): New arg requested_font.
8264 Set antialias parameter if non-default was requested.
8265 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8266
82672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8268
8269 * lread.c (read1): Undo the previous change.
8270
82712008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8272
8273 * frame.c (Fdelete_frame): Call font_update_drivers only when
8274 USE_FONT_BACKEND is defined.
8275
82762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8277
8278 * font.h (struct font_bitmap): New member bits_per_pixel.
8279 (struct font_driver): New members start_for_frame and end_for_frame.
8280 (struct font_data_list): New struct.
8281 (font_put_frame_data, font_get_frame_data): Extern them.
8282
8283 * frame.h (struct frame): New member font_data_list.
8284
8285 * font.c (font_update_drivers): Call driver->start_for_frame and
8286 driver->end_for_frame at proper timings.
8287 (font_put_frame_data, font_get_frame_data): New functions.
8288 (Ffont_spec): Add usage in the docstring.
8289
8290 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8291 (Fdelete_frame): Call font_update_drivers.
8292
8293 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8294 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8295 (xftfont_get_xft_draw): New function.
8296 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8297 (xftfont_end_for_frame): New function.
8298 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8299
8300 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8301 Change argument. Cache GCs in the per-frame data.
8302 (struct ftxfont_frame_data): New struct.
8303 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8304 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8305 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8306 (ftxfont_end_for_frame): New function.
8307 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8308
8309 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8310
83112008-02-01 Kenichi Handa <handa@m17n.org>
8312
8313 * xselect.c (Vselection_coding_system)
8314 (Vnext_selection_coding_system): Delete them.
8315 (syms_of_xselect): Don't declare selection-coding-system and
8316 next-selection-coding-system. They are declared in select.el.
8317
83182008-02-01 Jason Rumney <jasonr@gnu.org>
8319
8320 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8321
8322 * w32fns.c: Include imm.h.
8323 (get_composition_string_fn, get_ime_context_fn): New optional
8324 system functions.
8325 (globals_of_w32fns): Load them from imm32.dll.
8326 (ignore_ime_char): New flag.
8327 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8328 WM_IME_ENDCOMPOSITION messages.
8329
8330 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8331 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8332
83332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8334
8335 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8336 (READCHAR_REPORT_MULTIBYTE): New macro.
8337 (readchar): New 2nd arg MULTIBYTE.
8338 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8339 Make symbol's name multibyte according to the multibyteness of the
8340 source.
8341
83422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8343
8344 * xfaces.c (face_for_overlay_string): Call lookup_face with
8345 correct arguments (fix of synching with the trunk).
8346
83472008-02-01 Kenichi Handa <handa@m17n.org>
8348
8349 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8350 (font_prop_validate_non_neg, font_prop_validate_spacing):
8351 Delete argument prop_index.
8352 (font_property_table): Change arguments to validater. Change Callers.
8353 (font_lispy_object): Delete.
8354 (font_at): Use font_find_object instead fo font_lispy_object.
8355
83562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8357
8358 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8359 and file names.
8360
83612008-02-01 Jason Rumney <jasonr@gnu.org>
8362
8363 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8364 (font_matches_spec): Remove debug output.
8365 (add_font_entity_to_list): Avoid using substituted fonts.
8366
83672008-02-01 Jason Rumney <jasonr@gnu.org>
8368
8369 * doc.c (Fsnarf_documentation):
8370 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8371
83722008-02-01 Miles Bader <miles@gnu.org>
8373
8374 * dispextern.h (struct glyph_row): Only define "clip" field if
8375 HAVE_WINDOW_SYSTEM is defined.
8376
83772008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8378
8379 Fix up multi-tty merge.
8380
8381 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8382 and indentation.
8383
8384 * xfaces.c (free_realized_face, clear_face_gcs):
8385 Include font_done_for_face in the input_blocked section, just in case.
8386
8387 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8388 (get_char_face_and_encoding): Undo last change and remove the *other*
8389 duplicate definition (i.e. keep the one that's better scoped and that
8390 includes code for the font-backend).
8391
8392 * terminal.c (create_terminal): Default keyboard_coding to
8393 `no-conversion' and terminal_coding to `undecided'.
8394
8395 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8396
8397 * fontset.c (free_realized_fontsets): Check that the table entry does
8398 contain a fontset before trying to compare it to `base'.
8399
8400 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8401 syms_of_charset, and syms_of_coding earlier because init_window_once
8402 now needs Vcoding_system_hash_table to be setup.
8403
8404 * coding.h (default_buffer_file_coding): Remove.
8405
8406 * coding.c (default_buffer_file_coding): Remove.
8407 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8408 than ->symbol, and use the terminal-local coding system.
8409 (syms_of_coding): Don't setup the coding-systems that are not
8410 terminal-local.
8411 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8412
8413 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8414 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8415
8416 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8417 in chartab.c and were re-added here by mistake.
8418 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8419
8420 * doc.c (Fsnarf_documentation):
8421 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8422 src to etc.
8423
8424 * ChangeLog.10: Add mistakenly removed entry.
8425
84262008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8427
8428 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8429
84302008-02-01 Miles Bader <miles@gnu.org>
8431
8432 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8433 Add extra args to FACE_FOR_CHAR.
8434
84352008-02-01 Kenichi Handa <handa@m17n.org>
8436
8437 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8438 in sequence.
8439
8440 * chartab.c (map_sub_char_table, map_char_table): If the range
8441 contains just one character, call the function with that character
8442 even if the depth is not 3.
8443
84442008-02-01 Jason Rumney <jasonr@gnu.org>
8445
8446 * w32font.c (w32font_text_extents): Calculate metrics for the
8447 whole string.
8448
84492008-02-01 Jason Rumney <jasonr@gnu.org>
8450
8451 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8452
84532008-02-01 Jason Rumney <jasonr@gnu.org>
8454
8455 * w32term.c (x_set_glyph_string_clipping): Use
8456 get_glyph_string_clip_rects.
8457 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8458 Adjust for the change of struct glyph_string.
8459
8460 * w32font.c (w32font_draw): Do clipping here.
8461
84622008-02-01 Kenichi Handa <handa@m17n.org>
8463
8464 * xftfont.c (xftfont_draw): Adjust for the change of struct
8465 glyph_string.
8466
8467 * xterm.c (x_set_glyph_string_clipping): Use
8468 get_glyph_string_clip_rects.
8469 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8470 Adjust for the change of struct glyph_string.
8471
8472 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8473 the resulting clip(s}.
8474 (expose_overlaps): Add arg r. Change callers. Set it to
8475 row->clip temporarily.
8476 (expose_window): Redraw rows overlapping the exposed area.
8477
8478 * dispextern.h (struct glyph_row): New member clip.
8479 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8480 clip_height, new member clip, and num_clips.
8481
84822008-02-01 Kenichi Handa <handa@m17n.org>
8483
8484 * data.c (Fchar_or_string_p): Fix docstring.
8485
84862008-02-01 Kenichi Handa <handa@m17n.org>
8487
8488 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8489 create a temporary XftDraw object.
8490
84912008-02-01 Kenichi Handa <handa@m17n.org>
8492
8493 * font.c (Ffontp): Fix docstring.
8494
8495 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8496 strong evidence of ISO-2022.
8497
84982008-02-01 Kenichi Handa <handa@m17n.org>
8499
8500 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8501 SYNTAX_ENTRY_FOLLOW_PARENT.
8502
85032008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8504
8505 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8506 its type.
8507 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8508 Update to the new type of weak_hash_tables and next_weak.
8509
8510 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8511 a plain C pointer to Lisp_Hash_Table.
8512
8513 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8514 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8515 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8516 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8517 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8518 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8519 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8520 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8521 (GC_EQ): Remove since they've been identical to their non-GC_
8522 alter-egos ever since the markbit was eradicated.
8523
8524 * alloc.c:
8525 * buffer.c:
8526 * buffer.h:
8527 * data.c:
8528 * fileio.c:
8529 * filelock.c:
8530 * fns.c:
8531 * frame.h:
8532 * lisp.h:
8533 * macterm.c:
8534 * print.c:
8535 * process.c:
8536 * w32fns.c:
8537 * w32menu.c:
8538 * w32term.c:
8539 * xfns.c:
8540 * xmenu.c:
8541 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8542
85432008-02-01 Kenichi Handa <handa@m17n.org>
8544
8545 * chartab.c (map_sub_char_table): Make it work for the top-level
8546 char-table. Fix handling of parent char-table.
8547 (map_char_table): Adjust for the above change.
8548
85492008-02-01 Jason Rumney <jasonr@gnu.org>
8550
8551 * w32font.c (Qgdi): Rename from Qw32.
8552
85532008-02-01 Jason Rumney <jasonr@gnu.org>
8554
8555 * w32bdf.c (get_quoted_string): Make function static.
8556
85572008-02-01 Kenichi Handa <handa@m17n.org>
8558
8559 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8560 bigger ascent and descent than those of the font, use them as
8561 font's ascent and descent.
8562
85632008-02-01 Kenichi Handa <handa@m17n.org>
8564
8565 * Makefile.in (${lispsource}international/charprop.el): Move this
8566 target within "#ifdef HAVE_UNIDATA" and "#endif".
8567
85682008-02-01 Kenichi Handa <handa@m17n.org>
8569
8570 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8571 (shortlisp): Add ../lisp/language/tai-viet.el.
8572
85732008-02-01 Ulrich Mueller <ulm@gentoo.org>
8574
8575 * Makefile.in (${lispsource}international/charprop.el): Depend on
8576 temacs${EXEEXT}.
8577
85782008-02-01 Jason Rumney <jasonr@gnu.org>
8579
8580 * w32font.c (w32font_close): Delete the GDI font object.
8581
8582 * w32menu.c: Include character.h.
8583
8584 * w32proc.c: Likewise.
8585
8586 * w32select.c: Likewise.
8587
8588 * makefile.w32-in (w32proc.o): Depend on character.h.
8589
85902008-02-01 Jason Rumney <jasonr@gnu.org>
8591
8592 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8593
8594 * w32menu.c (syms_of_w32menu): Likewise.
8595
8596 * w32proc.c (syms_of_ntproc): Likewise.
8597
8598 * w32select.c (syms_of_w32select): Likewise.
8599
8600 * w32term.c (syms_of_w32term): Likewise.
8601
86022008-02-01 Jason Rumney <jasonr@gnu.org>
8603
8604 * w32font.c (w32font_draw): Delete brush after using it.
8605
86062008-02-01 Jason Rumney <jasonr@gnu.org>
8607
8608 * w32font.c (w32font_open): Don't set font_idx.
8609 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8610 to font settings.
8611 (w32font_draw): Fill background explicitly.
8612
86132008-02-01 Jason Rumney <jasonr@gnu.org>
8614
8615 * w32term.c (w32_initialize): Don't call w32font_initialize.
8616
8617 * w32font.c (w32font_info): Remove subranges.
8618 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8619 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8620 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8621 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8622 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8623 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8624 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8625 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8626 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8627 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8628 New symbols.
8629 (font_callback_data): New struct.
8630 (w32font_list, w32font_match): Use it.
8631 (w32font_open): Don't populate subranges.
8632 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8633 (w32font_encode_char): Always return unicode code-point as-is.
8634 (w32font_text_extents): Supply a transformation matrix to
8635 GetGlyphOutline. Never look up by glyph index. Avoid looping
8636 twice. Use unicode version of GetTexExtentPoint32 instead of
8637 glyph index version.
8638 (set_fonts_frame): Remove.
8639 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8640 set frame parameter. Use backward compatible fake foundries.
8641 Save generic family in extra slot under QCfamily. Make width slot
8642 constant. Save QCspacing value. Save list of scripts instead of
8643 binary subranges.
8644 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8645 (add_font_entity_to_list): Use font_callback_data struct. Filter
8646 unwanted fonts.
8647 (add_one_font_entity_to_list): Use font_callback_data struct.
8648 (w32_registry): Default to iso10646_1.
8649 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8650 string font registries. Don't fill in font name if it is a generic
8651 family name, fill family instead. Use spacing, family and script
8652 extra info to fill pitch, family and charset fields.
8653 (list_all_matching_fonts): Use font_callback_data struct.
8654 (unicode_range_for_char): Remove.
8655 (font_supported_scripts): New function.
8656 (w32font_initialize): Remove.
8657 (syms_of_w32font): Update which symbols are defined.
8658
86592008-02-01 Jason Rumney <jasonr@gnu.org>
8660
8661 * font.c (font_pixel_size): Reverse assq_no_quit args.
8662
8663 * w32term.h (FONT_WIDTH): Report max width, not average.
8664 (FONT_MAX_WIDTH): Remove.
8665 (FONT_AVG_WIDTH): New macro.
8666
8667 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8668 redefinition of FONT_WIDTH.
8669
8670 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8671 (w32_cache_char_metrics): Use FONT_WIDTH.
8672
8673 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8674
86752008-02-01 Jason Rumney <jasonr@gnu.org>
8676
8677 * w32font.c (w32font_open): Make lfHeight negative.
8678
8679 * w32fns.c (x_default_font_parameter): Use new style font name.
8680 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8681
86822008-02-01 Jason Rumney <jasonr@gnu.org>
8683
8684 * w32font.c (QCsubranges): New symbol.
8685 (w32font_open, w32font_has_char): Get subranges from subproperty
8686 of extra.
8687 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8688 (syms_of_w32font): Define :subranges symbol.
8689
8690 * font.c (font_put_extra): Expose externally.
8691
8692 * font.h (font_put_extra): Move declaration from font.c.
8693
8694 * font.c (Ffont_get): Use font driver to determine otf capability.
8695 (adjust_anchor): Check if driver defines anchor_point before using.
8696
8697 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8698 (w32font_draw): Use options.
8699 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8700 Fix detection of truetype fonts.
8701 (registry_to_w32_charset): Handle charsets other than iso8859-1
8702 expressed as lisp symbols.
8703 (w32_registry): Express charset as lisp symbol.
8704 (fill_in_logfont): Reverse pixel and point height logic.
8705 Don't set width here. Set quality to default.
8706
8707 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8708 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8709
8710 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8711 Remove redundant loop and allocation.
8712
8713 * makefile.w32-in (font.o, w32font.o): New objects.
8714 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8715 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8716
8717 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8718 STORE_XCHARB a valid l-value.
8719
8720 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8721 calculations for non-Truetype fonts.
8722 (x_draw_glyph_string): Sync with xterm.c.
8723 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8724 Remove redundant code.
8725 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8726
8727 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8728 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8729
8730 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8731 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8732
8733 * w32font.c: New file for w32 font backend.
8734
87352008-02-01 Kenichi Handa <handa@m17n.org>
8736
8737 * term.c: Don't include "buffer.h" twice.
8738
87392008-02-01 Kenichi Handa <handa@m17n.org>
8740
8741 * character.c (Funibyte_string): New function.
8742 (syms_of_character): Defsubr it.
8743
87442008-02-01 Jason Rumney <jasonr@gnu.org>
8745
8746 * w32term.c [USE_FONT_BACKEND]:
8747 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8748 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8749 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8750 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8751 (x_free_frame_resources): Sync with xterm.c.
8752
87532008-02-01 Andreas Schwab <schwab@suse.de>
8754
8755 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8756 char-table size.
8757
87582008-02-01 Kenichi Handa <handa@m17n.org>
8759
8760 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8761
87622008-02-01 Kenichi Handa <handa@m17n.org>
8763
8764 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8765 font_otf_gpos, add font_drive_otf.
8766
8767 * fontset.c (fontset_find_font): Pay attention to font size
8768 specified for a font.
8769 (reorder_font_vector): Check contents of font_def.
8770
8771 * font.c (struct otf_list): Delete it.
8772 (otf_list): Make it a lisp variable.
8773 (otf_open): Use lispy otf_list.
8774 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8775 (check_otf_features): New function.
8776 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8777 New functions.
8778 (font_drive_otf): New function merging font_otf_gsub and
8779 font_otf_gpos.
8780 (font_open_for_lface): New arg spec. Change argument order.
8781 (font_load_for_face): Adjust for the change of font_open_for_lface.
8782 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8783 Ffont_otf_gpos.
8784 (syms_of_font): Staticpro otf_list. Delete defsubr of
8785 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8786
8787 * xfaces.c (set_font_frame_param): Adjust for the change of
8788 font_open_for_lface.
8789
8790 * font.h (font_open_for_lface): Adjust prototype.
8791 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8792 member otf_drive.
8793 (font_otf_gsub, font_otf_gpos): Delete externs.
8794 (font_drive_otf): Extern it.
8795
87962008-02-01 Kenichi Handa <handa@m17n.org>
8797
8798 * font.c (font_at): If the window W is not on a window system,
8799 return Qnil.
8800
8801 * coding.c (produce_chars, encode_coding): Don't call
8802 insert_from_gap if no characters to produce.
8803
88042008-02-01 Kenichi Handa <handa@m17n.org>
8805
8806 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8807 Fclear_face_cache.
8808
8809 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8810
88112008-02-01 Miles Bader <miles@gnu.org>
8812
8813 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8814 Parse "--disable-font-backend" option.
8815 (standard_args): Add "--disable-font-backend" option.
8816
88172008-02-01 Kenichi Handa <handa@m17n.org>
8818
8819 * fontset.c (fontset_find_font): New function.
8820 (fontset_font): Use fontset_find_font.
8821 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8822 Register the specified font for all Latin characters.
8823 (new_fontset_from_font): Register the specified font for all Latin
8824 characters.
8825 (dump_fontset): For a realized fontset, include the base fontset
8826 name in the returned vector.
8827
88282008-02-01 Kenichi Handa <handa@m17n.org>
8829
8830 * character.h (CHAR_STRING): Cast C to unsigned on calling
8831 char_string.
8832
8833 * character.c (char_string): Type of arg C changed to unsigned.
8834 Signal an error if C is an invalid character code.
8835
8836 * editfns.c (general_insert_function, Fchar_to_string):
8837 Use CHARACTERP, not INTEGERP.
8838
88392008-02-01 Kenichi Handa <handa@m17n.org>
8840
8841 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8842 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8843
8844 * regex.c (analyse_first): Fix for multibyte characters in "case
8845 charset:" and "case categoryspec:".
8846
88472008-02-01 Andreas Schwab <schwab@suse.de>
8848
8849 * Makefile.in (LIBES): Move standard libraries to the end.
8850
88512008-02-01 Kenichi Handa <handa@m17n.org>
8852
8853 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8854 nonzero, don't shrink the buffer nextb.
8855
8856 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8857
8858 * coding.c (coding_alloc_by_making_gap): New arg offset.
8859 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8860 offset.
8861 (decode_coding_iso_2022): Update coding->safe_charsets.
8862 (decode_coding_gap): Temporarily set
8863 current_buffer->text->inhibit_shrinking to 1.
8864
88652008-02-01 Kenichi Handa <handa@m17n.org>
8866
8867 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8868 indexing into elements of s->cmp and s->char2b.
8869
88702008-02-01 Juanma Barranquero <lekktu@gmail.com>
8871
8872 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8873
88742008-02-01 Kenichi Handa <handa@m17n.org>
8875
8876 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8877 target_multibyte instead of multibyte.
8878 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8879 (bcmp_translate): Change the argument name from multibyte to
8880 target_multibyte.
8881
88822008-02-01 Kenichi Handa <handa@m17n.org>
8883
8884 These changes are to compile a regexp into a pattern that can be
8885 used both for multibyte and unibyte targets.
8886
8887 * Makefile.in (search.o): Depend on charset.h.
8888
8889 * character.c (multibyte_char_to_unibyte_safe): New function.
8890
8891 * search.c: Include "charset.h".
8892 (compile_pattern_1): Delete argument multibyte. Don't set
8893 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8894 (compile_pattern): Don't compare cp->buf.target_multibyte.
8895 Compare cp->buf.charset_unibyte.
8896 (compile_pattern): Set cp->buf.target_multibyte.
8897
8898 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8899
8900 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8901
8902 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8903 multibyte. Change callers.
8904 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8905 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8906 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8907 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8908 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8909 (regex_compile): Make the compiled pattern usable both for
8910 multibyte and unibyte targets.
8911 (analyse_first): Make the fastmap usable both for multibyte and
8912 unibyte targets.
8913 (TRANSLATE_VIA_MULTIBYTE): Delete.
8914 (re_match_2_internal): Pay attention to the case that the
8915 multibyteness of bufp and target may be different.
8916
89172008-02-01 Kenichi Handa <handa@m17n.org>
8918
8919 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8920 empty box occupy at least one column width.
8921
89222008-02-01 Miles Bader <miles@gnu.org>
8923
8924 * Makefile.in: Remove redundant HAVE_XFT clause.
8925
89262008-02-01 Kenichi Handa <handa@m17n.org>
8927
8928 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8929
89302008-02-01 Kenichi Handa <handa@m17n.org>
8931
8932 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8933 being nil.
8934
89352008-02-01 Kenichi Handa <handa@m17n.org>
8936
8937 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8938
89392008-02-01 Kenichi Handa <handa@m17n.org>
8940
8941 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8942
89432008-02-01 Kenichi Handa <handa@m17n.org>
8944
8945 * search.c (simple_search): Fix previous change.
8946
89472008-02-01 Kenichi Handa <handa@m17n.org>
8948
8949 * xftfont.c (ftfont_font_format): Extern declaration.
8950
8951 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8952
8953 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8954 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8955
8956 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8957 (ftfont_font_format): Fix previous change.
8958
8959 * font.h (Ffont_xlfd_name): EXFUN it.
8960
8961 * font.c (font_parse_xlfd): Fix the array size of `f'.
8962 (register_font_driver): Use EQ to compare driver->type.
8963
8964 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8965 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8966 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8967
89682008-02-01 Kenichi Handa <handa@m17n.org>
8969
8970 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8971 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8972
89732008-02-01 Kenichi Handa <handa@m17n.org>
8974
8975 * xfont.c (xfont_open): Set font->format.
8976
8977 * xftfont.c (xftfont_open): Set font->format.
8978
8979 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8980 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8981 (ftfont_open): Set font->format.
8982 (ftfont_font_format): New function.
8983
8984 * font.h (struct font): New member format.
8985
8986 * font.c (Qopentype): New variable.
8987 (syms_of_font): Defsym it.
8988 (Fquery_font): Change the format of the last element of the return
8989 value.
8990
89912008-02-01 Kenichi Handa <handa@m17n.org>
8992
8993 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8994 last resort.
8995
89962008-02-01 Kenichi Handa <handa@m17n.org>
8997
8998 * coding.c (detect_coding_charset): Fix detection of multi-byte
8999 charset.
9000
90012008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9002
9003 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9004
90052008-02-01 Kenichi Handa <handa@m17n.org>
9006
9007 * xdisp.c (get_next_display_element): Set it->face_id for the
9008 first component of a composition.
9009 (x_produce_glyphs): Check if the font is changed or not for composition.
9010
90112008-02-01 Kenichi Handa <handa@m17n.org>
9012
9013 * fontset.c (Qlatin): New variable.
9014 (syms_of_fontset): Define it as a lisp symbol.
9015 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9016
90172008-02-01 Kenichi Handa <handa@m17n.org>
9018
9019 * font.c (font_unparse_fcname): Pay attention to the case that
9020 some of font property is a null string.
9021
90222008-02-01 Kenichi Handa <handa@m17n.org>
9023
9024 * term.c: Include "composite.h".
9025 (encode_terminal_code): Output all components of composition.
9026 Check the size of encode_terminal_src.
9027 (produce_glyphs): For composition, call produce_composite_glyph.
9028 (append_composite_glyph, produce_composite_glyph): New functions.
9029
9030 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9031 is not found, get font_info from the current ascii face.
9032
90332008-02-01 Kenichi Handa <handa@m17n.org>
9034
9035 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9036 buffer-file-name to Qnil before calling insert_from_buffer.
9037
9038 * font.c (font_unparse_fcname): Pay attention to the case that
9039 foundry is a null string.
9040
90412008-02-01 Kenichi Handa <handa@m17n.org>
9042
9043 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9044
9045 * font.c (Qunicode_sip): New variable.
9046 (syms_of_font): Declare it as a Lisp symbol.
9047
9048 * font.h (Qunicode_sip): Extern it.
9049
90502008-02-01 Kenichi Handa <handa@m17n.org>
9051
9052 * composite.c (get_composition_id): Pay attention to TAB component.
9053
9054 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9055 TAB. Adjust for the change of s->char2b which always points to
9056 the first element of allocated memory.
9057
9058 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9059
9060 * xdisp.c (handle_composition_prop): Set it->c to the first
9061 non-TAB component.
9062 (fill_composite_glyph_string): Change argument.
9063 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9064 (x_produce_glyphs): Fix handling of left/right padding.
9065
90662008-02-01 Kenichi Handa <handa@m17n.org>
9067
9068 * coding.c (detect_coding_system): Fix for handling off
9069 inhibit_iso_escape_detection. Fix for the case that no coding
9070 system is defined for a specific coding category.
9071
90722008-02-01 Kenichi Handa <handa@m17n.org>
9073
9074 * font.c (font_matching_entity): Delete unused local var.
9075
9076 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9077 opening a font.
9078
9079 * fileio.c (Finsert_file_contents): On recovering a file, assume
9080 Unix-like eol.
9081 (choose_write_coding_system): On auto-saving a file, force
9082 Unix-like eol.
9083
9084 * coding.c (setup_coding_system): Fix setting of
9085 coding->common_flags based on eol_type.
9086 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9087 inherit from it.
9088
90892008-02-01 Kenichi Handa <handa@m17n.org>
9090
9091 * alloc.c (NSTATICS): Increas to 0x600.
9092
90932008-02-01 Kenichi Handa <handa@m17n.org>
9094
9095 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9096 (ftfont_list): Don't check :name property.
9097 (ftfont_match): New function.
9098 (ftfont_pattern_entity): If the pattern doesn't contain
9099 FC_SPACING, don't assume FC_MONO.
9100
9101 * font.h (struct font_driver): New member `match'.
9102 (font_update_drivers): Adjust prototype.
9103
9104 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9105 property of FONT.
9106 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9107 them unconditionally.
9108 (font_matching_entity): New function.
9109 (font_open_by_name): Try font_matching_entity if exact match is
9110 not found.
9111 (font_update_drivers): Delete the arg FONT. Return a list of
9112 actually used backends. Don't free faces, font caches here.
9113 Don't store data in frame parameters. Don't call x_set_font.
9114 (Ffont_spec): Store :name property as is.
9115 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9116 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9117 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9118 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9119 Call font->driver->otf_gsub instead of font_otf_gsub.
9120
9121 * frame.c (x_set_font_backend): Do more works that were done in
9122 font_update_drivers before.
9123
9124 * xfont.c (xfont_match): New function.
9125 (xfont_driver): Set xfont_driver.match to xfont_match.
9126 (xfont_draw): Set font in GC if necessary.
9127
9128 * ftxfont.c (ftxfont_match): New function.
9129 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9130
9131 * xftfont.c (xftfont_match): New function.
9132 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9133
91342008-02-01 Kenichi Handa <handa@m17n.org>
9135
9136 * font.h (struct font): New member scalable.
9137 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9138 (font_otf_gsub): Adjust prototype.
9139
9140 * font.c (font_otf_capability): Fix handling of the default langsys.
9141 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9142 Check the contents of SPEC.
9143 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9144 (check_gstring): New function.
9145 (REPLACEMENT_CHARACTER): New macro.
9146 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9147 glyph codes of GSTRING.
9148 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9149 (font_prepare_composition): Set cmp->glyph_len.
9150 (font_open_entity): Set font->scalable.
9151 (Ffont_get): Handle :otf property.
9152 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9153 functions.
9154 (Fquery_font): Use font->font.full_name.
9155 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9156 Sfont_otf_alternates.
9157
9158 * ftfont.c (ftfont_open): Set font->font.full_name and
9159 font->font.name properly. Fix calculation of font->font.height
9160 and font->min_width.
9161
9162 * ftxfont.c (ftxfont_create_gcs): New function.
9163 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9164 (ftxfont_draw_backgrond): Fix filling region.
9165 (ftxfont_default_fid): New function.
9166 (ftxfont_open): Set xfont->fid to the return value of
9167 ftxfont_default_fid.
9168 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9169 (ftxfont_done_face): Free only GCs that are created by
9170 ftxfont_create_gcs.
9171 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9172
9173 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9174 Clip to src->width, etc (not src->clip_XXX).
9175
9176 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9177 FontBackend frame parameter.
9178
91792008-02-01 Kenichi Handa <handa@m17n.org>
9180
9181 * font.h (struct font_driver_list): New member `on'.
9182 (Fclear_font_cache): EXFUN it.
9183 (font_update_drivers): Extern it.
9184
9185 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9186 (font_list_entities): Check driver_list->on.
9187 (register_font_driver): Initalize `on' member to 0.
9188 (font_update_drivers): New function.
9189 (Fclear_font_cache): Check driver_list->on.
9190
9191 * frame.h (Qfont_backend): Extern it.
9192 (x_set_font_backend): Extern it.
9193
9194 * frame.c (Qfont_backend): New variable.
9195 (frame_parms): New element for font-backend.
9196 (x_set_font_backend): New function.
9197
9198 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9199 FontBackend frame parameter.
9200 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9201 x_set_font_backend.
9202
9203 * xfont.c (xfont_list): Don't try listing by :name property if the
9204 name is not for XLFD.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9209 (LGLYPH_SET_TO): New macros.
9210 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9211 element of G is vector or not.
9212 (font_at): Extern it.
9213
9214 * font.c: Include window.h.
9215 (font_lispy_object): New function.
9216 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9217 end of valid glyph.
9218 (font_close_object): Fix getting (struct font *).
9219 (font_at): New function.
9220 (Ffont_get): If FONT is a font-object, get entity from it.
9221 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9222 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9223 range check.
9224 (Ffont_at): New function.
9225 (syms_of_font): Defsubr Sfont_at.
9226
9227 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9228 before the entry for Qcomposition.
9229 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9230 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9231 the font in gstring.
9232 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9233 LGLYPH_FORM (g) to detect the end of valid glyph.
9234 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9235 we are composing with gstring.
9236
9237 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9238 Check if adjustment is vector or not.
9239
9240 * Makefile.in (font.o): Make it depends on window.h.
9241
92422008-02-01 Kenichi Handa <handa@m17n.org>
9243
9244 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9245 adjustment is vector or not.
9246
92472008-02-01 Miles Bader <miles@gnu.org>
9248
9249 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9250
92512008-02-01 Kenichi Handa <handa@m17n.org>
9252
9253 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9254 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9255 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9256
9257 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9258 (DEVICE_DELTA): Fix typo.
9259 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9260 LGLYPH format.
9261
9262 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9263 the change of LGLYPH format.
9264
92652008-02-01 Kenichi Handa <handa@m17n.org>
9266
9267 * ftfont.c (ftfont_list): Fix typo.
9268 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9269
92702008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9271
9272 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9273
9274 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9275 xftface_info is non-NULL.
9276
92772008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9278
9279 * ftfont.c (ftfont_list): Move misplaced #endif.
9280
92812008-02-01 Kenichi Handa <handa@m17n.org>
9282
9283 * ftfont.c (ftfont_list): Pay attention to the case that
9284 FC_CAPABILITY is not defined.
9285
92862008-02-01 Kenichi Handa <handa@m17n.org>
9287
9288 * xftfont.c (xftfont_open): Set charset related members to -1.
9289
9290 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9291 QCname.
9292 (ftfont_open): Set charset related members to -1.
9293
9294 * fontset.c (Votf_script_alist): New variable.
9295 (syms_of_fontset): Initialize it.
9296 (fontset_font): Delete unused variable.
9297
9298 * fontset.h (Votf_script_alist): Extern it.
9299
9300 * font.c (font_find_for_lface): Optimize code.
9301
9302 * font.h (font_close_object, font_merge_old_spec): Extern them.
9303
93042008-02-01 Kenichi Handa <handa@m17n.org>
9305
9306 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9307 (syms_of_font): Initialize them.
9308 (font_pixel_size): Allow float value in dpi.
9309 (font_prop_validate_type): Delete.
9310 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9311 Change caller.
9312 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9313 (font_prop_validate_extra): Delete.
9314 (font_prop_validate_spacing): New function.
9315 (font_property_table): Add elements for all known properties.
9316 (get_font_prop_index): Rename from check_font_prop_name. New
9317 argument FROM. Change caller.
9318 (font_prop_validate): Validate all known properties.
9319 (font_put_extra): Delete argument force. Change caller.
9320 (font_expand_wildcards): Make it static. Fix the way of shrinking
9321 the possible range.
9322 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9323 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9324 Change caller.
9325 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9326 (font_parse_fcname): Delete argument merge. Fix parsing of point
9327 size. Don't validate properties values here. Change caller.
9328 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9329 (font_open_by_name): Delete unused variable.
9330 (Ffont_spec): Likewise. Validate property values.
9331 (Ffont_match_p): New function.
9332
9333 * font.h (QCscalable): Extern it.
9334 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9335
9336 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9337
9338 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9339 (xfont_list_pattern): New function.
9340 (xfont_list): Use xfont_list_pattern.
9341
93422008-02-01 Kenichi Handa <handa@m17n.org>
9343
9344 * font.h (Flist_fonts): EXFUN it.
9345
93462008-02-01 Jason Rumney <jasonr@gnu.org>
9347
9348 * w32term.c (w32_initialize): Add back smoothing_type and
9349 smoothing_enabled definitions.
9350
93512008-02-01 Kenichi Handa <handa@m17n.org>
9352
9353 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9354 s->face->font on determining underline position.
9355
93562008-02-01 Kenichi Handa <handa@m17n.org>
9357
9358 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9359 (font_has_char): Accept font-object too.
9360 (font_find_for_lface): Try at first with a size specified in face.
9361
93622008-02-01 Kenichi Handa <handa@m17n.org>
9363
9364 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9365 font_open_by_name.
9366
93672008-02-01 Kenichi Handa <handa@m17n.org>
9368
9369 * font.h (QCspacing, QCdpi): Extern them.
9370 (enum font_spacing): New enum.
9371 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9372
9373 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9374 (QCspacing, QCdpi): New variables.
9375 (syms_of_font): Initialize them.
9376 (font_pixel_size): New function.
9377 (font_put_extra): New function.
9378 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9379 in FONT_EXTRA.
9380 (font_parse_fcname): Handle enumerated values (e.g. bold).
9381 Fix handling font size. Add QCname property that contains only
9382 unknown properties.
9383 (font_score): Change argument. Change caller. Pay attention to
9384 FONT_PIXEL_SIZE_QUANTUM.
9385 (font_sort_entites, font_list_entities, font_find_for_lface)
9386 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9387 (Ffont_spec): Add QCname property that contains only unknown properties.
9388
9389 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9390 include weight in listing pattern, instead check weight of each
9391 listed font. Don't include scalable in pattern. Pay attention to
9392 FONT_PIXEL_SIZE_QUANTUM.
9393
93942008-02-01 Kenichi Handa <handa@m17n.org>
9395
9396 * font.c (font_parse_fcname): Fix parsing of point-size.
9397 (font_unparse_fcname): Produce symbolic names for style properties.
9398 (font_list_entities): Handle float size correctly.
9399 (font_open_by_name): Prefer `normal' property values if the name
9400 doesn't specify them.
9401
9402 * fontset.c (Finternal_char_font): Use font_get_name, not
9403 Ffont_xlfd_name.
9404
9405 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9406 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9407 pattern. Don't force scalable.
9408
9409 * xftfont.c (xftfont_open): For generating a name, start from
9410 96-byte buffer.
9411
94122008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9413
9414 * frame.h (x_new_fontset2): Fix prototype.
9415
94162008-02-01 Kenichi Handa <handa@m17n.org>
9417
9418 * font.h (struct font_driver): Delete member parse_name.
9419 (font_match_p, font_get_spec, font_parse_fcname)
9420 (font_unparse_fcname): Extern them.
9421 (font_get_name): Adjust prototype.
9422
9423 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9424 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9425 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9426 unnecessary checks for weight, slant, and swidth.
9427 (font_parse_fcname): New function.
9428 (font_unparse_fcname): New function.
9429 (font_parse_name): New function.
9430 (font_match_p): New function.
9431 (font_get_name): Change return value to Lisp string.
9432 (font_get_spec): New function.
9433 (Qunspecified, Qignore_defface): Don't extern them.
9434 (font_find_for_lface): Assume that LFACE is fully specified.
9435 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9436 object, use it for FACE.
9437 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9438 driver->parse_name.
9439 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9440
9441 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9442 prototype.
9443
9444 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9445 argument F. Don't call Fnew_fontset. Instead, directly call
9446 make_fontset.
9447
9448 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9449
9450 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9451 of x_new_fontset2.
9452
9453 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9454 (Qsans__serif): New variables.
9455 (ftfont_generic_family_list): New variable.
9456 (syms_of_ftfont): Initialize the above variables.
9457 (ftfont_pattern_entity): Delete argument NAME.
9458 (ftfont_list_generic_family): New function.
9459 (ftfont_parse_name): Delete this function.
9460 (ftfont_list): Try generic family only when FcFontList found no font.
9461 (ftfont_list_family): Fix args to FcObjectSetBuild.
9462
9463 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9464 object in attrs[LFACE_FONT_INDEX].
9465 (set_lface_from_font_name): Cancel all changes for font-backend.
9466 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9467 function.
9468 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9469 font object in QCfont attribute.
9470 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9471 (realize_default_face) [USE_FONT_BACKEND]: Call
9472 set_lface_from_font_and_fontset.
9473
9474 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9475 "fixed", and signal error here if no suitable font was found.
9476
9477 * xfont.c (xfont_parse_name): Delete this function.
9478
9479 * xftfont.c (xftfont_open): Change coding style of error
9480 handling. Generate fontconfig's fontname pattern.
9481
9482 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9483 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9484
9485 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9486 Both args FONTSET and FONT_OBJECT must be existing ones.
9487
94882008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9489
9490 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9491
94922008-02-01 Kenichi Handa <handa@m17n.org>
9493
9494 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9495
9496 * font.h (struct font): Fix typo.
9497
9498 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9499 XLFD_XXX_INDEX.
9500 (enum xlfd_field_mask): New enum.
9501 (intern_font_field): Changed argument. Change caller. If digits
9502 are followed by non-digits, return a symbol.
9503 (font_expand_wildcards): New function.
9504 (font_parse_xlfd): Fix wildcard handling.
9505 (Ffont_spec): If :name is specified, reflect the info in the other
9506 properties.
9507
9508 * ftfont.c (ftfont_pattern_entity): Fix typo.
9509 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9510 locale.
9511
95122008-02-01 Kenichi Handa <handa@m17n.org>
9513
9514 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9515
9516 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9517 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9518 registry doesn't specify encoding part.
9519 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9520 (font_open_by_name): At first try parsing the name.
9521 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9522 as Lisp symbols.
9523
9524 * fontset.c (reorder_font_vector): Pay attention to the case that
9525 the 3rd element of font_def is nil.
9526 (fontset_font): For the default fontset, append one more fontset
9527 elements for a script-based font specification. Don't add script
9528 attribute on finding a font.
9529 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9530 font name.
9531 (fontset_ascii_font): If a font can't be opened, return nil.
9532
9533 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9534 (ftfont_pattern_entity): New function.
9535 (ftfont_get_cache): Assume that freetype_font_cache is already
9536 initialized.
9537 (ftfont_list): Handle the case that a file is specified in font
9538 name. Use ftfont_pattern_entity to generate entities.
9539 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9540 (syms_of_ftfont): Initialize freetype_font_cache.
9541
9542 * xftfont.c (xftfont_open): Make the font name fontconfig's
9543 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9544 (xftfont_close): Free font->font.name if not NULL.
9545
9546 * xfont.c (xfont_list): If script is specified for a font, return
9547 null_vector.
9548 (xfont_list_family): Declare argument type.
9549
9550 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9551 name, set LFACE_FONT (lface) to nil.
9552
9553 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9554 return Qnil.
9555
95562008-02-01 Kenichi Handa <handa@m17n.org>
9557
9558 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9559 (standard_args): Add "-enable-font-backend".
9560
95612008-02-01 Kenichi Handa <handa@m17n.org>
9562
9563 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9564 (struct xftdraw_list, xftdraw_list): Delete them.
9565 (register_xftdraw, check_xftdraw): Delete them.
9566 (xftfont_prepare_face): Don't call register_xftdraw.
9567 (xftfont_done_face): Don't call check_xftdraw.
9568 (xftfont_draw): Get background color only when with_background is
9569 nonzero.
9570
9571 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9572
95732008-02-01 Kenichi Handa <handa@m17n.org>
9574
9575 These changes are for the new font handling codes.
9576
9577 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9578 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9579 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9580 (FONTSRC, FONTOBJ): New variables.
9581 (obj): Add $(FONTOBJ).
9582 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9583 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9584 @LIBOTF_LIBS@.
9585 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9586 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9587
9588 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9589
9590 * character.h (Vscript_representative_chars): Extern it.
9591
9592 * character.c (Vscript_representative_chars): New variable.
9593 (syms_of_character): Declare it as a Lisp variable.
9594
9595 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9596 enable_font_backend is nonzero, accept the composition method
9597 COMPOSITION_WITH_GLYPH_STRING.
9598
9599 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9600 enumeration COMPOSITION_WITH_GLYPH_STRING.
9601
9602 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9603 members clip_x, clip_y, clip_width, and clip_height.
9604 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9605
9606 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9607 --enable-font-backend. Call syms_of_font.
9608
9609 * fns.c (assoc_no_quit): New function.
9610
9611 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9612 (face_for_font, new_fontset_from_font)
9613 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9614
9615 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9616 (fontset_font, fontset_ascii, face_for_char)
9617 (make_fontset_for_ascii_face, Ffont_info)
9618 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9619 is nonzero, use font-backend mechanism.
9620 (find_font_encoding): Make it non-static.
9621 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9622 New functions.
9623
9624 * frame.h (struct frame): New members resx and resy.
9625 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9626 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9627
9628 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9629 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9630
9631 * lisp.h (assoc_no_quit): Extern it.
9632
9633 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9634 Through out the file, use FONT_INFO_FROM_FACE instead of
9635 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9636 rif->per_char_metric.
9637 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9638 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9639 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9640 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9641 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9642 nonzero, use font-backend mechanism.
9643 (get_per_char_metric): New function.
9644
9645 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9646 (set_lface_from_font_name)
9647 (set_font_frame_param, free_realized_face)
9648 (prepare_face_for_display, clear_face_gcs)
9649 (Finternal_set_font_selection_order, realize_x_face)
9650 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9651 font-backend mechanism.
9652 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9653 (load_face_font) [USE_FONT_BACKEND]: Abort.
9654 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9655 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9656
9657 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9658 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9659 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9660 nonzero, register all available font drivers. Call
9661 x_default_font_parameter for deciding a font.
9662 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9663
9664 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9665 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9666 (x_set_glyph_string_clipping_exactly)
9667 (x_compute_glyph_string_overhangs)
9668 (x_draw_glyph_string_foreground)
9669 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9670 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9671 enable_font_backend is nonzero, use font-backend mechanism.
9672 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9673
96742008-02-01 Kenichi Handa <handa@m17n.org>
9675
9676 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9677 system_eol_type.
9678 (syms_of_coding): Initialize system_eol_type.
9679
9680 * process.c (Fset_process_coding_system): Inherit system's eol
9681 format if necessary.
9682
96832008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9684
9685 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9686
96872008-02-01 Kenichi Handa <handa@m17n.org>
9688
9689 * coding.c (decode_eol): Pay attention to buffer relocation in
9690 del_range_2.
9691 (decode_coding): Call decode_eol before restoring undo_list.
9692
96932008-02-01 Kenichi Handa <handa@m17n.org>
9694
9695 * charset.c (Fdefine_charset_internal): Fix setting of
9696 emacs_mule_bytes.
9697
96982008-02-01 Kenichi Handa <handa@m17n.org>
9699
9700 * keyboard.c (read_char): Check if C is a character or not before
9701 looking up Vkeyboard_translate_table.
9702
97032008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9706 condition to terminate the loop.
9707
97082008-02-01 Kenichi Handa <handa@m17n.org>
9709
9710 * coding.c (produce_composition): Compare charbuf[i] instead of
9711 args[i] against 0.
9712 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9713
97142008-02-01 Kenichi Handa <handa@m17n.org>
9715
9716 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9717 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9718 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9719 detect_coding.
9720 (emacs_mule_char): Handle old style (Emacs 20) component character
9721 of a composition.
9722 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9723 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9724 composition rule.
9725 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9726
97272008-02-01 Kenichi Handa <handa@m17n.org>
9728
9729 * coding.c (encode_coding_ccl): Allocate destination dynamically
9730 when necessary.
9731
97322008-02-01 Kenichi Handa <handa@m17n.org>
9733
9734 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9735 the loop. When quitted, show a proper error message.
9736
97372008-02-01 Kenichi Handa <handa@m17n.org>
9738
9739 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9740 src->clip_head and src->clip_tail temporarily instead of src->hl.
9741
9742 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9743 character sequence.
9744 (Fccl_execute_on_string): Use ASET, not XSET.
9745
97462008-02-01 Kenichi Handa <handa@m17n.org>
9747
9748 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9749
97502008-02-01 Kenichi Handa <handa@m17n.org>
9751
9752 * coding.c (decode_coding): Fix the condition of terminating the
9753 decoding loop.
9754
97552008-02-01 Kenichi Handa <handa@m17n.org>
9756
9757 * data.c (Faset): On setting a character bigger than 255 in a
9758 unibyte string, signal an error instead of make the string multibyte.
9759
97602008-02-01 Kenichi Handa <handa@m17n.org>
9761
9762 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9763 made by a mapping table.
9764
97652008-02-01 Kenichi Handa <handa@m17n.org>
9766
9767 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9768 not.
9769 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9770 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9771
9772 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9773 s->face is NULL or not.
9774
97752008-02-01 Kenichi Handa <handa@m17n.org>
9776
9777 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9778 (x_draw_glyph_string): Fix drawing of right_overhang and
9779 left_overhang around/on cursor.
9780
9781 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9782
97832008-02-01 Kenichi Handa <handa@m17n.org>
9784
9785 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9786
97872008-02-01 Kenichi Handa <handa@m17n.org>
9788
9789 * coding.c (Fdefine_coding_system_internal)
9790 (Fdefine_coding_system_alias): Avoid a duplicated element in
9791 Vcoding_system_alist.
9792
97932008-02-01 Kenichi Handa <handa@m17n.org>
9794
9795 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9796
9797 * coding.c (Qcoding_system_define_form): New variable.
9798 (syms_of_coding): Intern and staticpro it.
9799 (Fcoding_system_p): Check Qcoding_system_define_form.
9800 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9801
9802 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9803 Fcoding_system_p.
9804 (CHECK_CODING_SYSTEM): If ID is not available, call
9805 Fcheck_coding_system.
9806 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9807 Try also Fcheck_coding_system.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * coding.c (code_conversion_restore): GCPRO arg.
9812
98132008-02-01 Kenichi Handa <handa@m17n.org>
9814
9815 * character.c (lisp_string_width): Check multibyteness of STRING.
9816
98172008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9818
9819 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9820 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9821 (decode_mac_font_name): Use decode_coding_c_string instead of
9822 decode_coding.
9823 (x_load_font): Initialize fontp->fontset to -1. Set
9824 fontp->encoding_type.
9825
98262008-02-01 Kenichi Handa <handa@m17n.org>
9827
9828 * search.c (search_buffer): Give up BM search on case-fold-search
9829 if one of a target character has a case-equivalence of different
9830 byte length even if that target charcter is an ASCII.
9831 (simple_search): Fix calculation of byte length of matched text.
9832 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9833
98342008-02-01 Kenichi Handa <handa@m17n.org>
9835
9836 * coding.c (decode_coding): Fix handling of invalid bytes.
9837
98382008-02-01 Kenichi Handa <handa@m17n.org>
9839
9840 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9841 Unicode characters.
9842
98432008-02-01 Kenichi Handa <handa@m17n.org>
9844
9845 * coding.c (encode_coding_object): If a pre-write-conversion
9846 function makes a new buffer, kill it.
9847
98482008-02-01 Kenichi Handa <handa@m17n.org>
9849
9850 * coding.c (QCascii_compatible_p): New variable.
9851 (syms_of_coding): Initialize it.
9852 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9853 calling string_char.
9854 (record_conversion_result): Add `default:' case.
9855 (coding_charset_list): Delete unused variable `coding_type'.
9856 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9857 property in the plist of the coding system.
9858 (Fcoding_system_put): Check QCascii_compatible_p.
9859
98602008-02-01 Miles Bader <miles@gnu.org>
9861
9862 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9863 removed calculation of frame `f', as it's now used.
9864
98652008-02-01 Kenichi Handa <handa@m17n.org>
9866
9867 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9868 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9869 (UNIDATA): New variable.
9870 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9871 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9872 $(RUN_TEMACS) unconditionally.
9873
98742008-02-01 Kenichi Handa <handa@m17n.org>
9875
9876 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9877 (admindir): New variable.
9878 ($(lispsource)international/charprop.el): New target.
9879
98802008-02-01 Miles Bader <miles@gnu.org>
9881
9882 * character.c (chars-in-region): Remove obsolete function.
9883 (syms_of_character): Remove its initialization.
9884
98852008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9886
9887 * w32select.c (validate_coding_system)
9888 (setup_windows_coding_system): New functions.
9889 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9890 setup_windows_coding_system.
9891 (setup_config, Fw32_get_clipboard_data): Use
9892 validate_coding_system.
9893 (Fx_selection_exists): Move call to setup_config to a place
9894 where signals are allowed.
9895
9896 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9897 (Fcheck_coding_system): Add declarations.
9898
98992008-02-01 Kenichi Handa <handa@m17n.org>
9900
9901 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9902
99032008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9904
9905 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9906 string as the second argument for x_new_fontset.
9907
99082008-02-01 Kenichi Handa <handa@m17n.org>
9909
9910 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9911 (encode_coding_object): Use safe_call instead of call2.
9912
99132008-02-01 Kenichi Handa <handa@m17n.org>
9914
9915 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9916
9917 * Makefile.in (lisp): Include charprop.el.
9918
99192008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9920
9921 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9922 Not sure if it's unnecessary.
9923
99242008-02-01 Steven Tamm <steventamm@mac.com>
9925
9926 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9927 some possibly unnecessary fontset checking code that crashed
9928 when creating a new frame.
9929
99302008-02-01 Kenichi Handa <handa@m17n.org>
9931
9932 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9933 lookup_face.
9934
9935 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9936
9937 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9938
99392008-02-01 Kenichi Handa <handa@m17n.org>
9940
9941 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9942 (coding_charset_list): New function.
9943
9944 * coding.h (coding_charset_list): Extern it.
9945
99462008-02-01 Kenichi Handa <handa@m17n.org>
9947
9948 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9949 concatenation of family and registry.
9950
99512008-02-01 Kenichi Handa <handa@m17n.org>
9952
9953 * character.h (BYTE8_STRING): Fix typo.
9954
9955 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9956 string to multibyte (sync to HEAD).
9957
9958 * casefiddle.c (casify_region): Handle changes in byte-length
9959 using replace_range_2 (sync to HEAD).
9960
99612008-02-01 Andreas Schwab <schwab@suse.de>
9962
9963 * chartab.c (map_char_table): GCPRO table and arg.
9964
99652008-02-01 Kenichi Handa <handa@m17n.org>
9966
9967 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9968 already at limit.
9969
99702008-02-01 Kenichi Handa <handa@m17n.org>
9971
9972 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9973 instead of fast_c_string_match_ignore_case.
9974 (find_font_encoding): Change argument to Lisp_Object. Use
9975 fast_string_match_ignore_case instead of
9976 fast_c_string_match_ignore_case. Change caller.
9977
99782008-02-01 Kenichi Handa <handa@m17n.org>
9979
9980 * xdisp.c (get_next_display_element): In unibyte case, decide to
9981 display in octal form by checking a character by
9982 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9983
9984 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9985
9986 * character.c (unibyte_has_multibyte_table): New variable.
9987
9988 * character.h (unibyte_has_multibyte_table): Extern it.
9989 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9990
99912008-02-01 Kenichi Handa <handa@m17n.org>
9992
9993 * coding.c (encode_coding_iso_2022): Fix handling of charset
9994 annotation.
9995
99962008-02-01 Kenichi Handa <handa@m17n.org>
9997
9998 * coding.c (setup_coding_system): If coding_system is nil, use
9999 Qundecided.
10000 (Fterminal_coding_system): Return nil if terminal coding system is
10001 `undecided'.
10002 (syms_of_coding): Define coding-system `undecided' here. Setup
10003 terminal_coding as `undecided'.
10004
100052008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * xdisp.c (message_dolog, set_message_1): Call
10008 unibyte_char_to_multibyte with arg type int.
10009
10010 * lread.c (read1): Fix reading of a char-table.
10011
10012 * print.c (print_object): Include sub char-table in circularities
10013 detection.
10014
100152008-02-01 Kenichi Handa <handa@m17n.org>
10016
10017 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10018 Append the found sequences in car of ARGS instead of prepending.
10019
100202008-02-01 Kenichi Handa <handa@m17n.org>
10021
10022 * fileio.c (report_file_error): Make a unibyte string from
10023 strerror (errorno).
10024 (Fsubstitute_in_file_name): Fix the arg to
10025 unibyte_char_to_multibyte. It is evaluated twice.
10026
100272008-02-01 Kenichi Handa <handa@m17n.org>
10028
10029 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10030
100312008-02-01 Kenichi Handa <handa@m17n.org>
10032
10033 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10034 BOM is not found.
10035 (detect_coding, detect_coding_system): Optimization for ISO-2022
10036 when no 8-bit data is found.
10037
100382008-02-01 Jason Rumney <jasonr@gnu.org>
10039
10040 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10041
100422008-02-01 Kenichi Handa <handa@m17n.org>
10043
10044 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10045 CHARS.
10046
100472008-02-01 Steven Tamm <steventamm@mac.com>
10048
10049 * macterm.c (mac_encode_char): Add charset argument and update
10050 to use encoding_type.
10051 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10052 switch to pure fontset.
10053 (decode_mac_font_name): Temporarily remove decoding.
10054 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10055 (x_load_font): Temporarily remove encoding.
10056
100572008-02-01 Kenichi Handa <handa@m17n.org>
10058
10059 * xfaces.c (Fface_font): If frame is not on a window system,
10060 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10061 refer to face->font.
10062 (split_font_name_into_vector, build_font_name_from_vector)
10063 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10064 when HAVE_WINDOW_SYSTEM is defined.
10065
100662008-02-01 Kenichi Handa <handa@m17n.org>
10067
10068 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10069 (x_produce_glyphs): Fix setting of members of cmp in case
10070 cmp->glyph_len is zero.
10071
10072 * fontset.c (Fset_fontset_font): Fix docstring.
10073 (Ffontset_info): Make it backward compatible. New arg ALL.
10074
100752008-02-01 Kim F. Storm <storm@cua.dk>
10076
10077 * process.c (read_process_output): Grow decoding_buf when needed;
10078 this could cause a crash in allocate_string and compact_small_strings.
10079
100802008-02-01 Kenichi Handa <handa@m17n.org>
10081
10082 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10083
100842008-02-01 Kenichi Handa <handa@m17n.org>
10085
10086 * coding.c (setup_coding_system): Set coding->common_flags
10087 correctly for raw-text.
10088 (consume_chars): On encoding unibyte text by raw-text, don't check
10089 multibyte form.
10090 (encode_coding): On encoding by raw-text, never use translation tables.
10091
10092 * fileio.c (e_write): Short cut for the case of no encoding.
10093
100942008-02-01 Kenichi Handa <handa@m17n.org>
10095
10096 * coding.c (detect_coding, detect_coding_system): Delete unused
10097 variables.
10098
100992008-02-01 Kenichi Handa <handa@m17n.org>
10100
10101 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10102 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10103
101042008-02-01 Kenichi Handa <handa@m17n.org>
10105
10106 * coding.c (Ffind_coding_systems_region_internal): Include
10107 raw-text and no-conversion in the result.
10108
101092008-02-01 Kenichi Handa <handa@m17n.org>
10110
10111 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10112 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10113 FONT_DEF.
10114 (font_def_arg, add_arg, from_arg, to_arg): New args.
10115 (set_fontset_font): Change argument.
10116 (Fset_fontset_font): Fix for the case that TARGET is a script
10117 name and charset name.
10118 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10119
101202008-02-01 Kenichi Handa <handa@m17n.org>
10121
10122 * fontset.c (fontset_font): Rename from fontset_face. Change return
10123 value.
10124 (face_suitable_for_char_p, face_for_char): Adjust for the change
10125 of fontset_font.
10126 (make_fontset_for_ascii_face): Fix setting of the fontset element
10127 for ASCII.
10128 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10129 to get a font name.
10130 (Ffontset_info): Adjust for the change of fontset_font.
10131
10132 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10133
10134 * character.h (LEADING_CODE_LATIN_1_MIN)
10135 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10136
101372008-02-01 Kenichi Handa <handa@m17n.org>
10138
10139 * editfns.c (check_translation): New function.
10140 (Ftranslate_region_internal): Handle M:N mapping.
10141
101422008-02-01 Kenichi Handa <handa@m17n.org>
10143
10144 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10145
101462008-02-01 Kenichi Handa <handa@m17n.org>
10147
10148 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10149 goto invalid_code.
10150 (decode_coding_iso_2022): Fix handling of invalid designation.
10151
10152 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10153 after calling code_conversion_save.
10154
101552008-02-01 Kenichi Handa <handa@m17n.org>
10156
10157 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10158
10159 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10160
10161 * fontset.c: Include "intervals.h".
10162 (fontset_face): Fix comparing of Lisp_Objects.
10163 (free_face_fontset, new_fontset_from_font_name): Fix
10164 Lisp_Object/int mixup.
10165
10166 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10167
10168 * coding.c: Add many prototypes for static functions.
10169 (get_translation_table): Allow max_lookup to be NULL.
10170 (decode_coding, Ffind_coding_systems_region_internal)
10171 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10172 get_translation_table with max_lookup NULL.
10173
101742008-02-01 Kenichi Handa <handa@m17n.org>
10175
10176 * coding.c (get_translation_table): Declare it as Lisp_Object.
10177 (LOOKUP_TRANSLATION_TABLE): New macro.
10178 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10179 instead of CHAR_TABLE_REF.
10180
101812008-02-01 Kenichi Handa <handa@m17n.org>
10182
10183 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10184 annotation data format.
10185 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10186 Change arguments FROM and TO to single argument NCHARS. Change caller.
10187 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10188 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10189 (decode_coding_ccl, decode_coding_charset): Pay attention to
10190 coding->charbuf_used.
10191 (get_translation): New function.
10192 (produce_chars): New arguments translation_table and last_block.
10193 Translate characters here. Return number of carryover chars.
10194 Change caller.
10195 (produce_composition): New argument pos. Change caller.
10196 Adjust for the change of annotation data format.
10197 (produce_charset, produce_annotation): Likewise.
10198 (decode_coding, encode_coding): Don't call translate_chars.
10199 (consume_chars): New arg translation_table. Change caller.
10200 (translate_chars): Delete.
10201 (syms_of_coding): Make translation-table's number of extra slots 2.
10202
102032008-02-01 Kenichi Handa <handa@m17n.org>
10204
10205 * search.c (simple_search): Fix setting this_pos_byte in backward
10206 search.
10207
10208 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10209 byte sequence.
10210 (detect_coding_ccl): Fix setting of the variable valids.
10211
102122008-02-01 Kenichi Handa <handa@m17n.org>
10213
10214 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10215
10216 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10217
10218 * editfns.c (Ftranslate_region_internal): Rename from
10219 Ftranslate_region. Accept a char-table in TABLE.
10220 (syms_of_editfns): Defsubr Stranslate_region_internal.
10221
10222 * xfaces.c (set_lface_from_font_name): If a font is specified for
10223 a frame, generate a fontset from the font.
10224 (build_scalable_font_name): If the scalable font is requested for
10225 a specific size, don't change that size.
10226 (try_font_list): Try a scalable font also in the case that a
10227 pattern string is specified.
10228
102292008-02-01 Kenichi Handa <handa@m17n.org>
10230
10231 * xfaces.c (Fface_font): New optional arg CHARACTER.
10232
102332008-02-01 Kenichi Handa <handa@m17n.org>
10234
10235 * charset.h (CHARSET_OFFSET): New macro.
10236
102372008-02-01 Kenichi Handa <handa@m17n.org>
10238
10239 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10240
10241 * fontset.c (fontset_face): Handle the case that repertory is a
10242 char-table.
10243 (find_font_encoding): Return nil for unknown encoding.
10244 (Fset_fontset_font): Ignore a font of unknown encoding.
10245
102462008-02-01 Kenichi Handa <handa@m17n.org>
10247
10248 * keymap.c (describe_vector): Handle default value of a char table.
10249
10250 * fontset.c (fontset_face): Handle fallback fonts correctly.
10251 (Ffontset_info): Return infomation about fallback fonts.
10252
102532008-02-01 Kenichi Handa <handa@m17n.org>
10254
10255 * fontset.c (FONTSET_DEFAULT): New macro.
10256 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10257 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10258 the case that it is nil.
10259 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10260 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10261
10262 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10263 subset or superset.
10264
102652008-02-01 Kenichi Handa <handa@m17n.org>
10266
10267 * emacs.c (main): Call init_charset after syms_of_XXX.
10268
10269 * charset.c (Vcharset_map_directory): Delete.
10270 (Vcharset_map_path): New variable.
10271 (load_charset_map_from_file): Use Vcharset_map_path instead.
10272 (init_charset): Initialize Vcharset_map_path.
10273 (syms_of_charset): Delete declaration of "charset-map-directory",
10274 add declaration of "charset-map-path".
10275
102762008-02-01 Kenichi Handa <handa@m17n.org>
10277
10278 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10279 ASCII only string.
10280
10281 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10282
10283 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10284 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10285
102862008-02-01 Kenichi Handa <handa@m17n.org>
10287
10288 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10289
10290 * coding.c (QCmnemonic, QCdefalut_char)
10291 (QCdecode_translation_table, QCencode_translation_table)
10292 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10293 (get_translation_table): Return a list of translation tables if
10294 necessary.
10295 (decode_coding): Call get_translation_table with ENCODEP 0.
10296 (char_encodable_p): If translation_table is non-nil, always call
10297 translate_char.
10298 (Fdefine_coding_system_internal): Accept list of translation
10299 tables as :encode-translation-table and :decode-translation-table.
10300 (Fcoding_system_put): New function.
10301 (syms_of_coding): Declare new symbols. Defsubr
10302 Scoding_system_put.
10303 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10304 typically JISX0212.
10305
10306 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10307 when the charset is superset type.
10308
10309 * character.c (translate_char): Accept list of translation tables.
10310
103112008-02-01 Kenichi Handa <handa@m17n.org>
10312
10313 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10314 (CODING_ATTR_TRANS_TBL): New macro.
10315
10316 * coding.c (get_translation_table): New function.
10317 (translate_chars): Fix the bug of skipping annotation data.
10318 (decode_coding, encode_coding): Utilize get_translation_table.
10319 (char_encodable_p, Funencodable_char_position): Translate char if
10320 necessary.
10321 (Ffind_coding_systems_region_internal)
10322 (Fcheck_coding_systems_region): Setup translation table for encode
10323 in a coding system attribute vector in advance.
10324 (Fdefine_coding_system_internal): Allow a symbol as translation
10325 table. For shift-jis type coding system, allow 4th charset.
10326
103272008-02-01 Kenichi Handa <handa@m17n.org>
10328
10329 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10330
10331 * xdisp.c (get_next_display_element): Pass -1 as POS to
10332 FACE_FOR_CHAR if displaying a C-string.
10333
103342008-02-01 Kenichi Handa <handa@m17n.org>
10335
10336 * composite.c (get_composition_id): Handle xoff and yoff in a
10337 composition rule.
10338
10339 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10340 (struct composition): New member lbearing and rbearing.
10341
10342 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10343 (x_get_glyph_overhangs): Handle a composition glyph.
10344 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10345
10346 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10347 composition glyph.
10348
103492008-02-01 Kenichi Handa <handa@m17n.org>
10350
10351 * print.c: Include charset.h.
10352 (Vprint_charset_text_property): New variable.
10353 (Qdefault): Extern it.
10354 (PRINT_STRING_NON_CHARSET_FOUND)
10355 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10356 (print_check_string_result): New variable.
10357 (print_check_string_charset_prop): New function.
10358 (print_prune_charset_plist): New variable.
10359 (print_prune_string_charset): New function.
10360 (print_object): Call print_prune_string_charset if
10361 Vprint_charset_text_property is not t.
10362 (print_interval): Print nothing if interval->plist is nil.
10363 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10364 variable. Init and staticpro print_prune_charset_plist.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * fontset.c (new_fontset_from_font_name): Use the specified font
10369 for all characters in the new fontset.
10370
10371 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10372 OBJECT args.
10373
10374 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10375 OBJECT args for composition too.
10376
10377 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10378 OBJECT args.
10379
103802008-02-01 Kenichi Handa <handa@m17n.org>
10381
10382 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10383
10384 * fontset.c (reorder_font_vector): Adjust for the change of
10385 FONT_DEF format.
10386 (fontset_face): New arg id. Change caller.
10387 (face_for_char): New args pos and object.
10388 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10389 (fs_query_fontset): Check NAME by Fassoc too.
10390 (Fset_fontset_font): Allow non-XLFD font name.
10391 (Ffontset_info): Adjust for the change of FONT_DEF format.
10392
10393 * fontset.h (face_for_char): Adjust prototype.
10394
10395 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10396 (append_space, extend_face_to_end_of_line)
10397 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10398 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10399
10400 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10401 POS and OBJECT args.
10402
10403 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10404 POS and OBJECT args.
10405
104062008-02-01 Jason Rumney <jasonr@gnu.org>
10407
10408 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10409 of GlobalAlloc'ed memory.
10410
104112008-02-01 Kenichi Handa <handa@m17n.org>
10412
10413 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10414
10415 * charset.h (charset_table_used): Delete extern.
10416
10417 * charset.c (charset_table_used): Make it static.
10418 (map_charset_chars): Fix args to c_function with.
10419
10420 * chartab.c (map_sub_char_table_for_charset): Fix args to
10421 c_function with.
10422
10423 * coding.h (enum coding_result_code): Delete
10424 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10425
10426 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10427 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10428 (Vlast_code_conversion_error): New variables.
10429 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10430 (ONE_MORE_BYTE): Record error if any instead of signaling an
10431 error. If non-ASCII multibyte char is found, return the negative
10432 value of the code. All callers changed to check it.
10433 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10434 (record_conversion_result): New function. Change all codes setting
10435 coding->result to call this function.
10436 (detect_coding_utf_8, decode_coding_utf_8)
10437 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10438 Don't use the local variable incomplete.
10439 (emacs_mule_char): Change the second arg to `const'.
10440 (decode_coding): Fix of flushing out unprocessed data.
10441 (make_conversion_work_buffer): Fix making of a work buffer.
10442 (decode_coding_object): Return coding->dst_object.
10443
10444 * fontset.c (set_fontset_font): Fix args.
10445
10446 * lisp.h (CHARACTERBITS): Define as 22.
10447
10448 * process.c (send_process): Be sure to set coding->src_multibyte.
10449
10450 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10451
104522008-02-01 Kenichi Handa <handa@m17n.org>
10453
10454 * xdisp.c (handle_auto_composed_prop): Give limit to
10455 Fnext_single_char_property_change.
10456
104572008-02-01 Kenichi Handa <handa@m17n.org>
10458
10459 * composite.c (syms_of_composite): Don't make the composition hash
10460 table weak.
10461
10462 * fontset.c (Fset_fontset_font): Fix docstring.
10463
10464 * lisp.h (detect_coding_system): Adjust prototype.
10465
10466 * fileio.c (kill_workbuf_unwind): Delete this function.
10467 (Finsert_file_contents): Adjust the call of detect_coding_system.
10468 Get conversion_buffer by code_conversion_save. Use the macro
10469 CODING_MAY_REQUIRE_DECODING. After decoding, update
10470 coding_system.
10471
10472 * coding.h (make_conversion_work_buffer): Delete extern.
10473 (code_conversion_save): Extern it.
10474
10475 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10476 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10477 (decode_coding_utf_8): Don't do eol converion.
10478 (detect_coding_utf_16): Check coding->src_chars, not
10479 coding->src_bytes. Add heuristics for those that have no signature.
10480 (decode_coding_emacs_mule, decode_coding_iso_2022)
10481 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10482 Don't do eol converion.
10483 (adjust_coding_eol_type): Return a new coding system.
10484 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10485 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10486 each change.
10487 (decode_coding): Pay attention to undo_list. Do eol conversion for
10488 all types of coding-systems (if necessary).
10489 (Vcode_conversion_work_buf_list): Delete it.
10490 (Vcode_conversion_reused_workbuf): Rename from
10491 Vcode_conversion_reused_work_buf.
10492 (Vcode_conversion_workbuf_name): New variable.
10493 (reused_workbuf_in_use): New variable.
10494 (make_conversion_work_buffer): Delete the arg DEPTH.
10495 (code_conversion_restore): Change argument to cons.
10496 (code_conversion_save): Delete the argument BUFFER. Change callers.
10497 (detect_coding_system): New argument src_chars. Change callers.
10498 Fix for utf-16 detection.
10499 (init_coding_once): Don't use ISO_carriage_return.
10500 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10501 reused_workbuf_in_use.
10502
105032008-02-01 Kenichi Handa <handa@m17n.org>
10504
10505 * keymap.c (store_in_keymap): Pay attention to the case that idx
10506 is a cons specifying a character range.
10507
105082008-02-01 Kenichi Handa <handa@m17n.org>
10509
10510 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10511 HANDLED_RECOMPUTE_PROPS.
10512
10513 * coding.c (Fdefine_coding_system_internal): Fix checking of
10514 ascii compatibility.
10515
105162008-02-01 Kenichi Handa <handa@m17n.org>
10517
10518 * charset.c (find_charsets_in_text): Delete unused locale variable.
10519 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10520
10521 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10522 Resync charset_list to Vemacs_mule_charset_list.
10523
10524 * keymap.c (store_in_keymap): Pay attention to the case that idx
10525 is a cons specifying a character range.
10526
105272008-02-01 Kenichi Handa <handa@m17n.org>
10528
10529 * composite.c (update_compositions): Bind inhibit-read-only, etc
10530 to t before calling remove-list-of-text-properties.
10531
10532 * print.c (print_object): Always print ASCII chars as is.
10533
105342008-02-01 Kenichi Handa <handa@m17n.org>
10535
10536 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10537
10538 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10539 is a char table.
10540
105412008-02-01 Kenichi Handa <handa@m17n.org>
10542
10543 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10544
105452008-02-01 Kenichi Handa <handa@m17n.org>
10546
10547 * xfaces.c (set_lface_from_font_name): Fix for the case that
10548 FONTNAME is not fontset name.
10549
105502008-02-01 Kenichi Handa <handa@m17n.org>
10551
10552 * fns.c (base64_encode_1): Fix previous change.
10553
105542008-02-01 Kenichi Handa <handa@m17n.org>
10555
10556 * fontset.c (set_fontset_font): New function.
10557 (Fset_fontset_font): If a font is specified for a charset, use
10558 map_charset_chars to store the font spec in a fontset.
10559
105602008-02-01 Kenichi Handa <handa@m17n.org>
10561
10562 * fontset.c (fontset_face): Create a fallback fontset on demand.
10563 (make_fontset): Don't create a fallback fontset here.
10564 (free_face_fontset): Free a fallback fontset (if any) too.
10565 (n_auto_fontsets): Delete this variable.
10566 (auto_fontset_alist): New variable.
10567 (new_fontset_from_font_name): Check auto_fontset_alist.
10568 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10569 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10570 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10571 Defsubr Sfontset_list_all.
10572
105732008-02-01 Kenichi Handa <handa@m17n.org>
10574
10575 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10576
105772008-02-01 Kenichi Handa <handa@m17n.org>
10578
10579 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10580
105812008-02-01 Kenichi Handa <handa@m17n.org>
10582
10583 * editfns.c (Fgoto_char): Fix docstring.
10584
105852008-02-01 Kenichi Handa <handa@m17n.org>
10586
10587 * insdel.c (insert_from_gap): Adjust intervals correctly.
10588
105892008-02-01 Jason Rumney <jasonr@gnu.org>
10590
10591 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10592 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10593 (w32_initialize): Try to load it.
10594 (x_get_font_repertory): Use it if available.
10595 (w32_encode_char): Add shortcut for unicode output.
10596
10597 * w32fns.c (w32_load_system_font): Default charset to -1.
10598 (x_to_w32_charset): Match all fonts for unicode.
10599 (w32_to_x_charset): New parameter matching. Don't return partial
10600 or wildcard charsets.
10601 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10602 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10603 (w32_to_x_font): Match charset to real charset.
10604 (enum_font_cb2): Always list unicode versions.
10605
10606 * makefile.w32-in (temacs): Increase EMHEAP.
10607
106082008-02-01 Jason Rumney <jasonr@gnu.org>
10609
10610 * w32term.c (w32_encode_char): New charset parameter.
10611 font_info.encoding becomes encoding_type.
10612 (x_get_font_repertory): New function. Warning: stub only!
10613 (x_new_font): Return quickly if font already set.
10614 (x_new_fontset): fontsetname parameter is Lisp_Object.
10615 Use new fs_query_fontset. Try new_fontset_from_font_name.
10616 Use fontset_name for return value.
10617
10618 * w32term.h: Declare x_get_font_repertory.
10619
10620 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10621 place of find_charset_in_text. Use encode_coding_object in place
10622 of encode_coding.
10623 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10624 decode_coding.
10625
10626 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10627 of x_new_fontset.
10628 (w32_load_system_font): Initialize charset as unicode.
10629 font_info.encoding becomes encoding_type.
10630 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10631 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10632 (syms_of_w32fns): Set get_font_repertory_func.
10633
10634 * w32console.c: Include character.h. Use terminal_encode_buffer
10635 from term.c.
10636 (write_glyphs): Use new version of encode_terminal_code. Use
10637 encode_coding_object in place of encode_coding.
10638
10639 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10640 encoding becomes encoding_type.
10641
10642 * term.c (terminal_encode_buffer): Make externally visible.
10643
10644 * makefile.w32-in: Add character.h dependancies.
10645 (character.o, chartab.o): New targets.
10646
106472008-02-01 Kenichi Handa <handa@m17n.org>
10648
10649 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10650 CODING_ID_EOL_TYPE.
10651
106522008-02-01 Andreas Schwab <schwab@suse.de>
10653
10654 * coding.c (produce_chars): Revert last change.
10655
106562008-02-01 Kenichi Handa <handa@m17n.org>
10657
10658 * charset.h (charset_unicode): Extern it.
10659
10660 * charset.c (string_xstring_p): Check by (C >= 0x100).
10661 (find_charsets_in_text): Change format of the arc CHARSETS. New
10662 arg MULTIBYTE.
10663 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10664 change of find_charsets_in_text.
10665 (Fsplit_char): Fix doc. Never return unknown.
10666
10667 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10668
10669 * coding.c (Fdefine_coding_system_alias): Update
10670 Vcoding_system_list.
10671
10672 * fontset.c (load_font_get_repertory): Pay attention to the case
10673 that ENCODING of a font is specified by a char-table.
10674
10675 * xterm.c (x_get_font_repertory): Handle the case that the
10676 encoding of font is other than Unicode.
10677
106782008-02-01 Kenichi Handa <handa@m17n.org>
10679
10680 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10681 if a character is encodable by the terminal coding system. If
10682 not, produces proper number of `?'s. Update
10683 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10684 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10685
106862008-02-01 Kenichi Handa <handa@m17n.org>
10687
10688 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10689 variables.
10690 (encode_terminal_code): Change argument. Encode multiple
10691 characters at once. Store the result of encoding in
10692 terminal_encode_buffer.
10693 (write_glyphs, insert_glyphs): Adjust for the change of
10694 encode_terminal_code.
10695 (term_init): Initialize terminal_encode_buffer and
10696 terminal_encode_buf_size.
10697
10698 * coding.c (consume_chars): If coding->src_object is nil, don't
10699 check annotation.
10700
107012008-02-01 Kenichi Handa <handa@m17n.org>
10702
10703 * character.c (char_string): Use ASCII_CHAR_P instead of
10704 SINGLE_BYTE_CHAR_P.
10705
107062008-02-01 Kenichi Handa <handa@m17n.org>
10707
10708 * xdisp.c (handle_auto_composed_prop): Check if the last
10709 characters of auto-composed region is newly composed with the
10710 following characters.
10711 (handle_composition_prop): Fix checking of point being inside
10712 composition.
10713
107142008-02-01 Kenichi Handa <handa@m17n.org>
10715
10716 * fns.c (concat): Don't change multibyteness of the result by
10717 concatenating an 8-bit character.
10718
10719 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10720 multibyteness of the result when newelt is an 8-bit character.
10721
107222008-02-01 Dave Love <fx@gnu.org>
10723
10724 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10725 EMACS_INT.
10726
10727 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10728
10729 * xfaces.c (face_numeric_value): Declare dim size_t.
10730 (Finternal_lisp_face_equal_p): Remove unused f.
10731
10732 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10733 (MATRIX_ROW): Remove unused vars.
10734 (draw_glyphs, x_insert_glyphs, fast_find_position)
10735 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10736 byte/char counts.
10737
10738 * regex.c (regex_compile): Remove unused var.
10739
10740 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10741
10742 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10743 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10744
10745 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10746
10747 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10748
10749 * fileio.c (Fwrite_region): Remove unused var.
10750
10751 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10752 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10753
10754 * composite.c (Fremove_list_of_text_properties): Declare.
10755
10756 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10757 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10758 (coding_inherit_eol_type): Remove unused attrs.
10759 (detect_coding): Cast arg of detect_eol.
10760
10761 * charset.c (syms_of_charset): Remove unused var p.
10762 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10763 byte/char counts.
10764
10765 * casetab.c (set_case_table): Remove unused var.
10766
10767 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10768 unused vars.
10769
107702008-02-01 Dave Love <fx@gnu.org>
10771
10772 * xterm.c (x_bitmap_mask): Declare.
10773
107742008-02-01 Dave Love <fx@gnu.org>
10775
10776 * xterm.c (x_term_init): Fix type error.
10777
10778 * lisp.h: Add Funibyte_char_to_multibyte.
10779
10780 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10781 (Fset_coding_system_priority): Doc fix.
10782
10783 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10784
10785 * indent.c (check_composition): Make start and end EMACS_INT.
10786
10787 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10788
10789 * xdisp.c (handle_composition_prop, check_point_in_composition):
10790 Make buffer positions EMACS_INT.
10791
10792 * composite.c (find_composition, run_composition_function)
10793 (update_compositions, Ffind_composition_internal): Make buffer
10794 positions EMACS_INT.
10795
10796 * composite.h (find_composition, update_compositions): Make
10797 position args EMACS_INT.
10798
10799 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10800
10801 * intervals.c (get_property_and_range):
10802 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10803
10804 * unexalpha.c: Don't include varargs.h.
10805
108062008-02-01 Dave Love <fx@gnu.org>
10807
10808 * coding.h (ENCODE_UTF_8): New.
10809
10810 * Makefile.in (gtkutil.o): Depend on coding.h.
10811
10812 * coding.c (Fset_coding_system_priority): Doc fix.
10813
108142008-02-01 Kenichi Handa <handa@m17n.org>
10815
10816 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10817 the case of auto saving.
10818
108192008-02-01 Andreas Schwab <schwab@suse.de>
10820
10821 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10822 `range' from GC.
10823
108242008-02-01 Kenichi Handa <handa@m17n.org>
10825
10826 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10827
108282008-02-01 Kenichi Handa <handa@m17n.org>
10829
10830 * fileio.c (choose_write_coding_system): Return a decided coding system.
10831 (Fwrite_region): Set Vlast_coding_system_used to the return value
10832 of choose_write_coding_system.
10833
108342008-02-01 Kenichi Handa <handa@m17n.org>
10835
10836 * charset.c (Fset_charset_priority): Pay attention to duplicated
10837 arguments.
10838
10839 * coding.c (QCcategory): New variable.
10840 (syms_of_coding): Defsym it. Set all elements of
10841 Vcoding_category_table and their symbol values.
10842 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10843 coding-category-XXX, and coding-category-list.
10844 (Fdefine_coding_system_internal): Add category in the plist.
10845
108462008-02-01 Kenichi Handa <handa@m17n.org>
10847
10848 * callproc.c (Fcall_process): Handle carryover correctly.
10849
10850 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10851 (raw_text_coding_system): Check NILP (coding_system).
10852 (coding_inherit_eol_type): Check NILP (coding_system) and
10853 NILP (parent).
10854 (consume_chars): Fix for the case of raw-text.
10855
10856 * process.c (read_process_output): Handle carryover correctly.
10857
108582008-02-01 Dave Love <fx@gnu.org>
10859
10860 * regex.c (re_search_2): Fix last change.
10861
108622008-02-01 Kenichi Handa <handa@m17n.org>
10863
10864 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10865 target_multibyte. Even in a unibyte case, return a converted
10866 multibyte char.
10867 (GET_CHAR_AFTER): New macro.
10868 (PATFETCH): Translate via multibyte char.
10869 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10870 (SETUP_MULTIBYTE_RANGE): New macro.
10871 (regex_compile): Setup compiled code so that its multibyteness
10872 matches that of a target. Fix the handling of "[X-YZ]" using
10873 SETUP_MULTIBYTE_RANGE.
10874 (analyse_first) <charset>: For filling fastmap for all multibyte
10875 characters, don't check by BASE_LEADING_CODE_P.
10876 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10877 the same as RE_MULTIBYTE_P (bufp) now.
10878 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10879 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10880 (TRANSLATE_VIA_MULTIBYTE): New macro.
10881 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10882 It is the same as RE_MULTIBYTE_P (bufp) now.
10883 <exactn>: Translate via multibyte.
10884 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10885 translate it.
10886 <charset, charset_not>: Fetch a character by
10887 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10888 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10889 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10890 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10891 by GET_CHAR_AFTER.
10892 (bcmp_translate): Likewise.
10893
10894 * search.c (compile_pattern): Check the member target_multibyte,
10895 not the member multibyte of buf.
10896
10897 * lread.c (read1): While reading a string, set force_singlebyte
10898 and force_multibyte correctly.
10899
10900 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10901 up of unibyte_to_multibyte_table.
10902
109032008-02-01 Kenichi Handa <handa@m17n.org>
10904
10905 * coding.c (setup_coding_system): If coding has
10906 post-read-conversion or pre-write-conversion, set
10907 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10908 respectively.
10909 (decode_coding_gap): Run post-read-conversion if any.
10910
10911 * fileio.c (Finsert_file_contents): Even if we read into a
10912 unibyte buffer, check if we must decode the result or not.
10913
109142008-02-01 Kenichi Handa <handa@m17n.org>
10915
10916 * coding.c (make_conversion_work_buffer): Change the work buffer
10917 name to the same one as that of Emacs 21.
10918
109192008-02-01 Kenichi Handa <handa@m17n.org>
10920
10921 * coding.h (make_conversion_work_buffer): Adjust prototype.
10922 (code_conversion_restore): Don't extern it.
10923
10924 * coding.c (detected_mask): Delete unused variable.
10925 (decode_coding_iso_2022): Pay attention to the byte sequence of
10926 CTEXT extended segment, and retain those bytes as is.
10927 (decode_coding_ccl): Delete unused variable `valids'.
10928 (setup_coding_system): Delete unused variable `category'.
10929 (consume_chars): Delete unused variable `category'. Make it work
10930 for non-multibyte case.
10931 (make_conversion_work_buffer): Change argument.
10932 (saved_coding): Delete unused variable.
10933 (code_conversion_restore): Don't check saved_coding->destination.
10934 (code_conversion_save): New function.
10935 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10936 instead of record_unwind_protect.
10937 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10938 (detect_coding_system): Delete unused variable `mask'.
10939 (Fdefine_coding_system_internal): Delete unused variable id.
10940
10941 * fileio.c (kill_workbuf_unwind): New function.
10942 (Finsert_file_contents): On replacing, call
10943 make_conversion_work_buffer with correct args, and call
10944 record_unwind_protect with the first arg kill_workbuf_unwind.
10945
10946 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10947
109482008-02-01 Kenichi Handa <handa@m17n.org>
10949
10950 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10951 (fontset_add): Fix for the case that TO is less than TO1.
10952 (Ffontset_info): Don't use fallback fontset on checking the
10953 default fontset.
10954 (dump_fontset): New function for debugging.
10955
10956 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10957 coding_type is Qcharset.
10958
109592008-02-01 Kenichi Handa <handa@m17n.org>
10960
10961 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10962 (map_char_table): Don't inherit the value from the parent on
10963 initializing VAL. Adjust for the above change.
10964
109652008-02-01 Kenichi Handa <handa@m17n.org>
10966
10967 * coding.c (Qsignature, Qendian): Delete these variables.
10968 (syms_of_coding): Don't initialize them.
10969 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10970 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10971 detect_info->found.
10972 (decode_coding_utf_16): Don't detect BOM here.
10973 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10974 is NOT utf_16_without_bom.
10975 (setup_coding_system): For a coding system of type utf-16, check
10976 if the attribute :endian is Qbig or not (not nil or not), and set
10977 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10978 (detect_coding): If coding type is utf-16 and BOM detection is
10979 required, detect it.
10980 (Fdefine_coding_system_internal): For a coding system of type
10981 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10982
109832008-02-01 Kenichi Handa <handa@m17n.org>
10984
10985 * coding.c (coding_set_source): Fix for the case that the current
10986 buffer is different from coding->src_object.
10987 (decode_coding_object): Don't use the conversion work buffer if
10988 DST_OBJECT is a buffer.
10989
109902008-02-01 Dave Love <fx@gnu.org>
10991
10992 * lread.c (read_emacs_mule_char) [len==2]: Index
10993 emacs_mule_charset correctly.
10994
109952008-02-01 Dave Love <fx@gnu.org>
10996
10997 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10998 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10999 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11000 treated specially.)
11001 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11002 (detected_mask): Remove Big5 bits.
11003
110042008-02-01 Kenichi Handa <handa@m17n.org>
11005
11006 The following changes are to make the font rescaling facility
11007 compatible with Emacs 21.
11008
11009 * xfaces.c (Vface_font_rescale_alist): Rename from
11010 Vface_resizing_fonts.
11011 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11012 (font_rescale_ratio): Rename from font_resizing_ratio.
11013 (split_font_name): Set font->rescale_ratio.
11014 (better_font_p): Pay attention to font->rescale_ratio.
11015 (build_scalable_font_name): Likewise. Change RESX, and RESY
11016 fields.
11017 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11018
110192008-02-01 Kenichi Handa <handa@m17n.org>
11020
11021 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11022 (Qutf_16_le): Remove these variables.
11023 (syms_of_coding): Don't DEFSYM them.
11024 (decode_coding_utf_16): Fix handling of BOM.
11025 (encode_coding_utf_16): Fix handling of BOM.
11026
110272008-02-01 Kenichi Handa <handa@m17n.org>
11028
11029 * fileio.c (Finsert_file_contents): On replacing, before decoding
11030 the file into the work buffer, set point of the work buffer to the end.
11031
110322008-02-01 Dave Love <fx@gnu.org>
11033
11034 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11035
110362008-02-01 Dave Love <fx@gnu.org>
11037
11038 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11039 and fix C types.
11040
110412008-02-01 Kenichi Handa <handa@m17n.org>
11042
11043 * xdisp.c (SKIP_GLYPHS): New macro.
11044 (set_cursor_from_row): Pay attention to string display properties.
11045
11046 * category.c (copy_category_entry): Fix for the case that RANGE
11047 is an integer.
11048
11049 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11050
11051 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11052
110532008-02-01 Kenichi Handa <handa@m17n.org>
11054
11055 * charset.c (Fcharset_id_internal): New function.
11056 (syms_of_charset): Defsubr it.
11057
11058 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11059 with the last arg charset_list acquired from coding.
11060 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11061 the attribute coding_attr_ccl_valids.
11062
11063 * coding.h (enum define_coding_ccl_arg_index): Set the first
11064 member coding_arg_ccl_decoder to coding_arg_max.
11065
11066 * ccl.h (ccl_driver): Adjust prototype.
11067
11068 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11069 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11070 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11071 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11072 last arg Qnil.
11073
110742008-02-01 Kenichi Handa <handa@m17n.org>
11075
11076 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11077 call encode_char.
11078
11079 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11080
110812008-02-01 Dave Love <fx@gnu.org>
11082
11083 * composite.c (syms_of_composite): Make composition_hash_table weak.
11084
110852008-02-01 Kenichi Handa <handa@m17n.org>
11086
11087 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11088 (font_name_registry): Don't extern them.
11089 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11090
11091 * fontset.h (Qfontset): Don't extern it.
11092 (new_fontset_from_font_name): Extern it.
11093
11094 * fontset.c: Give 8 extra slots to fontset objects.
11095 (Qfontset_info): New variable.
11096 (syms_of_fontset): Defsym it.
11097 (FONTSET_FALLBACK): New macro.
11098 (fontset_face): Try also the default fontset.
11099 (make_fontset): Realize a fallback fontset from the default fontset.
11100 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11101 using split_font_name_into_vector and build_font_name_from_vector.
11102 (Fset_fontset_font): Access the elements of font_spec by enum
11103 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11104 name by using split_font_name_into_vector.
11105 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11106 generate a proper font name from the fontset name. Update
11107 Vfontset_alias_alist.
11108 (n_auto_fontsets): New variable.
11109 (new_fontset_from_font_name): New function.
11110 (Ffont_info): Store the information about fonts generated from the
11111 default fontset in the first extra slot of the returned char-table.
11112
11113 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11114 (font_name_registry): Delete function.
11115 (split_font_name_into_vector): New function.
11116 (build_font_name_from_vector): New function.
11117 (font_list): The argument REGISTRY is now a list of registry names.
11118 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11119 specifies an explicit font name, return the name as is. Make a
11120 list of registy names.
11121
11122 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11123 of x_new_fontset.
11124 (Fx_create_frame): Don't call x_new_fontset here. Just use
11125 x_list_fonts to check the existence of fonts.
11126
11127 * xterm.h (x_new_fontset): Adjust prototype.
11128
11129 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11130 string. Use new_fontset_from_font_name to create a fontset from a
11131 font name.
11132
111332008-02-01 Kenichi Handa <handa@m17n.org>
11134
11135 * syntax.c (Vfind_word_boundary_function_table): New name for
11136 Vnext_word_boundary_function_table.
11137 (find-word-boundary-function-table): New name for
11138 next-word-boundary-function-table.
11139
111402008-02-01 Dave Love <fx@gnu.org>
11141
11142 * Makefile.in: Fix some dependencies.
11143
11144 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11145 set it to nil before returning.
11146
11147 * composite.c (update_compositions): Fix type error.
11148
11149 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11150
111512008-02-01 Kenichi Handa <handa@m17n.org>
11152
11153 * xterm.c (x_new_font): Optimize for the case that the font is
11154 already set for the frame.
11155
111562008-02-01 Kenichi Handa <handa@m17n.org>
11157
11158 * chartab.c (char_table_ascii): Check if the char table contents
11159 is sub-char-table or not.
11160 (char_table_set, char_table_set_range): Fix argument to
11161 char_table_ascii.
11162
11163 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11164 (detect_coding_utf_8, detect_coding_utf_16)
11165 (detect_coding_emacs_mule, detect_coding_iso_2022)
11166 (detect_coding_sjis, detect_coding_big5)
11167 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11168 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11169 sequence is valid in this coding system. Change callers.
11170 (MAX_ANNOTATION_LENGTH): New macro.
11171 (ADD_ANNOTATION_DATA): New macro.
11172 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11173 ADD_ANNOTATION_DATA. Change the format of annotation data.
11174 (ADD_CHARSET_DATA): New macro.
11175 (emacs_mule_char): New argument ID. Change callers.
11176 (decode_coding_emacs_mule, decode_coding_iso_2022)
11177 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11178 Produce charset annotation data in coding->charbuf.
11179 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11180 to charset annotation data in coding->charbuf.
11181 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11182 coding->common_flags if the coding system is iso-2022 based and
11183 uses designation.
11184 (produce_composition): Adjust for the new annotation data format.
11185 (produce_charset): New function.
11186 (produce_annotation): Handle charset annotation.
11187 (handle_composition_annotation, handle_charset_annotation): New
11188 functions.
11189 (consume_chars): Handle charset annotation. Utilize the above two
11190 functions.
11191 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11192 buffer, get the deleted text as a string and set
11193 coding->src_object to that string.
11194 (detect_coding, detect_coding_system): Use the new struct
11195 coding_detection_info.
11196
11197 * coding.h (struct coding_detection_info): New structure.
11198 (struct coding_system): Adjust prototype of the member `detector'.
11199 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11200
112012008-02-01 Kenichi Handa <handa@m17n.org>
11202
11203 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11204
112052008-02-01 Dave Love <fx@gnu.org>
11206
11207 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11208 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11209 to new local and nullify apropos_accumulate before returning.
11210 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11211
112122008-02-01 Kenichi Handa <handa@m17n.org>
11213
11214 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11215 correctly.
e3eea1fc 11216
aac0c6e3
MR
112172008-02-01 Dave Love <fx@gnu.org>
11218
11219 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11220
112212008-02-01 Kenichi Handa <handa@m17n.org>
11222
11223 The following changes are to make character composition happen
11224 automatically on displaying.
11225
11226 * Makefile.in (lisp, shortlisp): Add composite.elc.
11227
11228 * composite.h (Qauto_composed, Vauto_composition_function)
11229 (Qauto_composition_function): Extern them.
11230
11231 * composite.c (Vcomposition_function_table)
11232 (Qcomposition_function_table): Delete variables.
11233 (Qauto_composed, Vauto_composition_function)
11234 (Qauto_composition_function): New variables.
11235 (run_composition_function): Don't call
11236 compose-chars-after-function.
11237 (update_compositions): Clear `auto-composed' text property.
11238 (compose_chars_in_text): Delete this function.
11239 (syms_of_composite): Staticpro Qauto_composed and
11240 Qauto_composition_function. Declare Vauto_composition_function as
11241 a Lisp variable.
11242
11243 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11244
11245 * xdisp.c (it_props): Add an entry for Qauto_composed.
11246 (handle_auto_composed_prop): New function.
11247
11248 * xselect.c (selection_data_to_lisp_data): Don't call
11249 compose_chars_in_text.
11250
112512008-02-01 Dave Love <fx@gnu.org>
11252
11253 * keyboard.c (read_char): Modify checking around use of
11254 Vkeyboard_translate_table.
11255
11256 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11257 and fix C types.
11258
112592008-02-01 Kenichi Handa <handa@m17n.org>
11260
11261 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11262 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11263 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11264 the case that the last byte is '\r' correctly.
11265 (decode_coding): Flush out the unprocessed data correctly.
11266 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11267
112682008-02-01 Dave Love <fx@gnu.org>
11269
11270 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11271 Add XK_ISO... case.
11272 (xaw_scroll_callback): Revert last change.
11273
112742008-02-01 Kenichi Handa <handa@m17n.org>
11275
11276 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11277
112782008-02-01 Kenichi Handa <handa@m17n.org>
11279
11280 * xfaces.c (Vface_resizing_fonts): New variable.
11281 (struct font_name): New member `resizing_ratio'.
11282 (font_resizing_ratio): New function.
11283 (split_font_name): Set font->resizing_ratio.
11284 (better_font_p): Pay attention to font->resizing_ratio.
11285 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11286 RESX, and RESY fields.
11287 (try_alternative_families): Try scalable fonts if
11288 Vscalable_fonts_allowed is not Qt.
11289 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11290
112912008-02-01 Dave Love <fx@gnu.org>
11292
11293 * xterm.c (xaw_scroll_callback): Cast correctly.
11294
112952008-02-01 Dave Love <fx@gnu.org>
11296
11297 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11298 (lispy_kana_keys): Comment out.
11299 (make_lispy_event) [XK_kana_A]: Comment out.
11300
11301 * xterm.c (xaw_scroll_callback): Cast call_data.
11302 (XTread_socket): Deal with ASCII keysyms.
11303 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11304
113052008-02-01 Dave Love <fx@gnu.org>
11306
11307 * xterm.c (Vx_keysym_table): New.
11308 (syms_of_xterm): Initialize it.
11309 (XTread_socket): Use it.
11310 From head: Eliminate incorrect optimization that tried to avoid
11311 decoding the output of X*LookupString.
11312 (x_get_font_repertory): Delete charset declaration.
11313
113142008-02-01 Kenichi Handa <handa@m17n.org>
11315
11316 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11317 return 0.
11318 (Fdefine_coding_system_internal): Setup
11319 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11320
113212008-02-01 Dave Love <fx@gnu.org>
11322
11323 * coding.c (Fcheck_coding_system): Doc fix.
11324
11325 * editfns.c (Finsert_byte): Return a proper value.
11326
113272008-02-01 Kenichi Handa <handa@m17n.org>
11328
11329 * coding.c (decode_coding): Fix args to translate_chars. Pay
11330 attention to Vstandard_translation_table_for_decode.
11331 (encode_coding): Fix args to translate_chars. Pay attention to
11332 Vstandard_translation_table_for_encode.
11333
11334 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11335 SINGLE_BYTE_CHAR_P.
11336
11337 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11338 not by SINGLE_BYTE_CHAR_P.
11339
11340 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11341 SINGLE_BYTE_CHAR_P.
11342
11343 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11344 SINGLE_BYTE_CHAR_P.
11345
11346 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11347 by SINGLE_BYTE_CHAR_P.
11348
11349 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11350 SINGLE_BYTE_CHAR_P.
11351
113522008-02-01 Dave Love <fx@gnu.org>
11353
11354 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11355
113562008-02-01 Dave Love <fx@gnu.org>
11357
11358 * fns.c (Flanginfo): Fix typo.
11359
11360 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11361
113622008-02-01 Kenichi Handa <handa@m17n.org>
11363
11364 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11365 (detect_coding_emacs_mule, detect_coding_iso_2022)
11366 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11367 incomplete byte sequence. Don't update *mask when correctly detected.
11368 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11369 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11370 (detect_coding, detect_coding_system): Adjust for the changes above.
11371
113722008-02-01 Kenichi Handa <handa@m17n.org>
11373
11374 * character.c (char_string): Rename from
11375 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11376 (string_char): Rename from string_char.
11377
11378 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11379 if C is greater than MAX_3_BYTE_CHAR.
11380 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11381 string_char instead of string_char_with_unification.
11382
113832008-02-01 Dave Love <fx@gnu.org>
11384
11385 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11386
113872008-02-01 Kenichi Handa <handa@m17n.org>
11388
11389 * keymap.c (push_key_description): Pay attention to force_multibyte.
11390
11391 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11392
113932008-02-01 Dave Love <fx@gnu.org>
11394
11395 * charset.c (define_charset_internal): Rename `supprementary'.
11396
11397 * Makefile.in (lisp, shortlisp): Remove latin-N.
11398
113992008-02-01 Dave Love <fx@gnu.org>
11400
11401 * xfns.c (x_window, x_window): Use use_xim.
11402
11403 * xterm.c (use_xim): Initialize.
11404 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11405 (x_term_init): Maybe set use_xim.
11406
11407 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11408
114092008-02-01 Kenichi Handa <handa@m17n.org>
11410
11411 * search.c (search_buffer): Fix case-fold-search of multibyte
11412 characters.
11413 (boyer_moore): Rename the last argument to char_high_bits.
11414
114152008-02-01 Kenichi Handa <handa@m17n.org>
11416
11417 * xdisp.c (display_string): Fix for the case of zero width glyph.
11418
11419 * xfns.c (x_set_font): Change the error message of the case that
11420 x_new_fontset returns Qt.
11421
11422 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11423 (Finternal_set_lisp_face_attribute): Use signal_error for the
11424 error of invalid fontset.
11425
11426 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11427 fontset, return Qt.
11428
114292008-02-01 Dave Love <fx@gnu.org>
11430
11431 * unexelf.c (unexec): Make .got handling not SGI-specific.
11432
11433 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11434
11435 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11436
11437 * keyboard.c (read_key_sequence): Fix type error.
11438
11439 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11440 type error.
11441
11442 * fontset.c (fontset_add): Return Lisp_Object.
11443
114442008-02-01 Dave Love <fx@gnu.org>
11445
11446 * charset.h (charset_ordered_list_tick): Declare extern.
11447
114482008-02-01 Kenichi Handa <handa@m17n.org>
11449
11450 The following changes (and some of 2008-02-01 changes of mine) are
11451 for handling syntax, category, and case conversion for unibyte
11452 characters by converting them to multibyte on the fly. With these
11453 changes, we don't have to setup syntax and case tables for unibyte
11454 characters in each language environment.
11455
11456 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11457 multibyte if necessary.
11458
11459 * bytecode.c (Fbyte_code): Likewise.
11460
11461 * character.h (LEADING_CODE_LATIN_1_MIN)
11462 (LEADING_CODE_LATIN_1_MAX): New macros.
11463 (unibyte_to_multibyte_table): Extern it.
11464 (unibyte_char_to_multibyte): New macro.
11465 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11466 (CHAR_LEADING_CODE): New macro.
11467 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11468
11469 * character.c (unibyte_to_multibyte_table): New variable.
11470 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11471 (multibyte_char_to_unibyte): If C is an eight-bit character,
11472 convert it to the corresponding byte value.
11473
11474 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11475 not 1, signals an error. Update the elements of
11476 unibyte_to_multibyte_table.
11477 (init_charset_once): Initialize unibyte_to_multibyte_table.
11478 (syms_of_charset): Define the charset `iso-8859-1'.
11479
11480 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11481 as is without converting it to unibyte. In a unibyte buffer,
11482 convert C to multibyte before checking the syntax.
11483
11484 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11485
11486 * minibuf.c (Fminibuffer_complete_word): Use the macro
11487 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11488
11489 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11490
11491 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11492 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11493 that is zero, convert an eight-bit char to multibyte.
11494 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11495 non-emacs case.
11496 (PATFETCH): Convert an eight-bit char to multibyte.
11497 (HANDLE_UNIBYTE_RANGE): New macro.
11498 (regex_compile): Setup the compiled pattern for multibyte chars
11499 even if the given regex string is unibyte. Use PATFETCH_RAW
11500 instead of PATFETCH in many places. To handle `charset'
11501 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11502 only for ASCII chars.
11503 (analyse_first) <exactn>: Simplify because the compiled pattern
11504 is multibyte.
11505 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11506 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11507 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11508 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11509 multibyte always 1.
11510 (re_search_2): In emacs, set the locale variable multibyte to 1,
11511 otherwise to 0. New local variable target_multibyte. Check it
11512 to decide the multibyteness of STR1 and STR2. If
11513 target_multibyte is zero, convert unibyte chars to multibyte
11514 before translating and checking fastmap.
11515 (TARGET_CHAR_AND_LENGTH): New macro.
11516 (re_match_2_internal): In emacs, set the locale variable multibyte
11517 to 1, otherwise to 0. New local variable target_multibyte. Check
11518 it to decide the multibyteness of STR1 and STR2. Use
11519 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11520 <charset, charset_not>: If multibyte is nonzero, check fastmap
11521 only for ASCII chars. Call bcmp_translate with
11522 target_multibyte, not with multibyte.
11523 <begline>: Declare the local variable C as `unsigned'.
11524 (bcmp_translate): Change the last arg name to target_multibyte.
11525
11526 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11527 the regexp pattern and the matching target. Set cp->buf.multibyte
11528 to the multibyteness of the regexp pattern. Set
11529 cp->but.target_multibyte to the multibyteness of the matching target.
11530 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11531 FETCH_STRING_CHAR_ADVANCE.
11532 (Freplace_match): Convert unibyte chars to multibyte.
11533
11534 * syntax.c (char_quoted, back_comment, scan_words)
11535 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11536 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11537 unibyte chars to multibyte.
11538 (skip_chars): Delete the arg syntaxp, and move the code for
11539 handling syntaxes to skip_syntaxes. Change callers.
11540 Fix the case that the multibyteness of STRING and the current
11541 buffer doesn't match.
11542 (skip_syntaxes): New function.
11543 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11544 SINGLE_BYTE_CHAR_P.
11545
115462008-02-01 Kenichi Handa <handa@m17n.org>
11547
11548 * xfaces.c (QCfontset): New variable.
11549 (LFACE_FONTSET): New macro.
11550 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11551 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11552 (Finternal_set_lisp_face_attribute)
11553 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11554 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11555 check also LFACE_FONTSET_INDEX.
11556 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11557 attrs[LFACE_FONT_INDEX].
11558 (syms_of_xfaces): Intern and staticpro QCfontset.
11559
11560 * dispextern.h (enum lface_attribute_index): New member
11561 LFACE_FONTSET_INDEX.
11562
11563 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11564
115652008-02-01 Kenichi Handa <handa@m17n.org>
11566
11567 * coding.c (coding_set_destination): Fix coding->destination for
11568 the case converting a region.
11569 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11570 (encode_coding_object): Fix coding->dst_pos and
11571 coding->dst_pos_byte for the case converting a region.
11572
11573 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11574
11575 * character.h (BYTE8_STRING): New macro.
11576
11577 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11578
115792008-02-01 Kenichi Handa <handa@m17n.org>
11580
11581 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11582 characters by octal form.
11583
11584 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11585
11586 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11587 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11588 _fetch_multibyte_char_len.
11589 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11590
11591 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11592
11593 * casefiddle.c (casify_object): Simplify. Handle the case that
11594 the case conversion change the byte length.
11595 (casify_region): Likewise.
11596
11597 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11598
11599 * character.c (_fetch_multibyte_char_len): Delete this variable.
11600 (syms_of_character): Setup Vprintable_chars.
11601
11602 * editfns.c (Fchar_equal): Fix for the unibyte case.
11603 (Finsert_byte): New function.
11604 (syms_of_editfns): Defsubr it.
11605
11606 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11607 of direct code 0x3ffff.
11608
11609 * search.c (Freplace_match): Fix for the unibyte case.
11610
116112008-02-01 Kenichi Handa <handa@m17n.org>
11612
11613 * lread.c (safe_to_load_p): Fix the logic.
11614
11615 * syntax.c (scan_words): Don't treat characters belonging to
11616 different scripts as constituting a word.
11617
11618 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11619
11620 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11621
11622 * emacs.c (main): In the case of --unibyte, instead of aborting on
11623 finding non-empty buffer, make it unibyte.
11624
116252008-02-01 Kenichi Handa <handa@m17n.org>
11626
11627 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11628 to create a fontset.
11629
116302008-02-01 Dave Love <fx@gnu.org>
11631
11632 * character.c (Funibyte_char_to_multibyte): Doc fix.
11633
11634 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11635
116362008-02-01 Kenichi Handa <handa@m17n.org>
11637
11638 * fontset.c (fontset_add): Make the type `int'.
11639 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11640
11641 * character.c (unibyte_char_to_multibyte)
11642 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11643 charset_unibyte, not charset_primary.
11644
11645 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11646
11647 * charset.c (charset_unibyte): Rename from charset_primary.
11648 (Funibyte_charset): Rename from Fprimary_charset.
11649 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11650 (syms_of_charset): Adjust for the above changes.
11651
11652 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11653 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11654 it->multibyte_p is zero.
11655
11656 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11657 Delete extern.
11658
116592008-02-01 Kenichi Handa <handa@m17n.org>
11660
11661 * coding.c (Fdefine_coding_system_internal): Fix category setting
11662 for a coding system of type iso-2022.
11663
116642008-02-01 Kenichi Handa <handa@m17n.org>
11665
11666 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11667
116682008-02-01 Kenichi Handa <handa@m17n.org>
11669
11670 * syntax.c (Vnext_word_boundary_function_table): New variable.
11671 (next-word-boundary-function-table): Declare it as a Lisp variable
11672 in syms_of_syntax.
11673 (scan_words): Call functions in Vnext_word_boundary_function_table
11674 if any.
11675
11676 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11677
11678 * fontset.c (fs_load_font): If fontp->charset is not negative,
11679 return fontp without setting its members.
11680
116812008-02-01 Dave Love <fx@gnu.org>
11682
11683 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11684
11685 * m/sparc.h (HAVE_ALLOCA): Delete.
11686
11687 * s/irix6-5.h: Don't include strings.h.
11688 (bcopy, bzero, bcmp): Don't undef.
11689
11690 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11691
11692 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11693 (TIOCSIGSEND): Don't test IRIX6.
11694 (bcopy, bzero, bcmp): Define conditionally.
11695
116962008-02-01 Kenichi Handa <handa@m17n.org>
11697
11698 * buffer.c (Qas, Qmake, Qto): New variables.
11699 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11700 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11701
11702 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11703 we are inserting a process output into a multibyte buffer.
11704
11705 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11706 multibyte_char_to_unibyte.
11707
11708 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11709 by the primary charset, make it eight-bit char.
11710 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11711
11712 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11713 (charset_8_bit__control, charset_8_bit_graphic)
11714 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11715 (define_charset_internal): New function.
11716 (syms_of_charset): Call define_charset_internal for pre-defined
11717 charsets.
11718
11719 * charset.h (charset_8_bit): Extern it.
11720
11721 * coding.c (make_conversion_work_buffer): Adjust for the change
11722 of Fset_buffer_multibyte.
11723 (encode_coding_raw_text): Increment p0 in the loop.
11724
11725 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11726
11727 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11728 for the change of Fset_buffer_multibyte.
11729
11730 * fns.c (Fstring_to_multibyte): New function.
11731 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11732
117332008-02-01 Dave Love <fx@gnu.org>
11734
11735 * xfns.c (x_put_x_image): Declare args.
11736
11737 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11738 (try_font_list): Declare an arg.
11739
11740 * xdisp.c (message2_nolog, set_message): Declare an arg.
11741
11742 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11743
11744 * syntax.c (scan_sexps_forward): Declare an arg.
11745
11746 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11747 Declare an arg.
11748
11749 * lisp.h (Fnew_fontset): Declare.
11750
11751 * keymap.c (push_key_description): Call CHARACTERP correctly.
11752
11753 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11754 (face_for_char): Delete unused vars.
11755 (Fset_fontset_font): Doc fix. Delete unused vars.
11756
11757 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11758
11759 * composite.c (update_compositions): Declare arg.
11760
11761 * cm.c (calccost, cmgoto): Declare args.
11762
11763 * charset.c: Remove `emacs' conditional. Doc fixes.
11764 (map_char_table_for_charset): Declare.
11765
11766 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11767
11768 * ccl.c: Remove `emacs' conditional.
11769
117702008-02-01 Kenichi Handa <handa@m17n.org>
11771
11772 The following changes are to allow specifying multiple font
11773 patterns for a character range (specified by script or charset).
11774
11775 * Makefile.in (abbrev.o): Depend on syntax.h.
11776 (xfaces.o): Depend on charset.h.
11777
11778 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11779 SINGLE_BYTE_CHAR_P.
11780
11781 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11782
11783 * character.h (Vchar_script_table): Extern it.
11784
11785 * character.c (Vscript_alist): Delete.
11786 (Vchar_script_table, Qchar_script_table): New variable.
11787 (syms_of_character): Declare Vchar_script_table as a lisp variable
11788 and initialize it.
11789
11790 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11791 have property char-table-extra-slots, make no extra slot.
11792
11793 * dispextern.h (struct face): Delete member `charset'.
11794 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11795 SINGLE_BYTE_CHAR_P.
11796 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11797 Add prototypes.
11798 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11799 (generate_ascii_font_name): Rename from generate_ascii_font.
11800
11801 * fontset.h (get_font_repertory_func): New prototype.
11802 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11803 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11804
11805 * fontset.c (Qprepend, Qappend): New variables.
11806 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11807 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11808 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11809 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11810 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11811 (load_font_get_repertory): New functions.
11812 (fontset_set): Delete.
11813 (fontset_face): New arg FACE. Return face ID, not face.
11814 Complete re-write to handle new fontset structure. Change caller.
11815 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11816 (face_for_char): Don't call lookup_face.
11817 (make_fontset_for_ascii_face): New arg FACE.
11818 (fs_load_font): New arg CHARSET_ID. Don't check
11819 Vfont_encoding_alist here.
11820 (find_font_encoding): New function.
11821 (list_fontsets): Use STRINGP, not ! NILP.
11822 (accumulate_script_ranges): New function.
11823 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11824 re-written to handle new fontset structure.
11825 (Ffontset_font): Return a copy of element.
11826 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11827 docstring of font-encoding-alist.
11828
11829 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11830 (Fset_fotset_font): Fix arguments to 5.
11831
11832 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11833
11834 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11835 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11836 (highlight_trailing_whitespace): Adjust for the change of
11837 lookup_named_face.
11838
11839 * xfaces.c: Include charset.h.
11840 (load_face_font): Delete argument C. Change caller.
11841 (generate_ascii_font_name): Rename from generate_ascii_font.
11842 (font_name_registry): New function.
11843 (cache_face): Store ascii faces before non-ascii faces in buckets.
11844 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11845 Lookup only ascii faces.
11846 (lookup_non_ascii_face): New function.
11847 (lookup_named_face): Delete argument C. Change caller.
11848 (lookup_derived_face): Delete argument C. Change caller.
11849 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11850 a string, just call font_list with it.
11851 (choose_face_font): Delete arguments FACE and C. New arg
11852 FONT_SPEC. Change caller.
11853 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11854 Change caller.
11855 (realize_non_ascii_face): New function.
11856 (realize_x_face): Call load_face_font here.
11857 (realize_tty_face): Delete argument C. Change caller.
11858 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11859 get a face ID.
11860 (dump_realized_face): Don't print charset of FACE.
11861
11862 * xfns.c (x_set_font): Always call x_new_fontset and
11863 store_frame_parameter.
11864 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11865 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11866
11867 * xterm.h (x_get_font_repertory): Extern it.
11868
11869 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11870 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11871 it->multibyte_p is zero.
11872 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11873 (x_new_fontset): If FONTSETNAME doesn't match any existing
11874 fontsets, create a new one.
11875 (x_get_font_repertory): New function.
11876
118772008-02-01 Kenichi Handa <handa@m17n.org>
11878
11879 * coding.c (Ffind_coding_systems_region_internal): Detect an
11880 ASCII only string correctly.
11881
11882 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11883 version is 0.
11884
118852008-02-01 Kenichi Handa <handa@m17n.org>
11886
11887 * lread.c: Include "coding.h".
11888 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11889 (load_each_byte, unread_char): New variables.
11890 (readchar_backlog): Delete.
11891 (readchar): Return a character unless load_each_byte is nonzero.
11892 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11893 cons. If unread_char is not -1, simply return it.
11894 (unreadchar): Handle the case that readcharfun is
11895 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11896 (read_multibyte): Delete.
11897 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11898 (read_emacs_mule_char): New functions.
11899 (Fload): Even if the file doesn't have the extension ".elc", if
11900 safe_to_load_p returns a positive version number, assume that the
11901 file contains bytecompiled code. If the version is less than 22,
11902 load the file while decoding multibyte sequences by emacs-mule.
11903 (readevalloop): Don't use readchar_backlog.
11904 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11905 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11906 (read_escape): Delete the arg BYTEREP.
11907 (read1): Set load_each_byte to 1 temporarily while handling
11908 #@NUMBER. Don't call read_multibyte.
11909 (read_vector): Call Fread with a cons. If readcharfun is
11910 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11911 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11912 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11913 and Qload_force_doc_strings.
11914
119152008-02-01 Kenichi Handa <handa@m17n.org>
11916
11917 * xdisp.c (face_before_or_after_it_pos): Call
11918 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11919
119202008-02-01 Kenichi Handa <handa@m17n.org>
11921
11922 * character.h (TRAILING_CODE_P): New macro.
11923 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11924 (string_char_with_unification): Fix prototype.
11925 (Vscript_alist): Extern it.
11926
11927 * character.c (Vscript_alist): New variable.
11928 (string_char_with_unification, str_as_unibyte)
11929 (string_escape_byte8): Add `const' to local variables.
11930 (syms_of_character): Declare script-alist as a Lisp variable.
11931
11932 * charset.h (Vcharset_ordered_list): Extern it.
11933 (charset_ordered_list_tick): Extern it.
11934 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11935 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11936 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11937 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11938 (Funify_charset): Adjust for the change of Funify_charset.
11939
11940 * charset.c (charset_ordered_list_tick): New variable.
11941 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11942 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11943 deunify intead of unify a charset.
11944 (string_xstring_p): Add `const' to local variables.
11945 (find_charsets_in_text): Add `const' to arguments and local variables.
11946 (encode_char): Adjust for the change of Funify_charset. Fix
11947 detecting of invalid code.
11948 (Fset_charset_priority): Increment charset_ordered_list_tick.
11949 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11950 and TO_CODE.
11951
11952 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11953 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11954 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11955 (decode_coding_ccl, consume_chars)
11956 (Ffind_coding_systems_region_internal)
11957 (Fcheck_coding_systems_region): Add `const' to local variables.
11958
11959 * print.c (print_object): Use octal form for printing the
11960 contents of a bool vector.
11961
119622008-02-01 Dave Love <fx@gnu.org>
11963
11964 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11965 <version == 20>: Refuse to load.
11966
119672008-02-01 Dave Love <fx@gnu.org>
11968
11969 * fns.c: Move coding.h.
11970 (Qcodeset, Qdays, Qmonths): New.
11971 (concat): Use CHARACTERP instead of INTEGERP.
11972 (Flocale_codeset): Delete.
11973 (Flanginfo): New function.
11974 (syms_of_fns): Change accordingly.
11975
11976 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11977
119782008-02-01 Dave Love <fx@gnu.org>
11979
11980 * casetab.c (init_casetab_once, init_casetab_once): Fix
11981 CHAR_TABLE_SET call.
11982
11983 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11984
11985 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11986
11987 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11988 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11989 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11990
11991 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11992
11993 * coding.c (ENCODE_DESIGNATION, decode_eol)
11994 (make_conversion_work_buffer, code_conversion_restore)
11995 (Fdefine_coding_system_internal): Convert Lisp types.
11996 (code_conversion_restore): Use EQ, not ==.
11997 (Fencode_coding_string): Fix code_convert_string call.
11998
11999 * coding.h (code_convert_region): Fix prototype.
12000
12001 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12002
12003 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12004 (Ffontset_info): Convert Lisp types.
12005
12006 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12007
12008 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12009
12010 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12011
12012 * chartab.c: Include "...h", not <...h> in some cases.
12013
12014 * callproc.c (Fcall_process): Remove unused variables.
12015
120162008-02-01 Dave Love <fx@gnu.org>
12017
12018 * coding.c (Fset_coding_system_priority): Allow null arg list.
12019
120202008-02-01 Dave Love <fx@gnu.org>
12021
12022 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12023 (Fself_insert_and_exit): Use CHARACTERP.
12024
12025 * callproc.c (Fcall_process): Remove unused vars.
12026
12027 * xterm.c (XTread_socket): Add extra dead keysyms.
12028
12029 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12030
12031 * dispextern.h: Remove prototypes for redraw_frame,
12032 redraw_garbaged_frames.
12033
12034 * cmds.c (Fself_insert_command): Use CHARACTERP.
12035
12036 * chartab.c (make_sub_char_table): Remove unused var.
12037 (Fset_char_table_default, Fmap_char_table): Doc fix.
12038
12039 * keymap.c (access_keymap): Remove generic char code.
12040 (push_key_description): Use CHARACTERP.
12041
120422008-02-01 Dave Love <fx@gnu.org>
12043
12044 * charset.c: Doc fixes.
12045 (Funify_charset): Extra checking.
12046
120472008-02-01 Dave Love <fx@gnu.org>
12048
12049 * lread.c: Remove some unused variables.
12050 (safe_to_load_p): If safe, return the magic number version byte.
12051 (Fload): Maybe use load-with-code-conversion.
12052
120532008-02-01 Kenichi Handa <handa@m17n.org>
12054
12055 * category.c (Fmodify_category_entry): Don't modify the contents
12056 of category_set for characters out of the range. Avoid
12057 unnecessary modification.
12058
12059 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12060 Vchar_unify_table. The default value of the table is now nil.
12061
12062 * character.c (syms_of_character): Setup Vchar_width_table for
12063 eight-bit-control and raw-byte chars.
12064
12065 * charset.h (enum define_charset_arg_index): Delete
12066 charset_arg_parents and add charset_arg_subset and
12067 charset_arg_superset.
12068 (enum charset_attr_index): Delete charset_parents and add
12069 charset_subset and charset_superset.
12070 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12071 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12072 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12073 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12074 (CHARSET_SUPERSET): New macros.
12075 (charset_work): Extern it.
12076 (ENCODE_CHAR): Use charset_work.
12077 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12078 (map_charset_chars): Extern it.
12079
12080 * charset.c (load_charset_map): Set the default value of encoder
12081 and deunifier char-tables to nil.
12082 (map_charset_chars): Change argument. Change callers. Use
12083 map_char_table_for_charset instead of map_char_table.
12084 (Fmap_charset_chars): New optional args from_code and to_code.
12085 (Fdefine_charset_internal): Adjust for the change of
12086 `define-charset' (:parents -> :subset or :superset).
12087 (charset_work): New variable.
12088 (encode_char, syms_of_charset): Adjust for the change of
12089 Fdefine_charset_internal.
12090 (Ffind_charset_string): Setup the vector `charsets' correctly.
12091
12092 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12093 the previous change.
12094 (char_table_ref_and_range): Adjust for the above change.
12095 (map_sub_char_table_for_charset): New function.
12096 (map_char_table_for_charset): New function.
12097
12098 * keymap.c (describe_vector): Handle a char-table directly here.
12099 (describe_char_table): Delete.
12100
12101 * lisp.h (map_charset_chars): Delete.
12102
121032008-02-01 Dave Love <fx@gnu.org>
12104
12105 * fns.c (count_combining): Comment out (unused).
12106 (Flocale_codeset): New.
12107 (syms_of_fns): Defsubr it.
12108
12109 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12110 (size_t): Remove.
12111
121122008-02-01 Dave Love <fx@gnu.org>
12113
12114 * Makefile.in (chartab.o): Depend on charset.h.
12115
121162008-02-01 Kenichi Handa <handa@m17n.org>
12117
12118 * character.c (syms_of_character): Set the default value of
12119 Vprintable_chars to Qnil.
12120
121212008-02-01 Dave Love <fx@gnu.org>
12122
12123 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12124
121252008-02-01 Kenichi Handa <handa@m17n.org>
12126
12127 * charset.c (load_charset_map): Handle the case that from < to
12128 correctly.
12129
12130 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12131 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12132 Pay attention to raw-8-bit chars.
12133
121342008-02-01 Kenichi Handa <handa@m17n.org>
12135
12136 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12137 It is not bytecompiled now.
12138
12139 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12140 (charset_jisx0208): New variables.
12141 (Fdefine_charset_internal): Setup them if appropriate.
12142 (init_charset_once): Initialize them to -1.
12143
12144 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12145 (charset_jisx0208): Extern them.
12146
12147 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12148 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12149 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12150 (setup_iso_safe_charsets): Fix arguments to Fassq.
12151 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12152 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12153 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12154 (encode_coding_iso_2022): Change the 1st arg to
12155 ENCODE_ISO_CHARACTER to a variable.
12156
121572008-02-01 Kenichi Handa <handa@m17n.org>
12158
12159 * charset.h (enum define_charset_arg_index): New enums
12160 charset_arg_min_code and charset_arg_max_code.
12161 (struct charset): New member char_index_offset.
12162
12163 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12164 Take charset->char_index_offset into account.
12165 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12166 args[charset_arg_max_code]. Setup charset.char_index_offset.
12167 (syms_of_charset): Fix args to Fdefine_charset_internal.
12168
121692008-02-01 Dave Love <fx@gnu.org>
12170
12171 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12172
121732008-02-01 Dave Love <fx@gnu.org>
12174
12175 * coding.c: Doc fixes.
12176 (Fcoding_system_aliases): Fix return value.
12177 (Qmac): Remove (duplicated) definition.
12178
121792008-02-01 Dave Love <fx@gnu.org>
12180
12181 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12182 functions.
12183
12184 * character.c (Fstring): Doc fix.
12185
12186 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12187
12188 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12189 ids.
12190 (font-encoding-alist): Doc fix.
12191
121922008-02-01 Dave Love <fx@gnu.org>
12193
12194 * term.c (costs_set): Declare static, non-initialized for pcc.
12195 (encode_terminal_code): Remove unused var.
12196
12197 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12198 for K&R.
12199
12200 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12201
12202 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12203 (suffixes): Move out of make_subsidiaries for K&R.
12204
12205 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12206
12207 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12208
122092008-02-01 Dave Love <fx@gnu.org>
12210
12211 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12212
12213 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12214
122152008-02-01 Yong Lu <lyongu@asia-infonet.com>
12216
12217 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12218
12219 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12220
122212008-02-01 Kenichi Handa <handa@m17n.org>
12222
12223 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12224 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12225
122262008-02-01 Kenichi Handa <handa@m17n.org>
12227
12228 * coding.c (decode_coding_charset): Adjust for the change of
12229 Fdefine_coding_system_internal.
12230 (Fdefine_coding_system_internal): For a coding system of
12231 `charset' type, store a list of charset IDs in
12232 `charset_attr_charset_valids' element of coding attributes.
12233
122342008-02-01 Kenichi Handa <handa@m17n.org>
12235
12236 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12237 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12238 caller. Handle 2-byte and 3-byte charsets correctly.
12239 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12240 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12241 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12242 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12243 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12244 sequence.
12245 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12246 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12247 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12248 and alt&rule composition.
12249 (decode_coding_iso_2022): Handle composition correctly.
12250 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12251
12252 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12253 re-defining a charset. If the charset has :emacs-mule-id, setup
12254 emacs_mule_bytes.
12255 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12256
122572008-02-01 Kenichi Handa <handa@m17n.org>
12258
12259 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12260 (encode_coding_big5, encode_coding_charset): If coding requires safe
12261 encoding, produce a character specified by
12262 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12263
122642008-02-01 Dave Love <fx@gnu.org>
12265
12266 * xterm.c (XSetIMValues): Declare.
12267
12268 * process.c: Conditionally include sys/wait.h, pty.h.
12269
12270 * print.c (print_object): Fix print format for 64-bit systems.
12271
12272 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12273
12274 * buffer.c (emacs_strerror): Declare.
12275
12276 * fontset.c (Fclear_face_cache): Declare.
12277 (accumulate_font_info): Comment-out (unused).
12278 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12279 variables.
12280
12281 * character.h (string_escape_byte8): Declare.
12282
12283 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12284 unused vars.
12285 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12286 (Fmap_charset_chars): Doc fix.
12287
12288 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12289 (Fset_coding_system_priority, Fset_coding_system_priority)
12290 (Fdefine_coding_system_internal): Doc fix.
12291
122922008-02-01 Dave Love <fx@gnu.org>
12293
12294 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12295
122962008-02-01 Kenichi Handa <handa@m17n.org>
12297
12298 * character.c (string_escape_byte8): Make multibyte string with
12299 correct size.
12300
12301 * charset.c (Fmake_char): Delete unnecessary code.
12302
123032008-02-01 Kenichi Handa <handa@m17n.org>
12304
12305 * xfns.c (x_encode_text): Allocate coding.destination here, and
12306 call encode_coding_object with dst_object Qnil.
12307
12308 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12309 multibyte form correctly.
12310
12311 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12312 against Vfont_encoding_alist.
12313
12314 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12315 handling of charset list.
12316 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12317 (decode_coding_object): Move point to coding->dst_pos before
12318 calling post-read-conversion function.
12319 (encode_coding_object): Give correct arguments to
12320 pre-write-conversion. Ignore the return value of
12321 pre-write-conversion function. Pay attention to the case that
12322 pre-write-conversion changes the current buffer. If dst_object is
12323 Qt, even if coding->src_bytes is zero, allocate at least one byte
12324 to coding->destination.
12325
12326 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12327
12328 * charset.c (Fmake_char): Make it more backward compatible.
12329 (Fmap_charset_chars): Fix docstring.
12330
123312008-02-01 Dave Love <fx@gnu.org>
12332
12333 * coding.c: Doc fixes.
12334 (Fdefine_coding_system_alias): Use names, not symbols, in
12335 coding-system-alist.
12336
123372008-02-01 Kenichi Handa <handa@m17n.org>
12338
12339 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12340 of calling free_realized_face.
12341
123422008-02-01 Yong Lu <lyongu@asia-infonet.com>
12343
12344 * charset.c (read_hex): Don't treat SPC as a comment starter.
12345 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12346 (Fdecode_char): Fix typo.
12347
123482008-02-01 Kenichi Handa <handa@m17n.org>
12349
12350 * charset.h (struct charset): New member `code_space_mask'.
12351
12352 * coding.c (coding_set_source): Delete the local variable beg_byte.
12353 (encode_coding_charset, Fdefine_coding_system_internal):
12354 Delete the local variable charset.
12355 (Fdefine_coding_system_internal): Setup
12356 attrs[coding_attr_charset_valids] correctly.
12357
12358 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12359 member to check if CODE is valid or not.
12360 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12361 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12362 is within the range of charset->min_code and carset->max_code.
12363
123642008-02-01 Dave Love <fx@gnu.org>
12365
12366 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12367
12368 * dispextern.h (generate_ascii_font): Fix return type.
12369
12370 * xfaces.c (generate_ascii_font): Fix arg declaration.
12371
12372 * coding.c (coding_inherit_eol_type)
12373 (Fset_terminal_coding_system_internal)
12374 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12375
123762008-02-01 Kenichi Handa <handa@m17n.org>
12377
12378 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12379 multiple charsets correctly.
12380
123812008-02-01 Kenichi Handa <handa@m17n.org>
12382
12383 * search.c (boyer_moore): Fix handling of multibyte character
12384 translation.
12385
12386 * xdisp.c (display_mode_element): When the variable `elt' is
12387 changed, update `this' and `lisp_string'.
12388
123892008-02-01 Kenichi Handa <handa@m17n.org>
12390
12391 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12392
12393 * callproc.c (Fcall_process): Be sure to give the current buffer
12394 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12395
12396 * charset.c (struct charset_map_entries): New struct.
12397 (load_charset_map): Rename from parse_charset_map. New args
12398 entries and n_entries. Change caller.
12399 (load_charset_map_from_file): Rename from load_charset_map.
12400 Change caller. New arg control_flag. Call load_charset_map at
12401 the tail.
12402 (load_charset_map_from_vector): New function.
12403 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12404 (encode_char): If the charset is compact, change a character index
12405 to a code point.
12406
12407 * coding.c (coding_alloc_by_making_gap): Check the case that the
12408 source and destination are the same correctly.
12409 (decode_coding_raw_text): Set coding->consumed_char and
12410 coding->consumed to 0.
12411 (produce_chars): If coding->chars_at_source is nonzero, update
12412 coding->consumed_char and coding->consumed before calling
12413 alloc_destination.
12414 (Fdefine_coding_system_alias): Register ALIAS in
12415 Vcoding_system_alist.
12416 (syms_of_coding): Define `no-conversion' coding system at the tail.
12417
12418 * fileio.c (Finsert_file_contents): Set coding_system instead of
12419 val. If the current buffer is multibyte, always call
12420 decode_coding_gap.
12421
12422 * xfaces.c (try_font_list): Give higher priority to fontset's
12423 family than face's family.
12424
124252008-02-01 Kenichi Handa <handa@m17n.org>
12426
12427 * callproc.c (Fcall_process): Be sure to give the current buffer
12428 to decode_coding_c_string.
12429
12430 * xfaces.c (try_font_list): Give a family specified in a fontset
12431 higher priority than a family specified in a face.
12432
124332008-02-01 Kenichi Handa <handa@m17n.org>
12434
12435 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12436 Fix arguments to insert_from_buffer.
12437
12438 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12439
124402008-02-01 Kenichi Handa <handa@m17n.org>
12441
12442 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12443 (decode_coding_gap): Set coding->dst_multibyte correctly.
12444
124452008-02-01 Kenichi Handa <handa@m17n.org>
12446
12447 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12448 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12449 (encode_coding_utf_16): Substitute coding->default_char for
12450 non-Unicode characters.
12451 (decode_coding): Don't call record_insert here.
12452 (setup_coding_system): Initialize `surrogate' of
12453 coding->spec.utf_16 to 0.
12454 (EMIT_ONE_BYTE): Fix for multibyte case.
12455
12456 * insdel.c (insert_from_gap): Call record_insert.
12457
124582008-02-01 Kenichi Handa <handa@m17n.org>
12459
12460 * casefiddle.c (casify_region): Fix multibyte case.
12461
12462 * character.c (c_string_width): Add return type `int'.
12463 (char_string_with_unification): Delete arg ADVANCED.
12464
12465 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12466 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12467 (CHAR_STRING_ADVANCE): Make it do-while statement.
12468
12469 * chartab.c (sub_char_table_set_range): Optimize for the case
12470 DEPTH == 3. Add workaround code for a GCC optimization bug.
12471
12472 * charset.c (parse_charset_map): Remove an unused variable.
12473
12474 * coding.c: Delete unused variables.
12475
12476 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12477 earlier. If inserted is zero and the coding system doesn't
12478 require flushing, don't call decode_coding_gap.
12479
12480 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12481
124822008-02-01 Kenichi Handa <handa@m17n.org>
12483
12484 The following changes are for using Unicode as an internal
12485 character model, and use UTF-8 format for buffer/string
12486 representation.
12487
12488 * .gdbinit (xchartable): Adjust for the change of char table structure.
12489 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12490
12491 * Makefile.in (obj): Add character.o and chartab.o.
12492 (lisp, shortlisp): Remove utf-8.elc.
12493 (*.o): For many files, change dependency on charset.h to
12494 character.h, and add dependency on character.h.
12495 (character.o, chartab.o): New targets.
12496
12497 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12498 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12499 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12500 of "charset.h".
12501
12502 * dired.c, filelock.c: Include "character.h".
12503
12504 * alloc.c: Include "character.h" instead of "charset.h".
12505 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12506 (syms_of_alloc): Remove defsubr for Smake_char_table.
12507
12508 * buffer.c: Include "character.h" instead of "charset.h", don't
12509 include "coding.h".
12510 (Fset_buffer_multibyte): Adjust for UTF-8.
12511
12512 * buffer.h: EXFUN Fbuffer_live_p.
12513
12514 * callproc.c: Include "character.h" instead of "charset.h".
12515 (Fcall_process): Big change for the new code-conversion APIs.
12516
12517 * casetab.c: Include "character.h" instead of "charset.h".
12518 (set_canon, set_identity, shuffle): Adjust for the new
12519 map_char_table spec.
12520 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12521 accessing the char table structure.
12522
12523 * chartab.c: New file that implements char table.
12524
12525 * category.c: Include "character.h".
12526 (copy_category_entry): New function.
12527 (copy_category_table): Call map_char_table and copy_category_entry.
12528 (Fmake_category_table): Initialize all top-level slots.
12529 (char_category_set): New function.
12530 (modify_lower_category_set): Delete.
12531 (Fmodify_category_entry): Call char_table_ref_and_range.
12532
12533 * category.h (CATEGORY_SET): Just call char_category_set.
12534
12535 * ccl.c: Include "character.h".
12536 (Qccl, Qcclp): New variables.
12537 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12538 it's less than 256.
12539 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12540 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12541 and DST type.
12542 (ccl_driver): Change types of argument, adjust code accordingly.
12543 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12544 ccl_driver.
12545 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12546
12547 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12548 New members src_multibyte, dst_multibyte, consumed, and produced.
12549 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12550 (CODING_SPEC_CCL_PROGRAM): New macro.
12551 (ccl_driver): Update prototype.
12552 (Qccl, Qcclp, Fccl_program_p): Extern them.
12553 (CHECK_CCL_PROGRAM): New macro.
12554
12555 * character.c, character.h, chartab.c: New files.
12556
12557 * charset.c: Mostly re-written. Move character and multibyte sequence
12558 handling codes to character.c.
12559
12560 * charset.h: Mostly re-written. Move character and multibyte sequence
12561 handling codes to character.h.
12562
12563 * coding.c, coding.h: Mostly re-written.
12564
12565 * composite.c: Include "character.h" instead of "charset.h".
12566 (CHAR_WIDTH): Move to character.h.
12567 (HASH_KEY, HASH_VALUE): Delete.
12568
12569 * composite.h (enum composition_method): Change order of enumeration
12570 symbols.
12571
12572 * data.c: Include "character.h" instead of "charset.h".
12573 (Faref): Call CHAR_TABLE_REF for a char table.
12574 (Faset): Call CHAR_TABLE_SET for a char table.
12575
12576 * dispextern.h (free_realized_face, check_face_attribytes)
12577 (generate_ascii_font): Extern them.
12578 (free_realized_multibyte_face): Delete extern.
12579
12580 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12581 table structure.
12582
12583 * editfns.c: Include "character.h" instead of "charset.h".
12584 (Fchar_to_string): Always call CHAR_STRING.
12585
12586 * emacs.c (main): Call init_charset_once, init_charset,
12587 syms_of_chartab, and syms_of_character.
12588
12589 * fileio.c: Include "character.h" instead of "charset.h".
12590 (Finsert_file_contents): Big change for the new code-conversion API.
12591 (choose_write_coding_system, Fwrite_region): Likewise.
12592 (build_annotations_2): Delete.
12593 (e_write): Big change for the new code-conversion API.
12594
12595 * fns.c: Include "character.h" instead of "charset.h".
12596 (copy_sub_char_table): Move to chartab.c.
12597 (Fcopy_sequence): Call copy_char_table for a char table.
12598 (concat): Delete codes calling count_multibyte.
12599 (string_char_to_byte, string_byte_to_char): Adjust for the new
12600 multibyte form.
12601 (internal_equal): Adjust for the change of char table structure.
12602 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12603 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12604 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12605 (char_table_translate, optimize_sub_char_table)
12606 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12607 chartab.c.
12608 (char_table_ref_and_index): Delete.
12609 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12610 (Fmd5): Call preferred_coding_system instead of accessing
12611 Vcoding_category_list. Adjust for the new code-conversion API.
12612 (syms_of_fns): Move defsubr for char table related functions to
12613 chartab.c.
12614
12615 * fontset.c: Mostly re-written.
12616
12617 * fontset.h (struct font_info): Change type of the member encoding_type.
12618 (enum FONT_SPEC_INDEX): New enum.
12619 (fontset_font_pattern, fs_load_font): Update prototype.
12620 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12621
12622 * indent.c: Include "character.h" instead of "charset.h".
12623 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12624
12625 * insdel.c: Include "character.h" instead of "charset.h".
12626 (copy_text): Don't refer to Vnonascii_translation_table.
12627 (insert_from_gap): New function.
12628
12629 * keyboard.c: Include "character.h" instead of "charset.h".
12630 (command_loop_1): Never call direct_output_forward_char before
12631 a non-ASCII character.
12632 (read_char): If Vkeyboard_translate_table is a char table, always
12633 translate a character.
12634
12635 * keymap.c: Include "character.h".
12636 (store_in_keymap): Handle the case that IDX is a cons.
12637 (Fdefine_key): Handle the case that KEY is a cons and the car part
12638 is also a cons (range).
12639 (push_key_description): Adjust for the new character code.
12640 (describe_vector): Call describe_char_table for a char table.
12641 (describe_char_table): New function.
12642
12643 * keymap.h (describe_char_table): Extern it.
12644
12645 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12646 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12647 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12648 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12649 Delete.
12650 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12651 structure.
12652 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12653 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12654 (CHARTAB_SIZE_BITS_3): New macros.
12655 (chartab_size): Extern it.
12656 (struct Lisp_Char_Table): Re-design.
12657 (struct Lisp_Sub_Char_Table): New structure.
12658 (HASH_KEY, HASH_VALUE): Move from fns.c.
12659 (CHARACTERBITS): Define as 22.
12660 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12661 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12662 (GC_SUB_CHAR_TABLE_P): New macro.
12663 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12664 (code_convert_string_norecord): Deleted extern.
12665 (init_character_once, syms_of_character, init_charset)
12666 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12667
12668 * lread.c: Include "character.h".
12669 (read_multibyte): New arg NBYTES.
12670 (read_escape): Change the meaning of returned *BYTEREP.
12671 (to_multibyte): Delete.
12672 (read1): Adjust the handling of char table and string.
12673
12674 * print.c: Include "character.h" instead of "charset.h".
12675 (print_string): Convert 8-bit raw bytes to octal form by
12676 string_escape_byte8.
12677 (print_object): Adjust for the new multibyte form. Print 8-bit
12678 raw bytes always in octal form. Handle sub char table correctly.
12679
12680 * process.c: Include "character.h" instead of "charset.h".
12681 (read_process_output, send_process): Adjust for the new
12682 code-conversion API.
12683
12684 * puresize.h (BASE_PURESIZE): Increase.
12685
12686 * regex.c: Include "character.h" instead of "charset.h".
12687 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12688 (regex_compile): Accept a range whose starting and ending
12689 character have different leading bytes.
12690 (analyse_first): Adjust for the above change.
12691
12692 * search.c: Include "character.h" instead of "charset.h".
12693 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12694 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12695
12696 * syntax.c: Include "character.h" instead of "charset.h".
12697 (syntax_parent_lookup): Delete.
12698 (Fmodify_syntax_entry): Accept a cons as CHAR.
12699 (skip_chars): Adjust for the new multibyte form.
12700 (init_syntax_once): Call char_table_set_range instead of directly
12701 accessing the structure of a char table.
12702
12703 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12704 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12705 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12706 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12707
12708 * term.c: Include "buffer.h" and "character.h".
12709 (encode_terminal_code, write_glyphs): Adjust for the new
12710 code-conversion API.
12711 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12712
12713 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12714
12715 * xdisp.c: Include "character.h".
12716 (get_next_display_element): Adjust for the new multibyte form.
12717 (disp_char_vector): Adjust for the new char table structure.
12718 (decode_mode_spec_coding): Adjust for the new structure of
12719 coding system.
12720 (decode_mode_spec): Adjust for the new code-conversion API.
12721
12722 * xfaces.c: Include "character.h" instead of "charset.h".
12723 (load_face_font): Adjust for the change of choose_face_font and
12724 FS_LOAD_FONT.
12725 (generate_ascii_font): New function.
12726 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12727 (set_font_frame_param): Adjust for the change of choose_face_font.
12728 (free_realized_face): Make it public.
12729 (free_realized_faces_for_fontset): Rename from
12730 free_realized_multibyte_face. Free also faces realized for ASCII.
12731 (choose_face_font): Change arguments. Adjust for the change of
12732 fontset_font_pattern and FS_LOAD_FONT.
12733
12734 * xfns.c: Include "character.h".
12735 (x_encode_text): Adjust for the new code-conversion API.
12736
12737 * xselect.c: Don't include "charset.h".
12738 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12739
12740 * xterm.c: Include "character.h".
12741 (x_encode_char): New argument CHARSET. Change caller.
12742 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12743 Call ENCODE_CHAR instead of SPLIT_CHAR.
12744 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12745 CHAR_WIDTH instead of CHARSET_WIDTH.
12746 (XTread_socket): Adjust for the new code-conversion API.
12747 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12748 (x_load_font): Adjust for the change of struct font.
12749
127502008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12751
12752 * xfaces.c (face_at_buffer_position): Remove unused vars.
12753
127542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12755
12756 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12757 Fix overflow checking.
12758
127592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12760
12761 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12762 Cancel previous change.
12763
127642008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12765
12766 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12767 ccl->eight_bit_control. Fix check for buffer overflow.
12768 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12769 (ccl_driver): Initialize extra_bytes to 0.
12770
127712008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12772
12773 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12774 return it ORed with ctrl_modifier.
12775
127762008-01-29 Miles Bader <miles@gnu.org>
12777
12778 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12779
127802008-01-28 Jason Rumney <jasonr@gnu.org>
12781
12782 * w32.c (stat): Don't double check for networked drive.
12783
127842008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12785
12786 * window.c (run_window_configuration_change_hook): New function.
12787 Code extracted from set_window_buffer. Set the selected frame.
12788 (set_window_buffer): Use it.
12789 * window.h (run_window_configuration_change_hook): Declare.
12790 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12791
12792 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12793
127942008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12795
12796 * Makefile.in: Remove references to unused macros.
12797
127982008-01-26 Eli Zaretskii <eliz@gnu.org>
12799
12800 * w32.c (g_b_init_get_sid_sub_authority)
12801 (g_b_init_get_sid_sub_authority_count): New static variables.
12802 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12803 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12804 (init_user_info): Use them to retrieve uid and gid.
12805 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12806 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12807 st_uid and st_gid of the file.
12808
128092008-01-26 Jason Rumney <jasonr@gnu.org>
12810
12811 * w32.c (logon_network_drive): New function.
12812 (stat): Use it.
12813
128142008-01-26 Chong Yidong <cyd@stupidchicken.com>
12815
12816 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12817 invisible text covered with an ellipsis.
12818
128192008-01-25 Richard Stallman <rms@gnu.org>
12820
12821 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12822 jump back to beginning. Move some other initializations after that.
12823 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12824 New variables.
12825 (syms_of_xdisp): Init them.
12826
12827 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12828
12829 * buffer.c (reset_buffer_local_variables):
12830 Implement `permanent-local-hook'.
12831 (Qpermanent_local_hook): New variable.
12832 (syms_of_buffer): Init and staticpro it.
12833
128342008-01-25 Michael Albinus <michael.albinus@gmx.de>
12835
12836 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12837
128382008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12839
12840 * fns.c (Fclrhash): Return TABLE.
12841
128422008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12843
12844 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12845 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12846 is set even without positional changes.
12847 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12848
12849 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12850
128512008-01-23 Jason Rumney <jasonr@gnu.org>
12852
12853 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12854
12855 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12856 the unicode range available in MULE by locale-coding-system.
12857 Improve dbcs lead byte detection. Set event timestamp and modifiers
12858 earlier.
12859
128602008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12861
12862 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12863 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12864 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12865 when used on child processes.
12866
128672008-01-21 Michael Albinus <michael.albinus@gmx.de>
12868
12869 * dbusbind.c (Fdbus_method_return_internal): Rename from
12870 Fdbus_method_return.
12871 (Fdbus_unregister_object): Move to dbus.el.
12872 (Fdbus_call_method, Fdbus_method_return_internal)
12873 (Fdbus_send_signal): Improve debug messages.
12874
128752008-01-20 Martin Rudalics <rudalics@gmx.at>
12876
12877 * undo.c (undo_inhibit_record_point): New variable.
12878 (syms_of_undo): Initialize it.
12879 (record_point): Don't record point when undo_inhibit_record_point
12880 is set.
12881
128822008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12883
12884 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12885
12886 * xdisp.c (Qauto_hscroll_mode): New var.
12887 (syms_of_xdisp): Initialize it.
12888 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12889 window's buffer.
12890 (hscroll_windows): Don't check automatic_hscrolling_p here.
12891
12892 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12893 vscroll if we're setting window-buffer to the value it already has.
12894
128952008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12896
12897 * m/intel386.h: Remove references to XENIX.
12898
128992008-01-17 Andreas Schwab <schwab@suse.de>
12900
12901 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12902 instead of HAVE_X86_64_LIB64_DIR.
12903 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12904
129052008-01-17 Glenn Morris <rgm@gnu.org>
12906
12907 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12908 to HAVE_X86_64_LIB64_DIR.
12909
129102008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12911
12912 * s/irix3-3.h:
12913 * s/irix4-0.h:
12914 * s/386-ix.h:
12915 * s/domain.h:
12916 * s/hpux9-x11r4.h:
12917 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12918
12919 * sysdep.c: Remove code containing references to symbols defined
12920 by unsupported systems.
12921
129222008-01-16 Glenn Morris <rgm@gnu.org>
12923
12924 * coding.c (select-safe-coding-system-function): Doc fix.
12925
129262008-01-15 Glenn Morris <rgm@gnu.org>
12927
12928 * config.in: Revert 2008-01-13 change: this is a generated file.
12929
129302008-01-13 Tom Tromey <tromey@redhat.com>
12931
12932 * lisp.h: Fix typo.
12933
129342008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12935
12936 * m/sequent-ptx.h:
12937 * m/sequent.h:
12938 * s/ptx.h:
12939 * s/ptx4-2.h:
12940 * s/ptx4.h: Remove files for systems no longer supported.
12941
12942 * callproc.c (Fcall_process): Fix previous change.
12943
129442008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12945
12946 * unexsunos4.c: Remove file, system not supported anymore.
12947
12948 * m/mips.h:
12949 * m/intel386.h:
12950 * callproc.c:
12951 * config.in:
12952 * ecrt0.c:
12953 * emacs.c:
12954 * fileio.c:
12955 * frame.c:
12956 * getpagesize.h:
12957 * keyboard.c:
12958 * lread.c:
12959 * process.c:
12960 * puresize.h:
12961 * sysdep.c:
12962 * systty.h:
12963 * syswait.h:
12964 * unexec.c:
12965 * xdisp.c:
12966 * alloc.c: Remove code containing references to symbols defined by
12967 unsupported systems.
12968
129692008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12970
12971 * coding.c (detect_coding_mask): Fix previous change.
12972
129732008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12974
12975 * coding.c (detect_coding_iso2022): New arg
12976 latin_extra_code_state. Allow Latin extra codes only
12977 when *latin_extra_code_state is nonzero.
12978 (detect_coding_mask): If there is a NULL byte, detect the encoding
12979 as UTF-16 or binary. If Latin extra codes exist, detect the
12980 encoding as ISO-2022 only when there's no other proper encoding is
12981 found.
12982
129832008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12984
12985 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12986 #ifdef MAC_OS.
12987
129882008-01-08 Richard Stallman <rms@gnu.org>
12989
12990 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12991
129922008-01-06 Nick Roberts <nickrob@snap.net.nz>
12993
12994 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12995 menu bar in parentheses.
12996
129972008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12998
12999 * m/7300.h:
13000 * m/acorn.h:
13001 * m/alliant-2800.h:
13002 * m/alliant.h:
13003 * m/alliant1.h:
13004 * m/alliant4.h:
13005 * m/altos.h:
13006 * m/amdahl.h:
13007 * m/apollo.h:
13008 * m/att3b.h:
13009 * m/aviion-intel.h:
13010 * m/aviion.h:
13011 * m/celerity.h:
13012 * m/clipper.h:
13013 * m/cnvrgnt.h:
13014 * m/convex.h:
13015 * m/cydra5.h:
13016 * m/delta88k.h:
13017 * m/dpx2.h:
13018 * m/dual.h:
13019 * m/elxsi.h:
13020 * m/f301.h:
13021 * m/gould-np1.h:
13022 * m/gould.h:
13023 * m/i860.h:
13024 * m/ibmps2-aix.h:
13025 * m/ibmrt-aix.h:
13026 * m/ibmrt.h:
13027 * m/irist.h:
13028 * m/is386.h:
13029 * m/isi-ov.h:
13030 * m/mega68.h:
13031 * m/mg1.h:
13032 * m/news-r6.h:
13033 * m/news-risc.h:
13034 * m/news.h:
13035 * m/nh3000.h:
13036 * m/nh4000.h:
13037 * m/ns16000.h:
13038 * m/ns32000.h:
13039 * m/nu.h:
13040 * m/orion.h:
13041 * m/orion105.h:
13042 * m/paragon.h:
13043 * m/pfa50.h:
13044 * m/plexus.h:
13045 * m/pyramid.h:
13046 * m/pyrmips.h:
13047 * m/sh3el.h:
13048 * m/sps7.h:
13049 * m/sr2k.h:
13050 * m/stride.h:
13051 * m/sun1.h:
13052 * m/sun2.h:
13053 * m/sun3-68881.h:
13054 * m/sun3-fpa.h:
13055 * m/sun3-soft.h:
13056 * m/sun3.h:
13057 * m/sun386.h:
13058 * m/symmetry.h:
13059 * m/tad68k.h:
13060 * m/tahoe.h:
13061 * m/targon31.h:
13062 * m/tek4300.h:
13063 * m/tekxd88.h:
13064 * m/tower32.h:
13065 * m/tower32v3.h:
13066 * m/ustation.h:
13067 * m/wicat.h:
13068 * m/xps100.h:
13069 * s/cxux.h:
13070 * s/cxux7.h:
13071 * s/dgux.h:
13072 * s/dgux4.h:
13073 * s/dgux5-4-3.h:
13074 * s/dgux5-4r2.h:
13075 * s/esix.h:
13076 * s/esix5r4.h:
13077 * s/hiuxmpp.h:
13078 * s/hiuxwe2.h:
13079 * s/iris3-5.h:
13080 * s/iris3-6.h:
13081 * s/isc2-2.h:
13082 * s/isc3-0.h:
13083 * s/isc4-0.h:
13084 * s/isc4-1.h:
13085 * s/newsos5.h:
13086 * s/newsos6.h:
13087 * s/osf1.h:
13088 * s/osf5-0.h:
13089 * s/riscix1-1.h:
13090 * s/riscix12.h:
13091 * s/sco4.h:
13092 * s/sco5.h:
13093 * s/sunos4-0.h:
13094 * s/sunos4-1.h:
13095 * s/sunos413.h:
13096 * s/sunos4shr.h:
13097 * s/umax.h:
13098 * s/unipl5-2.h:
13099 * s/xenix.h:
13100 * cxux-crt0.s:
13101 * unexapollo.c:
13102 * unexconvex.c:
13103 * unexenix.c:
13104 * unexsni.c: Remove files for systems no longer supported.
13105
13106 * m/intel386.h: Remove references to unsupported systems.
13107
13108 * w32.c (get_emacs_configuration): Remove reference to i860.
13109
13110 * sysdep.c: Remove dead code.
13111
131122008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13113
13114 * s/rtu.h:
13115 * m/masscomp.h: Remove files. Platform is obsolete.
13116
131172008-01-04 Michael Albinus <michael.albinus@gmx.de>
13118
13119 * dbusbind.c (Fdbus_method_return): New function.
13120 (xd_read_message): Add the serial number to the event.
13121 (Fdbus_register_method): Activate the function.
13122
131232008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13124
13125 * keyboard.c (read_key_sequence): Fix typo.
13126
131272008-01-03 Michael Albinus <michael.albinus@gmx.de>
13128
13129 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13130 (xd_signature, xd_append_arg): Handle element type detection for
13131 empty arrays.
13132 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13133 SDATA () calls; this must be solved more general.
13134 (Fdbus_register_signal): Use SBYTES instead of strlen.
13135
131362008-01-03 Magnus Henoch <magnus@zemdatav>
13137
13138 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13139 unsigned int for byte values (necessary for big-endian platform).
13140 (Fdbus_call_method): Handle the case of no returned arguments.
13141
131422007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13143
13144 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13145
131462007-12-31 Magnus Henoch <mange@freemail.hu>
13147
13148 * dbusbind.c (xd_signature): Signature of variant is just "v".
13149
131502007-12-30 Michael Albinus <michael.albinus@gmx.de>
13151
13152 * dbusbind.c: Fix several errors and compiler warnings.
13153 Reported by Tom Tromey <tromey@redhat.com>.
13154 (XD_ERROR, XD_DEBUG_MESSAGE)
13155 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13156 (xd_append_arg): Part for basic D-Bus types rewritten.
13157 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13158 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13159 appropriate.
13160 (xd_read_message): Return Qnil. Don't signal an error; it is not
13161 useful during event reading.
13162 (Fdbus_register_signal): Signal an error if the check for
13163 FUNCTIONP fails.
13164 (Fdbus_register_method): New function. The implementation is not
13165 complete, the call of the function signals an error therefore.
13166 (Fdbus_unregister_object): New function, renamed from
13167 Fdbus_unregister_signal. The initial check signals an error, if
13168 the object is not well formed.
13169
131702007-12-30 Richard Stallman <rms@gnu.org>
13171
13172 * textprop.c (get_char_property_and_overlay):
13173 Signal error if POSITION is out of range in a buffer.
13174
131752007-12-29 Martin Rudalics <rudalics@gmx.at>
13176
13177 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13178 because the original parameters are in pure storage now.
13179
131802007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13181
13182 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13183
131842007-12-22 Eli Zaretskii <eliz@gnu.org>
13185
13186 * callint.c (syms_of_callint) <command-history>: Add reference to
13187 history-length in the doc string.
13188
131892007-12-17 Jason Rumney <jasonr@gnu.org>
13190
13191 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13192 before passing as wParam.
13193
131942007-12-22 Michael Albinus <michael.albinus@gmx.de>
13195
13196 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13197 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13198 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13199 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13200 as number.
13201 (Fdbus_call_method): Fix docstring.
13202
132032007-12-21 Michael Albinus <michael.albinus@gmx.de>
13204
13205 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13206 New macros.
13207 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13208 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13209 Simplify.
13210 (xd_signature): New function.
13211 (xd_append_arg): Compute also signatures. Major rewrite.
13212 (xd_retrieve_arg): Make debug messages friendly.
13213 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13214 Check for signatures of arguments.
13215
132162007-12-19 Michael Albinus <michael.albinus@gmx.de>
13217
13218 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13219 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13220 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13221 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13222 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13223 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13224 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13225 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13226 (xd_retrieve_value): Remove. Functionality included in ...
13227 (xd_append_arg): New function.
13228 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13229
132302007-12-16 Michael Albinus <michael.albinus@gmx.de>
13231
13232 * dbusbind.c (top): Include <stdio.h>.
13233 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13234 dbus_message_new_method_call and dbus_message_new_signal.
13235 (Fdbus_register_signal): Rename unique_name to uname.
13236 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13237 non-existing unique name. Fix typos in matching rule. Return an
13238 object which is useful in Fdbus_unregister_signal.
13239 (Fdbus_unregister_signal): Reimplementation, in order to remove
13240 only the corresponding entry.
13241 (Vdbus_registered_functions_table): Change the order of entries.
13242 Apply these changes in xd_read_message and Fdbus_register_signal.
13243
132442007-12-16 Andreas Schwab <schwab@suse.de>
13245
13246 * fileio.c (Finsert_file_contents): Fix overflow check to not
13247 depend on undefined integer overflow.
13248
132492007-12-14 Jason Rumney <jasonr@gnu.org>
13250
13251 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13252 for characters above 127.
13253
132542007-12-13 Jason Rumney <jasonr@gnu.org>
13255
13256 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13257 before dereferencing array.
13258 (lookup_vk_code): Remove zero comparison.
13259
132602007-12-14 Michael Albinus <michael.albinus@gmx.de>
13261
13262 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13263 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13264 Use `unsigned int' instead of `uint'.
13265 (xd_read_message, Fdbus_register_signal): Split expressions into
13266 multiple lines before operators "&&" and "||", according to the
13267 GNU Coding Standards.
13268
132692007-12-14 Eli Zaretskii <eliz@gnu.org>
13270
13271 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13272
132732007-12-12 Juri Linkov <juri@jurta.org>
13274
13275 * buffer.c (Frename_buffer): In interactive spec replace
13276 `read-buffer' with `read-string' that uses `buffer-name-history'
13277 as history, and the current buffer's name as default.
13278
132792007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13280
13281 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13282 manipulating the backtrace manually.
13283 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13284 (struct backtrace, backtrace_list): Remove.
13285 (command_loop_1): Remove dead var `no_direct'.
13286
13287 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13288 preserve non-built-in buffer-local variables.
13289 (Fkill_all_local_variables): Don't re-create&re-set permanent
13290 buffer-local variables.
13291
132922007-12-09 Juri Linkov <juri@jurta.org>
13293
13294 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13295 Lisp code that uses `read-buffer' with current buffer as default.
13296
132972007-12-08 Michael Albinus <michael.albinus@gmx.de>
13298
13299 * dbusbind.c (xd_read_message): Generate an event for every
13300 registered handler. There might be several handlers registered
13301 for the same signal.
13302 (Fdbus_register_signal): Don't overwrite a registration for the
13303 same signal. Add a new registration if handlers are different.
13304 (Vdbus_registered_functions_table): Rework doc string.
13305
133062007-12-07 Michael Albinus <michael.albinus@gmx.de>
13307
13308 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13309 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13310 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13311 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13312 Unify argument lists.
13313 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13314 arguments and hash table keys. Use unique name for service.
13315 (Fdbus_unregister_signal): Remove checks.
13316 (Vdbus_registered_functions_table): Fix doc string.
13317
133182007-12-05 Magnus Henoch <mange@freemail.hu>
13319
13320 * process.c (make_process): Initialize pty_flag to 0.
13321
133222007-12-05 Jason Rumney <jasonr@gnu.org>
13323
13324 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13325 specified XBMs.
13326
133272007-12-05 Richard Stallman <rms@gnu.org>
13328
13329 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13330
133312007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13332
13333 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13334 New variable.
13335 (mac_try_close_socket) [MAC_OSX]: New function.
13336 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13337 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13338
13339 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13340 Use mac_try_close_socket.
13341
133422007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13343
13344 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13345 reloc_base.
13346 (copy_dysymtab): Compute relocation base here.
13347 (rebase_reloc_address) [__ppc64__]: New function.
13348 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13349 changed.
13350
133512007-12-05 Jason Rumney <jasonr@gnu.org>
13352
13353 * w32proc.c (sys_spawnve): Quote args with wildcards.
13354
133552007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13356
13357 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13358 __objc_* sections.
13359 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13360
133612007-12-05 Michael Albinus <michael.albinus@gmx.de>
13362
13363 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13364 Move check for Vdbus_registered_functions_table to
13365 xd_read_queued_messages.
13366 (xd_read_queued_messages): Protect xd_read_message calls by
13367 internal_condition_case_1.
13368
133692007-12-04 Michael Albinus <michael.albinus@gmx.de>
13370
13371 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13372 Qdbus_system_bus and Qdbus_session_bus, respectively.
13373 (Vdbus_intern_symbols): Remove.
13374 (Vdbus_registered_functions_table): New hash table.
13375 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13376 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13377 Rewrite in order to manage registered functions by hash table
13378 Vdbus_registered_functions_table.
13379
133802007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13381
13382 * xterm.c: Update URL to Window Manager Specification in comment.
13383
133842007-12-02 Michael Albinus <michael.albinus@gmx.de>
13385
13386 * config.in (HAVE_DBUS): Add.
13387
13388 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13389 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13390 (obj): Add $(DBUS_OBJ).
13391 (LIBES): Add $(DBUS_LIBS).
13392 (dbusbind.o): New target.
13393
13394 * dbusbind.c: New file.
13395
13396 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13397
13398 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13399 (Qdbus_event): New Lisp symbol.
13400 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13401 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13402 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13403
13404 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13405
134062007-12-01 Richard Stallman <rms@gnu.org>
13407
13408 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13409
134102007-11-30 Jason Rumney <jasonr@gnu.org>
13411
13412 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13413 (w32con_reset_terminal_modes): Clear screen buffer.
13414 (w32_face_attributes): Don't use color indexes that are out of range.
13415 Only reverse the default colors.
13416
13417 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13418 WINDOWSNT.
13419
13420 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13421
134222007-11-29 Jason Rumney <jasonr@gnu.org>
13423
13424 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13425 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13426 if the terminal colors are initialized.
13427 (unspecified_fg, unspecified_bg): Remove unused declarations.
13428
134292007-11-29 Andreas Schwab <schwab@suse.de>
13430
13431 * keyboard.c (apply_modifiers): Fix typo.
13432
134332007-11-29 Richard Stallman <rms@gnu.org>
13434
13435 * keymap.c (Fcurrent_local_map): Doc fix.
13436
134372007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13438
13439 * s/gnu-kfreebsd.h: New file.
13440
134412007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13442
13443 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13444 Don't cast redundantly.
13445
13446 * keyboard.c (KEY_TO_CHAR): New macro.
13447 (parse_modifiers, apply_modifiers): Accept integer arguments.
13448 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13449 for chars and symbol keys.
13450 After doing such remapping, apply function-key-map again.
13451
134522007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13453
13454 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13455 compiled anymore.
13456
134572007-11-26 Andreas Schwab <schwab@suse.de>
13458
13459 * process.c (list_processes_1): Fix indentation level of the
13460 command column.
13461
134622007-11-23 Andreas Schwab <schwab@suse.de>
13463
13464 * editfns.c (Fformat): Handle %c specially since it requires the
13465 argument to be of type int.
13466
134672007-11-23 Markus Triska <markus.triska@gmx.at>
13468
13469 * emacs.c (main): Call init_editfns before init_process, since
13470 init_process sets Vprocess_connection_type depending on OS release.
13471
134722007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13473
13474 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13475 (find_symbol_value): Use do_symval_forwarding.
13476
13477 * data.c (set_internal): Set the value in the `cons-cell' (for
13478 Buffer_Local_values) not only for frame-local variables.
13479
134802007-11-22 Andreas Schwab <schwab@suse.de>
13481
13482 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13483 values to sprintf.
13484 * keymap.c (Fsingle_key_description): Likewise.
13485 * print.c (print_object): Likewise.
13486
134872007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13488
13489 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13490 file for image is nil.
13491
134922007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13493
13494 * term.c: Include stdarg.h.
13495 (fatal): Implement using varargs.
13496 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13497
134982007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13499
13500 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13501 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13502 Update call to buffer_slot_type_mismatch.
13503 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13504 (buffer_slot_type_mismatch): Update.
13505 * buffer.c (buffer_local_types): Remove.
13506 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13507 (defvar_per_buffer): Set the type in the buffer_objfwd.
13508
135092007-11-21 Jason Rumney <jasonr@gnu.org>
13510
13511 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13512 CreateFileMapping returns NULL on failure.
13513
135142007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13515
13516 * search.c (Fset_match_data): Remove the `evaporate' feature.
13517 (unwind_set_match_data): Don't use the `evaporate' feature.
13518
135192007-11-21 Jason Rumney <jasonr@gnu.org>
13520
13521 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13522
13523 * w32console.c (w32con_write_glyphs): Remove unused variables.
13524
135252007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13526
13527 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13528
13529 * s/darwin.h (MULTI_KBOARD): Remove.
13530
13531 * macfns.c (x_create_tip_frame, Fx_create_frame)
13532 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13533
135342007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13535
13536 * buffer.c (Fbuffer_local_value): Remove redundant test.
13537 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13538 than in `current-buffer' to match the comment.
13539 Do the swap using swap_in_global_binding.
13540
13541 * data.c (store_symval_forwarding, set_internal):
13542 * eval.c (specbind): Remove dead code.
13543
13544 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13545 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13546 Since we do not want to see internal Lisp_*fwd objects here.
13547
135482007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13549
13550 * sysdep.c (init_system_name): Use getaddrinfo if available.
13551
13552 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13553 (x_scroll_bar_note_movement): start, end, with, height in struct
13554 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13555
135562007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13557
13558 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13559
135602007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13561
13562 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13563 This undoes Richard's change of 14-Oct-2002.
13564
13565 * alloc.c (allocate_other_vector):
13566 * lisp.h (allocate_other_vector): Remove.
13567
13568 * window.c (struct save_window_data): Move non-lisp data to the end
13569 and make it `int' rather than Lisp_Object.
13570 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13571 Done wrap/unwrap integer values.
13572 (Fset_window_configuration, compare_window_configurations):
13573 Update use of fields to their new types.
13574
13575 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13576 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13577 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13578 (SET_SCROLL_BAR_X_WINDOW): Remove.
13579 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13580 Access the new x_window field directly.
13581 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13582 Don't wrap/unwrap integers into Lisp_Objects.
13583 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13584 (x_scroll_bar_report_motion):
13585 Don't wrap/unwrap integers into Lisp_Objects.
13586 (x_term_init): Use SDATA.
13587 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13588 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13589 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13590 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13591 * xfns.c (x_set_background_color):
13592 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13593 Access the new x_window field directly.
13594
13595 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13596 (allocate_pseudovector): Make non-static.
13597
13598 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13599 (allocate_pseudovector): Declare.
13600 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13601
136022007-11-15 Andreas Schwab <schwab@suse.de>
13603
13604 * editfns.c (Fformat): Correctly format EMACS_INT values.
13605 Also take precision into account when formatting an integer.
13606
13607 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13608
136092007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13610
13611 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13612 (syms_of_keyboard): Defsubr it.
13613
13614 * data.c (swap_in_global_binding): Fix longstanding bug where
13615 store_symval_forwarding was not called with the right second argument,
13616 thus causing objfwd-ing from being dropped.
13617
136182007-11-14 Juanma Barranquero <lekktu@gmail.com>
13619
13620 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13621 (Fx_display_pixel_height, Fx_display_planes)
13622 (Fx_display_color_cells, Fx_server_max_request_size)
13623 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13624 (Fx_display_visual_class, Fx_display_save_under):
13625 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13626 (Fx_display_pixel_height, Fx_display_planes)
13627 (Fx_display_color_cells, Fx_server_max_request_size)
13628 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13629 (Fx_display_mm_height, Fx_display_mm_width)
13630 (Fx_display_backing_store, Fx_display_visual_class)
13631 (Fw32_select_font, Fx_display_save_under):
13632 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13633 (Fx_display_pixel_height, Fx_display_planes)
13634 (Fx_display_color_cells, Fx_server_max_request_size)
13635 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13636 (Fx_display_save_under): Fix typos in docstrings.
13637
136382007-11-14 Juanma Barranquero <lekktu@gmail.com>
13639
13640 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13641 corresponding to deleted entries; they are an implementation detail.
13642 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13643 Remove variables.
13644 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13645 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13646 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13647 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13648 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13649 (Fw32_define_rgb_color, Fw32_load_color_file)
13650 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13651 Fix typos in docstrings.
13652 (Fx_server_version): Reflow docstring.
13653 (Fw32_shell_execute): Doc fixes.
13654
136552007-11-13 Juanma Barranquero <lekktu@gmail.com>
13656
13657 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13658 if w32_parse_hot_key returned nil.
13659
136602007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13661
13662 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13663
136642007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13665
aac0c6e3
MR
13666 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13667
13668 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13669
13670 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13671 Remove W32_SCROLL_BAR_CLICK_EVENT.
13672
13673 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13674 Add MULTIMEDIA_KEY_EVENT.
13675
13676 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13677 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13678 (make_lispy_event) [WINDOWSNT]: Use it to translate
13679 MULTIMEDIA_KEY_EVENT.
13680
13681 * w32term.h (WM_APPCOMMAND): Define if not already.
13682 (GET_APPCOMMAND_LPARAM): Likewise.
13683
13684 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13685 WM_APPCOMMAND.
13686
13687 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13688 (syms_of_w32fns): Export and initialize it.
13689 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13690
136912007-11-09 Chong Yidong <cyd@stupidchicken.com>
13692
13693 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13694 twice.
13695
13696 * xdisp.c (handle_face_prop): Fix last change.
13697
136982007-11-09 Richard Stallman <rms@gnu.org>
13699
13700 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13701 not just for after-strings and before-strings.
13702 Call face_for_overlay_string and pass the overlay to it.
13703 (handle_display_prop): Determine whether property came from an overlay.
13704 Pass OVERLAY arg to handle_single_display_spec.
13705 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13706 (load_overlay_strings): Fill in it->string_overlays.
13707 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13708
13709 * xfaces.c (face_for_overlay_string): Function renamed from
13710 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13711
13712 * dispextern.h (struct it): New elt string_overlays.
13713 New elt from_overlay, also in stack.
13714 Rearrange a few elements.
13715 (face_for_overlay_string): Decl renamed from
13716 face_at_buffer_position_no_overlays, and add argument.
13717
137182007-11-09 Richard Stallman <rms@gnu.org>
13719
13720 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13721 to get the base face for an overlay string.
13722
13723 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13724
13725 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13726
13727 * xdisp.c (handle_stop): Move some code out of loop.
13728
137292007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13730
13731 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13732 Fix conversion from Lisp object to ATSUFontID.
13733
137342007-11-09 Jason Rumney <jasonr@gnu.org>
13735
13736 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13737
137382007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13739
13740 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13741 Don't assume regions are aligned to page boundary.
13742 (print_load_command_name): Add LC_UUID if defined.
13743
137442007-11-09 Richard Stallman <rms@gnu.org>
13745
13746 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13747
137482007-11-07 Jason Rumney <jasonr@gnu.org>
13749
13750 * s/windows95.h: Remove.
13751
137522007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13753
13754 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13755 abort with a message on unhandled store_type values.
13756
137572007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13758
13759 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13760 Remove HAVE_X11R5 and HAVE_X11R4.
13761
137622007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13763
13764 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13765
137662007-11-01 Johan Bockgård <bojohan@gnu.org>
13767
13768 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13769 Don't set s->stippled_p here, since it has already been set by
13770 x_set_glyph_string_gc from x_draw_glyph_string.
13771
137722007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13773
13774 * sunfns.c: Remove file.
13775
13776 * m/sun386.h:
13777 * m/sun2.h:
13778 * m/sparc.h: Remove Sun windows code.
13779
137802007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13781
13782 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13783 (init_keyboard): Set current_kboard's window-system to nil.
13784 (tty_read_avail_input): Typo.
13785 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13786
137872007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13788
13789 * s/usg5-4.h:
13790 * s/usg5-3.h:
13791 * s/ptx.h:
13792 * m/is386.h:
13793 * m/ibmps2-aix.h:
13794 * Makefile.in: Remove all mentions of X10.
13795
13796 * dispnew.c (syms_of_display): Don't mention version 10.
13797
137982007-10-28 Juanma Barranquero <lekktu@gmail.com>
13799
13800 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13801 ($(BLD)/abbrev.$(O)): Remove.
13802
138032007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13804
13805 Rewrite abbrev.c in Elisp.
13806 * image.c (Qcount): Don't declare as extern.
13807 (syms_of_image): Initialize and staticpro `Qcount'.
13808 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13809 * emacs.c (main): Don't call syms_of_abbrev.
13810 * Makefile.in (obj): Remove abbrev.o.
13811 (abbrev.o): Remove.
13812 * abbrev.c: Remove.
13813
138142007-10-26 Martin Rudalics <rudalics@gmx.at>
13815
13816 * window.c (window_min_size_2): Don't count header-line.
13817
138182007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13819
13820 * frame.h (struct frame): Move all bit fields after the first bit
13821 field to take advantage of the available space. Group all the
13822 chars together to reduce wasted space due to padding.
13823
138242007-10-26 Juanma Barranquero <lekktu@gmail.com>
13825
13826 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13827
13828 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13829 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13830 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13831 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13832 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13833 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13834 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13835 (last_marked, mark_object_loop_halt): Make static.
13836
13837 * frame.c (syms_of_frame) <delete-frame-functions>:
13838 Fix typo in docstring.
13839
138402007-10-25 Juanma Barranquero <lekktu@gmail.com>
13841
13842 * w32.c (init_environment): Fix tiny memory leak.
13843 (w32_get_resource): Remove unused variable `ok'.
13844
138452007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13846
13847 Make `window-system' into a keyboard-local variable (rather than
13848 frame-local as done originally by multi-tty).
13849
13850 * keyboard.h (struct kboard): Add Vwindow_system.
13851 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13852 (mark_kboards): Mark Vwindow_system.
13853
13854 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13855 (init_display): Don't set the obsolete `window-system' frame-param.
13856
13857 * xterm.c (x_term_init):
13858 * w32term.c (w32_create_terminal):
13859 * term.c (init_tty): Set Vwindow_system.
13860 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13861 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13862
13863 * xfns.c (Fx_create_frame, x_create_tip_frame):
13864 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13865 * macfns.c (Fx_create_frame):
13866 Don't set the obsolete `window-system' frame-param.
13867
13868 * frame.h (Qwindow_system): Remove.
13869 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13870 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13871
138722007-10-24 Richard Stallman <rms@gnu.org>
13873
13874 * frame.c (x_figure_window_size): For fullscreen case,
13875 set USPosition | PPosition without clobbering rest of window_prompting.
13876
13877 * keyboard.c (Fcurrent_idle_time): Doc fix.
13878
13879 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13880
138812007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13882
13883 * process.c (unwind_request_sigio): Only define if __ultrix__.
13884
13885 * callproc.c (child_setup): Remove spurious *.
13886
13887 * lisp.h (Fget_text_property): Declare.
13888 (have_menus_p): Declare it here rather than in sys-dep header files.
13889 * macterm.h (have_menus_p):
13890 * msdos.h (have_menus_p):
13891 * xterm.h (have_menus_p): Remove.
13892
13893 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13894 (Fmake_variable_frame_local): Just check the variable's const-ness
13895 rather than checking nil or t.
13896
138972007-10-22 Jason Rumney <jasonr@gnu.org>
13898
13899 * w32fns.c: Include math.h.
13900 (w32_abort): Declaration moved to nt/config.nt.
13901
13902 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13903 (abort): Redefinition moved to nt/config.nt.
13904
13905 * m/windowsnt.h: Remove.
13906
139072007-10-22 Juanma Barranquero <lekktu@gmail.com>
13908
13909 * emacs.c (Fdump_emacs): Fix typo in message.
13910 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13911 <installation-directory>: Reflow docstring.
13912
139132007-10-22 Juri Linkov <juri@jurta.org>
13914
13915 * minibuf.c: Allow minibuffer default to be a list of default values.
13916 With empty input use the first element of this list as returned default.
13917 (string_to_object)
13918 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13919 (read_minibuf): If defalt is cons, set histstring to its car.
13920 (Fread_string): If default_value is cons, set val to its car.
13921 (Fread_buffer): If def is cons, use its car.
13922 (Fcompleting_read): If defalt is cons, set val to its car.
13923
139242007-10-21 Michael Albinus <michael.albinus@gmx.de>
13925
13926 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13927
139282007-10-20 Juanma Barranquero <lekktu@gmail.com>
13929
13930 * doc.c (Fdocumentation): Check for advice in all cases.
13931
139322007-10-19 Chong Yidong <cyd@stupidchicken.com>
13933
13934 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13935
139362007-10-19 Richard Stallman <rms@gnu.org>
13937
13938 * doc.c (Fdocumentation): Check for and handle an advised function.
13939
139402007-10-19 Juanma Barranquero <lekktu@gmail.com>
13941
13942 * process.c (Fset_process_filter): Doc fix.
13943
139442007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13945
13946 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13947 which caused key-translation-map to applied repeatedly (thus breaking
13948 double-mode).
13949
139502007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13951
13952 * xselect.c (x_own_selection, x_handle_selection_clear)
13953 (x_clear_frame_selections):
13954 * w32menu.c (list_of_panes, list_of_items):
13955 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13956 * textprop.c (validate_plist, interval_has_all_properties)
13957 (interval_has_some_properties, interval_has_some_properties_list)
13958 (add_properties, text_property_list):
13959 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13960 * minibuf.c (Fassoc_string):
13961 * macselect.c (x_own_selection, x_clear_frame_selections)
13962 (Fx_disown_selection_internal):
13963 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13964 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13965
139662007-10-17 Chong Yidong <cyd@stupidchicken.com>
13967
13968 * process.c: Link to libs for calling res_init() if available.
13969 (Fmake_network_process): Call res_init() before getaddrinfo or
13970 gethostbyname, if possible.
13971
139722007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13973
13974 * lread.c (read1): Set pvectype for char_tables.
13975
13976 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13977 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13978 Add type checks.
13979 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13980
13981 * alloc.c (free_misc): Use XMISCTYPE.
13982 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13983
139842007-10-17 Glenn Morris <rgm@gnu.org>
13985
13986 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13987 (syms_of_minibuf): Add Qcompletion_ignore_case.
13988 * dired.c (Qcompletion_ignore_case): Change to external.
13989 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13990 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13991 (Fread_file_name): Use it rather than intern'ing.
13992
13993 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13994 (Fread_coding_system): Ignore case of user input.
13995
139962007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13997
13998 * xdisp.c (handle_display_prop): Ignore display specs after
13999 replacing one when string text is being replaced.
14000 (handle_single_display_spec): Pretend as if characters with display
14001 property haven't been consumed only when buffer text is being replaced.
14002
140032007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14004
14005 * xfns.c (Fx_create_frame, Fx_display_list):
14006 * window.c (window_fixed_size_p, enlarge_window)
14007 (shrink_window_lowest_first):
14008 * macterm.c (init_font_name_table):
14009 * macfns.c (Fx_create_frame, Fx_display_list):
14010 * lread.c (close_load_descs):
14011 * keyboard.c (read_char_x_menu_prompt):
14012 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14013 * coding.c (code_convert_region_unwind): Test the type of an object
14014 rather than just !NILP before extracting data from it.
14015
14016 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14017
14018 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14019 (XMISCANY): New macro.
14020 (XMISCTYPE): Use it.
14021 (struct Lisp_Misc_Any): New type.
14022 (union Lisp_Misc): Use it.
14023 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14024 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14025 (find_symbol_value, set_internal, default_value, Fset_default)
14026 (Fmake_variable_buffer_local, Fmake_local_variable)
14027 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14028 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14029 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14030 * alloc.c (allocate_buffer): Set the size and tag.
14031 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14032 Use XMISCANY.
14033 (die): Follow the GNU convention for error messages.
14034 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14035 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14036 tag any more.
14037 (set_buffer_internal_1):
14038 * frame.c (store_frame_param):
14039 * eval.c (specbind):
14040 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14041
14042 * doc.c (Fsnarf_documentation): Simplify.
14043
140442007-10-14 Juanma Barranquero <lekktu@gmail.com>
14045
14046 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14047 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14048
140492007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14050
14051 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14052
140532007-10-14 Juanma Barranquero <lekktu@gmail.com>
14054
14055 * eval.c (do_autoload): Don't save autoloads.
14056
14057 * data.c (Ffset): Save autoload of the function being set.
14058
140592007-10-07 John Paul Wallington <jpw@pobox.com>
14060
14061 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14062 parameter before setting up faces.
14063
140642007-10-13 Eli Zaretskii <eliz@gnu.org>
14065
14066 * ccl.c (Fregister_code_conversion_map):
14067 * keyboard.c (append_tool_bar_item): Reformat last change.
14068
14069 * lisp.h (eabs): Rename from `abs'. All callers changed.
14070
140712007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14072
14073 * buffer.c (add_overlay_mod_hooklist):
14074 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14075 * fontset.c (make_fontset):
14076 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14077 (append_tool_bar_item):
14078 * macmenu.c (grow_menu_items):
14079 * w32menu.c (grow_menu_items):
14080 * xmenu.c (grow_menu_items): Use larger_vector.
14081
140822007-10-13 Eli Zaretskii <eliz@gnu.org>
14083
14084 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14085 selected frame'' on MSDOS).
14086
140872007-10-12 Martin Rudalics <rudalics@gmx.at>
14088
14089 * frame.c (Qexplicit_name): New variable.
14090 (x_report_frame_params): Report it in parameter alist.
14091 (syms_of_frame): Intern and staticpro it.
14092
140932007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14094
14095 * macfns.c (x_create_tip_frame): Set terminal for frame.
14096
140972007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14098
14099 * frame.c (Qenvironment): Remove.
14100 (syms_of_frame) <Qenvironment>: Don't initialize.
14101 (Fdelete_frame): Don't treat the `environment' param specially.
14102 * frame.h (Qenvironment): Don't declare.
14103 * callproc.c (set_initial_environment): Don't set unused frame param.
14104
14105 * frame.c (Fframe_with_environment): Remove.
14106 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14107
14108 * lisp.h (Fframe_with_environment): Don't declare.
14109
141102007-10-10 Juanma Barranquero <lekktu@gmail.com>
14111
14112 * indent.c (indent_tabs_mode, last_known_column)
14113 (last_known_column_modified): Make static.
14114 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14115
141162007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14117
14118 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14119
141202007-10-09 Jason Rumney <jasonr@gnu.org>
14121
14122 * w32term.c (x_set_window_size): Disable code that attempts to tell
14123 Lisp code about a size change before it actually happens.
14124
141252007-10-09 Richard Stallman <rms@gnu.org>
14126
14127 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14128 return HANDLED_RETURN.
14129
141302007-10-08 Martin Rudalics <rudalics@gmx.at>
14131
14132 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14133 when there's an unread command event.
14134
14135 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14136 window autoselection act appropriately when leaving selected frame.
14137 (syms_of_frame): Initialize focus_follows_mouse.
14138 * frame.h (focus_follows_mouse): Extern it.
14139 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14140 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14141 * msdos.c (dos_rawgetc): Likewise.
14142 * w32term.c (w32_read_socket): Likewise.
14143 * xterm.c (handle_one_xevent): Likewise.
14144 * xdisp.c (syms_of_xdisp): In doc-string of
14145 mouse-autoselect-window mention focus-follows-mouse.
14146
141472007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14148
14149 * macterm.c (mac_load_query_font): Fix missing return value.
14150 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14151 Add BLOCK_INPUT.
14152
141532007-10-08 Richard Stallman <rms@gnu.org>
14154
14155 * xdisp.c (get_window_cursor_type): Implement documented behavior
14156 for cursor-in-non-selected-windows = t.
14157
141582007-10-08 Jason Rumney <jasonr@gnu.org>
14159
14160 * w32.c (w32_get_resource): Always close registry keys.
14161
141622007-10-08 Jason Rumney <jasonr@gnu.org>
14163
14164 * makefile.w32-in (LIBS): Add COMCTL32.
14165
14166 * w32fns.c (globals_of_w32fns): Init common controls.
14167
141682007-10-08 Richard Stallman <rms@gnu.org>
14169
14170 * image.c (our_memory_buffer): Rename from omfib_buffer.
14171
141722007-10-08 Richard Stallman <rms@gnu.org>
14173
14174 * buffer.c (Foverlays_at): Doc fix.
14175
141762007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14177
14178 * fns.c (Fplist_put): Preserve uneven tail data.
14179
141802007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14181
14182 * termhooks.h (enum event_kind): Remove trailing comma.
14183
14184 * frame.h (enum): Remove trailing comma.
14185
141862007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14187
14188 * w32proc.c (delete_child): Don't terminate threads of zombies.
14189
141902007-10-08 Martin Rudalics <rudalics@gmx.at>
14191
14192 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14193
14194 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14195 last-repeatable-command.
14196 (init_kboard): Initialize Vlast_repeatable_command.
14197 (command_loop_1): Set it to real_this_command unless that was
14198 bound to an input event.
14199 (mark_kboards): Mark it.
14200
142012007-10-08 Richard Stallman <rms@gnu.org>
14202
14203 * eval.c (condition-case): Doc fix.
14204
142052007-10-08 Masatake YAMATO <jet@gyve.org>
14206
14207 * xfaces.c (tty_supports_face_attributes_p): Fix code
14208 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14209 was copied and not edited.
14210
142112007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14212
14213 Add new `input-decode-map' keymap and use it for terminal
14214 escape sequences.
14215 * keyboard.h (struct kboard): Add Vinput_decode_map.
14216 Remove Vlocal_key_translation_map.
14217 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14218 (init_kboard): Init input-decode-map.
14219 Replace local-key-translation-map back with key-translation-map.
14220 (syms_of_keyboard): Declare input-decode-map.
14221 Remove local-key-translation-map. Update docstrings.
14222 (mark_kboards): Mark Vinput_decode_map.
14223 Don't mark Vlocal_key_translation_map.
14224 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14225 Replace local-key-translation-map back with key-translation-map.
14226 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14227 Bind in input-decode-map rather than function-key-map.
14228
14229 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14230 This was made redundant by the previous introduction of XSETPVECTYPE.
14231
142322007-10-09 Richard Stallman <rms@gnu.org>
14233
14234 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14235
142362007-09-29 Richard Stallman <rms@gnu.org>
14237
14238 * eval.c (internal_condition_case_2, internal_condition_case_1)
14239 (internal_condition_case): Reenable abort if x_catching_errors ()
14240 to see if that really happens and why.
14241
142422007-10-06 Andreas Schwab <schwab@suse.de>
14243
14244 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14245
142462007-10-04 Juanma Barranquero <lekktu@gmail.com>
14247
14248 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14249
142502007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14251
14252 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14253
142542007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14255
14256 * window.h (struct window):
14257 * window.c (struct save_window_data, struct saved_window):
14258 * termhooks.h (struct terminal):
14259 * process.h (struct Lisp_Process):
14260 * frame.h (struct frame):
14261 * buffer.h (struct buffer):
14262 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14263 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14264 The size field of (pseudo)vectors is now unsigned.
14265 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14266
14267 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14268 Turn `count' into an integer.
14269
14270 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14271 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14272 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14273 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14274 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14275
14276 * alloc.c (allocate_pseudovector): New fun.
14277 (ALLOCATE_PSEUDOVECTOR): New macro.
14278 (allocate_window, allocate_terminal, allocate_frame)
14279 (allocate_process): Use it.
14280 (mark_vectorlike): New function.
14281 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14282 (mark_terminals): Use it.
14283 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14284 (Fmake_byte_code): Use XSETPVECTYPE.
14285
14286 * frame.c (Fframe_parameters): Minor simplification.
14287
14288 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14289
14290 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14291
14292 * buffer.c (Fget_buffer_create, init_buffer_once):
14293 * lread.c (defsubr):
14294 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14295
14296 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14297 defined differently in the m/*.h files.
14298 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14299 (XSETPVECTYPE): New macro.
14300 (XSETPSEUDOVECTOR): Use it.
14301
14302 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14303 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14304
14305 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14306 * lread.c (defvar_per_buffer):
14307 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14308
14309 * window.c (candidate_window_p): Only consider as visible frames that
14310 are on the same terminal.
14311
14312 * m/ibms390x.h (MARKBIT): Remove unused macro.
14313
143142007-10-01 Juanma Barranquero <lekktu@gmail.com>
14315
14316 * lread.c (Fload): Fix typo in docstring.
14317
143182007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14319
14320 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14321 of a non-zero value can't yield zero.
14322
143232007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14324
14325 * term.c (term_clear_mouse_face, term_mouse_highlight)
14326 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14327
14328 * print.c (safe_debug_print): Use XHASH.
14329
14330 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14331 Lisp elements such as tags.
14332 (XHASH): New macro.
14333 (EQ): Use it.
14334 (SREF, SSET, STRING_COPYIN): Use SDATA.
14335 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14336
14337 * alloc.c (mark_terminal): Remove left-over declaration.
14338 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14339 (allocate_vectorlike): Remove type argument. Adjust callers.
14340 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14341 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14342
14343 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14344 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14345 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14346 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14347 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14348 Use them.
14349
14350 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14351 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14352 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14353
143542007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14355
14356 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14357 loaded by default.
14358
143592007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14360
14361 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14362 on this tty.
14363 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14364
14365 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14366 Update all users.
14367 (handle_one_term_event): Use Gpm_DrawPointer.
14368 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14369 Signal errors instead of returning nil. Always return nil.
14370 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14371 Make it a noop if gpm-mouse was not activated.
14372 (syms_of_term): Update names.
14373
143742007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14375
14376 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14377 (init_sys_modes): Check that gpm_tty is the current tty.
14378
14379 * alloc.c (allocate_terminal): Set the vector size to only count the
14380 lisp fields. Initialize those to nil.
14381 (mark_object): Don't treat terminals specially.
14382 (mark_terminal): Remove.
14383 (mark_terminals): Use mark_object instead.
14384
14385 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14386 the GC to the beginning.
14387
14388 * indent.h:
14389 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14390
14391 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14392
143932007-09-25 Jason Rumney <jasonr@gnu.org>
14394
14395 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14396
14397 * w32console.c (create_w32cons_output): Remove.
14398
14399 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14400
14401 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14402 (reset_sys_modes): Use reset_terminal_modes_hook.
14403
144042007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14405
14406 * eval.c (do_autoload): Don't output any message.
14407
144082007-09-24 Juri Linkov <juri@jurta.org>
14409
14410 * emacs.c (standard_args): Change priority of "--no-splash"
14411 from 40 to 3. Add "--no-desktop" with the same priority.
14412
144132007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14414
14415 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14416 and optimize the case where they are all 1.
14417
144182007-09-23 Johannes Weiner <hannes@saeurebad.de>
14419
14420 * lisp.h (abs): Define if not defined.
14421 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14422 Don't define `abs', since it's defined in lisp.h.
14423
144242007-09-22 Eli Zaretskii <eliz@gnu.org>
14425
14426 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14427 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14428 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14429 (init_tty): Use DEV_TTY instead of "/dev/tty".
14430 [WINDOWSNT]: No need to protect from NAME arg being null.
14431
144322007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14433
14434 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14435 up the tty state.
14436
144372007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14438
14439 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14440 (gpm_tty): Change its type.
14441 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14442 (gpm_tty): Change its type and initialize it.
14443 (Fterm_open_connection): Check the frame is indeed a tty.
14444 Use the new gpm_tty.
14445 (Fterm_close_connection): Use the new gpm_tty.
14446 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14447 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14448
144492007-09-21 Juanma Barranquero <lekktu@gmail.com>
14450
14451 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14452 underline_color, to draw strike-through.
14453
144542007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14455
14456 * lisp.h (allocate_terminal): Declare.
14457
14458 * window.c (candidate_window_p): Consider frames that are being placed
14459 by the user as somewhere between visible and iconified.
14460 (window_loop): Prefer windows on the current frame.
14461 (Fselect_window): Move the use of select-frame to the beginning so we
14462 can just delegate all the work (it'll call us back anyway).
14463
14464 * frame.c (Qdisplay_environment_variable):
14465 * frame.h (Qdisplay_environment_variable): Delete.
14466
14467 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14468 of the first arg, since that value may be a union.
14469
14470 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14471 parameter rather than Qdisplay_environment_variable. If all else
14472 fails, look for DISPLAY in initial-environment.
14473
144742007-09-21 Glenn Morris <rgm@gnu.org>
14475
14476 * Makefile.in (emacstool): Remove target.
14477 (lisp, shortlisp): Remove termdev.elc.
14478
144792007-09-21 Markus Triska <markus.triska@gmx.at>
14480
14481 * xterm.c (x_delete_display): Compile session management conditionally.
14482
144832007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14484
14485 * callproc.c (getenv_internal_1): New function.
14486 (getenv_internal): Use it.
14487 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14488
14489 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14490 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14491 (Fset_terminal_parameter): Work with dead terminals as well.
14492 (Fmodify_terminal_parameters): Remove.
14493
14494 * terminal.c (get_terminal): Handle terminals.
14495 Make sure the terminal returned is live.
14496 (create_terminal): Use allocate_terminal.
14497 (mark_terminals): Move to alloc.c.
14498 (delete_terminal): Use terminal->name as liveness status.
14499 NULL out fields after freeing their contents.
14500 Don't deallocate the object.
14501 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14502 rather than an int.
14503 (Fterminal_live_p): Accept non-integer arguments.
14504 (Fterminal_list): Return terminal objects rather than an ints.
14505
14506 * alloc.c (enum mem_type): New member for `terminal' objects.
14507 (allocate_terminal): New function.
14508 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14509 Handle terminals.
14510 (mark_terminal): New fun.
14511 (mark_terminals): Move from terminal.c.
14512
14513 * term.c (get_tty_terminal): Don't treat output_initial specially.
14514 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14515 (delete_tty): Use terminal->name as liveness status.
14516
14517 * termhooks.h (struct terminal): Make it into a pseudovector.
14518 Remove `deleted' replaced by checking `name's nullness.
14519
14520 * print.c (print_object): Handle terminals.
14521
14522 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14523 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14524
14525 * frame.c (make_terminal_frame):
14526 * keyboard.c (tty_read_avail_input):
14527 * w32term.c (x_delete_terminal):
14528 * xfns.c (Fx_create_frame, x_create_tip_frame):
14529 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14530
145312007-09-20 Glenn Morris <rgm@gnu.org>
14532
14533 * process.c (Fmake_network_process): Doc fix.
14534
145352007-09-19 Jason Rumney <jasonr@gnu.org>
14536
14537 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14538
145392007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14540
14541 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14542 Fix a C warning regarding variable constness.
14543
14544 * xterm.c (handle_one_xevent): Fix a C warning.
14545
145462007-09-18 Jason Rumney <jasonr@gnu.org>
14547
14548 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14549
145502007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14551
14552 * gtkutil.c (gdpy_def): New variable.
14553 (xg_initialize): Initialize gdpy_def.
14554 (xg_display_close): If no other display exists, set gdpy_def to a
14555 new connection.
14556
145572007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14558
14559 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14560 when we have no file name for the icon.
14561 (xg_tool_bar_expose_callback): Remove.
14562 (xg_create_tool_bar): Don't connect expose signal to
14563 xg_tool_bar_expose_callback.
14564 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14565
145662007-09-16 Andreas Schwab <schwab@suse.de>
14567
14568 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14569 values instead of zapping them.
14570
145712007-09-14 Glenn Morris <rgm@gnu.org>
14572
14573 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14574 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14575 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14576 scope and rename to omfib_buffer for clarity.
14577 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14578
145792007-09-14 Kenichi Handa <handa@m17n.org>
14580
14581 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14582
145832007-09-13 Jason Rumney <jasonr@gnu.org>
14584
14585 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14586
14587 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14588
14589 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14590 (mac_term_init): Call here instead, passing rif.
14591
145922007-09-13 Glenn Morris <rgm@gnu.org>
14593
14594 * s/hpux.h: No longer define `static' as nothing.
14595
145962007-09-13 Johan Bockgård <bojohan@gnu.org>
14597
14598 * callint.c (Fcall_interactively): Remove unused var `fun'.
14599
146002007-09-12 Romain Francoise <romain@orebokech.com>
14601
14602 * window.c (prefer_window_split_horizontally, display_buffer):
14603 Revert 2007-09-08 change.
14604
146052007-09-12 Glenn Morris <rgm@gnu.org>
14606
14607 * alloca.c: Remove file.
14608 * Makefile.in (alloca): Do not undef.
14609 (allocaobj, alloca.o): Remove.
14610 (otherobj): Remove allocaobj.
14611 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14612 * regex.c (C_ALLOCA): Remove all references and code that was only
14613 used when this was defined.
14614 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14615 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14616 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14617
14618 * Makefile.in (SOURCES, unlock, relock): Delete.
14619
14620 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14621 (menu_grab_callback): All uses changed.
14622
14623 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14624 (x_reply_selection_request): All uses changed.
14625
146262007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14627
14628 * lread.c (load_warn_old_style_backquotes): Change message to look
14629 better when it appears in the middle of byte-compiler messages.
14630
146312007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14632
14633 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14634
14635 * xterm.c (x_create_terminal): Add comment.
14636
14637 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14638
146392007-09-10 Richard Stallman <rms@gnu.org>
14640
14641 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14642
146432007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14644
14645 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14646 (DEFUN): Document `intspec', use it instead of `prompt'.
14647
14648 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14649
14650 * data.c (Finteractive_form): If the interactive specification starts
14651 with a `(', use it as a Lisp form.
14652
14653 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14654 name and file modes.
14655
14656 * callint.c (Fcall_interactively): Comment fixes.
14657
146582007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14659
14660 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14661 and compiled functions.
14662
146632007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14664
14665 * window.c (prefer_window_split_horizontally): New variable.
14666 (display_buffer): Consider splitting window horizontally depending
14667 on prefer_window_split_horizontally.
14668
146692007-09-08 Eli Zaretskii <eliz@gnu.org>
14670
14671 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14672
146732007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14674
14675 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14676
14677 * frame.c (x_set_frame_parameters): Check number is positive before
14678 using XFASTINT.
14679
14680 * window.c (freeze_window_start): Don't presume selected_window holds
14681 a window object.
14682 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14683
146842007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14685
14686 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14687
146882007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14689
14690 * window.c (Vsplit_window_preferred_function): New var.
14691 (Fdisplay_buffer): Use it.
14692 (syms_of_window): Export, and initialize it.
14693
146942007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14695
14696 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14697
146982007-09-06 Glenn Morris <rgm@gnu.org>
14699
14700 * gtkutil.c (menu_grab_callback) <cnt>:
14701 * xselect.c (x_reply_selection_request) <cnt>: Move static
14702 variable to file scope.
14703
147042007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14705
14706 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14707 consistent values of selected_frame and selected_window.
14708
147092007-09-04 Jason Rumney <jasonr@gnu.org>
14710
14711 * w32console.c (initialize_w32_display): Zero unused hooks.
14712
147132007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14714
14715 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14716 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14717
147182007-09-04 Jason Rumney <jasonr@gnu.org>
14719
14720 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14721 in w32console.c. Set up input. Remove XXX comments that have been
14722 confirmed as correct.
14723
14724 * s/ms-w32.h (MULTI_KBOARD): Define.
14725
14726 * w32console.c (one_and_only_w32cons): Remove.
14727 (initialize_w32_display): Take terminal argument.
14728
14729 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14730 initialize_w32_display.
14731 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14732
14733 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14734
14735 * keyboard.c (discard_mouse_events): Discard it.
14736 (make_lispy_event): Translate it to a lisp event.
14737 (lispy_wheel_names): Add wheel-left and right events.
14738 (syms_of_keyboard): Enlarge wheel_syms.
14739
14740 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14741 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14742
14743 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14744
14745 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14746 from WM_MOUSEHWHEEL.
14747 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14748
14749 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14750 terminal.
14751
14752 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14753 keyboard for the terminal.
14754
147552007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14756
14757 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14758 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14759 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14760 and resume-tty-function to resume-tty-hook.
14761 (Fsuspend_tty, Fresume_tty): Use new names.
14762
147632007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14764
14765 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14766 if it starts with "n:".
14767
147682007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14769
14770 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14771
147722007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14773
14774 * frame.h:
14775 * frame.c (Qterm_environment_variable): Remove.
14776 (syms_of_frame): Don't init and staticpro it.
14777
14778 * callproc.c (getenv_internal): Remove special case for $TERM.
14779
14780 * callproc.c (Vinitial_environment): New variable.
14781 (set_initial_environment): Initialize it.
14782 (syms_of_callproc): Declare it.
14783 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14784 TERM under which a process runs is never related to the TERM in which
14785 Emacs is running.
14786
147872007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14788
14789 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14790 * s/darwin.h: ... do it here.
14791
147922007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14793
14794 * lisp.h (set_initial_environment): Rename from set_global_environment.
14795
14796 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14797 removed by mistake on the multi-tty branch.
14798
14799 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14800 (Fmodify_frame_parameters): Return a value.
14801
14802 * image.c (png_load): Comment-out var only used in commented-out code.
14803
14804 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14805 before passing it to mark_object.
14806
14807 * xfaces.c (internal_resolve_face_name): Return a value.
14808 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14809
14810 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14811 (x_icon): Comment-out var only used in commented-out code.
14812
148132007-08-29 Romain Francoise <romain@orebokech.com>
14814
14815 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14816 QUIT hasn't been provided.
14817
148182007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14819
14820 * callproc.c (child_setup, getenv_internal): Use the
14821 display-environment-variable and term-environment-variable frame params.
14822 (set_initial_environment): Initialise Vprocess_environment.
14823
14824 * config.in: Disable multi-keyboard support on a mac.
14825
14826 * frame.c (Qterm_environment_variable)
14827 (Qdisplay_environment_variable): New variables.
14828 (syms_of_frame): Intern and staticpro them.
14829 (Fmake_terminal_frame): Disable output method test.
14830
14831 * frame.h: Declare them here.
14832
14833 * macfns.c (x_set_mouse_color): Get rif from the frame.
14834 (x_set_tool_bar_lines): Don't use updating_frame.
14835 (mac_window): Add 2 new parameters for consistency with other systems.
14836 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14837 frame parameters following what is done in X11 and w32. Don't use
14838 FRAME_MAC_DISPLAY_INFO.
14839 (Fx_open_connection, start_hourglass): Remove window-system check.
14840 (x_create_tip_frame): Get the keyboard from the terminal.
14841
14842 * macmenu.c: Reorder includes.
14843 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14844
14845 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14846 terminal parameter.
14847 (x_clear_frame): Add a frame parameter.
14848 (note_mouse_movement): Get rif from the frame.
14849 (mac_term_init): Initialize the terminal.
14850 (mac_initialize): Make static and move terminal initialization ...
14851 (mac_create_terminal): ... to this new function.
14852
14853 * macterm.h (struct mac_display_info): Add terminal.
14854 (mac_initialize): Delete declaration.
14855
14856 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14857
14858 * sysdep.c: Comment out text after #endif.
14859
14860 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14861 is defined. Better initialize ttys in windows. Use terminal
14862 specific mouse_position_hook.
14863
14864 * termhooks.h (union display_info): Add mac_display_info.
14865
14866 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14867 Set the default minibuffer frame, window_system and the rest of the
14868 frame parameters following what is done in X11.
14869
14870 * w32term.c (w32_initialize): Make static.
14871
14872 * xselect.c (x_handle_selection_clear): Only access
14873 terminal->kboard when MULTI_KBOARD is defined.
14874
14875 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14876 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14877
148782007-08-29 Jason Rumney <jasonr@gnu.org>
14879
14880 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14881 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14882
14883 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14884 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14885
14886 * keyboard.c (restore_kboard_configuration): Only define when
14887 MULTI_KBOARD defined.
14888
14889 * makefile.w32-in: Update dependancies from Makefile.in.
14890 (OBJ1): Add terminal.$(O)
14891
14892 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14893 Don't define function body.
14894 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14895
14896 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14897
14898 * w32.c (request_sigio, unrequest_sigio): Remove.
14899
14900 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14901 (w32con_clear_frame, w32con_clear_end_of_line)
14902 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14903 (w32con_delete_glyphs, w32con_set_terminal_window)
14904 (scroll_line, w32_sys_ring_bell): Add frame arg.
14905 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14906 Add terminal arg.
14907 (PICK_FRAME): Remove.
14908 (w32con_write_glyphs): Use frame specific terminal coding.
14909 (one_and_only_w32cons): New global variable.
14910 (initialize_w32_display): Use it for storing hooks.
14911 (create_w32cons_output): New function.
14912
14913 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14914 arg a frame.
14915
14916 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14917 Set window_system.
14918 (x_set_tool_bar_lines): Don't use updating_frame.
14919 (Fx_create_frame): Set terminal and ref count.
14920 (Fx_open_connection): Remove window-system check.
14921
14922 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14923
14924 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14925 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14926 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14927 Add frame arg.
14928 (x_delete_terminal, w32_create_terminal): New functions.
14929 (w32_term_init): Create a terminal.
14930 (w32_initialize): Move terminal specific initialization to
14931 w32_create_terminal.
14932
14933 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14934 (w32_clear_rect, w32_clear_area): Use background from frame.
14935 (w32_display_info): Add terminal.
14936 (w32_sys_ring_bell, x_delete_display): Declare here.
14937
14938 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14939
14940 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14941
149422007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14943
14944 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14945 Fix get_named_tty calls for the controlling tty.
14946
149472007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14948
14949 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14950
149512007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14952
14953 * term.c (tty_insert_glyphs): Add missing first parameter.
14954
149552007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14956
14957 * buffer.c (Fbuffer_list, Fbury_buffer):
14958 Take frame->buried_buffer_list into account.
14959
14960 * cm.c (current_tty): New variable, for cmputc().
14961 (cmputc): Use it.
14962 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14963 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14964 (cmgoto): Add tty parameter. Pass it on to calccost().
14965 Use emacs_tputs() instead of tputs().
14966
14967 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14968 tputs().
14969 (current_tty): New variable, for cmputc().
14970 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14971
14972 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14973 (internal_condition_case, internal_condition_case_1)
14974 (internal_condition_case_2): Don't abort when x_catching_errors.
14975
14976 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14977 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14978 prevent crashes caused by bogus longjmps in read_char.
14979
14980 * keymap.h (Fset_keymap_parent): Add EXFUN.
14981
14982 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14983 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14984 Remove redundant definition.
14985
14986 * macfns.c (x_set_mouse_color, x_make_gc):
14987 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14988
14989 * w32term.c (x_free_frame_resources):
14990 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14991 (w32_initialize): Use the accessor macros for terminal characteristics.
14992
14993 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14994 Use the accessor macros for terminal characteristics.
14995 * msdos.c (internal_terminal_init): Use the accessor macros for
14996 terminal characteristics.
14997 (ScreenVisualBell, internal_terminal_init):
14998 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14999
15000 * termopts.h (no_redraw_on_reenter): Declare.
15001
15002 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15003 (mark_terminals, mark_ttys): Declare.
15004 (Fgarbage_collect): Call them.
15005 (mark_object): Mark buried_buffer_list.
15006
15007 * prefix-args.c: Include stdlib.h for exit.
15008
15009 * syssignal.h: Add comment.
15010
15011 * indent.c: Include stdio.h.
15012
15013 * window.h (Vinitial_window_system): Declare.
15014 (Vwindow_system): Delete declaration.
15015
15016 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15017
15018 * image.c (lookup_image): Don't initialize `c' until the xasserts
15019 have been run.
15020
15021 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15022 FRAME_FOREGROUND_PIXEL.
15023
15024 * print.c (print_preprocess): Don't lose print_depth levels while
15025 iterating.
15026
15027 * widget.c (update_from_various_frame_slots):
15028 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15029
15030 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15031 frames.
15032 (window_internal_height): Remove bogus make_number call.
15033 (init_window_once): Call make_terminal_frame with two zero parameters.
15034
15035 * fileio.c (Fread_file_name): Update comment.
15036
15037 * callint.c (Fcall_interactively):
15038 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15039 Make sure it is correctly unwound.
15040
15041 * xsmfns.c (x_session_close): New function.
15042
15043 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15044 Delete declarations.
15045
15046 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15047 (x_output): Remove background_pixel and foreground_pixel fields.
15048 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15049 (x_delete_device, x_session_close): Declare.
15050
15051 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15052 (read_filtered_event): Call `read_char' with a local
15053 `wrong_kboard_jmpbuf'.
15054
15055 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15056 Don't call single_kboard_state. Use FRAME_RIF.
15057
15058 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15059 systems.
15060
15061 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15062 (Fframe_with_environment, Fset_input_meta_mode)
15063 (Fset_quit_char): EXFUN.
15064 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15065 (init_sys_modes, reset_sys_modes): Update prototypes.
15066 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15067
15068 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15069 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15070 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15071 Delete declarations.
15072 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15073 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15074 New declarations.
15075
15076 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15077 already does that during init_display(). Call syms_of_keymap
15078 before syms_of_keyboard. Call `syms_of_terminal'.
15079 Call set_initial_environment, not set_process_environment.
15080 (shut_down_emacs): Call reset_all_sys_modes() instead of
15081 reset_sys_modes().
15082
15083 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15084 (internal_resolve_face_name, resolve_face_name_error): New functions.
15085 (resolve_face_name): Protect against loops and errors thrown by Fget.
15086 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15087 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15088
15089 * scroll.c: Replace CURTTY() with local variables throughout the
15090 file (where applicable).
15091 (calculate_scrolling, calculate_direct_scrolling)
15092 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15093 characteristics.
15094
15095 * keymap.c (Vfunction_key_map): Remove.
15096 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15097 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15098 (Vkey_translation_map): Remove.
15099 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15100 (Fdescribe_buffer_bindings)
15101 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15102 Update for terminal-local key-translation-map.
15103
15104 * Makefile.in (callproc.o): Update dependencies.
15105 (lisp, shortlisp): Add termdev.elc.
15106 (obj): Add terminal.o.
15107 (terminal.o): Add dependencies.
15108 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15109 (data.o, fns.o): Add termhooks.h dependency.
15110 (SOME_MACHINE_LISP): Add dnd.elc.
15111 (minibuf.o): Fix typo.
15112 Update dependencies.
15113
15114 * data.c (do_symval_forwarding, store_symval_forwarding)
15115 (find_symbol_value): Use the selected frame's keyboard, not
15116 current_kboard.
15117
15118 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15119 Vwindow_system.
15120
15121 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15122 Fmenu_bar_open.
15123 (syms_of_xmenu): Update defsubr.
15124 (mouse_position_for_popup, Fx_popup_menu)
15125 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15126 (set_frame_menubar, free_frame_menubar)
b97439ce 15127 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15128 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15129 an X frame.
15130
15131 * xselect.c (x_own_selection): Abort if not an X frame.
15132 (some_frame_on_display): Check if it is an X frame.
15133 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15134
15135 * coding.c: Include frame.h and termhooks.h.
15136 (terminal_coding, keyboard_coding): Delete.
15137 (Fset_terminal_coding_system_internal)
15138 (Fset_keyboard_coding_system_internal)
15139 (Fkeyboard_coding_system)
15140 (Fterminal_coding_system): Add a terminal parameter.
15141 Get terminal_coding from the terminal.
15142 (init_coding_once): Don't call setup_coding_system here.
15143
15144 * dispextern.h (set_scroll_region, turn_off_insert)
15145 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15146 (tty_clear_end_of_line, tty_setup_colors)
15147 (delete_tty, updating_frame)
15148 (produce_special_glyphs, produce_glyphs, write_glyphs)
15149 (insert_glyphs): Remove.
15150 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15151 (tty_turn_off_highlight, get_tty_size): Add declaration.
15152 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15153
15154 * frame.h (enum output_method): Add output_initial.
15155 (struct x_output): Delete.
15156 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15157 Access foreground_pixel and background_pixel directly from the frame.
15158 (tty_display): Delete.
15159 (struct frame): Add buried_buffer_list, foreground_pixel,
15160 background_pixel and terminal. Delete kboard.
15161 (union output_data): Add tty.
15162 (FRAME_KBOARD): Get the kboard from the terminal.
15163 (FRAME_INITIAL_P): New macro.
15164 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15165 (Qterm_environment_variable, Qdisplay_environment_variable)
15166 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15167 New declarations.
15168
15169 * termchar.h (tty_output, tty_display_info): New structures.
15170 (tty_list): Declare.
15171 (FRAME_TTY, CURTTY): New macros.
15172 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15173 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15174 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15175 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15176
15177 * callproc.c: Include frame.h and termhooks.h, for terminal
15178 parameters.
15179 (add_env): New function.
15180 (child_setup): Use it.
15181 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15182 (getenv_internal): Fix get_terminal_param call.
15183 (Fgetenv_internal, egetenv): Update doc.
15184 (syms_of_callproc): Initialize Vprocess_environment to nil.
15185 Register and initialize them. Remove obsolete defvars. Update doc
15186 strings.
15187 (child_setup): Handle Vlocal_environment_variables.
15188 (getenv_internal): Add terminal parameter.
15189 Handle Vlocal_environment_variables.
15190 (Fgetenv_internal): Add terminal parameter.
15191 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15192 environment in a frame (not terminal) parameter. Update doc strings.
15193 (set_initial_environment): Rename from set_global_environment.
15194 Store Emacs environment in initial frame parameter.
15195
15196 * xdisp.c (redisplay_internal): Update references to
15197 `previous_terminal_frame'.
15198 (display_mode_line, Fformat_mode_line): Replace calls to
15199 `push_frame_kboard' with `push_kboard'.
15200 (get_glyph_string_clip_rects): Add extra parentheses and
15201 braces to prevent compiler warnings.
15202 (calc_pixel_width_or_height): Add xassert to check that the
15203 frame is alive. Don't call `lookup_image' on a termcap frame.
15204 (message2_nolog, message3_nolog, redisplay_internal)
15205 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15206 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15207 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15208 (Fx_display_pixel_width, Fx_display_pixel_height)
15209 (Fx_display_planes, Fx_display_color_cells)
15210 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15211 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15212 (Fx_display_backing_store, Fx_display_visual_class)
15213 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15214 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15215
15216 * xfns.c (x_set_foreground_color x_set_background_color)
15217 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15218 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15219 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15220 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15221 terminal that is being deleted.
15222 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15223 frame parameter, and make sure it overrides any user-supplied setting.
15224 (Fx_close_connection, Fx_synchronize): Unify argument names with
15225 the rest of the DEFUNs.
15226
15227 * dispnew.c (Fsend_string_to_terminal): Update call to
15228 `get_tty_terminal'.
15229 (Fredraw_frame, Fsend_string_to_terminal)
15230 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15231 FRAME_TERMCAP_P and FRAME_TTY.
15232 (window_change_signal): Don't believe width/height values that are
15233 impossibly small.
15234 (Vinitial_window_system): Rename from Vwindow_system.
15235 (termscript, Wcm, rif): Delete.
15236
15237 * termhooks.h (struct terminal): New struct containing the
15238 previously global text display hooks and new members NAME,
15239 DELETED and PARAM_ALIST.
15240 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15241 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15242 (FRAME_RIF): New macros.
15243 (get_terminal_param, get_device): New declarations.
15244 (termscript): Delete declaration.
15245
15246 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15247 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15248 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15249 FRAME_FOREGROUND_PIXEL.
15250 (x_fully_uncatch_errors): Disable definition.
15251 (x_scroll_bar_expose): Fix reference to foreground pixel.
15252 (XTread_socket): Disable loop on all X displays.
15253 (x_delete_terminal): Don't set terminal->deleted and let
15254 delete_terminal delete the frames on the terminal.
15255 (x_delete_display): Doc update to reflect changes in
15256 delete_terminal.
15257 (x_display_info) <terminal>: Move member earlier in the struct.
15258 (deleting_tty): Remove old variable.
15259 (Fsuspend_tty): Call clear_tty_hooks.
15260 (Fresume_tty, init_tty): Call set_tty_hooks.
15261 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15262 errors on X frames.
15263 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15264 (handle_one_xevent): Initialize `f' to NULL.
15265 (x_delete_terminal, x_create_terminal): New functions.
15266 (XTset_terminal_modes, XTreset_terminal_modes)
15267 (XTread_socket, x_connection_closed, x_term_init)
15268 (x_term_init, x_delete_display): Add terminal parameter.
15269 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15270 X connections.
15271
15272 * frame.c: Include termchar.h.
15273 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15274 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15275 (Qdisplay_environment_variable): New vars.
15276 (Fframep): Deal with output_initial.
15277 (Fframe-live-p): Doc fix.
15278 (Fwindow-system): New function.
15279 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15280 (make_terminal_frame): Don't create frames on a terminal that is
15281 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15282 (store_frame_param): Check for found_for_frame before calling XFRAME.
15283 (Fmake_terminal_frame): Handle NULL tty names correctly.
15284 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15285 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15286 frames to refer to a deleted frame in their 'environment parameter.
15287 (Fframe_with_environment): New function.
15288 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15289 (get_future_frame_param): New function.
15290 (Fmake_terminal_frame): Use it.
15291 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15292
15293 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15294 * sysdep.c (reset_sys_modes): Update for renames.
15295
15296 * keyboard.c (tty_read_avail_input): New function.
15297 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15298 (syms_of_keyboard): Defsubr them.
15299 (Fset_input_meta_mode, Fset_quit_char): New functions.
15300 (Fset_input_mode): Split to above functions.
15301 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15302 parameter. Use it in call to `read_char'.
15303 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15304 Set wrong_kboard_jmpbuf correctly in recursive calls.
15305 Use current_kboard to access Vkeyboard_translate_table.
15306 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15307 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15308 Update longjmp invocations. Remember the original current_kboard,
15309 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15310 changes it. Comment out unnecessary calls to
15311 `record_single_kboard_state' and `any_kboard_state'.
15312 Update recursive calls.
15313 (wrong_kboard_jmpbuf): Remove global variable.
15314 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15315 Handle deleted interrupted_kboards correctly; that is a legal
15316 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15317 and read_char calls. Abort if interrupted_kboard died in read_char.
15318 (any_kboard_state, single_kboard_state)
15319 (push_frame_kboard): Remove function.
15320 (pop_kboard): Switch out of single_kboard mode if the kboard has
15321 been deleted. Remove unused variable. Help debugging by not
15322 changing current_kboard unnecessarily. Set current_kboard to the
15323 kboard of the selected frame when the stored kboard object has
15324 been deleted before pop_kboard.
15325 (temporarily_switch_to_single_kboard): Change first parameter to a
15326 frame pointer. Throw an error when caller wants to change kboards
15327 while in single_kboard mode. Don't push_kboard if we weren't in
15328 single kboard state. Don't pop_kboard if we popped into any
15329 kboard state.
15330 (restore_kboard_configuration): Abort if pop_kboard changed the
15331 kboard in single_kboard mode. Call pop_kboard only after setting
15332 up single_kboard mode.
15333 (Frecursive_edit): Switch to single_kboard mode only in nested
15334 command loops.
15335 (cmd_error, command_loop, command_loop_1, timer_check):
15336 Comment out unnecessary call to `any_kboard_state' and
15337 `record_single_kboard_state'.
15338 (delete_kboard): Exit single_kboard mode if we have just deleted
15339 that kboard. Use FRAME_KBOARD.
15340 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15341 `fatal_error_signal'.
15342 (record_single_kboard_state): Don't push_kboard if we weren't in
15343 single kboard state. Don't pop_kboard if we popped into any
15344 kboard state.
15345 (push_frame_kboard): Rename to push_kboard.
15346 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15347 (read_avail_input): Read input from all terminals.
15348 (mark_kboards): Also mark Vkeyboard_translate_table.
15349 (kbd_buffer_store_event_hold): Simplify condition.
15350 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15351 (Vkeyboard_translate_table): Move to struct kboard.
15352 (init_kboard): Initialize Vkeyboard_translate_table.
15353 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15354 Vkeyboard_translate_table. Update doc strings. Update docs of
15355 local-function-key-map and function-key-map.
15356
15357 * terminal.c: New file.
15358
15359 * term.c: Include errno.h.
15360 (Vring_bell_function, device_list, initial_device)
15361 (next_device_id, ring_bell, update_begin, update_end)
15362 (set_terminal_window, cursor_to, raw_cursor_to)
15363 (clear_to_end, clear_frame, clear_end_of_line)
15364 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15365 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15366 (syms_of_term): Move their initialization to terminal.c.
15367 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15368 (Ftty_display_color_cells)
15369 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15370 (clear_tty_hooks, set_tty_hooks)
15371 (init_tty, maybe_fatal): New functions.
15372 (Ftty_type): Return nil if terminal is not on a tty instead of
15373 throwing an error. Doc update.
15374 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15375 Doc update. Initialize new subrs and variables.
15376 (delete_tty): Use terminal->deleted.
15377 (tty_set_terminal_modes): Rename from set_terminal_modes.
15378 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15379 (set_scroll_region): Rename to `tty_set_scroll_region'.
15380 (turn_on_insert): Rename to `tty_turn_on_insert'.
15381 (turn_off_insert): Rename to `tty_turn_off_insert'.
15382 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15383 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15384 (toggle_highligh): Rename to `tty_toggle_highlight'.
15385 (background_highlight): Rename to `tty_background_highlight'.
15386 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15387 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15388 (tty_set_scroll_region, tty_background_highlight)
15389 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15390 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15391 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15392 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15393 Add static modifier.
15394 (tty_reset_terminal_modes, tty_set_terminal_window)
15395 (tty_set_scroll_region, tty_background_highlight)
15396 (tty_highlight_if_desired, tty_cursor_to)
15397 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15398 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15399 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15400 renames.
15401
154022007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15403
15404 * keyboard.c: Qrtl is new.
15405 (parse_tool_bar_item): Handle :rtl keyword.
15406 (syms_of_keyboard): Intern :rtl keyword.
15407
15408 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15409
15410 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15411 so no Lisp code is executed.
15412 (file_for_image, find_rtl_image): New functions.
15413 (xg_get_image_for_pixmap): Use file_for_image.
15414 (update_frame_tool_bar): If direction is RTL, use RTL image if
15415 defined. Use Gtk stock images if defined.
15416
154172007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15418
15419 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15420 for nonexistent or zero-width glyph in composition glyph.
15421
154222007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15423
15424 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15425
15426 * xdisp.c (Finvisible_p): New function.
15427 (syms_of_xdisp): defsubr it.
15428
154292007-08-24 Juanma Barranquero <lekktu@gmail.com>
15430
15431 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15432 Doc fixes.
15433
154342007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15435
15436 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15437
154382007-08-24 Martin Rudalics <rudalics@gmx.at>
15439
15440 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15441 whether decoding has modified buffer contents.
15442
154432007-08-24 Jason Rumney <jasonr@gnu.org>
15444
15445 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15446 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15447 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15448 (init_svg_functions) [HAVE_NTGUI]: New function.
15449 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15450 (svg_load_image): Use them.
15451 (svg_load_image) [HAVE_NTGUI]: Implement background.
15452
154532007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15454
15455 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15456 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15457 (LIBX): Remove @RSVG_LIBS@.
15458 (LIBES): Add $(RSVG_LIBS).
15459
15460 * image.c (svg_load_image): Blend with specified background if exists.
15461 Use IMAGE_BACKGROUND. Add Mac OS Support.
15462
15463 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15464 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15465 Remove macros.
15466 [MAC_OSX] (socket_callback): Do nothing.
15467 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15468 ReceiveNextEvent.
15469 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15470 socket_callback.
15471 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15472
154732007-08-22 Glenn Morris <rgm@gnu.org>
15474
15475 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15476
154772007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15478
15479 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15480
15481 * image.c: Add support for SVG images. Some additional comments
15482 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15483 (svg_image_p): New function to test for SVG image.
15484 (svg_load): New function to load SVG image.
15485 (svg_load_image): New function, helper for svg_load.
15486 (Qsvg): New Lisp_object.
15487 (svg_keyword_index): New enum.
15488 (svg_format): New static `image_keyword' struct.
15489 (svg_type): New static `image_type' struct.
15490 (librsvg/rsvg.h): Include it.
15491
154922007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15493
15494 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15495
154962007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15497
15498 * lread.c (Qold_style_backquotes): New var.
15499 (syms_of_lread): Init and staticpro it.
15500 (load_warn_old_style_backquotes): New fun.
15501 (Fload): Use them to warn about old style backquotes.
15502 (end_of_file_error, Fload): Remove unused vars.
15503
15504 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15505
15506 * lread.c (Vold_style_backquotes): New var.
15507 (syms_of_lread): Init and export it to Elisp.
15508 (read1): Set it when we find an old-style (back)quote.
15509
155102007-08-22 Jason Rumney <jasonr@gnu.org>
15511
15512 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15513
155142007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15515
15516 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15517
155182007-08-19 Richard Stallman <rms@gnu.org>
15519
15520 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15521
155222007-08-19 Andreas Schwab <schwab@suse.de>
15523
15524 * alloc.c (pure): Round PURESIZE up.
15525
155262007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15527
15528 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15529 active frame.
15530
155312007-08-16 Richard Stallman <rms@gnu.org>
15532
15533 * eval.c (Fcommandp): Add parens to clarify.
15534
15535 * minibuf.c (Fall_completions): Use enum for type of table.
15536
15537 * emacs.c (USAGE2): Improve text.
15538
155392007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15540
15541 * term.c (tty_default_color_capabilities): Declare static
15542 variables in file scope, to avoid HPUX compiler problem.
15543
155442007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15545
15546 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15547 to gtk_toolbar_insert.
15548
155492007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15550
15551 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15552
15553 * insdel.c (reset_var_on_error): New fun.
15554 (signal_before_change, signal_after_change):
15555 Use it to reset (after|before)-change-functions to nil in case of error.
15556 Bind inhibit-modification-hooks to t.
15557 Don't bind (after|before)-change-functions to nil while they run.
15558
155592007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15560
15561 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15562 filling pixmap with stippled background.
15563
155642007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15565
15566 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15567 Don't use invisible frame as parent window for repositioning.
15568
155692007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15570
15571 * print.c (new_backquote_output): Rename from old_backquote_output.
15572 (print): Inverse its logic (according to its name) so as to match the
15573 behavior of new_backquote_flag in lread.c.
15574
155752007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15576
15577 * gmalloc.c (posix_memalign): New function.
15578
15579 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15580 ActivateControl/DeactivateControl here.
15581 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15582 frame-notice-user-settings is non-nil.
15583 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15584 for kEventParamFMFontStyle.
15585 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15586 mac_pass_command_to_system and mac_pass_control_to_system here.
15587 (XTread_socket): Call ActivateControl/DeactivateControl here.
15588 (XTread_socket) [TARGET_API_MAC_CARBON]:
15589 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15590 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15591 for window repositioning.
15592
155932007-08-08 Glenn Morris <rgm@gnu.org>
15594
15595 * Replace `iff' in doc-strings and comments.
15596
155972007-08-07 Chong Yidong <cyd@stupidchicken.com>
15598
15599 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15600
156012007-08-07 Martin Rudalics <rudalics@gmx.at>
15602
15603 * fileio.c (Finsert_file_contents): Run format-decode and
15604 after_insert_file_functions on entire buffer when REPLACE is
15605 non-nil and inhibit modification_hooks and point_motion_hooks.
15606 For consistency, run after_insert_file_functions iff something
15607 got inserted. Move signal_after_change and update_compositions
15608 after code running after_insert_file_functions. Make sure that
15609 undo_list doesn't record intermediate steps of the decoding process.
15610
156112007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15612
15613 * emacs.c (main)
15614 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15615 Call malloc_enable_thread on interactive startup.
15616
15617 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15618 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15619 [USE_PTHREAD]: Conditionalize with it.
15620 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15621 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15622 New functions.
15623
156242007-08-06 Chong Yidong <cyd@stupidchicken.com>
15625
15626 * xdisp.c (redisplay_window): When restoring original buffer
15627 position, make sure it is still valid.
15628
15629 * image.c (png_load): Ignore png-supplied background color.
15630
156312007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15632
15633 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15634 Use kCFAbsoluteTimeIntervalSince1970.
15635
15636 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15637 New variable.
15638 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15639 event loop should be quit.
15640 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15641 Quit dialog event loop if quit_dialog_event_loop is set.
15642
15643 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15644 (Selection): New typedef. Use instead of ScrapRef.
15645 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15646 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15647 (mac_clear_selection): Rename from clear_scrap.
15648 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15649 scrap_has_target_type. All uses changed.
15650 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15651 (mac_selection_has_target_p): New functions.
15652 (mac_put_selection_value): Rename from put_scrap_string.
15653 (mac_get_selection_value): Rename from get_scrap_string.
15654 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15655 (put_scrap_private_timestamp, scrap_has_target_type)
15656 (get_scrap_private_timestamp): Remove functions.
15657 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15658 (x_own_selection, x_get_local_selection):
15659 Use mac_valid_selection_value_p.
15660 (x_own_selection): Don't use put_scrap_private_timestamp.
15661 Record OWNERSHIP-INFO into Vselection_alist instead.
15662 (x_get_local_selection): Don't check type if request is local.
15663 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15664 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15665
156662007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15667
15668 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15669 add comment explaining why.
15670
156712007-08-03 Richard Stallman <rms@gnu.org>
15672
15673 * fileio.c (Fvisited_file_modtime): Use make_time.
15674
156752007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15676
15677 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15678 build.
15679
156802007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15681
15682 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15683
156842007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15685
15686 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15687
156882007-07-30 Richard Stallman <rms@gnu.org>
15689
15690 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15691
156922007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15693
15694 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15695
156962007-07-28 Nick Roberts <nickrob@snap.net.nz>
15697
15698 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15699 remote default-directory.
15700
15701 * buffer.c (mode-line-format): Update doc string.
15702
157032007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15704
15705 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15706 scroll bar gap.
15707 (x_scroll_bar_create): Set bar->fringe_extended_p.
15708 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15709 on frame edge. Check fringe background extension. Don't clear
15710 extended fringe background area.
15711
15712 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15713 (w32_fill_area): Enclose multiple statements with do ... while (0).
15714
15715 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15716 Extend fringe background to scroll bar gap.
15717 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15718 Set bar->fringe_extended_p.
15719 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15720 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15721 background extension. Don't clear extended fringe background area.
15722
15723 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15724 New member fringe_extended_p.
15725
157262007-07-25 Glenn Morris <rgm@gnu.org>
15727
15728 * Relicense all FSF files to GPLv3 or later.
15729
15730 * COPYING: Switch to GPLv3.
15731
157322007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15733
15734 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15735
15736 * data.c (Finteractive_form): Check for the presence of an
15737 `interactive-form' symbol property more thoroughly.
15738
15739 * data.c (Finteractive_form): Use an `interactive-form' property if
15740 present, analogous to the function-documentation property.
15741
157422007-07-24 Jason Rumney <jasonr@gnu.org>
15743
15744 * w32fns.c (x_real_positions): Get real position from OS instead of
15745 calculating it.
15746
157472007-07-23 Jason Rumney <jasonr@gnu.org>
15748
15749 * filelock.c (current_lock_owner): Allow for @ sign in username.
15750
157512007-07-22 Nick Roberts <nickrob@snap.net.nz>
15752
15753 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15754 remote default-directory.
15755
15756 * buffer.c (mode-line-format): Describe above case in doc string.
15757
157582007-07-20 Eli Zaretskii <eliz@gnu.org>
15759
15760 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15761 Define if not defined.
15762
157632007-07-18 Jason Rumney <jasonr@gnu.org>
15764
15765 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15766
157672007-07-18 Richard Stallman <rms@gnu.org>
15768
15769 * data.c (Fsetq_default): Doc fix.
15770
15771 * eval.c (Fsetq): Doc fix.
15772
157732007-07-18 Juanma Barranquero <lekktu@gmail.com>
15774
15775 * coding.c (Ffind_operation_coding_system):
15776 * eval.c (For, Fand): Doc fixes.
15777 Reported by Johan Bockgård.
15778
157792007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15780
15781 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15782
15783 * xterm.h: Declare x_ewmh_activate_frame.
15784
15785 * xterm.c (x_ewmh_activate_frame): New function.
15786 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15787
157882007-07-17 Martin Rudalics <rudalics@gmx.at>
15789
15790 * window.c (Fdisplay_buffer): If largest or LRU window is the
15791 only window, split it even if it is not eligible for splitting.
15792 This restores the original behavior broken by the 2007-07-15
15793 change.
15794
157952007-07-17 Glenn Morris <rgm@gnu.org>
15796
15797 * abbrev.c (abbrev_check_chars): New function.
15798 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15799 Call abbrev_check_chars to check abbrev characters are word
15800 constituents. Doc fix.
15801
158022007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15803
15804 * process.c (Fstart_process, Fmake_network_process)
15805 (read_process_output): Fix up last changes.
15806
158072007-07-16 Eli Zaretskii <eliz@gnu.org>
15808
15809 * makefile.w32-in (clean): Don't delete *~.
15810
158112007-07-16 Andreas Schwab <schwab@suse.de>
15812
15813 * window.c (Fdisplay_buffer): Use NILP.
15814 (Fset_window_scroll_bars): Likewise.
15815
158162007-07-15 Martin Rudalics <rudalics@gmx.at>
15817
15818 * window.c (window_min_size_2): New function.
15819 (window_min_size_1, size_window, Fdisplay_buffer)
15820 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15821 windows without mode- or header-lines when window-min-height is
15822 too small.
15823 (size_window): Reset nodelete_p after testing it, following an
15824 earlier note by Kim F. Storm.
15825 (display_buffer): Do not set split_height_threshold to twice the
15826 value of window_min_height to avoid changing the value of a
15827 customizable variable. Rather explicitly check whether the
15828 height of the window that shall be splitted is at least as large
15829 as split_height_threshold.
15830 (Fwindow_full_width_p): New defun.
15831 (syms_of_window): Defsubr it.
15832
15833 * window.h: Add EXFUN for Fwindow_full_width_p.
15834
158352007-07-14 Jason Rumney <jasonr@gnu.org>
15836
15837 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15838
158392007-07-14 Richard Stallman <rms@gnu.org>
15840
15841 * eval.c (maybe_call_debugger): New function.
15842 (find_handler_clause): Use maybe_call_debugger.
15843 Call it when the handler says `debug'.
15844 Eliminate DEBUGGER_VALUE_PTR.
15845 (Fsignal): Eliminate debugger_value.
15846 (Qdebug): New variable.
15847 (syms_of_eval): Initialize it.
15848
158492007-07-14 Juanma Barranquero <lekktu@gmail.com>
15850
15851 * eval.c (Fprogn):
15852 * keyboard.c (Ftrack_mouse):
15853 * print.c (Fwith_output_to_temp_buffer):
15854 * window.c (Fsave_window_excursion): Doc fix.
15855
158562007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15857
15858 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15859
158602007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15861
15862 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15863 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15864 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15865 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15866 Remove unused encoding_carryover.
15867 * process.c: Adjust all functions accordingly.
15868
158692007-07-12 Richard Stallman <rms@gnu.org>
15870
15871 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15872
158732007-07-11 Jason Rumney <jasonr@gnu.org>
15874
15875 * makefile.w32-in (LIBS): Include OLE32.
15876
15877 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15878 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15879
158802007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15881
15882 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15883 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15884 from a Lisp_Object into a bare pointer.
15885 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15886 Adjust the code correspondingly.
15887
15888 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15889
15890 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15891 (term_show_mouse_face): Remove unused var `j'.
15892 (handle_one_term_event): Remove unused vars `i' and `j'.
15893 Don't cast return value of ttyname since it's not necessary.
15894
158952007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15896
15897 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15898 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15899
15900 * fns.c (map_char_table): Use an array of int for `indices' rather than
15901 an array of Lisp_Objects (which are only ever integers anyway).
15902 (Fmap_char_table): Update caller.
15903 * lisp.h: Update prototype.
15904 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15905 * fontset.c (Ffontset_info):
15906 * casetab.c (set_case_table): Update callers.
15907
15908 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15909
15910 * keymap.c (struct accessible_keymaps_data)
15911 (struct where_is_internal_data): New structures.
15912 (accessible_keymaps_1, where_is_internal_1): Use them to change
15913 interface to adhere to the one used by map_keymap.
15914 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15915 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15916
15917 * keymap.h (map_keymap_function_t): More informative prototype.
15918
159192007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15920
15921 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15922 (looking_at_1): Don't change search_regs and last_thing_searched
15923 if `inhibit-changing-match-data' is non-nil.
15924 (string_match_1, search_buffer, set_search_regs): Likewise.
15925 (syms_of_search): Add Lisp level definition for
15926 `inhibit-changing-match-data' and set it to nil.
15927 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15928 start and end of the match, instead of using values in search_regs.
15929
159302007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15931
15932 * minibuf.c (Fcompleting_read): New value `confirm-only'
15933 for `require-match'.
15934
159352007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15936
15937 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15938 part of the 2007-06-27 change to syms_of_fileio.
15939
159402007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15941
15942 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15943 Check WINDOWP before using XWINDOW. Consolidate return statements.
15944
159452007-06-27 Richard Stallman <rms@gnu.org>
15946
15947 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15948
159492007-06-27 Juanma Barranquero <lekktu@gmail.com>
15950
15951 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15952
159532007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15954
15955 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15956 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15957 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15958 (_free_internal, memalign): Use them.
15959 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15960 Initialize to PTHREAD_MUTEX_INITIALIZER.
15961 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15962 (morecore_nolock): Rename from morecore. All uses changed.
15963 Use only nolock versions of internal allocation functions.
15964 (_malloc_internal_nolock, _realloc_internal_nolock)
15965 (_free_internal_nolock): New functions created from
15966 _malloc_internal, _realloc_internal, and _free_internal.
15967 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15968 Copy hook value to automatic variable before its use.
15969 (memalign): Copy hook value to automatic variable before its use.
15970
159712007-06-26 Kenichi Handa <handa@m17n.org>
15972
15973 * coding.c (Ffind_operation_coding_system): Docstring improved.
15974 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15975
159762007-06-25 David Kastrup <dak@gnu.org>
15977
15978 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15979 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15980 cater for additional parameter.
15981
15982 * keymap.h: Adjust number of parameters to `current-active-maps'.
15983
15984 * doc.c (Fsubstitute_command_keys): Adjust call of
15985 `current-active-maps'.
15986
159872007-06-25 David Kastrup <dak@gnu.org>
15988
15989 * callint.c (Fcall_interactively): Make the parsing of interactive
15990 specs somewhat more readable.
15991
159922007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15993
15994 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15995 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15996 if extended background has already been filled.
15997
159982007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15999
16000 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16001 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16002
16003 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16004 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16005 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16006 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16007 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16008 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16009 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16010 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16011 Run timers during dialog popup.
16012 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16013
160142007-06-21 Jason Rumney <jasonr@gnu.org>
16015
16016 * image.c (convert_mono_to_color_image): Swap fore and background.
16017
160182007-06-20 Jason Rumney <jasonr@gnu.org>
16019
16020 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16021 (w32_free_bdf_font): Unmap memory not handle.
16022
160232007-06-20 Sam Steingold <sds@gnu.org>
16024
16025 * gmalloc.c (__morecore): Fix the declaration to comply with the
16026 definition.
16027
160282007-06-20 Juanma Barranquero <lekktu@gmail.com>
16029
16030 * w32term.c (w32_delete_display): Remove leftover declaration.
16031 (w32_define_cursor, w32_initialize): Make static.
16032
16033 * w32.c (_wsa_errlist): Fix typo in error message.
16034 (init_environment): Ignore any environment variable from the
16035 registry having a null value.
16036
160372007-06-20 Glenn Morris <rgm@gnu.org>
16038
16039 * Makefile.in (LIBGIF): Default to -lgif.
16040
160412007-06-17 Jason Rumney <jasonr@gnu.org>
16042
16043 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16044 unicode strings.
16045
160462007-06-16 Juanma Barranquero <lekktu@gmail.com>
16047
16048 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16049 Fix typo in docstring.
16050
160512007-06-16 Eli Zaretskii <eliz@gnu.org>
16052
16053 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16054 and their keybindings.
16055
160562007-06-15 Chong Yidong <cyd@stupidchicken.com>
16057
16058 * composite.c (update_compositions): Fix last fix.
16059
160602007-06-14 Jason Rumney <jasonr@gnu.org>
16061
16062 * w32.c (get_process_times_fn): New function pointer.
16063 (globals_of_w32): Intialize it if present in kernel32.dll.
16064 (w32_get_internal_run_time): New function.
16065
16066 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16067
160682007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16069
16070 * composite.c (update_compositions): Check the validness of
16071 compositions.
16072
160732007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16074
16075 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16076 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16077
16078 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16079 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16080
16081 * macgui.h (USE_MAC_TOOLBAR): New define.
16082
16083 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16084 Return immediately unless popup is activated.
16085
16086 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16087 background to scroll bar gap.
16088 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16089 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16090 scroll bars on frame edge. Check fringe background extension.
16091 Don't clear extended fringe background area.
16092 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16093 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16094 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16095 [USE_MAC_TOOLBAR]: New macros.
16096 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16097 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16098 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16099 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16100 [USE_MAC_TOOLBAR]: New functions.
16101 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16102 manually if previous repositioning has failed.
16103 (mac_handle_keyboard_event): Use precomputed event kind.
16104 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16105 as tool bar item click. Handle mouse movement over tool bar items.
16106
16107 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16108 toolbar_win_gravity.
16109 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16110 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16111 Add externs.
16112
16113 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16114 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16115
161162007-06-14 Chong Yidong <cyd@stupidchicken.com>
16117
16118 * image.c (search_image_cache): Remove unused variable.
16119
161202007-06-13 Chong Yidong <cyd@stupidchicken.com>
16121
16122 * xfns.c, xmenu.c: Link to xaw3d if available.
16123
161242007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16125
16126 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16127 frame_foreground and frame_background.
16128
16129 * image.c (lookup_image): Save frame foreground and background colors.
16130 (search_image_cache): Check if saved and current frame colors match.
16131
161322007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16133
16134 * regex.c (regex_compile): Remove the `regnum' counter.
16135 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16136
161372007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16138
16139 * term.c: Include intervals.h to declare Fget_text_property.
16140
161412007-06-10 Jason Rumney <jasonr@gnu.org>
16142
16143 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16144
161452007-06-08 Juanma Barranquero <lekktu@gmail.com>
16146
16147 * callint.c (Fcall_interactively):
16148 * editfns.c (Fdelete_and_extract_region):
16149 * fileio.c (Fread_file_name):
16150 * fns.c (Fmapconcat):
16151 * keyboard.c (cmd_error_internal):
16152 * keymap.c (Fkey_description):
16153 * lread.c (openp):
16154 * minibuf.c (read_minibuf):
16155 * search.c (wordify):
16156 * sunfns.c (sel_read):
16157 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16158 * xfns.c (x_default_scroll_bar_color_parameter):
16159 * xmenu.c (menu_help_callback):
16160 * xselect.c (Fx_get_atom_name):
16161 * xterm.c (x_term_init): Use empty_unibyte_string.
16162
161632007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16164
16165 * alloc.c (init_strings): Initialize canonical empty strings.
16166 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16167 canonical empty string when the requested size is 0.
16168
16169 * emacs.c (empty_unibyte_string): Rename from empty_string.
16170 (empty_multibyte_string): New canonical empty string.
16171 (syms_of_emacs): Don't initialize empty_string.
16172
16173 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16174 string, if appropriate.
16175 (empty_unibyte_string, empty_multibyte_string): New externs.
16176 (empty_string): Remove extern.
16177
16178 * lread.c (syms_of_lread): Use empty_unibyte_string.
16179
161802007-06-07 Jason Rumney <jasonr@gnu.org>
16181
16182 * s/ms-w32.h: Don't define HAVE_TZNAME.
16183
16184 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16185
161862007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16187
16188 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16189
16190 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16191 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16192
16193 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16194 Don't call next handler.
16195 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16196 Remove argument. Install handler to application.
16197 (set_frame_menubar): Don't change deep_p.
16198 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16199 FRAME_OUTER_TO_INNER_DIFF_Y.
16200 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16201 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16202 [HAVE_DIALOGS]: New macros.
16203 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16204 Use them.
16205 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16206
16207 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16208 init_service_handler. All callers changed. Return OSStatus value.
16209
16210 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16211 All callers changed so as not to call SetPortWindowPort.
16212 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16213 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16214 mac_draw_string_common.
16215 (mac_draw_image_string_qd): Likewise.
16216 (mac_draw_string_common): Use them. Add INLINE.
16217 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16218 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16219 GetGlobalMouse.
16220 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16221 and FRAME_OUTER_TO_INNER_DIFF_Y.
16222 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16223 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16224 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16225 repositioning window to mac_handle_window_event.
16226 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16227 saving window location to mac_handle_window_event
16228 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16229 (install_menu_target_item_handler): Remove argument in extern.
16230 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16231 Also accept command events.
16232 (do_keystroke): New function created from XTread_socket.
16233 (init_command_handler): Remove functions.
16234 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16235 and save window location by kEventWindowShowing and kEventWindowHiding
16236 handlers here. Don't call next handler for window state change and
16237 focus events.
16238 (mac_handle_application_event, mac_handle_keyboard_event)
16239 [TARGET_API_MAC_CARBON]: New functions.
16240 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16241 kEventWindowShowing and kEventWindowHiding events. Move installation
16242 of mouse, font, text input and menu target item handlers to
16243 install_application_handler.
16244 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16245 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16246 New function.
16247 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16248 Register it.
16249 (XTread_socket) [TARGET_API_MAC_CARBON]:
16250 Consolidate SendEventToEventTarget calls.
16251 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16252 Move application activation handler to mac_handle_application_event.
16253 Move keyboard handler to mac_handle_keyboard_event.
16254 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16255 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16256 init_command_handler. Call install_application_handler.
16257
16258 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16259 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16260
162612007-06-07 Glenn Morris <rgm@gnu.org>
16262
16263 * emacs.c (main): Use `emacs-copyright' in --version output.
16264
162652007-06-06 Chong Yidong <cyd@stupidchicken.com>
16266
16267 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16268
162692007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16270
16271 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16272
16273 * macgui.h: Replace WindowPtr with WindowRef.
16274
16275 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16276 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16277 Replace ControlHandle with ControlRef.
16278 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16279
16280 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16281 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16282 Replace ControlHandle with ControlRef.
16283 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16284 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16285
16286 * macterm.h (struct scroll_bar): Rename member control_handle_low
16287 and control_handle_high to control_ref_low and control_ref_high.
16288 All uses changed.
16289 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16290 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16291 respectively. All uses changed.
16292 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16293 (install_window_handler, remove_window_handler): Replace WindowPtr
16294 with WindowRef in externs.
16295
162962007-06-05 Juanma Barranquero <lekktu@gmail.com>
16297
16298 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16299
163002007-06-03 Nick Roberts <nickrob@snap.net.nz>
16301
16302 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16303
16304 * frame.c (Fmouse_position, Fmouse_pixel_position):
16305 Condition on HAVE_GPM too.
16306
16307 * term.c (term_mouse_highlight): Remove unused variables.
16308 (Fterm_open_connection): Set gpm_zerobased to 1.
16309 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16310 Use zero based co-ordinates.
16311 (handle_one_term_event): Report a drag as mouse movement too.
16312
16313 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16314
163152007-06-03 Chong Yidong <cyd@stupidchicken.com>
16316
16317 * image.c (search_image_cache): New function. Require background
16318 color match if background color is unspecified in the image spec.
16319 (uncache_image, lookup_image): Use it.
16320
163212007-06-01 Juanma Barranquero <lekktu@gmail.com>
16322
16323 * window.c (Fshrink_window): Reflow docstring.
16324
163252007-06-02 Chong Yidong <cyd@stupidchicken.com>
16326
16327 * Version 22.1 released.
16328
163292007-06-01 Richard Stallman <rms@gnu.org>
16330
16331 * xfns.c (x_encode_text): Add GCPRO.
16332
163332007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16334
16335 * xfns.c (x_set_name_internal): Save encoded name before
16336 x_encode_text in case string data is relocated.
16337
163382007-05-31 Richard Stallman <rms@gnu.org>
16339
16340 * buffer.c (syms_of_buffer): Doc fix.
16341
163422007-05-30 Nick Roberts <nickrob@snap.net.nz>
16343
16344 * sysdep.c (init_sys_modes): Add rather than replace with
16345 O_NONBLOCK.
16346
16347 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16348 term_mouse_moveto.
16349
16350 * termhooks.h (term_mouse_moveto): New extern.
16351
16352 * term.c (mouse_face_window): Rename...
16353 (Qmouse_face_window): ...to this.
16354 (term_show_mouse_face, term_clear_mouse_face)
16355 (term_mouse_highlight): Use Qmouse_face_window.
16356 (term_mouse_moveto): New function.
16357 (term_mouse_position): Make it work.
16358 (syms_of_term): Uncomment assignment to mouse_position_hook.
16359 Staticpro Qmouse_face_window.
16360
163612007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16362
16363 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16364 around current_column call.
16365
163662007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16367
16368 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16369 * xdisp.c (next_element_from_buffer):
16370 * window.c (delete_window):
16371 * term.c (term_mouse_highlight):
16372 * msdos.c (getdefdir):
16373 * macterm.c (mac_create_bitmap_from_bitmap_data)
16374 (init_font_name_table):
16375 * fns.c (Fsxhash):
16376 * data.c (Fmake_local_variable):
16377 * ccl.c (ccl_driver): Likewise.
16378
163792007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16380
16381 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16382 Call mac_wakeup_from_rne on window size change.
16383
163842007-05-25 Chong Yidong <cyd@stupidchicken.com>
16385
16386 * image.c (uncache_image): Fix typo.
16387
163882007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16389
16390 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16391
163922007-05-22 Richard Stallman <rms@gnu.org>
16393
16394 * xterm.c (x_connection_closed): Remove NO_RETURN.
16395
163962007-05-22 Martin Rudalics <rudalics@gmx.at>
16397
16398 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16399
164002007-05-21 Chong Yidong <cyd@stupidchicken.com>
16401
16402 * image.c (uncache_image): New function.
16403 (Fimage_refresh): New function.
16404
164052007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16406
16407 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16408
164092007-05-20 Nick Roberts <nickrob@snap.net.nz>
16410
16411 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16412 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16413
164142007-05-20 Nick Roberts <nickrob@snap.net.nz>
16415
16416 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16417 conditional on [HAVE_GPM_H].
16418
164192007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16420
16421 * syntax.c (skip_chars): Update syntax-table only after we checked that
16422 the new location is valid.
16423
164242007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16425
16426 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16427 mac_get_window_bounds.
16428
164292007-05-20 Nick Roberts <nickrob@snap.net.nz>
16430
16431 * Makefile.in (LIBGPM): Allow it to be set from configure.
16432 If set then link Emacs with it.
16433
16434 * config.in: Regenerate.
16435
16436 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16437 New externs.
16438
16439 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16440 Include gpm.h.
16441 (handle_one_term_event, term_gpm): New externs.
16442
16443 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16444 and allow it to be interrupted by SIGIO.
16445
16446 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16447 (wait_reading_process_output): Wait on gpm_fd too.
16448 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16449 (add_gpm_wait_descriptor_called_flag): New variable.
16450 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16451
16452 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16453 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16454 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16455 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16456 (make_lispy_event): Add case GPM_CLICK_EVENT.
16457 (read_avail_input): Handle mouse input.
16458
16459 * term.c (write_glyphs_with_face): New function.
16460 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16461 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16462 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16463 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16464 (last_mouse_x, last_mouse_y): New variables.
16465 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16466 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16467 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16468 (Fterm_close_connection): New functions.
16469 (term_init): Initialise mouse_face_window.
16470
164712007-05-19 Chong Yidong <cyd@stupidchicken.com>
16472
16473 * xdisp.c (redisplay_window): If first window line is a
16474 continuation line, recompute the new window start instead of
16475 recentering.
16476
164772007-05-18 Glenn Morris <rgm@gnu.org>
16478
16479 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16480 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16481
164822007-05-17 Glenn Morris <rgm@gnu.org>
16483
16484 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16485
164862007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16487
16488 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16489 dead key repeat and up events.
16490
164912007-05-14 Chong Yidong <cyd@stupidchicken.com>
16492
16493 * image.c (pbm_load): Check image size for monochrome pbm.
16494
164952007-05-13 Chong Yidong <cyd@stupidchicken.com>
16496
16497 * xterm.c (XTread_socket): Revert last change.
16498
164992007-05-12 Chong Yidong <cyd@stupidchicken.com>
16500
16501 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16502
16503 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16504
165052007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16506
16507 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16508 mixup (YAILOM).
16509
165102007-05-07 Andreas Schwab <schwab@suse.de>
16511
16512 * keymap.c (Flookup_key): Fix typo in last change.
16513
165142007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16515
16516 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16517 mapping for unibyte strings.
16518
165192007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16520
16521 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16522 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16523
165242007-04-29 Richard Stallman <rms@gnu.org>
16525
16526 * insdel.c (replace_range): For undo, record insertion first.
16527
165282007-04-29 Andreas Schwab <schwab@suse.de>
16529
16530 * lisp.h (VECSIZE): Use OFFSETOF.
16531
165322007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16533
16534 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16535 disabled lines.
16536
165372007-04-28 Richard Stallman <rms@gnu.org>
16538
16539 * lread.c (read_escape): In a string, \s is always space.
16540
165412007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16542
16543 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16544
16545 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16546 submenu for menu bar items.
16547
16548See ChangeLog.10 for earlier changes.
16549
16550;; Local Variables:
16551;; coding: utf-8
16552;; add-log-time-zone-rule: t
16553;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16554;; End:
16555
16556 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16557
16558 This file is part of GNU Emacs.
16559
16560 GNU Emacs is free software: you can redistribute it and/or modify
16561 it under the terms of the GNU General Public License as published by
16562 the Free Software Foundation, either version 3 of the License, or
16563 (at your option) any later version.
16564
16565 GNU Emacs is distributed in the hope that it will be useful,
16566 but WITHOUT ANY WARRANTY; without even the implied warranty of
16567 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16568 GNU General Public License for more details.
16569
16570 You should have received a copy of the GNU General Public License
16571 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16572
16573;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40