* process.c (Fsystem_process_attributes, syms_of_process):
[bpt/emacs.git] / src / ChangeLog
CommitLineData
3c309f34
JB
12008-12-11 Juanma Barranquero <lekktu@gmail.com>
2
3 * process.c (Fsystem_process_attributes, syms_of_process):
4 Fix typo in name of Ssystem_process_attributes.
5 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
6
fedc6ab5
JB
72008-12-11 Juanma Barranquero <lekktu@gmail.com>
8
9 * syntax.c (Fmodify_syntax_entry): Doc fix.
10
ba3de0e8
JB
112008-12-10 Juanma Barranquero <lekktu@gmail.com>
12
13 * font.c (Ffont_spec): Move usage to end of docstring.
14
174f1c74
JR
152008-12-10 Jason Rumney <jasonr@gnu.org>
16
17 * w32font.c (Qcham): New symbol.
18 (font_supported_scripts): Add cham, and comments for other new
19 scripts in bitfield from OpenType spec.
9d32f818
JR
20 (add_font_entity_to_list): Limit unicode-sip fonts to those that
21 contain characters beyond the bmp.
174f1c74 22
7b649478
KH
232008-12-10 Kenichi Handa <handa@m17n.org>
24
25 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 26 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
27 Qunicode_sip.
28
2133e2d1
JB
292008-12-10 Juanma Barranquero <lekktu@gmail.com>
30
31 * coding.c (QCdefault_char): Rename from QCdefalut_char.
32 (Fcoding_system_put): Use QCdefault_char.
33 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
34
9af886ee
CY
352008-12-09 Chong Yidong <cyd@stupidchicken.com>
36
74d819eb
CY
37 * xftfont.c (syms_of_xftfont): Fix typo.
38
4ccfa1c0 39 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 40
7c19d3ae
DN
412008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
42
43 * emacs.c (main): Close daemon_pipe on exec.
44
567826bb
CY
452008-12-08 Chong Yidong <cyd@stupidchicken.com>
46
47 * termchar.h (struct tty): New members termcap_term_buffer and
48 termcap_strings_buffer.
49
50 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 51 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
52 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
53 All callers changed.
54 (init_tty): Store termcap data and string buffers in new struct
55 tty members termcap_term_buffer and termcap_strings_buffer.
56 (delete_tty): Free them.
4ccfa1c0 57 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 58
aa96c42b
SZ
592008-12-07 Seiji Zenitani <zenitani@mac.com>
60
61 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 62 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 63
b7e1d896
CY
642008-12-06 Chong Yidong <cyd@stupidchicken.com>
65
66 * coding.c (make_conversion_work_buffer): Disable buffer
67 modification hooks in the work buffer.
68
b5ec91a5
EZ
692008-12-05 Eli Zaretskii <eliz@gnu.org>
70
71 * process.c (procfs_system_process_attributes): If `nread' has a
72 negative value, assign zero to it.
73
a5d2a52b
CY
742008-12-05 Chong Yidong <cyd@stupidchicken.com>
75
68c5540b 76 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 77
7bf1bb21
KH
782008-12-05 Kenichi Handa <handa@m17n.org>
79
80 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
81 second character is a combining character.
82
2fdc7d00
EZ
832008-12-05 Eli Zaretskii <eliz@gnu.org>
84
85 * process.c (procfs_system_process_attributes): Don't use cmd,
86 cmdsize, and q without initializing them first.
87
bf6bfba8
JR
882008-12-04 Jason Rumney <jasonr@gnu.org>
89
90 * w32font.c (w32font_draw): Initialize orig_clip before getting
91 it, and delete it when finished.
92
a3b1a468
DN
932008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
94
95 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
96 case when running as a daemon before detaching.
97
8b8be8eb
JB
982008-12-03 Juanma Barranquero <lekktu@gmail.com>
99
805f2638 100 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 101
b1bde622
KH
1022008-12-03 Kenichi Handa <handa@m17n.org>
103
e500c47d
KH
104 * font.c (font_at): Set `multibyte' at first.
105
ca516334
KH
106 * coding.c (decode_coding_charset): Check type of an element of
107 vector VALIDS.
7bf1bb21 108 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 109
4ccfa1c0 110 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
111 (font_for_char): Likewise.
112
1e5ecd37
CY
1132008-12-03 Chong Yidong <cyd@stupidchicken.com>
114
d5b01609 115 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
116 (font_update_lface): Handle fonts with corrupted size specs,
117 i.e. non-int and non-float.
d5b01609 118
11e3a6e4 119 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 120 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 121 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 122
ab06788b
CY
123 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
124
1e5ecd37 125 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 126 underline_minimum_offset for underline position.
1e5ecd37 127
63c125ab
DN
1282008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
129
130 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
131
132 * character.c (c_string_width): Specify the type for LEN.
133
3a8406e1
KH
1342008-12-03 Kenichi Handa <handa@m17n.org>
135
4ccfa1c0 136 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 137 (decode_coding_utf_8): Likewise.
4ccfa1c0 138 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 139 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 140
651df7d9
CY
1412008-12-02 Chong Yidong <cyd@stupidchicken.com>
142
143 * keyboard.c (make_lispy_position): Only use PT if the selected
144 window is current.
145
1f625c6c
AS
1462008-12-02 Andreas Schwab <schwab@suse.de>
147
f7741ce9
AS
148 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
149
1f625c6c
AS
150 * doprnt.c (doprnt1): Fix size of charbuf.
151
92bc2678
CY
1522008-12-02 Chong Yidong <cyd@stupidchicken.com>
153
154 * keyboard.c (timer_check): Revert last change.
155
93b9e8cc
JB
1562008-12-02 Juanma Barranquero <lekktu@gmail.com>
157
158 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
159
fd7a37d5
JB
1602008-12-01 Juanma Barranquero <lekktu@gmail.com>
161
162 * makefile.w32-in: Update dependencies.
163 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
164
c115043b
AS
1652008-12-01 Andreas Schwab <schwab@suse.de>
166
167 * font.c (register_font_driver): Use xmalloc.
168 (font_put_frame_data): Likewise.
169
f5668d2a
CY
1702008-12-01 Chong Yidong <cyd@stupidchicken.com>
171
860d96be
CY
172 * xfaces.c (realize_x_face): Make abort condition clearer.
173
f5668d2a
CY
174 * gtkutil.c (update_frame_tool_bar): Initialize variable.
175
379c17e7
CY
1762008-11-30 Chong Yidong <cyd@stupidchicken.com>
177
178 * keyboard.c (timer_check): After a timer runs, ensure that the
179 selected window's buffer is current.
180
35f36d65
JB
1812008-11-30 Juanma Barranquero <lekktu@gmail.com>
182
f952c61c
JB
183 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
184 It was accidentally restored by the Unicode merge.
185
35f36d65
JB
186 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
187
b23077df
JB
1882008-11-29 Juanma Barranquero <lekktu@gmail.com>
189
190 * w32proc.c: Include "coding.h".
191 (Fw32_short_file_name): Encode filename passed to Windows API.
192 (Fw32_long_file_name): Encode filename passed to Windows API and
193 decode back the result. (Bug#1433)
194
b8ebe9dd
KH
1952008-11-29 Kenichi Handa <handa@m17n.org>
196
8cc53f96
KH
197 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
198 not before accessing it.
199
b8ebe9dd
KH
200 * charset.c (Fdefine_charset_internal): After calculating
201 min_char, max_char, and fastmap, copy the charset structure again.
202 (encode_char): Fix the previous change.
203
59bc82c0
SZ
2042008-11-28 Seiji Zenitani <zenitani@mac.com>
205
206 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
207
208 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
209
210 * nsterm.m (x_set_frame_alpha): New function.
211
32247e3d
EZ
2122008-11-27 Eli Zaretskii <eliz@gnu.org>
213
214 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
215
b003e5ff
JB
2162008-11-27 Juanma Barranquero <lekktu@gmail.com>
217
218 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
219 pointer to check_face_name.
220
708550f5
KH
2212008-11-27 Kenichi Handa <handa@m17n.org>
222
223 * category.h (SET_CATEGORY_SET): Call set_category_set.
224 (set_category_set): Extern it.
225
226 * category.c (hash_get_category_set): New function.
227 (Fmodify_category_entry): Adjusted for the change of
228 char_table_ref_and_range. Call hash_get_category_set to get a
229 category set to store in the table.
230
231 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
232 Funify_charset.
233
2ae37cf0 234 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
235 (DECODE_CHAR): Check if the decoder vector is ready.
236 (ENCODE_CHAR): Check if the encoder char-table is ready.
237 (maybe_unify_char): Extern it.
238
239 * charset.c (Vchar_unified_charset_table): Delete it.
240 (inhibit_load_charset_map): New variable.
241 (temp_charset_work): New variable.
242 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
243 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
244 New macros.
245 (load_charset_map): Meaning of control_flag changed. If
246 inhibit_load_charset_map is nonzero, setup a table in
247 temp_charset_work.
248 (load_charset): New argument control_flag.
249 (map_charset_for_dump): New function.
250 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
251 map_charset_for_dump.
252 (Fdefine_charset_internal): If the charset method is MAP, load
253 mapping tables by calling load_charset.
254 (Funify_charset): Don't load a mapping table but directly set
255 Vchar_unify_table.
256 (maybe_unify_char): New function.
257 (decode_char): Don't handle the deleted method MAP_DEFERRED.
258 Handle the case of inhibit_load_charset_map being nonzero.
259 (encode_char): Don't handle the deleted method MAP_DEFERRED.
260 Handle the case of inhibit_load_charset_map being nonzero.
261 (Fclear_charset_maps): Just free temp_charset_work.
262 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
263 variable.
264
265 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
266 change of char_table_ref_and_range.
267 (char_table_ref_and_range): Change the meaning of argument FROM
268 and TO. Now the caller must provide initial values for *FROM
269 and *TO.
270
271 * fontset.c (fontset_add): Adjusted for the change of
272 char_table_ref_and_range.
273 (fontset_get_font_group): Likewise.
274 (Ffontset_info): Likewise.
275
276 * keymap.c (describe_vector): Adjusted for the change of
277 char_table_ref_and_range. For char-table, put boundary between
278 non-ASCII and 8-bit characters.
279
280 * print.c (print_object): For bool-vector, delete unnecessary
281 check of ASCII_BYTE_P.
282
9196133b
JR
2832008-11-26 Jason Rumney <jasonr@gnu.org>
284
285 * w32font.c (w32font_open_internal): Don't include external
286 leading in font height.
287
9f688acf
GM
2882008-11-26 Glenn Morris <rgm@gnu.org>
289
290 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
291 redefinition with ifdef. (Bug#1383)
292
90d19aff
AR
2932008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
294
295 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
296
4ccfa1c0 2972008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
298
299 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
300 New EmacsView methods.
301 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
302 Fixes bug #1048,1357,1414.
303
3042008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
305
306 Fix bug #1362.
307 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
308 is not an indexed color.
309 * nsterm.m (free_indexed_color): Add argument checking.
310 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
311
e7d5ecb3
CY
3122008-11-24 Chong Yidong <cyd@stupidchicken.com>
313
314 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
315 Document confirm-after-completion value for
316 minibuffer-completion-confirm.
317
c285743c
JR
3182008-11-24 Jason Rumney <jasonr@gnu.org>
319
320 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
321 warning.
322
b0857706
JR
3232008-11-23 Jason Rumney <jasonr@gnu.org>
324
325 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
326 restored before returning.
327
328 * w32font.c (check_face_name): New function.
329 (add_font_entity_to_list): Use it to filter out common substituted
330 fonts.
331
ee50ff07
MR
3322008-11-22 Martin Rudalics <rudalics@gmx.at>
333
334 * buffer.c (Fswitch_to_buffer): Reword and mention new option
335 confirm-nonexistent-file-or-buffer in doc-string.
336
b8ff72fa
SM
3372008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
338
339 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
340 Fix copy/paste typo. Add checks.
341
cee53ed4
KH
3422008-11-21 Kenichi Handa <handa@m17n.org>
343
344 * coding.c (detect_coding_iso_2022): Reject invalid composition
345 sequence.
346 (DECODE_COMPOSITION_START): If the current source is the last
347 block, and the current composition doesn't end, regard this
348 sequence as invalid.
349 (decode_coding_iso_2022): Handle invalid composition sequence.
350
f6ef1e65
MR
3512008-11-20 Martin Rudalics <rudalics@gmx.at>
352
353 * window.c (coordinates_in_window): Don't return
354 ON_VERTICAL_BORDER for the rightmost position of a mode/header
355 line when the window is not the rightmost one. (Bug#1372)
356
e08b1705
MR
3572008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
358
359 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
360
ad98e89f
EZ
3612008-11-15 Eli Zaretskii <eliz@gnu.org>
362
363 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
364 and bright_bg if noninteractive is non-zero.
365
fb098a4b
CY
3662008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
367
368 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
369 x_draw_glyph_string_background.
370
371 * w32term.c (x_draw_glyph_string): Likewise.
372
ce952b6e
CY
3732008-11-15 Chong Yidong <cyd@stupidchicken.com>
374
375 * xterm.c (x_draw_glyph_string): Stop drawing the background of
376 the next glyph string once past the overhang width.
377
378 * nsterm.m (ns_draw_glyph_string): Likewise.
379
380 * w32term.c (x_draw_glyph_string): Likewise.
381
26ea7079
CY
3822008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
383
384 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
385 double file close.
386
1c33c906
MR
3872008-11-14 Martin Rudalics <rudalics@gmx.at>
388
389 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
390 dedicated status of window before attempting to display another
391 buffer in it.
392
8fc29035
JB
3932008-11-14 Juanma Barranquero <lekktu@gmail.com>
394
395 * msdos.c (Fmsdos_long_file_names):
396 (syms_of_msdos) <dos-unsupported-char-glyph>:
397 * dosfns.c (Fint86): Fix typos in docstrings.
398
55fb4286
EZ
3992008-11-14 Eli Zaretskii <eliz@gnu.org>
400
401 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
402
3fda0315
KY
4032008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
404
405 * puresize.h (BASE_PURESIZE): Increase to 1260000.
406
7e849c17
CY
4072008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
408
409 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
410
411 * frame.h: Negative alpha means "don't touch".
412
413 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
414
415 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
416
b9fd67bd
DN
4172008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
418
419 * hftctl.c:
420 * chpdef.h:
421 * acldef.h: Remove files used only for systems no longer supported.
422
423 * Makefile.in: Fix .o alphabetical ordering.
424 (hftctl.o): Remove dependency, file removed.
425 (keymap.o, print.o): Depend on charset.h.
426
d5998e03
KH
4272008-11-10 Kenichi Handa <handa@m17n.org>
428
2ae37cf0 429 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 430
be70e183
CY
4312008-11-08 Chong Yidong <cyd@stupidchicken.com>
432
433 * dired.c (file_name_completion): If completion_ignore_case is
434 enabled, ignore case when checking completion-regexp-list.
435
7cf94eac
EZ
4362008-11-08 Eli Zaretskii <eliz@gnu.org>
437
438 * vm-limit.c (get_lim_data): Fix last change.
439
ee107a89
KH
4402008-11-08 Kenichi Handa <handa@m17n.org>
441
442 * character.c (Fget_byte): New function.
443 (syms_of_character): Defsubr Fget_byte.
444
5fd15622
CY
4452008-11-07 Chong Yidong <cyd@stupidchicken.com>
446
447 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
448 cursor position is valid after scrolling.
449
13d62fad
JB
4502008-11-06 Juanma Barranquero <lekktu@gmail.com>
451
452 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
453
a1dd2936
GM
4542008-11-06 Glenn Morris <rgm@gnu.org>
455
456 * xterm.c (handle_one_xevent): Don't let popup menus cause
457 mouse-autoselect-window related window switching. (Bug#1261)
458
860cd236
CY
4592008-11-04 David Smith <davidsmith@acm.org> (tiny change)
460
461 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
462
653a3150
AS
4632008-11-04 Andreas Schwab <schwab@suse.de>
464
465 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
466
870f5cac
CY
4672008-11-03 Chong Yidong <cyd@stupidchicken.com>
468
469 * xfns.c (Fx_wm_set_size_hint): New function.
470
1e02f3cb
MR
4712008-11-03 Martin Rudalics <rudalics@gmx.at>
472
473 * textprop.c (Fprevious_single_char_property_change): Return 0
474 when there's no change in a string. (Bug#1301)
475
e630dfc6
MR
4762008-11-02 Martin Rudalics <rudalics@gmx.at>
477
478 * frame.c (do_switch_frame): New argument NORECORD passed to
479 Fselect_window.
480 (Fselect_frame): New argument NORECORD passed to
481 do_switch_frame.
482 (Fset_frame_selected_window): New argument NORECORD passed to
483 Fselect_frame.
484 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
485 in call of do_switch_frame.
486 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
487 Handle NORECORD argument in call of Fselect_frame.
488 * lisp.h (do_switch_frame, Fselect_frame)
489 (Fset_frame_selected_window): Adjust declarations.
490 * window.c (select_frame_norecord): New function.
491 (run_window_configuration_change_hook): Use it and call
492 Fselect_frame with NORECORD set.
493 (Fselect_window): Pass NORECORD to Fselect_frame.
494 (Fset_window_configuration): Handle NORECORD argument in call of
495 do_switch_frame.
496 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
497 Fset_frame_selected_window.
498 * keyboard.c (command_loop_1): Handle NORECORD in call of
499 Fselect_frame (currently ifdefd).
500
9020b223
GM
5012008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
502
503 * emacs.c (USAGE2): Untabify.
504
793ffee8
SM
5052008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
506
507 * composite.c (fill_gstring_header): Fix copy/paste typo.
508
ab6d1131
MR
5092008-10-31 Martin Rudalics <rudalics@gmx.at>
510
511 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
512 (Fother_window): Rename argument and rewrite doc-string.
513 (select_window_norecord): Fix return value. (Bug#1276)
514
601a9cf1
JB
5152008-10-30 Juanma Barranquero <lekktu@gmail.com>
516
517 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
518 new frames overriding foreground for tooltips. Based on similar patch
519 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
520
813b0652
CY
5212008-10-29 Chong Yidong <cyd@stupidchicken.com>
522
523 * emacs.c (Fdaemon_initialized): Initialize nfd.
524
4414f58f
MR
5252008-10-29 Martin Rudalics <rudalics@gmx.at>
526
527 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
528 (Fwindow_text_height): Clarify doc-strings.
529 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
530 doc-string of window-scroll-functions.
531
ecdcaa09
RS
5322008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
533
534 * category.c (syms_of_category): Fix typo in docstring.
535
23fe745a
JB
5362008-10-28 Juanma Barranquero <lekktu@gmail.com>
537
538 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
539 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
540 Fix typos in docstrings.
541
ff808935
DN
5422008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
543
544 * emacs.c (daemon_pipe): Make non-static.
545 (IS_DAEMON): Move definition ...
546 * lisp.h (IS_DAEMON): ... here.
547 (daemon_pipe): Declare.
548 (is_daemon): Remove.
549 * dispnew.c (init_display): Use IS_DAEMON.
550
fc012771
SM
5512008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
552
553 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
554 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
555
556 * emacs.c (is_daemon): Remove.
557 (main): Don't set is_daemon.
558 (IS_DAEMON): New macro.
559 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 560 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
561 parent exits.
562 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
563
d8bdbe6f
CY
5642008-10-27 Chong Yidong <cyd@stupidchicken.com>
565
d1a072bf
CY
566 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
567 over-sized glyph, draw it with the default glyph width.
568
e2e325aa
CY
569 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
570 glyph, draw it with the default glyph width.
571
572 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
573 glyph, draw it with the default glyph width.
574
d8bdbe6f
CY
575 * xdisp.c (try_scrolling): When computing the distance from the
576 scroll margin to PT, try moving some distance past the window
577 bottom before giving up.
578
7bfac547
MR
5792008-10-27 Martin Rudalics <rudalics@gmx.at>
580
581 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
582 (Fset_window_buffer): Explain in doc-string that a window can be
583 "strongly" dedicated to its buffer.
584
4ff029f6
DN
5852008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
586
587 * emacs.c (daemon_name): New variable.
588 (main): Deal with --daemon=SERVER_NAME.
589 (Fdaemonp): Return a name if one was passed to --daemon.
590
5790ef40
DN
5912008-10-26 Romain Francoise <romain@orebokech.com>
592
f9bd0df9 593 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
594 (main): Create a pipe before forking, make the parent exit only after
595 the child has closed its end of the pipe. Move closing the
596 descriptors ...
597 (Fdaemon_initialized): ... here. New function.
598
f5385255
SM
5992008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
600
4d632321
SM
601 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
602 the previous unoptimized table.
603
f5385255
SM
604 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
605 the distinction between non-nil and non-t value of `dedicated'.
606
6c56a0f3
CY
6072008-10-25 Chong Yidong <cyd@stupidchicken.com>
608
609 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 610 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 611
fec89261
MR
6122008-10-25 Martin Rudalics <rudalics@gmx.at>
613
614 * window.c (Fget_buffer_window, Fdelete_windows_on)
615 (Freplace_buffer_in_windows): Make buffer argument optional and
616 rename to buffer_or_name.
617
34fcddd0
CY
6182008-10-24 Chong Yidong <cyd@stupidchicken.com>
619
f5385255
SM
620 * xdisp.c (handle_single_display_spec, handle_display_prop):
621 Undo 2005-05-16 change.
34fcddd0
CY
622 (handle_stop): Pop iterator if it's loaded with an empty string.
623 (get_overlay_strings_1): Don't save iterator if it's loaded with
624 an empty string (bug#1201).
625
064766f2
KH
6262008-10-24 Kenichi Handa <handa@m17n.org>
627
628 * ftfont.c (ftfont_otf_features): Fix previous change.
629 (ftfont_otf_capability): Check FeatureList.FeatureCount before
630 calling ftfont_otf_features.
631
f9bd0df9 6322008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
633
634 * font.c (font_match_p): Fix for the case that a vector of
635 characters is in script-representative-chars.
636
1dae9197
MA
6372008-10-24 Michael Albinus <michael.albinus@gmx.de>
638
639 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 640 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
641 (xd_read_queued_messages): Catch Qdbus_error from the macros.
642 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
643 macro. (Bug#1186).
644
f9bd0df9 6452008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
646
647 * s/sol2-10.h: New file.
648
878a4584
JB
6492008-10-23 Juanma Barranquero <lekktu@gmail.com>
650
651 * xdisp.c (fill_glyph_string): Fix typo in source (though the
652 poor beast has survived 9+ years and the jump from xterm.c!).
653
cd265ca6
MR
6542008-10-23 Martin Rudalics <rudalics@gmx.at>
655
656 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
657 Reword doc-string.
f5385255 658 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 659
472a4dc9
JB
6602008-10-23 Juanma Barranquero <lekktu@gmail.com>
661
662 * character.c (syms_of_character) <script-representative-chars>:
663 <unicode-category-table>: Doc fixes.
664
159bd5a2
NF
6652008-10-23 Noah Friedman <friedman@splode.com>
666
667 * coding.c (make_conversion_work_buffer): Check that
668 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
669 Fget_buffer_create.
670
49f9c344
KH
6712008-10-23 Kenichi Handa <handa@m17n.org>
672
673 * font.c (font_add_log): Check the values of extra properties.
674
12bb3111
MR
6752008-10-22 Martin Rudalics <rudalics@gmx.at>
676
677 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
678 Reword doc-string.
679 (Fset_window_parameter): Use NILP.
680 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 681 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 682
bbeb4e99
JB
6832008-10-22 Juanma Barranquero <lekktu@gmail.com>
684
685 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
686
6872008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
688
689 * nsfns.m (ns_appkit_version): New function.
690 (x-server-version): Use it.
691 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
692 (x-server-vendor): Don't check_ns().
693
694 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
695
a9b555d3
JB
6962008-10-22 Juanma Barranquero <lekktu@gmail.com>
697
698 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
699 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
700
4626499f
KH
7012008-10-22 Kenichi Handa <handa@m17n.org>
702
e3681952
KH
703 * syntax.c (scan_words): Call word_boundary_p instead of comparing
704 scripts.
705
4626499f
KH
706 * category.c (word_boundary_p): Check scripts instead of charset.
707 Handle nil value in word-separating-categories and
708 word-combining-categories.
709 (syms_of_category): Fix docstrings of word-separating-categories
710 and word-combining-categories.
711
1560f91a
EZ
7122008-10-21 Eli Zaretskii <eliz@gnu.org>
713
714 * coding.c (Fencode_coding_region, Fdecode_coding_region)
715 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
716
f4668441
MR
7172008-10-21 Martin Rudalics <rudalics@gmx.at>
718
719 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
720 Rename arg "buffer" to "buffer_or_name".
721 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
722 it optional.
723 (no_switch_window): Remove since the return value is not used.
a9b555d3 724 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
725 Consider window as dedicated when Fwindow_dedicated_p returns a
726 non-nil value.
727 * lisp.h: Remove prototype for no_switch_window.
728
fd75ddb2
JD
7292008-10-21 Jan Djärv <jan.h.d@swipnet.se>
730
731 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 732 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 733
07295713
KH
7342008-10-21 Kenichi Handa <handa@m17n.org>
735
736 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
737 check Vlatin_extra_code_table.
738
712adc82
EZ
7392008-10-20 Eli Zaretskii <eliz@gnu.org>
740
741 * fileio.c (Fset_file_modes): Doc fix.
742
f549eb0b
MA
7432008-10-19 Michael Albinus <michael.albinus@gmx.de>
744
745 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
746 in arrays.
747
aac0c6e3
MR
7482008-10-19 Martin Rudalics <rudalics@gmx.at>
749
750 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
751 Mention kill-buffer in doc-string.
752 (Fset_window_buffer): Reinsert tem check removed in last commit.
753 (Fenlarge_window, Fshrink_window): Have argument names and
754 doc-string follow Elisp manual more closely.
755
7562008-10-18 Eli Zaretskii <eliz@gnu.org>
757
758 * fileio.c (Fset_file_modes): Doc fix.
759
7602008-10-18 Martin Rudalics <rudalics@gmx.at>
761
762 * window.c (Fwindow_width, Fset_window_start)
763 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
764 (Fdelete_windows_on, Freplace_buffer_in_windows):
765 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
766 (Fwindow_dedicated_p): Make window argument optional.
767 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
768 (Fset_window_buffer): Respect any non-nil dedicated value for
769 window. Rename "buffer" argument to "buffer_or_name".
770
7712008-10-18 Ulrich Mueller <ulm@gentoo.org>
772
773 * m/sh3.h: New file, machine description for SuperH.
774
7752008-10-17 Martin Rudalics <rudalics@gmx.at>
776
777 * window.c (Fsplit_window): Rename arg horflag to horizontal.
778
7792008-10-17 Kenichi Handa <handa@m17n.org>
780
781 * ftfont.c (ftfont_otf_features): Fix indexing
782 gsub_gpos->FeatureList.Feature. Check the validity of indices.
783
7842008-10-16 Magnus Henoch <mange@freemail.hu>
785
786 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
787 (Fdbus_call_method_asynchronously): Ditto.
788 This change makes C-h f display the argument list.
789
7902008-10-16 Chong Yidong <cyd@stupidchicken.com>
791
792 * fileio.c (Fexpand_file_name): Doc fix.
793
794 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
795 of :foreground and :background equivalent to unspecified (20.x
796 compatibility).
797
7982008-10-15 Eli Zaretskii <eliz@gnu.org>
799
800 * buffer.c (syms_of_buffer): Doc fix.
801
8022008-10-14 Kenichi Handa <handa@m17n.org>
803
804 * font.c (font_clear_prop): When clearing font width, clear the
805 average width field too.
806
8072008-10-12 Andreas Schwab <schwab@suse.de>
808
809 * ftfont.c (ftfont_shape_by_flt): Make static.
810 * ftfont.h (ftfont_shape_by_flt): Don't declare.
811
812 * font.c: Don't include <m17n-flt.h>.
813
8142008-10-10 Eli Zaretskii <eliz@gnu.org>
815
816 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
817
8182008-10-09 Eli Zaretskii <eliz@gnu.org>
819
820 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
821 away code.
822
8232008-10-09 Chong Yidong <cyd@stupidchicken.com>
824
825 * dispnew.c (update_text_area): Avoid looping due to large glyph
826 overhangs (bug#1070).
827
8282008-10-09 Kenichi Handa <handa@m17n.org>
829
830 * fontset.c (face_for_char): If face->fontset is negative, just
831 return ascii_face.
832
f5385255
SM
833 * font.c (font_delete_unmatched): Fix previous change.
834 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
835
8362008-10-09 Martin Rudalics <rudalics@gmx.at>
837
838 * frame.c (Fraise_frame): On text-only terminals select frame in
839 order to make it visible. (Bug#1061)
840
8412008-10-08 Chong Yidong <cyd@stupidchicken.com>
842
843 * fontset.c (fontset_find_font): Check frame validity.
844
8452008-10-07 Chong Yidong <cyd@stupidchicken.com>
846
a9b555d3 847 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
848 (xg_display_close): Allow Emacs to close all displays (bug#985).
849
8502008-10-06 Andreas Schwab <schwab@suse.de>
851
f5385255 852 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
853
8542008-10-06 Chong Yidong <cyd@stupidchicken.com>
855
f5385255 856 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 857
a9b555d3 858 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
859
860 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
861 during initialization.
862
8632008-10-04 Eli Zaretskii <eliz@gnu.org>
864
865 * xdisp.c (redisplay_internal): If frame switched, redisplay the
866 whole thing on MSDOS frames as well as on a TTY.
867
868 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
869 well as for TTY.
870 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
871 well as on a TTY.
872
873 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
874 as well as for TTY.
875
876 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
877
878 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
879 MSDOS frames as well.
880
8812008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
882
883 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
884 correct arguments.
885 * menu.c (find_and_return_menu_selection) Add cast.
886
8872008-10-03 Glenn Morris <rgm@gnu.org>
888
889 * emacs.c (USAGE1): Add --daemon.
890
8912008-10-02 Eli Zaretskii <eliz@gnu.org>
892
893 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
894 100, so it's in percents as advertised.
895
8962008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
897
898 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
899 (ns_output.current_cursor, ns_output.desired_cursor)
900 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
901 (FRAME_NEW_CURSOR_COLOR): Remove.
902
903 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 904 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
905 enumeration (HOLLOW_BOX_CURSOR, etc.).
906
907 * nsterm.m (ns_frame_rehighlight): Remove commented code.
908 (draw_window_cursor): Simplify code.
f5385255
SM
909 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
910 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 911 updates manually.
a9b555d3
JB
912 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
913 Use core Emacs cursor types.
aac0c6e3 914
b8ff72fa 915 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
916
9172008-10-02 Martin Rudalics <rudalics@gmx.at>
918
919 * process.c (Faccept_process_output): Fix doc-string.
920
9212008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
922
923 * gmalloc.c (__sbrk): Also define for uClibc.
924
925 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
926 for uClibc.
927
9282008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
929
930 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
931 styles.
932 (nsfont_open): Reenable the cache.
933
9342008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
935
936 * font.c (font_matching_entity): Reflect ATTRS in font selection.
937 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
938
9392008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
940
941 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
942 a suspended terminal.
943
9442008-09-30 Michael Albinus <michael.albinus@gmx.de>
945
946 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
947
9482008-09-30 Eli Zaretskii <eliz@gnu.org>
949
950 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
951
9522008-09-30 Chong Yidong <cyd@stupidchicken.com>
953
954 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
955 in a continued line coincides with a line beginning.
956
9572008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
958
959 * nsfont.m (nsfont_trait_distance): Fix bug.
960 (nsfont_list): Return a list rather than a vector (syncs with Handa
961 changes of 2008-05-14).
962 (nsfont_open): Improve logging.
963
9642008-09-29 Andreas Schwab <schwab@suse.de>
965
966 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
967
9682008-09-28 Martin Rudalics <rudalics@gmx.at>
969
970 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
971 name as char-resolve-modifiers.
972 Reported by: Markus Triska <markus.triska@gmx.at>
973
9742008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
975
976 * dispnew.c (init_display): Return earlier when running as a daemon.
977
9782008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
979
980 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
981
9822008-09-27 Eli Zaretskii <eliz@gnu.org>
983
984 * composite.c (Fcomposition_get_gstring)
985 (Fcompose_region_internal, Fcompose_string_internal)
986 (Ffind_composition_internal): Doc fix.
987 (syms_of_composite) <compose-chars-after-function>: Doc fix.
988 (syms_of_composite) <auto-composition-function>: Doc fix.
989 (syms_of_composite) <composition-function-table>: Doc fix.
990
9912008-09-25 Chong Yidong <cyd@stupidchicken.com>
992
993 * search.c (wordify): New argument for lax word-ends.
994 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
995
9962008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
997
998 * lisp.h (is_daemon): Declare.
999 * dispnew.c (init_display): Do not try to initialize the terminal
1000 when running as a daemon.
1001
10022008-09-22 Chong Yidong <cyd@stupidchicken.com>
1003
1004 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1005 x_display_pixel_height.
1006
10072008-09-22 Martin Rudalics <rudalics@gmx.at>
1008
1009 * undo.c (record_point): Don't call Fundo_boundary for first
1010 change. (Bug#731)
1011
10122008-09-22 Juanma Barranquero <lekktu@gmail.com>
1013
1014 * emacs.c (Fdaemonp): Doc fix.
1015
10162008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1017
1018 * emacs.c (main): Place #ifdef in the proper place.
1019
10202008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1021
1022 * emacs.c (standard_args): Add --daemon.
1023 (main): Disconnect from the terminal when --daemon is passed.
1024 (is_daemon): New variable.
1025 (Fdaemonp): New function.
1026 (syms_of_emacs): Defsubr it.
1027
10282008-09-20 Chong Yidong <cyd@stupidchicken.com>
1029
1030 * xdisp.c (get_next_display_element): Handle string display
1031 correctly when checking for the end of a box run.
1032
10332008-09-20 Glenn Morris <rgm@gnu.org>
1034
1035 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1036 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1037 (Frename_file): Avoid copying to trash if a rename involves
1038 a delete. (Bug#964).
1039
10402008-09-20 Eli Zaretskii <eliz@gnu.org>
1041
1042 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1043 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1044 frames as well as termcap frames.
1045 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1046 get_named_tty.
1047
10482008-09-19 Eli Zaretskii <eliz@gnu.org>
1049
1050 * process.c (procfs_system_process_attributes): Fix cmdline in
1051 case /proc/PID/cmdline is empty.
1052
1053 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1054 x_display_pixel_height.
1055
10562008-09-19 Juanma Barranquero <lekktu@gmail.com>
1057
1058 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1059
1060 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1061 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1062
10632008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1064
1065 * dispextern.h (struct it): Move line_wrap away from the middle of
1066 bitfields. Move voffset in struct iterator_stack_entry after the
1067 bitfields. Move tab_width near after another short.
1068
10692008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1070
1071 * frame.h (struct frame): Move alpha from the middle of bitfields.
1072
1073 * window.h (struct window): Move frozen_window_start_p after the
1074 rest of the bitfields to reduce padding.
1075
10762008-09-18 Chong Yidong <cyd@stupidchicken.com>
1077
1078 * xterm.h (x_display_info): Remove `height' and `width' members.
1079
1080 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1081
1082 * w32term.h (w32_display_info): Remove `height', `width',
1083 `height_in', and `width_in' members.
1084
b8ff72fa
SM
1085 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1086 New functions.
aac0c6e3
MR
1087 (x_calc_absolute_position): Use them.
1088 (x_term_init): Omit removed `height' and `width' members.
1089
b8ff72fa
SM
1090 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1091 New functions.
aac0c6e3
MR
1092 (w32_read_socket, x_calc_absolute_position): Use them.
1093 (w32_initialize_display_info, w32_term_init): Omit removed members
1094 of w32_display_info.
1095
b8ff72fa
SM
1096 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1097 New functions.
1098 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1099
b8ff72fa
SM
1100 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1101 New functions.
aac0c6e3
MR
1102 (x_calc_absolute_position): Use them.
1103 (x_term_init): Omit removed `height' and `width' members.
1104
1105 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1106 (compute_tip_xy):
1107 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1108 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1109 x_display_pixel_width.
1110
11112008-09-18 Kenichi Handa <handa@m17n.org>
1112
1113 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1114 (composition_compute_stop_pos): Fix handling of static composition.
1115 (Fcomposition_get_gstring): Check FROM and TO at first.
1116
11172008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1118
1119 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1120 mixup (YAILOM).
1121
11222008-09-17 Chong Yidong <cyd@stupidchicken.com>
1123
1124 * indent.c (Fvertical_motion): Use position reported by iterator
1125 instead of PT for determining screen motion (bug#943).
1126
11272008-09-17 Romain Francoise <romain@orebokech.com>
1128
1129 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1130
11312008-09-17 Kenichi Handa <handa@m17n.org>
1132
1133 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1134
1135 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1136 if necessary.
1137
11382008-09-16 Kenichi Handa <handa@m17n.org>
1139
1140 * coding.c (make_conversion_work_buffer): Avoid calling
1141 Fget_buffer_create if it is not necessary.
1142
11432008-09-15 Martin Rudalics <rudalics@gmx.at>
1144
1145 * window.c (Fselect_window): Don't update window_select_count and
1146 use_time when norecord is not nil.
1147
11482008-09-14 Kenichi Handa <handa@m17n.org>
1149
1150 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1151 specpdl_ptr.
1152
11532008-09-12 Kenichi Handa <handa@m17n.org>
1154
1155 * indent.c (scan_for_column): Don't handle automatic composition
1156 if the current buffer is not associated with a window.
1157
1158 * composite.c (composition_reseat_it): If the current buffer is
1159 not associated with a window, ignore the automatic composition.
1160 (find_automatic_composition): Likewise.
1161
11622008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1163
1164 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1165 (Fgpm_mouse_stop): Use it.
1166 * termhooks.h (close_gpm): Declare.
1167 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1168 connection if Gpm_GetEvent fails.
1169
1170 * window.c (set_window_buffer): Always preserve current-buffer.
1171
11722008-09-12 Glenn Morris <rgm@gnu.org>
1173
1174 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1175
11762008-09-11 Glenn Morris <rgm@gnu.org>
1177
1178 * charset.c (charset-map-path): Doc fix.
1179
11802008-09-10 Kenichi Handa <handa@m17n.org>
1181
1182 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1183
1184 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1185 compose a grapheme cluster with the preceding base glyph.
1186
1187 * composite.c (composition_compute_stop_pos): Fix previous change.
1188 Reset cmp_it->id to -1 at first.
1189
11902008-09-10 Glenn Morris <rgm@gnu.org>
1191
1192 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1193
11942008-09-09 Chong Yidong <cyd@stupidchicken.com>
1195
1196 * keyboard.c (read_key_sequence): Reapply translation maps when
1197 switching keyboards.
1198
11992008-09-09 Kenichi Handa <handa@m17n.org>
1200
1201 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1202 characters.
1203
1204 * composite.c (FORWARD_CHAR): Fix calculation
1205 of (POSITION).pos_byte.
1206 (composition_compute_stop_pos): Limit the search of composition to
1207 at most 500 characters ahead. If we reach the limit or find a
1208 newline, set cmp_it->ch to -2 and return 0.
1209 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1210
12112008-09-08 Kenichi Handa <handa@m17n.org>
1212
1213 * indent.c (Fvertical_motion): Be sure to set
1214 it_overshoot_expected if it.cmp_it.id is non-negative.
1215
12162008-09-07 Andreas Schwab <schwab@suse.de>
1217
1218 * callproc.c (Fcall_process): Don't hold references to string data
1219 across garbage collection. Move initialisation of new_argv down
1220 to avoid compiler bug.
1221
12222008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1223
1224 * process.c (Fsystem_process_attributes): Doc fix.
1225
12262008-09-07 Chong Yidong <cyd@stupidchicken.com>
1227
1228 * callproc.c (Fcall_process): Canonicalize current directory name.
1229
1230 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1231 iterator advances to the next line if the current line ends in a
1232 continued tab.
1233
12342008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1235
1236 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1237 member to point to cmp_from.
1238
1239 * xdisp.c: Doc fix for references to gidx data member.
1240
12412008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1242
1243 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1244
12452008-09-07 Kenichi Handa <handa@m17n.org>
1246
1247 * composite.c (FORWARD_CHAR): Check STOP after
1248 incrementing (POSITION).pos.
1249
12502008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1251
1252 * process.c (Fsystem_process_attributes): Doc fix.
1253
12542008-09-06 Chong Yidong <cyd@stupidchicken.com>
1255
1256 * keyboard.c (Ftop_level): Doc fix.
1257
12582008-09-06 Eli Zaretskii <eliz@gnu.org>
1259
1260 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1261 minibuffer, don't let lower part of menu invade the echo area.
1262
1263 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1264 "char *q" to access menu text and advance through it. Revert the
1265 change that displayed ">" instead of ASCII character 0x10.
1266
12672008-09-05 Eli Zaretskii <eliz@gnu.org>
1268
1269 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1270 toggle boxes and radio buttons on MS-DOS as well.
1271
12722008-09-05 Kenichi Handa <handa@m17n.org>
1273
1274 * composite.c (autocmp_chars): Check lookback count.
1275 (composition_compute_stop_pos): Set cmp_it->lookback.
1276 (composition_reseat_it): Check lookback count.
1277 (struct position_record): New struct.
1278 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1279 (find_automatic_composition): New function.
1280 (composition_adjust_point): Use find_automatic_composition.
1281
1282 * dispextern.h (struct composition_it): New member lookback.
1283
12842008-09-02 Chong Yidong <cyd@stupidchicken.com>
1285
1286 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1287 if moving by a single line.
1288
12892008-09-02 Andreas Schwab <schwab@suse.de>
1290
1291 * xterm.c (x_delete_display): Fix merge error.
1292
1293 * fileio.c (Fexpand_file_name): Remove unused variables.
1294
12952008-09-02 Eli Zaretskii <eliz@gnu.org>
1296
1297 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1298 storage on all platforms, not just on DOS_NT.
1299
13002008-09-02 Jason Rumney <jasonr@gnu.org>
1301
b8ff72fa
SM
1302 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1303 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1304
13052008-09-01 Chong Yidong <cyd@stupidchicken.com>
1306
1307 * xfaces.c (Finternal_set_alternative_font_family_alist)
1308 (Finternal_set_alternative_font_registry_alist): Properly copy
1309 entire alist structure.
1310
13112008-09-01 Kenichi Handa <handa@m17n.org>
1312
1313 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1314 representative chars of the script is a vector.
1315 (ftfont_list): Handle the case the representative chars of the
1316 script is a vector.
1317
1318 * character.c (syms_of_character): Docstring of
1319 script-representative-chars fixed.
1320
13212008-08-31 Eli Zaretskii <eliz@gnu.org>
1322
1323 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1324 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1325 the menu. Allocate larger buffer for `text', to account for
1326 possible ^C characters.
1327
13282008-08-31 Martin Rudalics <rudalics@gmx.at>
1329
1330 * xdisp.c (prepare_menu_bars): Don't call
1331 Vwindow_size_change_functions with arg Qt.
1332
13332008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1334
1335 * font.h (font_range):
1336 * fileio.c (report_file_error):
1337 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1338
13392008-08-30 Glenn Morris <rgm@gnu.org>
1340
1341 * data.c (Fmake_variable_frame_local): Doc fix.
1342
1343 * frame.c (Fmodify_frame_parameters): Doc fix.
1344
13452008-08-30 Eli Zaretskii <eliz@gnu.org>
1346
1347 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1348 needed by GetTokenInformation.
1349 (w32_system_process_attributes): Check return values of all system
1350 APIs.
1351
1352 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1353 only when the state changes.
1354 (IT_update_begin, IT_update_end): Add termscript trace.
1355
1356 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1357 clipboard is unavailable. Set dst to NULL if it doesn't point to
1358 malloc'ed data.
1359 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1360 passing random values to xfree.
1361
1362 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1363 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1364
13652008-08-29 Jason Rumney <jasonr@gnu.org>
1366
1367 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1368
13692008-08-29 Eli Zaretskii <eliz@gnu.org>
1370
1371 * composite.c (fill_gstring_body): Avoid compiler warnings.
1372
1373 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1374 LGLYPH_SET_CODE to avoid compiler warnings.
1375
2ae37cf0 1376 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
1377
1378 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1379
1380 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1381 LGLYPH_SET_CODE.
1382
13832008-08-29 Kenichi Handa <handa@m17n.org>
1384
1385 * fileio.c (report_file_error): Don't downcase the first character
1386 of errstring if it is still unibyte.
1387
13882008-08-29 Kenichi Handa <handa@m17n.org>
1389
1390 These changes are to re-implement the automatic composition so
1391 that it doesn't use text properties.
1392
1393 * Makefile.in (ftfont.o): Depend on composite.h.
1394 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1395
1396 * character.h (Vunicode_category_table): Extern it.
1397
1398 * character.c (Vunicode_category_table): New variable.
1399 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1400
1401 * chartab.c (optimize_sub_char_table): Perform more greedy
1402 optimization.
1403
b8ff72fa
SM
1404 * composite.h (enum composition_method):
1405 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1406 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1407 (Vcomposition_function_table): Extern it.
1408 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1409 (composition_gstring_put_cache, composition_gstring_from_id)
1410 (composition_gstring_p, composition_gstring_width)
1411 (composition_compute_stop_pos, composition_reseat_it)
1412 (composition_update_it, composition_adjust_point): Extern them.
1413 (Fcomposition_get_gstring): EXFUN it.
1414
1415 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1416 (Vcomposition_function_table)
1417 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1418 (gstring_hash_table, gstring_work, gstring_work_headers):
1419 New variables.
aac0c6e3
MR
1420 (gstring_lookup_cache, composition_gstring_put_cache)
1421 (composition_gstring_from_id, composition_gstring_p)
1422 (composition_gstring_width, fill_gstring_header)
1423 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1424 (composition_reseat_it, composition_update_it)
b8ff72fa 1425 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1426 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1427 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1428 Defsubr compostion_get_gstring.
1429
1430 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1431 cmp_id.
1432 (struct glyph_string): Delete the member gidx. New members
1433 cmp_id, cmp_from, and cmp_to.
1434 (enum it_method): Delete GET_FROM_COMPOSITION.
1435 (struct composition_it): New struct.
1436 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1437 Delete c, len, cmp_id, cmp_len in u.comp.
1438
1439 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1440 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1441 (enum lglyph_indices): Likewise.
b8ff72fa 1442 (font_range): Adjust extern.
aac0c6e3
MR
1443 (font_fill_lglyph_metrics): Extern it.
1444
1445 * font.c (QCf): New variable.
1446 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1447 (font_prepare_composition): Delete this function.
1448 (font_range): Type and arguments changed.
1449 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1450 (font_fill_lglyph_metrics): New function.
b8ff72fa 1451 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1452 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1453 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1454 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1455
1456 * fontset.h (font_for_char): Extern it.
1457
1458 * fontset.c (font_for_char): New function.
1459
1460 * ftfont.c: Include composite.h.
1461 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1462 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1463
1464 * indent.c: Include composite.h and dispextern.h.
1465 (check_composition): Delete this function.
1466 (scan_for_column): Handle composition by
1467 composition_compute_stop_pos, composition_reseat_it, and
1468 composition_update_it.
1469 (compute_motion): Likewise.
1470 (Fvertical_motion): Fix checking of composition.
1471
1472 * keyboard.c (adjust_point_for_property): Check composition by
1473 composition_adjust_point.
1474
b8ff72fa 1475 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1476 struct glyph_string.
1477
b8ff72fa
SM
1478 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1479 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1480 struct glyph.
1481 (produce_composite_glyph): Likewise.
1482
b8ff72fa
SM
1483 * w32term.c (x_draw_composite_glyph_string_foreground):
1484 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1485 (x_draw_glyph_string): Likewise.
1486
1487 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1488 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1489
1490 * xdisp.c: Include font.h.
1491 (it_props): Delete the entry for Qauto_composed.
1492 (init_iterator): Initialize it->cmp_it.id to -1.
1493 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1494 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1495 (handle_auto_composed_prop): Delete it.
1496 (handle_composition_prop): Handle only static composition.
1497 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1498 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1499 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1500 (pop_it): Likewise.
1501 (get_next_element): Delete next_element_from_composition.
1502 (CHAR_COMPOSED_P): New macro.
1503 (get_next_display_element): For automatic composition, get a face
1504 from the font in the glyph-string.
1505 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1506 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1507 (next_element_from_string): Check if the character at the current
1508 position is composed by CHAR_COMPOSED_P.
1509 (next_element_from_buffer): Likewise.
b8ff72fa 1510 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1511 it. Update it->cmp_it.
b8ff72fa
SM
1512 (dump_glyph): Adjust for the change of struct glyph.
1513 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1514 it and struct glyph. Don't handle automatic composition here.
1515 (fill_gstring_glyph_string): New function.
1516 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1517 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1518 (BUILD_GSTRING_GLYPH_STRING): New macro.
1519 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1520 automatic composition.
b8ff72fa 1521 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1522 struct glyph.
b8ff72fa 1523 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1524
b8ff72fa 1525 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1526 the change of struct glyph_string.
1527 (x_draw_glyph_string): Likewise.
1528
15292008-08-29 Glenn Morris <rgm@gnu.org>
1530
1531 * buffer.c (word-wrap): Doc fix.
1532 * xdisp.c (truncate-partial-width-windows): Doc fix.
1533 Increase default to 50.
1534
15352008-08-29 Chong Yidong <cyd@stupidchicken.com>
1536
1537 * xdisp.c (update_tool_bar_unwind): New function.
1538 (update_tool_bar): Temporarily set selected frame before building
1539 tool-bar items.
1540
15412008-08-28 Michael Albinus <michael.albinus@gmx.de>
1542
1543 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1544 snprintf, respectively.
1545 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1546
15472008-08-28 Chong Yidong <cyd@stupidchicken.com>
1548
1549 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1550 LDFLAGS to GNUstep CC invocation.
1551
15522008-08-27 Chong Yidong <cyd@stupidchicken.com>
1553
1554 * indent.c (Fvertical_motion): Revert last change. Handle the
1555 general case where we are moving forward, and PT spans multiple
1556 screen lines.
1557
1558 * eval.c (find_handler_clause): Temporarily increase
1559 max-lisp-eval-depth while printing the backtrace buffer, to
1560 guarantee that help-mode code can run.
1561
15622008-08-27 Eli Zaretskii <eliz@gnu.org>
1563
1564 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1565 colors under -rv.
1566 (IT_set_frame_parameters): Don't swap foreground and background
1567 colors if `(reverse . t)' is present in the frame properties.
1568 (internal_terminal_init): Call init_frame_faces only for the
1569 initial frame.
1570
15712008-08-27 Andreas Schwab <schwab@suse.de>
1572
1573 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1574
15752008-08-27 Andreas Schwab <schwab@suse.de>
1576
1577 * search.c (search_buffer): Set char_base to zero only at the end.
1578
15792008-08-27 Kenichi Handa <handa@m17n.org>
1580
b8ff72fa 1581 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1582
15832008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1584
1585 * xterm.c (x_term_init): Temporarily hide the partially
1586 initialized terminal while calling vendor-specific-keysyms.
1587
15882008-08-26 Eli Zaretskii <eliz@gnu.org>
1589
1590 * msdos.c (internal_terminal_init): Most initializations done only
1591 once, especially initial_screen_colors[] and termscript open.
1592
15932008-08-26 Chong Yidong <cyd@stupidchicken.com>
1594
1595 * eval.c (Fcondition_case): Doc fix.
1596
1597 * widgetprv.h (EmacsFramePart): Change font member to the new font
1598 struct.
1599
1600 * widget.c: Include character.h and font.h for XSETFONT.
1601 (setup_frame_gcs): Compute X font id from font struct, just once.
1602
16032008-08-26 Eli Zaretskii <eliz@gnu.org>
1604
1605 * term.c (get_named_tty): Fix last change.
1606
16072008-08-26 Chong Yidong <cyd@stupidchicken.com>
1608
1609 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1610 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1611
16122008-08-25 Eli Zaretskii <eliz@gnu.org>
1613
1614 * frame.c (do_switch_frame): Mark previously displayed frame as
1615 obscured for FRAME_MSDOS_P frames as well.
1616
16172008-08-24 Eli Zaretskii <eliz@gnu.org>
1618
1619 * frame.c (make_terminal_frame): Initialize f->terminal,
1620 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1621 Set the top frame to newly created frame.
1622 (Fmake_terminal_frame): Reuse the_only_display_info.
1623
1624 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1625 estimating available memory.
1626
b97439ce 16272008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1628
1629 * nsterm.m (ns_draw_window_cursor): Don't call
1630 NSDisableScreenUpdates and NSEnableScreenUpdates on
1631 non-NS_IMPL_COCOA systems.
1632
16332008-08-23 Andreas Schwab <schwab@suse.de>
1634
1635 * process.c (procfs_system_process_attributes): Fix use of
1636 uninitialized variables.
1637
16382008-08-23 Eli Zaretskii <eliz@gnu.org>
1639
1640 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1641
1642 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1643 calling tty-set-up-initial-frame-faces.
1644
b8ff72fa
SM
1645 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1646 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1647
1648 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1649 addition to output_termcap.
1650
1651 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1652
1653 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1654 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1655 highlight.
1656
1657 * process.c [!subprocesses]: Define QCname.
1658 (syms_of_process): Intern and staticpro it.
1659
1660 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1661 Adjust for changes in encoding/decoding routines.
1662 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1663 encode_coding and decode_coding.
1664
b8ff72fa 1665 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1666
1667 * dosfns.c: Include frame.h before termhooks.h.
1668 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1669 variable termscript.
1670
1671 * s/msdos.h (USER_FULL_NAME): Define.
1672 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1673
1674 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1675 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1676 pw->pw_gecos.
1677
1678 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1679 SELECTED_FRAME as additional (1st) argument.
1680 (tty_read_avail_input): Handle output_msdos_raw in
1681 addition to output_termcap.
1682
1683 * msdos.c: Include frame.h before termhooks.h.
1684 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1685 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1686 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1687 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1688 (IT_set_terminal_modes, IT_reset_terminal_modes)
1689 (IT_set_frame_parameters): Use tty->termscript instead of a global
1690 variable termscript.
1691 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1692 global variable terminal_coding. Don't refer to
1693 Vnonascii_translation_table.
1694 (internal_terminal_init): Set Vwindow_system in current_kboard.
1695 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1696 Announce date and time of session start, if termscript is open.
1697 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1698 term.c:init_tty). Open termscript only of not already open.
1699 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1700 here instead of dos_ttraw. Don't initialize display if this is an
1701 initial tty. Don't set FRAME_FONT.
1702 (Vwindow_system_version): Bump to 23.
1703 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1704 is available, set up mouse_position_hook.
1705 (dos_ttraw, IT_set_terminal_modes): If called with initial
1706 terminal, do nothing.
1707 (IT_set_frame_parameters): Handle the Qtty_type frame
1708 parameter by calling internal_terminal_init.
1709 (dos_set_window_size, show_mouse_face)
1710 (clear_mouse_face, IT_note_mode_line_highlight)
1711 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1712 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1713 (initialize_msdos_display): New function.
1714 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1715 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1716 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1717 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1718 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1719 (request_sigio, unrequest_sigio): Don't define, now defined on
1720 sysdep.c.
1721 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1722
1723 * term.c [MSDOS]: Include msdos.h.
1724 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1725 conditional to DOS_NT. Allow only one call to this function in a
1726 session. Don't allocate a new struct tty_display_info; instead,
1727 reuse the_only_display_info. Call get_tty_size to get screen
1728 dimensions. Call init_baud_rate to set bad_rate.
1729 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1730 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1731 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1732 (get_tty_terminal, get_named_tty, Ftty_type)
1733 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1734 output_termcap.
b8ff72fa
SM
1735 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1736 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 1737 only when subprocesses are supported.
aac0c6e3
MR
1738
1739 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1740 f->output_data.x.
1741 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1742 terminal devices.
1743
1744 * msdos.h Remove definition of struct x_display_info and struct
1745 x_output.
1746 (FRAME_FONT): Use output_data.tty.
1747 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1748 (struct x_display_info): Rename from display_info. Update all users in
1749 msdos.c.
aac0c6e3 1750 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1751 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1752 (dos_ttraw): Update prototype.
1753
1754 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1755 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1756
17572008-08-23 Jason Rumney <jasonr@gnu.org>
1758
1759 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1760 (fn_TIFFSetDirectory): New library function used.
1761 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1762 (tiff_load): Use :index to select among multiple images. Set count
1763 property when multiple images exist.
1764 (gif_format): Use :index, not :image.
1765
17662008-08-23 Chong Yidong <cyd@stupidchicken.com>
1767
1768 * xdisp.c (try_scrolling): Check INT_MAX instead of
1769 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1770 to obtain INT_MAX.
1771
17722008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1773
1774 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1775
17762008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1777
1778 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1779 GNUstep library location.
1780
17812008-08-21 Chong Yidong <cyd@stupidchicken.com>
1782
1783 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1784 before using it.
1785
1786 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1787
17882008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1789
1790 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1791 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1792 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1793 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1794 (EmacsApp-cursor_blink_handler): Remove declaration.
1795 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1796 match 01 Feb 2008 changes in xterm.c.
1797 (ns_read_socket): Add cast to avoid warning.
1798 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1799 GNUstep.
1800
18012008-08-20 Chong Yidong <cyd@stupidchicken.com>
1802
1803 * xselect.c (x_get_foreign_selection): Return nil if desired
1804 selection could not be obtained, instead of signalling an error.
1805
18062008-08-20 David Reitter <david.reitter@gmail.com>
1807
1808 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1809 * nsterm.m: Remove ns-specific code for cursor blinking.
1810 (ns_draw_window_cursor): Clear cursor properly rather than
1811 redrawing the area. Respect width of bar cursors.
1812 These changes enable the use of generic blink-cursor-mode and
1813 generic cursor types in NS and support smooth cursor movements (do
1814 not blink off after command).
1815 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1816 Nextstep, too.
1817
18182008-08-19 Kenichi Handa <handa@m17n.org>
1819
1820 * font.c (Vfont_log_deferred): New variable.
1821 (font_add_log): Check Vfont_log_deferred.
1822 (font_deferred_log): New function.
1823
1824 * font.h (font_deferred_log): Extern it.
1825
1826 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1827 for sorting.
1828 (face_for_char): Use deferred log.
1829
18302008-08-18 Kenichi Handa <handa@m17n.org>
1831
1832 * fontset.c (face_for_char): Add font log.
1833
1834 * font.c (font_add_log): Add the font properties :script, :lang,
1835 and :otf in the log.
1836
18372008-08-17 Chong Yidong <cyd@stupidchicken.com>
1838
1839 * xdisp.c: Remove dead code.
1840 (handle_invisible_prop, next_overlay_string): Defer call to
1841 setup_for_ellipsis.
1842 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1843
18442008-08-15 Chong Yidong <cyd@stupidchicken.com>
1845
1846 * xfaces.c (lookup_derived_face): Properly handle possible zero
1847 return value of get_lface_attributes.
1848 (merge_faces): Don't tell lookup_derived_face to signal an error
1849 if face is not found.
1850
1851 * dired.c (Fdirectory_files): Doc fix.
1852
1853 * process.c (make_process): Initialize kill_without_query struct
1854 member.
1855
18562008-08-15 Eli Zaretskii <eliz@gnu.org>
1857
1858 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1859 Alternative calculation of totphys for Visual Studio 6.
1860
1861 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1862
1863 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1864 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1865 All users changed.
1866 (stat): Only root directory passed to GetDriveType. Allow RAM
1867 disk as well as local fixed disk when w32-get-true-file-attributes
1868 is set to `local'.
1869 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1870 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1871 (w32_cached_id, w32_add_to_cache): New functions.
1872 (get_name_and_id): Look account names in the cache before calling
1873 lookup_account_sid.
1874 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1875 New initialization flags.
1876 (globals_of_w32): Initialize them to zero.
1877 (w32_system_process_attributes): Use w32_cached_id and
1878 w32_add_to_cache.
1879
18802008-08-14 Lawrence Mitchell <wence@gmx.li>
1881
1882 * lread.c (Fread_char, Fread_char_exclusive): If no character
1883 event is read before timeout is reached, return nil, rather than
1884 converting to a number.
1885
18862008-08-14 Chong Yidong <cyd@stupidchicken.com>
1887
1888 * fns.c (use_dialog_box): Doc fix.
1889
1890 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1891 on OS X.
1892
18932008-08-13 Chong Yidong <cyd@stupidchicken.com>
1894
1895 * frame.c (Qns_parse_geometry): New var.
1896 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1897
18982008-08-11 Chong Yidong <cyd@stupidchicken.com>
1899
1900 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1901 space character in calculating tabs.
1902
19032008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1904
1905 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1906
19072008-08-10 Glenn Morris <rgm@gnu.org>
1908
1909 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1910 silence gcc "limited range of data type" warnings in some
1911 make_fixnum_or_float calls.
1912
19132008-08-09 Eli Zaretskii <eliz@gnu.org>
1914
1915 * w32.c (w32_system_process_attributes): If the process does not
1916 exist, return nil.
1917
1918 * w32.c: Include thelp32.h, psapi.h and coding.h.
1919 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1920 declarations.
1921 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1922 (Process32Next_Proc): New typedefs.
1923 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1924 (g_b_init_process32_next, g_b_init_open_thread_token)
1925 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1926 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1927 (g_b_init_get_process_working_set_size)
1928 (g_b_init_global_memory_status_ex): New static variables.
1929 (globals_of_w32): Initialize them.
1930 (create_toolhelp32_snapshot, process32_first, process32_next)
1931 (open_thread_token, impersonate_self, revert_to_self)
1932 (get_process_memory_info, get_process_working_set_size)
1933 (global_memory_status, global_memory_status_ex): New wrapper
1934 functions.
1935 (w32_list_system_processes, w32_system_process_attributes)
1936 (enable_privilege, restore_privilege, ltime, process_times):
1937 New functions.
1938 (convert_time_raw): New function.
1939 (convert_time): Remove conversion of FILETIME into time in 100
1940 nsec units, call convert_time_raw instead.
1941
1942 * process.h (w32_list_system_processes, w32_system_process_attributes):
1943 Add prototypes.
1944 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1945 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1946 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1947 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1948
1949 * process.c (Fsystem_process_attributes): Doc fix.
1950
19512008-08-08 Chong Yidong <cyd@stupidchicken.com>
1952
1953 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1954 a continued multi-char glyph; if so, advance to the actual glyph.
1955
19562008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1957
1958 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1959
1960 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1961 (.m.o): Use it.
1962 * config.in: Regenerate.
1963
19642008-08-07 Chong Yidong <cyd@stupidchicken.com>
1965
1966 * xdisp.c (redisplay_window): Revert last change.
1967 (try_window): Check bottom scroll margin too.
1968
19692008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1970
1971 * config.in: Regenerate.
1972
1973 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1974 -list-load-path-shadows'.
1975 (nsgui.h): Reduce number of things depending on it.
1976
19772008-08-06 Chong Yidong <cyd@stupidchicken.com>
1978
1979 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1980 instead of window-end which does the wrong thing at eob.
1981 (try_cursor_movement): Minor optimization.
1982 (redisplay_window): If scroll margin is defined, don't assume
1983 window doesn't need scrolling.
1984
19852008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1986
1987 * config.in: Regenerate.
1988
1989 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1990 (mostlyclean): Don't delete *.d under NS.
1991
1992 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1993
19942008-08-06 Kenichi Handa <handa@m17n.org>
1995
1996 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1997
19982008-08-06 Andreas Schwab <schwab@suse.de>
1999
2000 * config.in: Regenerate.
2001
20022008-08-05 Chong Yidong <cyd@stupidchicken.com>
2003
2004 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2005 forcing a window start.
2006
2007 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2008 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2009
20102008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2011
2012 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2013 argument.
2014
20152008-08-05 Juanma Barranquero <lekktu@gmail.com>
2016
2017 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2018 <scroll-down-aggressively, before-change-functions>:
2019 <after-change-functions>: Reflow docstrings.
2020
20212008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2022 Ken Raeburn <raeburn@gnu.org>
2023
2024 Dock menu customization, based on a patch by Ken Raeburn, plus some
2025 other fixes.
2026 * nsmenu.m (dockMenu): New variable.
2027 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2028
2029 * nsterm.h (dockMenu): Declare.
2030
2031 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2032 (ns_term_init): Initialize dockMenu.
2033 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2034 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2035 left.
2036
2037 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2038
20392008-08-04 Chong Yidong <cyd@stupidchicken.com>
2040
2041 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2042
2043 * config.in: Regenerate.
2044
20452008-08-04 Seiji Zenitani <zenitani@mac.com>
2046
2047 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2048
20492008-08-04 Chong Yidong <cyd@stupidchicken.com>
2050
2051 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2052
20532008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2054
2055 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2056
2057 * keyboard.h: Comment an #endif.
2058
2059 * lisp.h (have_menus_p): Adjust comment.
2060
2061 * menu.c (find_and_return_menu_selection): Fix comparison with
2062 client_data.
2063
2064 * nsmenu.m (popup_activated_flag): New variable.
2065 (popup_activated): New function.
2066 (menu-or-popup-active-p): New exported lisp definition.
2067 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2068 when popup done.
2069 (ns_popup_dialog): Set popup_activated_flag.
2070
2071 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2072 version for GNUstep (handled by conditional typedef in nsterm.m).
2073 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2074 in rgb.txt).
2075
2076 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2077
2078 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2079
2080 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2081
2082 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2083 shortcircuit if popup_activated like GTK and X toolkit.
2084
2085 * m/inter386.h: Change DARWIN to DARWIN_OS.
2086
2087 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2088 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2089 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2090 comment on NO_SOCK_SIGIO.
2091
20922008-08-03 Chong Yidong <cyd@stupidchicken.com>
2093
2094 * nsterm.m (windowDidResize): Remove stopModal call.
2095
20962008-08-03 Andreas Schwab <schwab@suse.de>
2097
2098 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2099 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2100
21012008-08-02 Chong Yidong <cyd@stupidchicken.com>
2102
2103 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2104 Don't use uninitialized pointer variable when using getrlimit.
2105
21062008-08-02 Jason Rumney <jasonr@gnu.org>
2107
2108 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2109
21102008-08-02 Eli Zaretskii <eliz@gnu.org>
2111
2112 * alloc.c (NSTATICS): Bump to 0x640.
2113
2114 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2115
2116 * lisp.h: Add prototype for directory_files_internal.
2117
2118 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2119 New functions.
2120 (syms_of_process): Defsubr them. Add initializations for various
2121 Q* symbols used in procfs_system_process_attributes.
2122 (procfs_list_system_processes, procfs_system_process_attributes)
2123 [HAVE_PROCFS]: New functions.
2124 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2125 (procfs_get_total_memory): New functions.
2126
21272008-08-01 Juanma Barranquero <lekktu@gmail.com>
2128
2129 * xfaces.c (Fx_load_color_file): Fix previous change;
2130 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2131
21322008-08-01 Michael Albinus <michael.albinus@gmx.de>
2133
2134 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2135
21362008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2137
2138 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2139
21402008-08-01 Chong Yidong <cyd@stupidchicken.com>
2141
2142 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2143
2144 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2145 define NSApplicationDelegateReplySuccess.
2146 (EmacsView -converstationIdentifier): Use long instead of
2147 NSInteger for GNUstep, since it doesn't have NSInteger.
2148
2149 * xmenu.c: Revert last change.
2150
2151 * keyboard.h: Fix last change.
2152
21532008-08-01 Juanma Barranquero <lekktu@gmail.com>
2154
2155 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2156 on Windows.
2157
21582008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2159
2160 Warning clearing and clean-up in NS port.
2161 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2162 Add prototypes.
2163 * nsgui.h (FACE_DEFAULT): Remove, unused.
2164 (XGCValues): Change colors to unsigned long.
2165 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2166 nsterm.m.
2167 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2168 (ns_list_fonts): Remove, unused.
2169 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2170 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2171 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2172 (nsfont_draw): Compare face colors to 0, not nil.
2173 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2174 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2175 (-addSubmenuWithTitle:): Use NSMenuItem class.
2176 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2177 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2178 (ns_clip_to_row): Make gc arg a BOOL.
2179 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2180 ns_clip_to_row() call.
2181 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2182 used). Cast FRAME_FONT assignments.
2183 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2184 (ns_string_to_lispmod): Change arg to const char.
2185 (ns_term_init): Use NSMenuItem class.
2186 (EmacsApp -openFile:): Move to different section of file.
2187 (EmacsApp -application:openFiles:): Don't return a value, call
2188 -replyToOpenOrPrint:.
2189 (EmacsView -keyDown:): Fix up cast.
2190 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2191 (EmacsView -menuDown:): Cast tag in call to
2192 find_and_call_menu_selection().
2193 (ns_list_fonts): Remove, unused.
2194 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2195 (ns_fontname_to_xlfd): Make static.
2196 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2197 Remove prototypes (now in keyboard.h).
2198 (next_menubar_widget_id): Remove, unused.
2199 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2200 Remove prototypes (now in keyboard.h).
2201 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2202
22032008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2204
2205 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2206 (floatfns.o): Depend on syssignal.h.
2207 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2208
2209 * systty.h: Fix previous change that removed BSD_TERMIOS.
2210 Add comments to #ifdefs.
2211
22122008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2213
2214 * w32fns.c (w32-load-color-file): Remove.
2215 (x-open-connection): Use renamed Fx_load_color_file.
2216 * xfaces.c (x-load-color-file): Add.
2217 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2218 Emacs.clr.
2219 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2220
22212008-07-31 Michael Albinus <michael.albinus@gmx.de>
2222
2223 * dbusbind.c (Fdbus_call_method_asynchronously)
2224 (Fdbus_method_error_internal): New defuns.
2225 (xd_read_message): Handle also reply messages.
2226 (Vdbus_registered_functions_table): Extend docstring.
2227
22282008-07-31 Juanma Barranquero <lekktu@gmail.com>
2229
2230 * keyboard.c (gobble_input): Fix previous change.
2231
22322008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2233
2234 * bitmaps/README:
2235 * xfns.c:
2236 * termcap.c:
2237 * term.c:
2238 * syswait.h:
2239 * systty.h:
2240 * systime.h:
2241 * syssignal.h:
2242 * sysdep.c:
2243 * process.h:
2244 * process.c:
2245 * print.c:
2246 * ndir.h:
2247 * lread.c:
2248 * keyboard.c:
2249 * getpagesize.h:
2250 * floatfns.c:
2251 * fileio.c:
2252 * emacs.c:
2253 * doc.c:
2254 * dispnew.c:
2255 * dired.c:
2256 * data.c:
2257 * callproc.c:
2258 * buffer.c:
2259 * README:
2260 * Makefile.in:
2261 * s/template.h:
2262 * s/msdos.h:
2263 * m/vax.h: Remove VMS support.
2264 * s/vms.h:
2265 * vlimit.h:
2266 * uaf.h:
2267 * temacs.opt:
2268 * param.h:
2269 * ioctl.h: Remove file.
2270
22712008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2272
2273 * s/ms-w32.h (MULTI_KBOARD): Remove.
2274 * xterm.c:
2275 * xselect.c:
2276 * xfns.c:
2277 * window.c:
2278 * w32term.c:
2279 * w32fns.c:
2280 * terminal.c:
2281 * termhooks.h:
2282 * term.c:
2283 * sysdep.c:
2284 * keyboard.h:
2285 * keyboard.c:
2286 * frame.h:
2287 * frame.c:
2288 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2289 * config.in: Regenerate.
2290
22912008-07-30 Jason Rumney <jasonr@gnu.org>
2292
2293 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2294
2295 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2296 (w32font_open_internal): Get unicode version of textmetrics.
2297 Don't enable or disable glyph indices here.
2298 (w32font_open): Disable use of glyph indices.
2299
2300 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2301
23022008-07-30 Chong Yidong <cyd@stupidchicken.com>
2303
2304 * minibuf.c (Vread_buffer_function): Doc fix.
2305
23062008-07-30 John Paul Wallington <jpw@pobox.com>
2307
2308 * minibuf.c (read_buffer_completion_ignore_case): New var.
2309 (Fread_buffer): Use it.
2310
23112008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2312
2313 * systty.h (sensemode): Remove empty #if. Remove reference to
2314 BSD_TERMIOS, unused.
2315
2316 * sysdep.c: Remove reference to DGUX.
2317 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2318
2319 * config.in: Regenerate.
2320
23212008-07-30 Jason Rumney <jasonr@gnu.org>
2322
2323 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2324
23252008-07-29 Jason Rumney <jasonr@gnu.org>
2326
2327 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2328 is populated.
2329 (uniscribe_encode_char): Always use uniscribe.
2330 Avoid using context if cache is populated.
2331
23322008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2333
2334 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2335 open menu.
2336
2337 * gtkutil.c (menu_nav_ended): Remove.
2338 (create_menus): Remove signal connect for menu_nav_ended.
2339
23402008-07-28 Chong Yidong <cyd@stupidchicken.com>
2341
2342 * xdisp.c (redisplay_window): Check return value of
2343 compute_window_start_on_continuation_line before forcing a window
2344 start.
2345
23462008-07-28 Jason Rumney <jasonr@gnu.org>
2347
2348 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2349
2350 * w32term.c (w32_enable_unicode_output, cleartype_active):
2351 Remove obsolete display options.
2352 (x_draw_glyph_string_background): Don't use old cleartype_active
2353 workaround.
2354 (w32_initialize): Remove cleartype_active initialization.
2355 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2356
23572008-07-28 Andreas Schwab <schwab@suse.de>
2358
2359 * lisp.h (init_weak_hash_tables, syms_of_font)
2360 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2361 (remove_hash_entry): Don't declare.
2362 * eval.c (maybe_call_debugger): Make static and move before use.
2363 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2364 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2365 * xterm.h (x_set_frame_alpha): Declare.
2366
23672008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2368
2369 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2370 (create_menus): Connect selection-done to menu_nav_ended.
2371
23722008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2373
2374 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2375 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2376 parameter with read of 'alpha' one.
2377 (Qns_frame_parameter): Remove.
2378 * nsselection.m (selection-coding-system)
2379 (next-selection-coding-system, Vselection_coding_system)
2380 (Vnext_selection_coding_system): Drop.
2381
23822008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2383
2384 * nsfns.m (do-applescript, do_applescript): Rename to
2385 ns-do-applescript, ns_do_applescript, and move within file.
2386
23872008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2388
2389 Remove support for Mac Carbon.
2390 * mactoolbox.c:
2391 * macterm.h:
2392 * macterm.c:
2393 * macselect.c:
2394 * macmenu.c:
2395 * macgui.h:
2396 * macfns.c:
2397 * mac.c: Remove file.
2398 * s/darwin.h:
2399 * m/intel386.h:
2400 * xfaces.c:
2401 * xdisp.c:
2402 * window.c:
2403 * tparam.c:
2404 * termhooks.h:
2405 * termcap.c:
2406 * term.c:
2407 * syssignal.h:
2408 * sysselect.h:
2409 * sysdep.c:
2410 * process.c:
2411 * lread.c:
2412 * lisp.h:
2413 * keyboard.c:
2414 * image.c:
2415 * fringe.c:
2416 * frame.h:
2417 * frame.c:
2418 * fontset.c:
2419 * font.h:
2420 * font.c:
2421 * fns.c:
2422 * fileio.c:
2423 * emacs.c:
2424 * dispnew.c:
2425 * dispextern.h:
2426 * config.in:
2427 * atimer.c:
2ae37cf0 2428 * Makefile.in: Remove code for Carbon.
aac0c6e3
MR
2429
24302008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2431
2432 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2433
24342008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2435
2436 * macterm.h (kCGBitmapByteOrder32Host): New define for
2437 non-universal SDKs.
2438
2439 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2440 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2441
2442 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2443 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2444
24452008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2446
2447 * w32inevt.c: Include dispextern.h.
2448
24492008-07-26 Andreas Schwab <schwab@suse.de>
2450
2451 * print.c (print_object): Fix off-by-one in last change.
2452
24532008-07-25 Juanma Barranquero <lekktu@gmail.com>
2454
2455 * term.c (syms_of_term): Don't initialize default_orig_pair,
2456 default_set_foreground and default_set_background on Windows.
2457
24582008-07-25 Jason Rumney <jasonr@gnu.org>
2459
2460 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2461 ScriptItemize. Clean up return value checking. Remove unused
2462 variables.
2463 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2464 shaping engine.
2465
2466 * w32font.c (w32font_has_char): Handle the case where we can't
2467 determine the script for a character.
2468
24692008-07-25 Chong Yidong <cyd@stupidchicken.com>
2470
2471 * term.c (syms_of_term): Initialize default_orig_pair,
2472 default_set_foreground, and default_set_background.
2473
2474 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2475 clash (bug#86).
2476 (getloadavg): Callers changed.
2477
2478 * image.c (svg_load_image): Fix last change.
2479 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2480 image size is valid. Use g_object_unref instead of deprecated
2481 rsvg_handle_free to free rsvg handle.
2482 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2483
24842008-07-25 Jason Rumney <jasonr@gnu.org>
2485
2486 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2487 surrogates before looking up glyph index.
2488 (w32font_text_extents): Encode as surrogates if falling back to
2489 functions that need UTF-16 wide chars.
2490
2491 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2492 BMP as surrogates before looking up glyph index.
2493
24942008-07-25 Chong Yidong <cyd@stupidchicken.com>
2495
2496 * image.c (svg_load_image): Check for failure in return value of
2497 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2498
24992008-07-25 Jason Rumney <jasonr@gnu.org>
2500
2501 * w32font.c (Fx_select_font): Reverse sense of second arg.
2502
25032008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2504
2505 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2506 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2507
2508 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2509 (PURESIZE): Use it.
2510
25112008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2512
2513 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2514 * m/alpha.h (TEXT_END):
2515 * m/ibmrs6000.h (TEXT_END):
2516 * m/macppc.h (TEXT_END):
2517 * s/darwin.h (TEXT_END):
2518 * s/msdos.h (TEXT_END): Remove, unused.
2519 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2520 * s/cygwin.h: Remove comment.
2521
2522 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2523 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2524 * m/intel386.h (DOT_GLOBAL_START):
2525 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2526 (USG): Remove, file not used on USG platforms.
2527
2528 * Makefile.in (HAVE_X11): Remove empty #else.
2529
25302008-07-24 Andreas Schwab <schwab@suse.de>
2531
2532 * fileio.c (Finsert_file_contents): Properly adjust undo list
2533 after format conversion.
2534
25352008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2536
2537 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2538 (menu_nav_ended): Remove.
2539 (create_menus): Remove signal connect for menu_nav_ended.
2540 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2541 create_menus.
2542 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2543
25442008-07-23 Jason Rumney <jasonr@gnu.org>
2545
2546 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2547 with opened font.
2548 (w32font_open): Set font type to gdi.
2549
2550 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2551
25522008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2553
2554 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2555 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2556 defines it.
2557 * unexec.c (ADDR_CORRECT): Define unconditionally.
2558
2559 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2560
2561 * unexec.c: Remove code depending on !COFF and USG, the file is
2562 not used for such systems.
2563
2564 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2565 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2566 (LD_SWITCH_SYSTEM_1): Remove, update users.
2567
2568 * s/darwin.h (DATA_END):
2569 * m/intel386.h (DATA_END):
2570 * m/ibmrs6000.h (DATA_END):
2571 * m/alpha.h (DATA_END): Remove, unused.
2572
2573 * config.in: Regenerate.
2574 * s/ms-w32.h (subprocesses): Define unconditionally.
2575 * s/template.h (subprocesses): Update comment.
2576 * s/vms.h (subprocesses):
2577 * s/usg5-4.h (subprocesses):
2578 * s/hpux10-20.h (subprocesses):
2579 * s/gnu-linux.h (subprocesses):
2580 * s/cygwin.h (subprocesses):
2581 * s/bsd-common.h (subprocesses):
2582 * s/aix4-2.h (subprocesses):
2583 * s/darwin.h (subprocesses): Do not define, defined by default now.
2584
2585 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2586 Remove all references.
2587 (temacs): Add GNUstep specific ld flags.
2588
2589 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2590 similarly to what X does.
2591
25922008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2593
2594 * nsfns.m (x-list-fonts): Remove.
2595 (syms_of_nsfns): Drop the x-list-fonts declaration.
2596 * nsterm.m: Get rid of remaining "//" comments.
2597
25982008-07-22 Chong Yidong <cyd@stupidchicken.com>
2599
2600 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2601
2602 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2603 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2604 (Fns_own_selection_internal, Fx_disown_selection_internal)
2605 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2606
2607 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2608 ... */' style of docstrings. Doc fixes.
2609
26102008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2611
2612 * terminfo.c (UP, BC, PC): Undo previous change.
2613
2614 * nsfns.m: Rename ns prefixed functions/variables to the
2615 corresponding x versions. Update references.
2616
26172008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2618
2619 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2620
26212008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2622
2623 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2624 Remove forwarding functions.
2625 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2626 non-static.
2627 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2628 non-static.
2629 (ns_frame_parm_handlers): Use the new names.
2630 (syms_of_nsfns): Move to the end of file.
2631
2632 * nsterm.m (syms_of_nsterm): Move to the end of file.
2633
2634 * dispnew.c (init_display): Remove code for X10.
2635
26362008-07-22 Jason Rumney <jasonr@gnu.org>
2637
2638 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2639 bare drive.
2640
26412008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2642
2643 * nsterm.m (syms_of_nsterm): Remove debugging println.
2644
26452008-07-22 David Reitter <david.reitter@gmail.com>
2646
2647 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2648 Carbon implementation of the same functionality: execute arbitrary
2649 AppleScript code.
2650
26512008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2652
2653 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2654 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2655 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2656 (Fx_display_mm_height, Fx_display_mm_width)
2657 (Fx_display_backing_store, Fx_display_visual_class)
2658 (Fx_display_save_under, Fx_open_connection)
2659 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2660 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2661 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2662 (Fx_display_pixel_width, Fx_display_pixel_height)
2663 (Fx_display_usable_bounds, Fx_display_planes)
2664 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2665 ... */' style of docstrings.
2666
26672008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2668
2669 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2670 on this platform.
2671 (mips):
2672 * m/iris4d.h (mips): Do not define.
2673 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2674
2675 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2676
2677 * image.c:
2678 * nsfns.m:
2679 * nsselect.m:
2680 * nsterm.h:
2681 * nsterm.m: Rename ns prefixed functions/variables to the
2682 corresponding x versions. Update references.
2683
2684 * m/ibms390x.h (NO_REMAP): Do not undefine.
2685
2686 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2687
26882008-07-21 Chong Yidong <cyd@stupidchicken.com>
2689
2690 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2691 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2692 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2693 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2694 (Fns_display_mm_height, Fns_display_mm_width)
2695 (Fns_display_backing_store, Fns_display_visual_class)
2696 (Fns_display_save_under, Fns_open_connection)
2697 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2698 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2699 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2700 (Fns_display_pixel_width, Fns_display_pixel_height)
2701 (Fns_display_usable_bounds, Fx_display_planes)
2702 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2703
27042008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2705
2706 * print.c (print_object): Check print_depth before searching for
2707 circularities.
2708
27092008-07-21 Michael Albinus <michael.albinus@gmx.de>
2710
2711 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2712 only sprintf.
2713
27142008-07-21 Kenichi Handa <handa@m17n.org>
2715
2716 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2717
27182008-07-20 Andreas Schwab <schwab@suse.de>
2719
2720 * syntax.c (find_start_pos, find_start_value)
2721 (find_start_value_byte, find_start_begv, find_defun_start)
2722 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2723
27242008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2725
2726 * s/sol2-3.h: Insert contents of s/sol2.h.
2727 (LD_SWITCH_SYSTEM): Remove redundant definition.
2728 * s/sol2.h: Remove, unused.
2729
27302008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2731
2732 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2733
27342008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2735
2736 * Makefile.in (ns_appdir): Fix typo in find command.
2737
27382008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2739
2740 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2741
2742 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2743 added not supported anymore.
2744
2745 * s/usg5-4-2.h (LIBS_SYSTEM):
2746 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2747
2748 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2749 * s/lynxos.h (GETPGRP_NO_ARG):
2750 * s/hpux10-20.h (NO_SIOCTL_H):
2751 * s/gnu.h (GETPGRP_NO_ARG):
2752 * s/gnu-linux.h (NO_SIOCTL_H):
2753 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2754 * s/cygwin.h (GETPGRP_NO_ARG):
2755 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2756 (C_DEBUG_SWITCH): Remove duplicate definition.
2757
2758 * m/ibms390.h: Remove boilerplate comments.
2759
2760 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2761
2762 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2763 (wait_reading_process_output): Remove code for SunOS, platform not
2764 supported anymore. Use SOLARIS2 instead of sun.
2765
27662008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2767
2768 * font.c (font_open_by_name): Under NS, default lface height to zero.
2769 (font_open_for_lface): Under NS, set size based on frame fontsize.
2770 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2771 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2772
27732008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2774
2775 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2776 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2777 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2778 YES/NO.
2779 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2780 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2781 * Makefile.in (clean): Clear out build destination dir.
2782
27832008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2784
2785 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2786 xterm, xselect.
2787 * lisp.h: Remove declaration of hash_remove.
2788 * nsgui.h: Remove redefinitions of hash_remove.
2789 * fns.c (hash_remove): Rename to hash_remove_from_table.
2790
27912008-07-19 Seiji Zenitani <zenitani@mac.com>
2792
2793 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2794 strdup() the family UTF8String before modifying it.
2795
27962008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2797
2798 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2799 NS_FACE_BACKGROUND with 0 instead of nil.
2800 * nsfont.m (nsfont_draw): Same.
2801
28022008-07-19 Chong Yidong <cyd@stupidchicken.com>
2803
2804 * nsfns.m (ns_set_background_color): Fix crash.
2805
28062008-07-18 Chong Yidong <cyd@stupidchicken.com>
2807
2808 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2809
28102008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2811
2812 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2813
28142008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2815
2816 * gtkutil.c: Include <config.h> instead of "config.h".
2817
2818 * lisp.h (Foverlay_buffer): Add EXFUN.
2819
2820 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2821 child process to complete child_setup. Undo 2005-09-21 change.
2822
2823 * s/darwin.h: Mention setsid after vfork.
2824
28252008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2826
2827 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2828 Depend on macgui.h.
2829
2830 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2831 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2832
2833 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2834 and f19.
2835 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2836
2837 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2838 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2839 Remove enumerators.
2840
2841 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2842 Check if FACE_FROM_ID returns NULL.
2843
28442008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2845
2846 * w32inevt.c (change_frame_size): Remove extern declaration.
2847 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2848 change_frame_size.
2849
28502008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2851
2852 * getloadavg.c: Revert last change (2008-07-15).
2853
28542008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2855
2856 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2857 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2858 from configure.
2859
28602008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2861
2862 * s/sol2.h:
2863 * s/sol2-4.h: Reorganize conditionals.
2864
2865 * ecrt0.c: Remove code depending on m68000, not used anymore.
2866
2867 * fns.c (hash_remove): Make static.
2868 * lisp.h (hash_remove): Don't prototype.
2869
2870 * m/ibmrs6000.h:
2871 * m/ibms390x.h:
2872 * m/macppc.h: Remove boilerplate comments.
2873
2874 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2875 Solaris, which does not need them.
2876
2877 * m/vax.h: Remove comments about unsupported systems.
2878
2879 * s/darwin.h: Reorganize ifdefs.
2880
28812008-07-17 Andreas Schwab <schwab@suse.de>
2882
2883 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2884
28852008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2886
2887 Use SDATA. Follow coding convention of placing operators at
2888 beginning of next line rather than end of previous line, and placing
2889 spaces around infix operators.
2890
2891 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2892 in case it was defined already.
2893 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2894 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2895 ns_default.
2896 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2897 Lisp_Objects.
2898 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2899 (ns_defined_color, ns_color_to_lisp): Declare.
2900 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2901 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2902 it's accepted even with USE_LISP_UNION_TYPE.
2903 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2904 (update_frame_tool_bar): Remove apparently obsolete tests for
2905 non-integerness of f->tool_bar_lines.
2906 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2907 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2908 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2909 (nsfont_open): Don't confuse NULL for Qnil.
2910 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2911 * menu.h (find_and_call_menu_selection):
2912 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2913 (find_and_return_menu_selection): Always return something.
2914 * frame.h: Include dispextern.h for Display_Info.
2915 (display_x_get_resource): Declare.
2916
29172008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2918
2919 * syntax.c: Remove stdio.h include accidentally introduced in
2920 Emacs.app commit.
2921 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2922 NS_IMPL_COCOA.
2923 * keyboard.c (handle_async_input, input_available_signal): Remove
2924 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2925
29262008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2927
2928 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2929 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2930 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2931 Use SDATA.
2932
2933 * keymap.c: Remove all NS-specific code.
2934 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2935 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2936 where_is_preferred_modifier, return a different value depending on how
2937 preferred is the binding.
2938 (where_is_internal): Adjust accordingly.
2939 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2940 Adjust to new preferred_sequence_p.
2941 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2942 * keyboard.c (parse_solitary_modifier): Not static any more.
2943 * keyboard.h (parse_solitary_modifier): Declare.
2944
29452008-07-16 Andreas Schwab <schwab@suse.de>
2946
2947 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2948 of easymenu.
2949
29502008-07-16 Chong Yidong <cyd@stupidchicken.com>
2951
2952 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2953 that we don't move off the line.
2954
29552008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2956
2957 * keyboard.c (Qsuper): Remove.
2958 (parse_menu_item): Don't call where_is_internal specially for NS.
2959
29602008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2961
2962 * s/gnu-linux.h: Remove boilerplate comments.
2963
2964 * m/alpha.h (__ELF__): Consolidate conditions.
2965
2966 * m/m68k.h (linux): Use GNU_LINUX instead.
2967 Remove boilerplate comments.
2968
2969 * m/intel386.h: Undo refactoring from previous change.
2970 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2971 too, remove dead code.
2972 (linux): Use GNU_LINUX instead.
2973
29742008-07-16 Jason Rumney <jasonr@gnu.org>
2975
2976 * w32gui.h: Repeat 26 June changes lost by last change.
2977
29782008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2979
2980 * systty.h: Remove code for Aix on 386, unsupported platform.
2981
2982 * s/ms-w32.h: Remove boilerplate comments.
2983 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2984
2985 * s/gnu-linux.h (TERM): Remove support.
2986 (HAVE_SYSVIPC): Remove, unused.
2987 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2988 for this system.
2989
2990 * process.c: Remove support for IRIS, unused.
2991 Remove support for TERM, not relevant anymore.
2992
2993 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2994 used with the definition.
2995
2996 * s/aix4-2.h (static): Do not undef.
2997
2998 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2999 only used on Aix.
3000 (HAVE_SYSVIPC): Remove, unused.
3001
3002 * m/hp800.h (CANNOT_DUMP): Do not undef.
3003
3004 * m/alpha.h: Fix comment.
3005
3006 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3007 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3008 used by this configuration.
3009 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3010 * unexec.c: Remove code depending on HPUX and
3011 USG_SHARED_LIBRARIES, not used with this file. Remove code
3012 depending on IRIS, unused. Remove if 0-ed code.
3013
3014 * s/template.h: Remove comments about static.
3015
3016 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3017 Remove if 0-ed code.
3018 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3019 were the same as the default.
3020 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3021 Remove boilerplate comments.
3022 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3023 (HAVE_SYSVIPC): Remove, unused.
3024 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3025
3026 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3027 Remove boilerplate comments.
3028 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3029 Remove boilerplate comments.
3030 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3031 Remove boilerplate comments.
3032 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3033
3034 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3035 USG systems which do not use DATA_SEG_BITS.
3036 Refactor code. Remove boilerplate comments.
3037
3038 * m/ibms390.h:
3039 * m/m68k.h:
3040 * s/bsd-common.h:
3041 * s/cygwin.h:
3042 * s/darwin.h:
3043 * s/freebsd.h:
3044 * s/gnu.h:
3045 * s/msdos.h: Remove boilerplate comments.
3046
3047 * m/iris4d.h: Remove boilerplate comments and code for systems that
3048 do not use this file.
3049 (IRIS_4D): Remove, unused.
3050
3051 * m/mips.h: Remove boilerplate comments and code for systems that
3052 do not use this file.
3053 (SIGN_EXTEND_CHAR):
3054 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3055 * unexmips.c: Remove file, unused.
3056
3057 * editfns.c (Fuser_full_name): Replace the only use of
3058 USER_FULL_NAME with its value.
3059 * config.in: Regenerate.
3060
30612008-07-16 David Reitter <david.reitter@gmail.com>
3062
3063 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3064 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3065
30662008-07-16 Glenn Morris <rgm@gnu.org>
3067
3068 * emacs.c (system-type): Doc fix.
3069
30702008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3071
3072 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3073 If the cache doesn't work, let's fix it, rather than work around it.
3074
30752008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3076
3077 * Makefile.in: Correct additions for nsfont.o in last commit.
3078 * nsfont.m: New file (forgot last commit).
3079
30802008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3081
3082 * callproc.c (set_initial_environment): Initialize
3083 Vprocess_environment under CANNOT_DUMP (fixes crash when
3084 batch-compiling for bootstrap).
3085
30862008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3087 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3088
3089 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3090 fix crash due to different init order.
3091
30922008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3093
3094 Changes and additions for NeXTstep windowing system (Cocoa and
3095 GNUstep) support.
3096
3097 * Makefile.in:
3098 * config.in: Support defines and build commands for NS port.
3099 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3100 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3101 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3102 windowing.
3103 (struct face): Add synth_ital field.
3104 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3105 (init_display): Initialize Vinitial_window_system to "ns" when so
3106 compiled.
3107 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3108 (display_arg): Use under NS.
3109 (main): Under NS, allocate autorelease pool and handle command line
3110 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3111 (standard_args): Add NS-specific args.
3112 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3113 * font.c (DEFAULT_ENCODING): New variable.
3114 (font_find_for_lface): Use it.
3115 (syms_of_font): Load syms_of_nsfont under NS.
3116 * font.h: Declare nsfont_driver when compiled under NS.
3117 * fontset.c: When compiling under NS, include nsterm.h.
3118 (fontset_from_font): Autoconstruct fontset under NS.
3119 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3120 symbol, document and use it.
3121 (do_switch_frame): When for_deletion under Cocoa, add
3122 Fraise_frame(Qnil).
3123 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3124 (x_get_arg): Allow "yes" and "no" as boolean values.
3125 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3126 Qright under Cocoa.
3127 (focus-follows-mouse): Default to 0 under NS.
3128 * frame.h (enum output_method): Add output_ns.
3129 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3130 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3131 (FRAME_WINDOW_P): NS-specific definition.
3132 * fringe.c (max_used_fringe_bitmap): Make public.
3133 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3134 (getloadavg): Use NeXT code under descendant OS's.
3135 * image.c (includes and header section, x_create_bitmap_from_data)
3136 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3137 (image_background_transparent, x_clear_image_1)
3138 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3139 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3140 (x_to_xcolors, x_from_xcolors, x_disable_image)
3141 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3142 other GUIs, including XPM support using code originally written for
3143 Carbon GUI.
3144 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3145 using NS API.
3146 (image_ascent): Use font metrics macros instead of direct struct field
3147 access.
3148 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3149 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3150 Also, handle NS as GTK for menu bar purposes.
3151 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3152 toolkit where they differ.
3153 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3154 use cachelist, still needed under NS.
3155 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3156 (struct widget_value): Define it here for menu.c.
3157 * keymap.c (includes): Include modifier internals.
3158 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3159 NS.
3160 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3161 support for preferring sequences using certain modifiers, specified by
3162 the FIRSTONLY argument.
3163 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3164 under NS GNUstep implementation.
3165 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3166 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3167 * menu.c: Include nsterm.h under NS.
3168 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3169 (free_menubar_widget_tree_value, update_submenu_strings)
3170 (find_and_call_menu_selection): Treat NS as X and NT.
3171 (find_and_return_menu_selection): New function, used for popup menus.
3172 * nsgui.h:
3173 * nsterm.h:
3174 * nsfns.m:
3175 * nsimage.m:
3176 * nsmenu.m:
3177 * nsselect.m:
3178 * nsterm.m: New files.
3179 * process.c (wait_reading_process_output): Under NS, call ns_select()
3180 instead of plain select().
3181 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3182 beginning of buffer.
3183 * sysselect.h (init_process): Rename when compiling under Cocoa to
3184 avoid name conflict.
3185 * termhooks.h (display_info): Add ns_display_info to union.
3186 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3187 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3188 COCOA environment.
3189 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3190 unexec() signature. (Note, this will dump, but the resulting file
3191 crashes; unexosx is used instead; keeping around for reference and
3192 possible aid in getting dump working under GNUstep.)
3193 * w32gui.h (button_type, widget_value): Remove definitions (now in
3194 keyboard.h).
3195 * window.c: Include nsterm.h when compiling under NS.
3196 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3197 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3198 other GUI windowing systems.
3199 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3200 GTK.
3201 (x_consider_frame_title): Under NS, set icon type and frame
3202 modified-state indicator; use ns_set_name_as_filename() when using
3203 formatted title.
3204 (update_window_cursor): Make public when compiling under NS.
3205 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3206 (hourglass_atimer, Vhourglass_delay
3207 * xfaces.c (header section, init_frame_faces, clear_font_table)
3208 (defined_color, unload_color, x_face_list_fonts)
3209 (prepare_face_for_display): Add NS support parallel to other GUIs.
3210 Emulate GCs like other non-X GUIs.
3211 (split_font_name): Don't lowercase font name under NS.
3212 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3213 under NS.
3214 * s/darwin.h: Add support for compilation under NS.
3215
32162008-07-15 Jason Rumney <jasonr@gnu.org>
3217
3218 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3219 (w32_show_hourglass): Rename from show_hourglass.
3220 (w32_hide_hourglass): Rename from hide_hourglass.
3221 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3222 (Vhourglass_delay): Declare extern.
3223 (hourglass_started): Remove.
3224
3225 * xdisp.c (Vhourglass_delay): Remove static.
3226 (hourglass_started, start_hourglass, cancel_hourglass):
3227 Don't include these versions on WINDOWSNT.
3228
32292008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3230
3231 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3232 variables (formerly in xfns.c).
3233 (show_hourglass, hide_hourglass): New prototypes (same).
3234 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3235 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3236 in xfns.c).
3237 (syms_of_xdisp): Declare/initialize display-hourglass,
3238 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3239 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3240 formerly in xfns.c.
3241 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3242 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3243 (start_hourglass, cancel_hourglass): Remove.
3244 (show_hourglass, hide_hourglass): Remove prototypes and static
3245 modifiers.
3246 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3247 hourglass_atimer, hourglass_shown_p declaration/initialization.
3248 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3249 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3250 (start_hourglass, cancel_hourglass): Remove.
3251 (show_hourglass, hide_hourglass): Remove prototypes and static
3252 modifiers.
3253 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3254 hourglass_atimer, hourglass_shown_p declaration/initialization.
3255 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3256 (DEFAULT_HOURGLASS_DELAY): Remove.
3257 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3258 hourglass_shown_p declaration/initialization.
3259
32602008-07-14 Jason Rumney <jasonr@gnu.org>
3261
3262 * w32fns.c (w32_get_arg): Remove wrapper function.
3263 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3264 directly.
3265 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3266
32672008-07-14 Kenichi Handa <handa@m17n.org>
3268
3269 * xfont.c (xfont_open): Add workaround for X's bug.
3270
32712008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3272
3273 * fontset.c: Include <stdio.h> unconditionally.
3274
32752008-07-13 Michael Albinus <michael.albinus@gmx.de>
3276
3277 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3278 for filtering.
3279
32802008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3281
3282 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3283
3284 * m/macppc.h:
3285 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3286
3287 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3288 (SPECIAL_EMACS_INT):
3289 * m/ia64.h (SPECIAL_EMACS_INT):
3290 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3291 * s/gnu.h (NLIST_STRUCT):
3292 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3293 * s/gnu-linux.h (LINUX):
3294 * s/msdos.h (HAVE_FACES):
3295 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3296
3297 * systty.h:
3298 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3299 anymore.
3300
33012008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3302
3303 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3304 always defined as int.
3305
3306 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3307 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3308 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3309 * s/freebsd.h (HAVE_WAIT_HEADER):
3310 * s/bsd-common.h (HAVE_UNION_WAIT):
3311 * s/aix4-2.h (HAVE_WAIT_HEADER):
3312 * m/mips.h (HAVE_UNION_WAIT):
3313 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3314 (COFF, static): Do not define, they are undefined later in the file.
3315
3316 * process.c (update_status): Don't use a union.
3317 (status_convert):
3318 (sigchld_handler): Use int instead of WAITTYPE.
3319
33202008-07-12 Chong Yidong <cyd@stupidchicken.com>
3321
3322 * indent.c (Fvertical_motion): Restore hscroll before moving to
3323 goal column.
3324
33252008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3326
3327 * lisp.h: Remove left over code.
3328
33292008-07-11 Andreas Schwab <schwab@suse.de>
3330
3331 * lisp.h: Fix logic in last change.
3332
3333 * menu.h: New file.
3334 * menu.c: Include it.
3335 * xmenu.c: Likewise.
3336 * Makefile.in: Update dependencies.
3337
33382008-07-11 Kenichi Handa <handa@m17n.org>
3339
3340 * fontset.c (fontset_from_font): Cancel the previous change.
3341
33422008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3343
3344 * lisp.h:
3345 * w32heap.c:
3346 * emacs.c:
3347 * alloc.c: Replace all references of NO_UNION_TYPE with
3348 USE_LISP_UNION_TYPE.
3349
3350 * m/xtensa.h (NO_UNION_TYPE):
3351 * m/vax.h (NO_UNION_TYPE):
3352 * m/template.h (NO_UNION_TYPE):
3353 * m/sparc.h (NO_UNION_TYPE):
3354 * m/mips.h (NO_UNION_TYPE):
3355 * m/macppc.h (NO_UNION_TYPE):
3356 * m/m68k.h (NO_UNION_TYPE):
3357 * m/iris4d.h (NO_UNION_TYPE):
3358 * m/intel386.h (NO_UNION_TYPE):
3359 * m/ibms390x.h (NO_UNION_TYPE):
3360 * m/ibms390.h (NO_UNION_TYPE):
3361 * m/ibmrs6000.h (NO_UNION_TYPE):
3362 * m/ia64.h (NO_UNION_TYPE):
3363 * m/hp800.h (NO_UNION_TYPE):
3364 * m/arm.h (NO_UNION_TYPE):
3365 * m/amdx86-64.h (NO_UNION_TYPE):
3366 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3367 defining it the same.
3368
33692008-07-10 Chong Yidong <cyd@stupidchicken.com>
3370
3371 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3372
33732008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3374
3375 * fileio.c:
3376 * sysdep.c
3377 * systty.h:
3378 * m/ibmrs6000.h:
3379 * m/iris4d.h:
3380 * s/aix4-2.h:
3381 * s/freebsd.h:
3382 * s/gnu-linux.h:
3383 * s/hpux10-20.h:
3384 * s/hpux11.h:
3385 * s/netbsd.h:
3386 * s/sol2-3.h:
3387 * s/sol2-4.h:
3388 * s/sol2.h:
3389 * s/usg5-4.h:
3390 * s/vms.h: Remove references to unused variables.
3391
33922008-07-10 Andreas Schwab <schwab@suse.de>
3393
3394 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3395 pattern before matching the generic family.
3396
33972008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3398
3399 * unexec.c:
3400 * s/vms.h:
3401 * s/usg5-4-2.h:
3402 * s/sol2-5.h:
3403 * s/freebsd.h:
3404 * s/darwin.h: Remove dead code.
3405
3406 * m/template.h:
3407 * m/sparc.h:
3408 * m/mips.h:
3409 * m/m68k.h:
3410 * m/iris4d.h:
3411 * m/intel386.h:
3412 * m/ibms390x.h:
3413 * m/ibms390.h:
3414 * m/ia64.h:
3415 * m/hp800.h:
3416 * m/arm.h:
3417 * m/amdx86-64.h: Remove dead code and references to unused
3418 and compiler defined symbols.
3419
3420 * unexmips.c:
3421 * unexelf.c: Remove references to desupported systems.
3422
3423 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3424
3425 * m/powermac.h: Remove boilerplate comments.
3426 (NO_REMAP): Remove unused definition.
3427
3428 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3429 define them.
3430
34312008-07-10 Kenichi Handa <handa@m17n.org>
3432
3433 * xfont.c (xfont_open): Log the reason of failure.
3434
34352008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3436
3437 * fontset.c (fontset_get_font_group):
3438 * font.c (font_check_otf): Specify argument types.
3439
34402008-07-09 Kenichi Handa <handa@m17n.org>
3441
3442 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3443 non-ASCII char is found.
3444
3445 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3446 (reorder_font_vector): Change the arg preferred_family to font.
3447 Prefer the spec matching with font.
3448 (fontset_get_font_group): New function.
3449 (fontset_find_font): Change the format of an element of a realized
3450 fontset. Use fontset_get_font_group.
3451 (fontset_font): Try the current fontset, the default fontset, the
3452 fallbacks of the current fontset, and the fallbacks of the default
3453 fontset in this order.
3454 (face_for_char): Delete the shortcut to use the current font.
3455 (fontset_from_font): Don't set fonts for Latin in the fontset.
3456
3457 * font.h (font_make_object, font_match_p): Adjust prototypes.
3458
3459 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3460
3461 * font.c (font_make_object): New arg entity and pixelsize.
3462 (font_check_otf_features, font_check_otf): New functions.
3463 (font_match_p): Check :lang, :script, and :otf properties.
3464
3465 * xfont.c (xfont_open): Adjust it for the change of
3466 font_make_object.
3467 (xfont_text_extents): Fix initial setting of metrics.
3468
3469 * ftfont.c (struct ftfont_info): New member index, delete member
3470 fc_charset_idx. Make the member order compatible with struct
3471 xftfont_info.
3472 (fc_charset_table): Change charset names to registry names.
3473 (ftfont_pattern_entity): Delete the args registry and
3474 fc_charset_idx. Change the value of :font-entity property
3475 to (FONTNAME . INDEX). Always set :registry property to
3476 `iso10646-1'.
3477 (struct ftfont_cache_data): New struct.
3478 (ftfont_lookup_cache): New arg for_face.
3479 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3480 (ftfont_driver): Set the member otf_capability.
3481 (ftfont_get_charset): Adjust it for the change of
3482 fc_charset_table.
3483 (OTF_TAG_SYM): New macro.
3484 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3485 for the change of fc_charset_table.
3486 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3487 ftfont_pattern_entity. Add FC_INDEX to objset.
3488 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3489 and ftfont_pattern_entity.
3490 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3491 font_make_object, struct ftfont_info.
3492 (ftfont_has_char): Use ftfont_get_fc_charset.
3493 (ftfont_otf_features, ftfont_otf_capability): New functions.
3494 (ftfont_shape): Use ftfont_get_otf.
3495 (ftfont_text_extents): Fix initial setting of metrics.
3496
3497 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3498 member order compatible with struct ftfont_info.
3499 (xftfont_open): Add FC_CHARSET to the pattern. Set
3500 xftfont_info->ft_size. Don't unlock the face. Check BDF
3501 properties if appropriate.
3502 (xftfont_close): Unlock the face.
3503 (xftfont_anchor_point, xftfont_shape): Deleted.
3504 (syms_of_xftfont): Don't set members anchor_point and shape of
3505 xftfont_driver.
3506
3507 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3508 font_make_object.
3509
3510 * w32font.c (w32font_open): Adjust it for the change of
3511 font_make_object.
3512 (w32font_open_internal): Don't set properties of font_object here.
3513
35142008-07-08 Chong Yidong <cyd@stupidchicken.com>
3515
3516 * macfns.c (x_create_tip_frame):
3517 * w32fns.c (x_create_tip_frame):
3518 * xfns.c (x_create_tip_frame): Pass parameter argument to
3519 face-set-after-frame-default.
3520
3521 * xfaces.c (Finternal_merge_in_global_face): Save merged
3522 attributes for the default face back into the face vector.
3523
35242008-07-08 Andreas Schwab <schwab@suse.de>
3525
3526 * fontset.h: Declare fontset_from_font. Don't declare
3527 new_fontset_from_font and fontset_from_font_name.
3528 * xterm.c: Include "fontset.h".
3529 * Makefile.in (xterm.o): Update dependencies.
3530
35312008-07-08 Glenn Morris <rgm@gnu.org>
3532
3533 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3534 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3535
35362008-07-07 Chong Yidong <cyd@stupidchicken.com>
3537
3538 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3539 (x_set_frame_parameters): Don't bind it.
3540
35412008-07-07 Juanma Barranquero <lekktu@gmail.com>
3542
3543 * w32fns.c (map_w32_filename): Declare extern.
3544
35452008-07-07 Jason Rumney <jasonr@gnu.org>
3546
3547 * w32term.c (WS_EX_LAYERED): Define if not already.
3548
35492008-07-06 Chong Yidong <cyd@stupidchicken.com>
3550
3551 * xfaces.c (set_font_frame_param): Don't try to set the font
3552 parameter if it is still unspecified in the lface.
3553
35542008-07-05 Chong Yidong <cyd@stupidchicken.com>
3555
3556 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3557 face if it didn't already exist.
3558
3559 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3560
35612008-07-05 Andreas Schwab <schwab@suse.de>
3562
3563 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3564
35652008-07-05 Chong Yidong <cyd@stupidchicken.com>
3566
3567 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3568 word-wrapping.
3569 (IT_DISPLAYING_WHITESPACE): New macro.
3570 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3571 when word-wrapping. Simplify word-wrapping logic. Use correct
3572 pixel positions when saving copies of the iterator.
3573 (display_line): Use proper wrap point if the last character on a
3574 line was preceded by whitespace.
3575
35762008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3577
3578 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3579
35802008-07-04 Kenichi Handa <handa@m17n.org>
3581
3582 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3583
3584 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3585
35862008-07-02 Jason Rumney <jasonr@gnu.org>
3587
3588 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 3589 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
3590
3591 * xdisp.c (next_element_from_display_vector): Move assignment out
3592 of if statement.
3593
35942008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3595
3596 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3597
3598 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3599 (syms_of_fileio): Initialize and export them.
3600 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3601
3602 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3603 (Fsystem_move_file_to_trash): New function.
3604 (syms_of_w32fns): Export it to lisp.
3605
36062008-07-01 Jason Rumney <jasonr@gnu.org>
3607
3608 * w32font.c (w32font_text_extents): Don't count overhang as part
3609 of width.
3610
36112008-06-30 Miles Bader <miles@gnu.org>
3612
3613 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3614 Add `avoid_cursor_p' field.
3615
3616 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3617 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3618 (append_glyph, append_composite_glyph, produce_image_glyph)
3619 (append_stretch_glyph): Initialize avoid_cursor_p.
3620 (get_it_property): Rename from `get_line_height_property'.
3621 (x_produce_glyphs): Use get_it_property.
3622 (handle_line_prefix, push_display_prop): New functions.
3623 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3624 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3625 New variables.
3626 (syms_of_xdisp): Initialize them.
3627
36282008-06-30 Kenichi Handa <handa@m17n.org>
3629
3630 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3631 XftDefaultSubstitute (they are called in XftFontMatch).
3632 (xftfont_open): Fix args to ftfont_font_format.
3633
3634 * ftfont.c (fc_charset_table): New member lang.
3635 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3636 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3637 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3638 (ftfont_open): Fix args to ftfont_font_format.
3639 (ftfont_font_format): New arg filename.
3640
36412008-06-30 Chong Yidong <cyd@stupidchicken.com>
3642
3643 * xfaces.c (Finternal_merge_in_global_face): If default face was
3644 modified, realize it again. Update the font face attribute.
3645
36462008-06-29 Jason Rumney <jasonr@gnu.org>
3647
3648 * w32term.c (x_set_frame_alpha): Fix logic.
3649
36502008-06-29 Kenichi Handa <handa@m17n.org>
3651
3652 * fontset.c (Finternal_char_font): Return font-object instead of
3653 font-name.
3654
3655 * composite.c (get_composition_id): Fix the width calculation for TAB.
3656
36572008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3658
3659 * indent.c (Fvertical_motion): Properly handle float column arg.
3660
36612008-06-28 Jason Rumney <jasonr@gnu.org>
3662
3663 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3664 (pfnSetLayeredWindowAttributes): New function pointer.
3665 (w32_initialize): Initialize it when supported.
3666 (x_set_frame_alpha): New function.
3667
3668 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3669 (w32_frame_parm_handlers): Set alpha handler.
3670
3671 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3672
36732008-06-27 Jason Rumney <jasonr@gnu.org>
3674
3675 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3676 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3677 (w32_to_x_charset, x_to_w32_charset)
3678 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3679 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3680 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3681 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3682 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3683 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3684 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3685 (Qw32_charset_unicode): Remove.
3686 (syms_of_w32fns): Update for above changes.
3687
3688 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3689 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3690 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3691 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3692 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3693 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3694 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3695 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3696 (syms_of_w32font): Update for above changes.
3697
36982008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3699
3700 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3701 removed #if.
3702 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3703
37042008-06-26 Juanma Barranquero <lekktu@gmail.com>
3705 Eli Zaretskii <eliz@gnu.org>
3706
3707 * makefile.w32-in (LOCAL_FLAGS):
3708 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3709
3710 * sysdep.c (_spawnlp, _getpid):
3711 Declare with explicit _cdecl instead of _CRTAPI1.
3712
3713 * editfns.c (Fget_internal_run_time):
3714 Check for WINDOWSNT with #ifdef, not #if.
3715
37162008-06-26 Jason Rumney <jasonr@gnu.org>
3717
3718 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3719
3720 * w32term.c (x_draw_glyph_string_foreground)
3721 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3722 Use FONT_HANDLE macro.
3723 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3724
3725 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3726 (uniscribe_encode_char): Use FONT_HANDLE macro.
3727
3728 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3729 (w32font_text_extents): Use precast w32_font.
3730 (w32font_close): Free cached metrics.
3731 (w32font_open_internal): Allocate space for name on stack.
3732
37332008-06-26 Chong Yidong <cyd@stupidchicken.com>
3734
3735 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3736
37372008-06-26 Jason Rumney <jasonr@gnu.org>
3738
3739 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3740 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3741
37422008-06-26 Juanma Barranquero <lekktu@gmail.com>
3743
3744 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3745
37462008-06-26 Jason Rumney <jasonr@gnu.org>
3747
3748 * w32bdf.c, w32bdf.h: Remove obsolete files.
3749
3750 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3751
3752 * w32gui.h: Don't include w32bdf.h.
3753 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3754 Remove obsolete font support.
3755
3756 * w32font.h (struct w32font_info): Remove compat_w32_font.
3757 Add hfont member.
3758 (FONT_COMPAT): Remove obsolete macro.
3759
3760 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3761 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3762 (w32font_open_internal): Remove compat code. Set new hfont member.
3763 (Fx_select_font): Use new hfont member.
3764
3765 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3766 (uniscribe_encode_char): Use new hfont member.
3767
3768 * w32term.c (x_draw_glyph_string_foreground)
3769 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3770 (x_draw_glyph_string): Use metrics in w32font_info.
3771
37722008-06-26 Kenichi Handa <handa@m17n.org>
3773
3774 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3775
37762008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3777
3778 * unexnext.c:
3779 * m/ews4800.h:
3780 * m/hp9000s300.h:
3781 * m/ibm370aix.h:
3782 * m/mips-siemens.h:
3783 * m/ncr386.h:
3784 * m/next.h:
3785 * m/pmax.h:
3786 * m/powerpcle.h:
3787 * m/tandem-s2.h:
3788 * s/386bsd.h:
3789 * s/bsd386.h:
3790 * s/bsd4-1.h:
3791 * s/bsd4-2.h:
3792 * s/bsdos2-1.h:
3793 * s/bsdos2.h:
3794 * s/bsdos3.h:
3795 * s/bsdos4.h:
3796 * s/nextstep.h:
3797 * s/ultrix4-3.h:
3798 * s/usg5-0.h:
3799 * s/usg5-2-2.h:
3800 * s/usg5-2.h:
3801 * s/usg5-4-3.h:
3802 * s/ux4800.h:
3803 * s/uxpds.h:
3804 * s/uxpv.h: Remove support for obsolete systems.
3805 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3806 Remove, insert contents in s/hpux-10.20.h.
3807 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3808 Remove, insert contents in s/aix4-2.h.
3809 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3810 * s/bsd4-3.h: Rename to ...
3811 * s/bsd-common.h: ... this.
3812 * data.c:
3813 * doc.c:
3814 * ecrt0.c:
3815 * emacs.c:
3816 * fileio.c:
3817 * floatfns.c:
3818 * keyboard.c:
3819 * mem-limits.h:
3820 * print.c:
3821 * process.c:
3822 * sysdep.c:
3823 * syssignal.h:
3824 * systty.h:
3825 * syswait.h:
3826 * term.c:
3827 * unexec.c:
3828 * unexelf.c:
3829 * unexhp9k800.c:
3830 * m/hp800.h:
3831 * m/ibmrs6000.h:
3832 * m/mips.h:
3833 * m/vax.h:
3834 * s/darwin.h:
3835 * s/freebsd.h:
3836 * s/gnu.h:
3837 * s/ms-w32.h:
3838 * s/msdos.h:
3839 * s/netbsd.h:
3840 * s/template.h: Remove references to obsolete variables.
3841
3842 * Makefile.in: Add dependencies for all unexec files.
3843 (admindir): Remove unused variable.
3844 (UNEXEC_SRC): Remove references.
3845
38462008-06-25 Chong Yidong <cyd@stupidchicken.com>
3847
3848 * xfns.c (x_default_font_parameter): If Xft is available, first
3849 try Monospace-12 for the default font.
3850
38512008-06-25 Jason Rumney <jasonr@gnu.org>
3852
3853 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3854
38552008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3856
3857 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3858
3859 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3860
38612008-06-25 Juanma Barranquero <lekktu@gmail.com>
3862
3863 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3864 <scroll-conservatively>: Fix typo in docstring.
3865
3866 * xselect.c (Fx_send_client_event): Doc fix.
3867
38682008-06-25 Kenichi Handa <handa@m17n.org>
3869
3870 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3871
3872 * font.c (font_parse_fcname): Remove unused variables.
3873 (font_sort_entites): Delete the arg SPEC. Caller changed.
3874 Fix for the case of ! best_only.
3875 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3876
3877 * lisp.h (Fstring_to_unibyte): EXFUN it.
3878
3879 * character.h (str_to_unibyte): Extern it.
3880
3881 * character.c (str_to_unibyte): New function.
3882
3883 * fns.c (Fstring_to_unibyte): New function.
3884 (syms_of_fns): Defsubr it.
3885
38862008-06-24 Kenichi Handa <handa@m17n.org>
3887
3888 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3889 DPI too.
3890 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3891
38922008-06-24 Andreas Schwab <schwab@suse.de>
3893
3894 * Makefile.in (${lispsource}loaddefs.el): Rename from
3895 ../lisp/loaddefs.el.
3896 (bootstrap-clean): Do what distclean does but don't remove
3897 Makefile.
3898 (distclean): Depend on bootstrap-clean and remove Makefile.
3899
39002008-06-24 Chong Yidong <cyd@stupidchicken.com>
3901
3902 * buffer.h (struct buffer): New member word_wrap.
3903
3904 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3905 word-wrap.
3906 (init_buffer_once): Initialize them.
3907
3908 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3909 line_wrap enum possessing three possible values.
3910
3911 * termopts.h: Replace truncate_partial_width_windows with
3912 Vtruncate_partial_width_windows.
3913
3914 * dispnew.c (direct_output_for_insert): Avoid direct output when
3915 inserting a space with word wrap on.
3916
3917 * indent.c (compute_motion): Obey integer values of
3918 truncate-partial-width-windows.
3919
3920 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3921 replacing truncate_partial_width_windows.
3922 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3923 truncate only if the window width is below that integer.
3924 (start_display, resize_mini_window, produce_stretch_glyph)
3925 (display_string, move_it_in_display_line_to): Use line_wrap.
3926 (back_to_previous_visible_line_start, reseat_1): Reset
3927 string_from_display_prop_p.
3928 (display_line): Extend default face to end of line when wrapping.
3929
39302008-06-24 Kim F. Storm <storm@cua.dk>
3931
3932 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3933 to wrap continued lines at word boundaries.
3934
39352008-06-24 Jason Rumney <jasonr@gnu.org>
3936
3937 * font.c (Ffont_face_attributes): Multiply pixel size before point
3938 conversion to avoid multiplying rounding error.
3939
39402008-06-23 Jason Rumney <jasonr@gnu.org>
3941
3942 * w32term.c (x_draw_glyph_string_background)
3943 (x_draw_glyph_string): Remove old bdf font code.
3944
3945 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3946
39472008-06-22 Kenichi Handa <handa@m17n.org>
3948
3949 * font.c (font_find_for_lface): Try the adstyle specified in
3950 the property of LFACE_FONT of LFACE (if any).
3951
39522008-06-21 Seiji Zenitani <zenitani@mac.com>
3953 Ryo Yoshitake <ryo@shiftmode.net>
3954
3955 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3956
39572008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3958
3959 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3960 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3961 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3962 (witness-emacs): Remove.
3963 (lisp, shortlisp): Move loaddefs.el earlier.
3964 (mostlyclean): Forget about witness-emacs.
3965
39662008-06-22 Glenn Morris <rgm@gnu.org>
3967
3968 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3969 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3970
39712008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3972
3973 * Makefile.in (PRECOMP): Remove.
3974 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3975 (witness-emacs): Run `compile-first'.
3976 (.el.elc): Use the new compile-onefile target.
3977
39782008-06-21 Kenichi Handa <handa@m17n.org>
3979
3980 * xftfont.c (xftfont_open): Handle QCembolden only when
3981 FC_EMBOLDEN is defined.
3982
39832008-06-21 Andreas Schwab <schwab@suse.de>
3984
3985 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3986 (.el.elc): Likewise.
3987
39882008-06-21 Miles Bader <miles@gnu.org>
3989
3990 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3991 build dir, not the lisp source dir.
3992
39932008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3994
3995 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3996 (bootstrapclean): Remove.
3997 (.el.elc): New rule.
3998 (PRECOMP): New var.
3999 (../lisp/subdirs.el): Remove.
4000 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4001 (witness-emacs): New target.
4002 (mostlyclean): Remove witness-emacs as well.
4003 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4004 Add witness-emacs dependency.
4005
40062008-06-20 Chong Yidong <cyd@stupidchicken.com>
4007
4008 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4009 defined by the font.
4010
40112008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4012
4013 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4014 (bootstrap-clean): New target that keeps TAGS around.
4015 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4016 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4017
40182008-06-20 Jason Rumney <jasonr@gnu.org>
4019
4020 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4021 Remove obsolete font code.
4022
4023 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4024 to determine language support.
4025
40262008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4027
4028 * sysdep.c (cfsetspeed): New fun extracted from the code.
4029 (cfmakeraw): Move before first use.
4030
40312008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4032
4033 * sysdep.c (cfmakeraw): Provide fallback implementation.
4034 (serial_configure): Provide fallback implementation of cfsetspeed.
4035
40362008-06-20 Kenichi Handa <handa@m17n.org>
4037
4038 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4039 the pattern.
4040
4041 * fontset.c (fontset_from_font): Copy font_spec before changing
4042 the elements.
4043
4044 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4045
40462008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4047
4048 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4049 for explicit `font' parameters.
4050
4051 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4052
40532008-06-19 Kenichi Handa <handa@m17n.org>
4054
4055 * frame.c: Include <ctype.h>.
4056 (x_set_font_backend): Allow spacing characters in the X resource
4057 for FontBackend.
4058
40592008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4060
4061 * w32fns.c, xfns.c (Qfont_param): New var.
4062 (syms_of_w32fns): Initialize it.
4063 (x_default_font_parameter): Record explicit `font' into
4064 `font-parameter'.
4065
40662008-06-18 Kenichi Handa <handa@m17n.org>
4067
4068 * font.c (font_parse_xlfd): Fix previous change.
4069 (font_parse_fcname): Don't use :fc-unknown-spec.
4070 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4071 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4072 (font_add_log): Prepend the driver name to the resulting fonts.
4073
4074 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4075 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4076 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4077
4078 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4079 (QCembolden): New variables.
4080 (syms_of_xftfont): DEFSYM them.
4081 (xftfont_open): Call XftFontMatch. Don't trust the result of
4082 XftTextExtents8 if the pixel_size is less than 5.
4083
40842008-06-18 Andreas Schwab <schwab@suse.de>
4085
4086 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4087 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4088
40892008-06-18 Jason Rumney <jasonr@gnu.org>
4090
4091 * w32font.c (w32font_list, w32font_match): Add logging.
4092
4093 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4094
40952008-06-17 Chong Yidong <cyd@stupidchicken.com>
4096
4097 * font.c (font_parse_fcname): Store divider characters for
4098 unknown-spec list. For known key symbols, intern using correct
4099 symbol name.
4100
41012008-06-17 Kenichi Handa <handa@m17n.org>
4102
4103 * xfaces.c (realize_default_face): If the frame is not on window
4104 system, set the fontset of face to nil.
4105
41062008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4107
4108 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4109
41102008-06-16 Juanma Barranquero <lekktu@gmail.com>
4111
4112 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4113 (build_font_name_from_vector): Delete externs.
4114
4115 * xfaces.c (struct font_name): Don't declare.
4116
41172008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4118
4119 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4120
41212008-06-16 Chong Yidong <cyd@stupidchicken.com>
4122
4123 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4124
41252008-06-16 Juanma Barranquero <lekktu@gmail.com>
4126
4127 * font.c (Ffont_spec): Fix usage in docstring.
4128 (Ffont_face_attributes): Doc fix.
4129
41302008-06-16 Andreas Schwab <schwab@suse.de>
4131
4132 * font.c (Ffont_face_attributes): Fix definition.
4133
41342008-06-16 Jason Rumney <jasonr@gnu.org>
4135
4136 * font.h (font_style_symbolic_from_value): Remove.
4137
4138 * font.c (font_style_symbolic_from_value): Remove.
4139 (font_style_symbolic): Revert to pre 2008-06-13 version.
4140
4141 * w32font.c (w32_to_fc_weight): New function.
4142 (w32font_full_name, logfont_to_fcname): Use it.
4143
41442008-06-16 Kenichi Handa <handa@m17n.org>
4145
4146 * font.c (font_check_object): Delete it.
4147 (font_clear_cache): Check if a font-object is alive.
4148 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4149 font-object to nil.
4150 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4151 (font_at): Don't call font_check_object.
4152 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4153
41542008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4155
4156 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4157
41582008-06-16 Chong Yidong <cyd@stupidchicken.com>
4159
4160 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4161
41622008-06-15 Chong Yidong <cyd@stupidchicken.com>
4163
4164 * font.c (font_parse_fcname): Only one decimal point.
4165 (font_unparse_fcname): Handle data in family and foundry indices
4166 as symbols, not strings.
4167 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4168
4169 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4170
4171 * font.h (font_unparse_gtkname): Add prototype.
4172
41732008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4174
4175 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4176
41772008-06-15 Andreas Schwab <schwab@suse.de>
4178
4179 * font.c (font_update_drivers): Fix crash when no drivers match.
4180
41812008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4182
4183 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4184 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4185
41862008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4187
4188 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4189
41902008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4191
4192 * process.c (Fserial_process_configure, Fprocess_send_eof):
4193 Use EQ to compare Lisp_Objects.
4194
41952008-06-13 Jason Rumney <jasonr@gnu.org>
4196
4197 * w32fns.c (Fw32_select_font): Remove old font API function.
4198
4199 * w32font.c (logfont_to_fcname): New function.
4200 (Fx_select_font): New font dialog function compatible with
4201 GTK/fontconfig version.
4202
4203 * font.c (font_style_symbolic_from_value): New function.
4204 (font_style_symbolic): Use it.
4205
4206 * font.h (font_style_symbolic_from_value): Declare new function.
4207
42082008-06-13 Juanma Barranquero <lekktu@gmail.com>
4209
4210 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4211 <font-width-table>: Fix typos in docstrings.
4212
42132008-06-13 Daniel Engeler <engeler@gmail.com>
4214
4215 These changes add serial port access.
4216 * process.c: Add HAVE_SERIAL.
4217 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4218 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4219 (list_processes_1, select_wrapper, Fstop_process)
4220 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4221 (status_notify): Modify to handle serial processes.
4222 [HAVE_SERIAL] (Fserial_process_configure)
4223 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4224 New functions.
4225 * process.h (struct Lisp_Process): Add `type'.
4226 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4227 New functions.
4228 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4229 serial ports.
4230 (serial_open, serial_configure) New functions.
4231 * w32.h: Add FILE_SERIAL.
4232 (struct _child_process): Add ovl_read, ovl_write.
4233
42342008-06-13 Kenichi Handa <handa@m17n.org>
4235
4236 * dispextern.h (enum lface_attribute_index): New member
4237 LFACE_FOUNDRY_INDEX.
4238
4239 * font.c (font_score): Delete arg alternate_families. Check only
4240 weight, slant, width, and size. Ignore the difference of alias
4241 style symbols.
4242 (font_sort_entites): Adjust for the above change. Reflect the
4243 order of font-driver to scores.
4244 (font_list_entities): Don't check alternate_familes here.
4245 (font_clear_prop): Handle foundry.
4246 (font_update_lface): Don't parse "foundry-family" form here.
4247 Handle FONT_FOUNDRY_INDEX.
4248 (font_find_for_lface): Likewise. Handle alternate families here.
4249 If registry is nil, try iso8859-1 and ascii-0.
4250 (font_open_for_lface): Pay attention to size in ENTITY.
4251 (font_open_by_name): Simplify by calling font_load_for_lface.
4252 (free_font_driver_list): Delete it.
4253 (font_update_drivers): Preserve the order of backends.
4254 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4255 of font_score and font_sort_entites.
4256 (font_update_sort_order): Likewise.
4257
4258 * xfaces.c (LFACE_FOUNDRY): New macro.
4259 (check_lface_attrs): Check foundry.
4260 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4261 (merge_face_vectors): Check foundry.
4262 (merge_face_ref): Likewise.
4263 (Finternal_set_lisp_face_attribute): Likewise.
4264 (x_update_menu_appearance): Likewise.
4265 (Finternal_get_lisp_face_attribute): Likewise.
4266 (lface_hash): Likewise.
4267 (lface_same_font_attributes_p): Likewise.
4268 (x_supports_face_attributes_p): Likewise.
4269 (tty_supports_face_attributes_p): Likewise.
4270 (Finternal_set_alternative_font_family_alist): Intern strings.
4271 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4272 (realize_default_face): Set LFACE_FOUNDRY (lface).
4273
4274 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4275 font-driver at first.
4276
4277 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4278
42792008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4280
4281 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4282
42832008-06-12 Jim Meyering <meyering@redhat.com>
4284
4285 Make unexec_free handle NULL the same way free does.
4286 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4287
42882008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4289
4290 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4291 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4292 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4293 (WEAK_ALIAS): Simplify.
4294 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4295 when searching a unibyte buffer.
4296
42972008-06-12 Chong Yidong <cyd@stupidchicken.com>
4298
4299 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4300
43012008-06-12 Juanma Barranquero <lekktu@gmail.com>
4302
4303 * w32font.c: Include ctype.h.
4304
43052008-06-11 Jason Rumney <jasonr@gnu.org>
4306
4307 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4308 misreported as space.
4309 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4310 as aliases for registry iso10646-1.
4311
43122008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4313
4314 * buffer.c (clone_per_buffer_values): Skip `name'.
4315
43162008-06-11 Chong Yidong <cyd@stupidchicken.com>
4317
4318 * font.c (font_parse_fcname): Fix last change; accept decimal
4319 points in font size.
4320
43212008-06-10 Jason Rumney <jasonr@gnu.org>
4322
4323 * w32uniscribe.c (add_opentype_font_name_to_list):
4324 Skip non unicode fonts.
4325
43262008-06-10 Chong Yidong <cyd@stupidchicken.com>
4327
4328 * xfns.c (Fx_font_dialog): New function.
4329
4330 * gtkutil.c (xg_dialog_response_cb): Rename from
4331 xg_file_response_callback.
4332 (pop_down_dialog): Rename from pop_down_file_dialog.
4333 (xg_get_file_name): Callers changed.
4334 (xg_get_font_name): New function.
4335
4336 * gtkutil.h (xg_get_font_name): Insert prototype.
4337
43382008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4339
4340 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4341 x_underline_minimum_display_offset.
4342 (syms_of_xdisp): Declare it here rather than in xterm.c.
4343 * dispextern.h (underline_minimum_offset): Declare it.
4344 * w32term.c (x_draw_glyph_string): Use it.
4345 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4346 (syms_of_xterm): Don't declare it any more.
4347 (x_draw_glyph_string): Adjust to the new name.
4348
43492008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4350
4351 * xterm.c (x_underline_minimum_display_offset): New var.
4352 (x_draw_glyph_string): Use it.
4353 (syms_of_xterm): Declare it.
4354
43552008-06-10 Chong Yidong <cyd@stupidchicken.com>
4356
4357 * font.c (font_parse_fcname): Accept GTK-style font names too.
4358
43592008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4360
4361 * dired.c (file_name_completion): Don't return t if the match is exact
4362 but with different capitalization.
4363 * minibuf.c (Ftry_completion): Simplify.
4364
4365 * window.c (Vwindow_point_insertion_type): New var.
4366 (set_window_buffer): Use it.
4367 (syms_of_window): Init and export it to Lisp.
4368
43692008-06-10 Kenichi Handa <handa@m17n.org>
4370
4371 * font.h (font_intern_prop): Prototype adjusted.
4372
4373 * font.c (font_intern_prop): New arg force_symbol.
4374 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4375 Adjust for the change of font_intern_prop.
4376
4377 * ftfont.c (ftfont_pattern_entity):
4378 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4379 (w32_registry):
4380 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4381 the change of font_intern_prop.
4382
43832008-06-09 Juanma Barranquero <lekktu@gmail.com>
4384
4385 * w32menu.c (digest_single_submenu): Declare extern.
4386
43872008-06-09 Jason Rumney <jasonr@gnu.org>
4388
4389 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4390
4391 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4392 (parse_single_submenu): Remove.
4393 (digest_single_submenu): Remove.
4394 (syms_of_w32menu): Don't initialise variables that have moved
4395 to menu.c.
4396 (set_frame_menubar): Sync with version in xmenu.c.
4397 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4398
4399 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4400 Make static again.
4401
44022008-06-09 Jason Rumney <jasonr@gnu.org>
4403
4404 Changes to w32 files related to the move of common menu code
4405 to menu.c on 2008-06-08 by Chong Yidong.
4406
4407 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4408 defs to w32gui.h.
4409 (single_keymap_panes, push_menu_item, push_menu_pane):
4410 Make globally visible.
4411
4412 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4413 (local_free, malloc_widget_value, free_widget_value)
4414 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4415 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4416 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4417 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4418 (menu_items, menu_items_allocated, menu_items_used)
4419 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4420 (init_menu_items, finish_menu_items, discard_menu_items)
4421 (grow_menu_items, push_submenu_start, push_submenu_end)
4422 (push_left_right_boundary, push_menu_pane, push_menu_item)
4423 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4424 (free_menubar_widget_tree_value, parse_single_submenu)
4425 (update_submenu_strings): Remove functions.
4426 (xmalloc_widget_value): Remove and declare extern.
4427
4428 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4429 (OBJ1): Build it.
4430
4431 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4432 (local_heap, local_alloc, local_free, malloc_widget_value)
4433 (free_widget_value): Define here.
4434
44352008-06-09 Kenichi Handa <handa@m17n.org>
4436
4437 * font.h (Qascii_0): Extern it.
4438
4439 * font.c (Qascii_0): New variable.
4440 (syms_of_font): DEFSYM it.
4441 (font_open_by_name): If the registry "iso8859-1" fails, try also
4442 "ascii-0".
4443
4444 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4445
44462008-06-08 Kenichi Handa <handa@m17n.org>
4447
4448 * .gdbinit (xfont): New command.
4449
44502008-06-08 Andreas Schwab <schwab@suse.de>
4451
4452 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4453 * Makefile.in (menu.o): Update dependencies.
4454
4455 * Makefile.in (obj): Always add menu.o.
4456 * emacs.c (main): Always call syms_of_menu.
4457 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4458
44592008-06-08 Chong Yidong <cyd@stupidchicken.com>
4460
4461 * Makefile.in: Compile menu.c.
4462
4463 * lisp.h: Declare syms_of_menu.
4464
4465 * emacs.c (main): Call syms_of_menu.
4466
4467 * keyboard.h: Relocate platform-independent menu definitions from
4468 xmenu.c.
4469
4470 * menu.c: New file. Relocate platform-independent menu
4471 definitions from xmenu.c. Suggested by Adrian Robert.
4472
4473 * xmenu.c: Remove platform-independent menu definitions.
4474 (menu_items menu_items_inuse, menu_items_allocated)
4475 (menu_items_used, menu_items_n_panes)
4476 (menu_items_submenu_depth): Move to keyboard.h.
4477 (init_menu_items, finish_menu_items, unuse_menu_items)
4478 (discard_menu_items, restore_menu_items, save_menu_items)
4479 (grow_menu_items, push_submenu_start, push_submenu_end)
4480 (push_left_right_boundary, push_menu_pane, push_menu_item)
4481 (keymap_panes, single_keymap_panes, single_menu_item)
4482 (list_of_panes, list_of_items, find_and_call_menu_selection)
4483 (xmalloc_widget_value, free_menubar_widget_value_tree)
4484 (parse_single_submenu, digest_single_submenu)
4485 (update_submenu_strings): Move to menu.c.
4486
44872008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4488
4489 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4490
44912008-06-06 Miles Bader <miles@gnu.org>
4492
4493 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4494 face, not frame default.
4495
44962008-06-05 Martin Rudalics <rudalics@gmx.at>
4497
4498 * window.c (pop_up_windows, pop_up_frames)
4499 (display_buffer_reuse_frames, Vpop_up_frame_function)
4500 (Vdisplay_buffer_function, Veven_window_heights)
4501 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4502 (Vspecial_display_function, Vsame_window_buffer_names)
4503 (Vsame_window_regexps, split_height_threshold)
4504 (Vsplit_window_preferred_function): Move those vars to window.el.
4505 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4506 (Fdisplay_buffer): Move those functions to window.el.
4507 (syms_of_window): Remove corresponding declarations.
4508 (display_buffer): New function.
4509 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4510 * dispnew.c (Flast_nonminibuf_frame): New function.
4511 * buffer.c (Fpop_to_buffer): Move to window.el.
4512
45132008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4514
4515 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4516
45172008-06-05 Kenichi Handa <handa@m17n.org>
4518
4519 * coding.c (detect_coding): Fix previous change.
4520 (detect_coding_system): Likewise.
4521
45222008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4523
4524 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4525
4526 * keymap.c (Vminibuffer_local_filename_must_match_map):
4527 Rename from Vminibuffer_local_must_match_filename_map.
4528 (syms_of_keymap):
4529 * minibuf.c (Fcompleting_read): Adjust accordingly.
4530 * commands.h: Rename declaration as well.
4531
45322008-06-05 Kenichi Handa <handa@m17n.org>
4533
4534 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4535 family name.
4536 (Ffont_put): Likewise.
4537
4538 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4539 current font-spec.
4540
4541 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4542 is unspecified.
4543
4544 * xfaces.c (realize_x_face): If the font-related face attributes
4545 are the same as those of default face, realize a new fontset from
4546 default->fontset.
4547 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4548
45492008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4550
4551 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4552 (move_it_in_display_line): New wrapper.
4553
4554 * window.c (window_scroll_pixel_based_preserve_x)
4555 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4556 (window_scroll_pixel_based, window_scroll_line_based):
4557 Use them to preserve column positions.
4558 (syms_of_window): Initialize them.
4559
4560 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4561 (HPOS . VPOS) pair.
4562
4563 * dispextern.h (move_it_in_display_line): Declare.
4564
45652008-06-05 Juanma Barranquero <lekktu@gmail.com>
4566
4567 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4568 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4569 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4570
45712008-06-04 Juanma Barranquero <lekktu@gmail.com>
4572
4573 * window.c (Fset_window_parameter): Doc fix.
4574 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4575
45762008-06-04 Joakim Verona <joakim@verona.se>
4577
4578 * window.h (struct window): Add new member window_parameters.
4579
4580 * window.c (Fwindow_parameters, Fwindow_parameter)
4581 (Fset_window_parameter): New defuns.
4582 (syms_of_window): Defsubr the new defuns.
4583 (make_window): Initialize window_parameters to nil.
4584
45852008-06-04 John Paul Wallington <jpw@pobox.com>
4586
4587 * eval.c (Fdefmacro): Doc fix.
4588
45892008-06-04 Kenichi Handa <handa@m17n.org>
4590
4591 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4592 Be sure to call setup_coding_system when we find a proper coding system.
4593 (detect_coding_system): Fix handling of coding->head_ascii.
4594
45952008-06-03 Andreas Schwab <schwab@suse.de>
4596
4597 * font.c (font_prop_validate_spacing): Fix last change.
4598
45992008-06-03 Kenichi Handa <handa@m17n.org>
4600
4601 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4602 (font_parse_fcname): Fix handling of unknown key.
4603
4604 * xfont.c (xfont_list): Try an alias.
4605
4606 * charset.c (char_charset): Return NULL if the arg charset_list is
4607 specified and C doesn't belong to any of them.
4608
46092008-06-02 Chip Coldwell <coldwell@redhat.com>
4610
4611 * font.c (font_pixel_size): Don't take cdr of an integer.
4612
46132008-06-02 Jim Meyering <meyering@redhat.com>
4614
4615 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4616 * alloc.c (xfree): Return right away for a NULL arg.
4617 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4618 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4619 * mac.c (create_apple_event_from_event_ref): Likewise.
4620 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4621 Likewise.
4622 * doprnt.c (doprnt1): Likewise.
4623 * frame.c (frame): Likewise.
4624 * keyboard.c (wipe_kboard): Likewise.
4625 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4626 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4627 * term.c (tty_default_color_capabilities, maybe_fatal)
4628 (delete_tty): Likewise.
4629 * w16select.c (string): Likewise.
4630 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4631 * w32bdf.c (w32_free_bdf_font): Likewise.
4632 * w32fns.c (w32_unload_font): Likewise.
4633 * w32font.c (w32font_close): Likewise.
4634 * window.c (size_window): Likewise.
4635 * xselect.c (receive_incremental_selection): Likewise.
4636 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4637 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4638 * w32.c (stat): Likewise.
4639
4640 Remove useless if-before-free tests.
4641 * editfns.c (Fset_time_zone_rule): Likewise.
4642 * lread.c (nosuffix): Likewise.
4643 * ralloc.c (get_bloc): Likewise.
4644 * regex.c (reg_free): Likewise.
4645 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4646 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4647 * xsmfns.c (smc_save_yourself_CB): Likewise.
4648
46492008-06-02 Kenichi Handa <handa@m17n.org>
4650
4651 * font.c (font_find_for_lface): Handle float font size.
4652 (font_open_for_lface): Likewise.
4653
4654 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4655 comparing the properties.
4656
46572008-06-01 Jason Rumney <jasonr@gnu.org>
4658
4659 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4660 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4661 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4662 Don't add empty script list.
4663 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4664
46652008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4666
4667 * Makefile.in (dot, dotdot): Remove, update users.
4668 ".." has been used elsewhere in the file for a long time.
4669 (LIBXT_STATIC): Remove conditional based on unused variable.
4670
46712008-06-01 Miles Bader <miles@gnu.org>
4672
4673 * xfaces.c (Vface_remapping_alist): New variable.
4674 (syms_of_xfaces): Initialize it.
4675 (enum named_merge_point_kind): New type.
4676 (struct named_merge_point): Add `named_merge_point_kind' field.
4677 (push_named_merge_point): Make cycle detection respect different
4678 named-merge-point kinds.
4679 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4680 Remove face-name alias resolution.
4681 (lface_from_face_name): New definition using
4682 `lface_from_face_name_no_resolve'.
4683 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4684 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4685 (get_lface_attributes): New definition that layers face-remapping on
4686 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4687 (lookup_basic_face): New function.
4688 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4689 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4690 `get_lface_attributes'.
4691 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4692 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4693 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4694
4695 * xdisp.c (init_iterator): Pass base_face_id through
4696 `lookup_basic_face' when we actually use it as a face-id.
4697 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4698 DEFAULT_FACE_ID.
4699
4700 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4701 lookup the initial face-id.
4702
4703 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4704
47052008-06-01 Juanma Barranquero <lekktu@gmail.com>
4706
4707 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4708 (Fremove_text_properties): Fix typos in docstrings.
4709
47102008-05-31 Kenichi Handa <handa@m17n.org>
4711
4712 * font.c (font_list_entities): Fix the car part of data to be
4713 stored in the cache.
4714
4715 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4716
47172008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4718
4719 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4720 Add a `test' argument so another predicate than `equal' can be used.
4721 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4722 (map_char_table): Remove unused vars `c' and `i'.
4723 * lisp.h (Foptimize_char_table): Adjust declaration.
4724 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4725
47262008-05-30 Kenichi Handa <handa@m17n.org>
4727
4728 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4729 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4730 defined.
4731
47322008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4733
4734 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4735 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4736 frame-local settings for the same variable.
4737
47382008-05-30 Kenichi Handa <handa@m17n.org>
4739
4740 * fontset.c (Ffont_info): Move to font.c.
4741 (syms_of_fontset): Delete defsubr of Sfont_info.
4742
4743 * font.c (font_style_to_value, font_score): Delete casting of the
4744 args to xstcasecmp.
4745 (register_font_driver): Increment num_font_drivers only when
4746 registering the driver globally.
4747 (Ffont_info): Move from fontset.c. Handle a font object too.
4748 (syms_of_font): Defsubr Sfont_info.
4749
47502008-05-29 Kenichi Handa <handa@m17n.org>
4751
4752 * coding.h (enum define_coding_utf8_arg_index): New enum.
4753 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4754 coding_attr_utf_bom.
4755 (enum utf_bom_type): Rename from utf_16_bom_type.
4756 (struct utf_16_spec): Adjust for the above change.
4757 (struct coding_system): Add utf_8_bom in `spec' union.
4758
4759 * coding.c (CODING_UTF_8_BOM): New macro.
4760 (enum coding_category): Delete coding_category_utf_8, add
4761 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4762 coding_category_utf_8_sig.
4763 (CATEGORY_MASK_UTF_8): Delete it.
4764 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4765 (CATEGORY_MASK_UTF_8_SIG): New macros.
4766 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4767 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4768 CATEGORY_MASK_UTF_8_SIG.
4769 (CATEGORY_MASK_UTF_8): New macro.
4770 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4771 (detect_coding_utf_8): Check BOM.
4772 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4773 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4774 (encode_coding_utf_16): Likewise.
4775 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4776 (detect_coding, detect_coding_system): Handle utf-8-auto.
4777 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4778 (syms_of_coding): Fix setting up of Vcoding_category_table.
4779
47802008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4781
4782 * process.c (Faccept_process_output): If `millisec' is non-nil,
4783 `seconds' default to 0.
4784 (wait_reading_process_output): Also return non-nil if we read output
4785 from a non-running process.
4786
47872008-05-29 Jason Rumney <jasonr@gnu.org>
4788
4789 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4790 `raster' specified.
4791 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4792 in the uniscribe backend, but disallow any font that has no
4793 unicode subrange support.
4794
47952008-05-29 Juanma Barranquero <lekktu@gmail.com>
4796
4797 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4798 Fix typos in docstrings.
4799
48002008-05-29 Kenichi Handa <handa@m17n.org>
4801
4802 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4803 (Fx_family_fonts): Set frame correctly.
4804
48052008-05-28 Jason Rumney <jasonr@gnu.org>
4806
4807 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4808
48092008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4810
4811 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4812 calling build_annotations.
4813
48142008-05-28 Juanma Barranquero <lekktu@gmail.com>
4815
4816 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4817 (Fencode_coding_string):
4818 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4819 <latin-extra-code-table>: Fix typos in docstrings.
4820 (syms_of_coding) <coding-system-alist>: Doc fix.
4821 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4822
48232008-05-28 Kenichi Handa <handa@m17n.org>
4824
4825 * fontset.c (Ffont_info): Don't call font_close_object.
4826
4827 * font.c (font_parse_family_registry): Use Ffont_put to validate
4828 foundry and family.
4829 (font_delete_unmatched): Don't check spacing.
4830 (font_list_entities): Add spacing to the spec to list fonts.
4831
4832 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4833 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4834
4835 * coding.c (encode_coding_raw_text): Fix previous change.
4836 (encode_coding_object): When the dst_object is a buffer and is
4837 different from src_object, move gap to PT.
4838
48392008-05-27 Chong Yidong <cyd@stupidchicken.com>
4840
4841 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4842
48432008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4844
4845 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4846 all branches. Compute it differently.
4847
4848 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4849
48502008-05-27 Juanma Barranquero <lekktu@gmail.com>
4851
4852 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4853 into "else if () ... else ...".
4854
48552008-05-27 Jason Rumney <jasonr@gnu.org>
4856
4857 * w32font.c (w32font_open_internal): Determine if glyph indices
4858 are likely to work here.
4859
48602008-05-27 Chong Yidong <cyd@stupidchicken.com>
4861
4862 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4863 draw overlap glyphs with appropriate highlighting.
4864
48652008-05-27 Kenichi Handa <handa@m17n.org>
4866
4867 * xfont.c (xfont_open): Fix calculation of font->average_width.
4868
48692008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4870
4871 * casefiddle.c (casify_object): Try to guess better whether the
4872 argument is a byte or a char.
4873
48742008-05-26 Andreas Schwab <schwab@suse.de>
4875
4876 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4877 Always send multiples of format size.
4878
4879 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4880
48812008-05-26 Jason Rumney <jasonr@gnu.org>
4882
4883 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4884 (compute_metrics): Don't set failure if we just cleared the cache.
4885 (w32_weight_table): Remove unused variable.
4886 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4887 backwards compatibility.
4888
48892008-05-25 Kenichi Handa <handa@m17n.org>
4890
4891 * w32term.c (x_draw_glyph_string):
4892 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4893
4894 * xfaces.c: Delete unused function prototypes.
4895 (xstrlwr, font_frame): Delete them.
4896 (clear_face_cache): Delete unused variable.
4897
4898 * xftfont.c (xftfont_open): Delete unused variable.
4899 If underline_thickness is not 1, adjust underline_position.
4900
4901 * ftxfont.c (ftxfont_open): Delete unused variable.
4902
4903 * fontset.c (face_for_char): Optimize for the case of no charset
4904 property.
4905
4906 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4907 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4908 (otf_open, font_otf_capability, generate_otf_features)
4909 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4910 Comment out by surrounding "#if 0" and "#endif" for the moment.
4911 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4912 (syms_of_font): Codes for accessing above commented out.
4913
49142008-05-24 Eli Zaretskii <eliz@gnu.org>
4915
4916 * w32proc.c: Include dispextern.h.
4917
4918 * w32.c: Include dispextern.h.
4919
49202008-05-23 Juanma Barranquero <lekktu@gmail.com>
4921
4922 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4923 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4924 Fix typos in docstrings.
4925
49262008-05-23 Jason Rumney <jasonr@gnu.org>
4927
4928 * xsmfns.c: Remove includes that are already included by config.h.
4929
49302008-05-23 Kenichi Handa <handa@m17n.org>
4931
4932 * charset.c (Qemacs, charset_emacs): New variables.
4933 (char_charset): Fix for non-Unicode characters.
4934 (syms_of_charset): Define charset_emacs.
4935
4936 * w32term.c (x_draw_glyph_string): Be sure to update
4937 s->underline_thickness and s->underline_position. Be sure to draw
4938 underline within the current line area.
4939
4940 * xterm.c (x_draw_glyph_string): Be sure to update
4941 s->underline_thickness and s->underline_position. Be sure to draw
4942 underline within the current line area.
4943
4944 * fontset.c: Delete unused variables and add casting for char *
4945 throughout the file.
4946 (fontset_font): Try the fallback fonts of the current fontset
4947 before consulting the default fontset.
4948
4949 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4950
4951 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4952
49532008-05-22 Jason Rumney <jasonr@gnu.org>
4954
4955 * font.c: Don't include strings.h.
4956
4957 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4958
4959 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4960 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4961 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4962 to call xstrcasecmp.
4963
4964 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4965
4966 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4967
4968 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4969
4970 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4971
49722008-05-22 Kenichi Handa <handa@m17n.org>
4973
4974 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4975
4976 * font.c (font_prop_validate_style): Adjust for the format
4977 change of font_style_table.
4978
4979 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4980 two args.
4981
4982 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4983 two args.
4984
49852008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4986
4987 * minibuf.c (keys_of_minibuf): Delete.
4988 * lisp.h (keys_of_minibuf): Delete.
4989 * emacs.c (main): Don't call keys_of_minibuf.
4990
49912008-05-22 Kenichi Handa <handa@m17n.org>
4992
4993 * ftfont.c (ftfont_resolve_generic_family): Rename from
4994 ftfont_list_generic_family. Return a single family for each
4995 generic family.
4996 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4997 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4998 Call font_add_log.
4999 (ftfont_match): Call font_add_log.
5000
5001 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5002 (FONT_DEBUG): Define it.
5003 (font_add_log): Extern it.
5004 (font_assert): Rename from xassert.
5005
5006 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5007 (xfont_list_family): Call font_add_log.
5008 (xfont_match): Likewise.
5009 (memq_no_quit): Delete.
5010
5011 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5012 call of Ffont_xlfd_name.
5013
5014 * xfaces.c (struct table_entry, slant_table, weight_table)
5015 (swidth_table): Move to font.c.
5016
5017 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5018 xassert are changed to font_assert. Delete many unused variables.
5019 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5020 New variables.
5021 (struct table_entry): Move from xfaces.c and modified.
5022 (weight_table, slant_table, width_table): Move from xfaces.c and
5023 contents adjusted for the change of struct table_entry.
5024 (font_style_to_value, font_style_symbolic): Adjust for the
5025 format change of font_style_table.
5026 (font_parse_family_registry): Don't overwrite existing foundry and
5027 family of font_spec.
5028 (font_score): Fix calculation of diff for sizes.
5029 (font_sort_entites): Call font_add_log.
5030 (font_delete_unmatched): Return a newly created list.
5031 (font_list_entities): Fix previous change. Call font_add_log.
5032 (font_matching_entity, font_open_entity, font_close_entity):
5033 Call font_add_log.
5034 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5035 (Finternal_set_font_style_table): Delete.
5036 (BUILD_STYLE_TABLE): New macro.
5037 (build_style_table): New function.
5038 (Vfont_log, font_log_env_checked): New variables.
5039 (font_add_log): New function.
5040 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5041 Declare Lisp variables "font-weight-table", "font-slant-table",
5042 "font-width-table", and "font-log". Initialize font_style_table.
5043
50442008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5045
5046 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5047
50482008-05-21 Seiji Zenitani <zenitani@mac.com>
5049 Ryo Yoshitake <ryo@shiftmode.net>
5050
5051 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5052 (Vframe_alpha_lower_limit): New variable.
5053 (x_set_alpha): New function.
5054
5055 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5056
5057 * xfns.c (x-create-frame, Qalpha):
5058 Initialize the frame parameter `alpha'.
5059 * xterm.c (OPAQUE, OPACITY): New.
5060 (x_set_frame_alpha): New function.
5061 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5062
5063 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5064 * w32fns.c (w32_frame_parm_handlers): Likewise.
5065
50662008-05-20 Jason Rumney <jasonr@gnu.org>
5067
5068 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5069 truetype fonts to opentype list.
5070
50712008-05-20 Juanma Barranquero <lekktu@gmail.com>
5072
5073 * fontset.c (Ffontset_info): Doc fix.
5074 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5075 <ignore-relative-composition>: Fix typos in docstrings.
5076
5077 * font.c (syms-of-font) <font-encoding-alist>:
5078 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5079 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5080 (Ffont_otf_alternates): Doc fixes.
5081
50822008-05-20 Kenichi Handa <handa@m17n.org>
5083
5084 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5085 font.h through out the file.
5086 (FONT_DRIVERS): Rename from FONTOBJ.
5087 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5088 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5089
5090 * emacs.c (main): Call syms_of_font unconditionally.
5091
5092 * font.h (find_font_encoding): Extern it.
5093
5094 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5095 fontset.c.
5096 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5097 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5098 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5099 only when HAVE_WINDOW_SYSTEM is defined.
5100 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5101 when HAVE_WINDOW_SYSTEM is defined.
5102
5103 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5104 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5105
5106 * xfaces.c: Include font.h unconditionally.
5107 (merge_face_ref, merge_face_vectors)
5108 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5109
51102008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5111
5112 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5113 indirect_variable.
5114 * eval.c (lisp_indirect_variable): New fun.
5115 (Fuser_variable_p): Use it.
5116
51172008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5118
5119 * lisp.h (indirect_variable):
5120 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5121 Use Lisp_Symbol pointers rather than Lisp_Object.
5122 Adjust callers.
5123 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5124 To this end, change calling-convention.
5125
5126 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5127 if some non-hidden buffers are selected by string&pred.
5128
51292008-05-19 Chong Yidong <cyd@stupidchicken.com>
5130
5131 * process.c (wait_reading_process_output): Always check status
5132 when in batch mode.
5133
51342008-05-19 Kenichi Handa <handa@m17n.org>
5135
5136 * font.c (font_list_entities): Fix handling of cache.
5137 (font_matching_entity): Likewise.
5138
5139 * ftfont.c (cs_iso8859_1): Delete.
5140 (ft_face_cache): New variable.
5141 (struct ftfont_info): New member fc_charset_idx.
5142 (ftfont_build_basic_charsets): Delete.
5143 (fc_charset_table): New variable.
5144 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5145 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5146 Callers changed.
5147 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5148 (ftfont_spec_pattern): New argument fc_charset_idx.
5149 Check registry more rigidly. Change callers.
5150 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5151 change of :font-entity property of the font.
5152
5153 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5154 property of the font.
5155
51562008-05-18 Juanma Barranquero <lekktu@gmail.com>
5157
5158 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5159 (Funencodable_char_position, Fcheck_coding_systems_region)
5160 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5161 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5162 (Ffind_operation_coding_system, Fset_coding_system_priority)
5163 (Fcoding_system_eol_type): Doc fixes.
5164
51652008-05-17 Glenn Morris <rgm@gnu.org>
5166
5167 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5168
51692008-05-16 Eli Zaretskii <eliz@gnu.org>
5170
5171 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5172 and st_gid.
5173
5174 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5175 HAVE_WINDOW_SYSTEM is not defined.
5176
5177 * xfaces.c (merge_face_ref, merge_face_vectors)
5178 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5179 HAVE_WINDOW_SYSTEM is defined.
5180 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5181
51822008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5183
5184 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5185
51862008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5187
5188 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5189
51902008-05-15 Kenichi Handa <handa@m17n.org>
5191
5192 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5193 preference.
5194
51952008-05-15 Glenn Morris <rgm@gnu.org>
5196
5197 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5198
51992008-05-15 Chong Yidong <cyd@stupidchicken.com>
5200
5201 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5202 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5203
5204 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5205
52062008-05-15 Kenichi Handa <handa@m17n.org>
5207
5208 * ftfont.c (ftfont_list): Downcase family name to check generic
5209 families.
5210
5211 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5212 font-spec for QCfont value.
5213
5214 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5215 buffer. Check the return value of it.
5216
52172008-05-14 Jason Rumney <jasonr@gnu.org>
5218
5219 * w32term.c (w32_get_glyph_overhangs): Remove.
5220 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5221
52222008-05-14 Kenichi Handa <handa@m17n.org>
5223
5224 * font.c (font_prop_validate): Make nil a valid value.
5225 (font_clear_cache): Check if the cached vector of entities is nil
5226 or not.
5227
52282008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5229
5230 * emacs.c (main_thread): Conditionalize on
5231 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5232 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5233
5234 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5235 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5236 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5237
52382008-05-14 Kenichi Handa <handa@m17n.org>
5239
5240 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5241 has no corresponding coding system.
5242
52432008-05-14 Jason Rumney <jasonr@gnu.org>
5244
5245 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5246
5247 * w32font.h (w32font_open_internal): Update declaration.
5248
5249 * w32font.c (w32font_open_internal): Change last argument from
5250 w32font_info struct to font object. Fill in font object from
5251 font_entity. Get Outline metrics if possible. Use them to
5252 calculate underline position and thickness. Use xlfd name as name
5253 property. Don't set codepage.
5254 (w32font_open): Pass font_object to w32font_open_internal. Don't
5255 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5256 (w32font_draw): Use s->font.
5257 (clear_cached_metrics): Don't clear non-existent blocks.
5258
5259 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5260 font was not found.
5261 (x_draw_glyph_string): Use underline position and thickness from font.
5262
5263 * w32uniscribe.c (uniscribe_open): Pass font_object to
5264 w32font_open_internal.
5265
52662008-05-14 Kenichi Handa <handa@m17n.org>
5267
5268 These changes are to delete all legacy font-handling codes, and
5269 make Emacs use only font-backends.
5270
5271 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5272 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5273
5274 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5275
5276 * charset.h (Vcharset_non_preferred_head)
5277 (Vcurrent_iso639_language): Extern them.
5278
5279 * charset.c (Vcharset_non_preferred_head): New variable.
5280 (Vcurrent_iso639_language): New variable.
5281 (syms_of_charset): Declare it as a Lisp variable.
5282 (char_charset): Don't check non preferred charsets. As a last
5283 resort, return charset_unicode.
5284 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5285
5286 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5287 conditionals. Don't check enable_font_backend. Delete all codes
5288 used only when USE_FONT_BACKEND is not defined.
5289
5290 * dispextern.h (struct glyph_string): Change type of `font' to
5291 `struct font *'.
5292 (struct glyph_string): New member underline_position and
5293 underline_thickness.
5294 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5295 (struct face): Change type of `font' to `struct font *'. Remove
5296 members `font_name', `font_info_id'.
5297 (per_char_metric, encode_char): Delete externs.
5298 (calc_pixel_width_or_height): Adjust the prototype.
5299
5300 * emacs.c (enable_font_backend): Delete extern.
5301 (main): Don't set enable_font_backend. Don't check the command
5302 line argument "-disable-font-backend".
5303
5304 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5305 (enum font_property_index): New members FONT_DPI_INDEX,
5306 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5307 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5308 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5309 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5310 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5311 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5312 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5313 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5314 (struct font_spec, struct font_entity): New structs.
5315 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5316 (struct font): Many members from old "struct font_info" moved to
5317 here. Members font and entity deleted.
5318 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5319 the new font-related objects.
5320 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5321 (CHECK_FONT_GET_OBJECT): Likewise.
5322 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5323 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5324 (struct font_driver): New members case_sensitive anc check. Type
5325 of the member list and open changed.
5326 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5327 (font_symbolic_width, font_find_object, font_get_spec)
5328 (font_set_lface_from_name): Delete extern.
5329 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5330
5331 * font.c: Include <strings.h>.
5332 (enable_font_backend): Delete it.
5333 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5334 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5335 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5336 (null_string): Delete it.
5337 (null_vector): Make it static.
5338 (font_family_alist): Delete it.
5339 (Qnormal): Extern it.
5340 (QCextra, QClanguage): Delete it.
5341 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5342 (font_make_spec, font_make_entity, font_make_object)
5343 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5344 the string. Callers changed.
5345 (font_pixel_size): Adjusted for the format change of font-related
5346 objects.
5347 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5348 (font_style_to_value, font_style_symbolic): New function.
5349 (build_font_family_alist): Delete it.
5350 (font_registry_charsets): Use Fassoc_string instead of
5351 assq_no_quit.
5352 (font_prop_validate_symbol): Don't return null_string.
5353 (font_prop_validate_style): Adjusted for the change of
5354 style-related values in a font vector.
5355 (font_property_table): Delete entries for QClanguage and
5356 QCantialias, add entries for QCavgwidth.
5357 (get_font_prop_index): Delete the 2nd argument FROM.
5358 (font_prop_validate): Arguments changed.
5359 (font_put_extra): Adjusted for the change of font-related objects.
5360 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5361 (font_parse_fcname, font_unparse_fcname)
5362 (font_prepare_composition): Likewise.
5363 (font_parse_family_registry): Renamed from font_merge_old_spec.
5364 (otf_open): Delete the 1st arg entity.
5365 (font_otf_capability): Adjusted for the above change.
5366 (font_score): New arg alternate_families. Adjusted for the change
5367 of font-related objects.
5368 (font_sort_entites): New arg best_only.
5369 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5370 Delete them.
5371 (font_match_p): Check alternate families.
5372 (font_find_object): Delete it.
5373 (font_check_object): New function.
5374 (font_clear_cache): Adjusted for the change of font-related objects.
5375 (font_delete_unmatched): New arg.
5376 (font_list_entities): Call font_driver->list with a spec that
5377 doesn't specify style-related properties.
5378 (font_matching_entity): Arguments changed. Caller changed.
5379 (font_open_entity): Adjusted for the change of font-related objects.
5380 (font_close_object, font_has_char, font_encode_char)
5381 (font_get_name, font_get_spec): Likewise.
5382 (font_spec_from_name, font_clear_prop, font_update_lface):
5383 New functions.
5384 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5385 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5386 (font_at): Adjusted for the change of font-related objects.
5387 (font_range): New function.
5388 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5389 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5390 (Fcopy_font_spec, Fmerge_font_spec): New function.
5391 (Ffont_family_list): Renamed from list-families.
5392 (Finternal_set_font_style_table): Arguments changed.
5393 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5394 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5395 change of font-related objects.
5396 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5397
5398 * fontset.h (struct font_info): Delete it. Most members go to
5399 struct font.
5400 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5401 (enum FONT_SPEC_INDEX): Delete it.
5402 (font_info, list_fonts_func, load_font_func, query_font_func)
5403 (set_frame_fontset_func, find_ccl_program_func)
5404 (get_font_repertory_func, new_fontset_from_font_name): Delete
5405 externs.
5406 (fontset_from_font_name): Extern it.
5407 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5408 (FONT_INFO_FROM_FACE): Deleted.
5409 (face_for_font): Adjust prototype.
5410
5411 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5412 conditionals. Don't check enable_font_backend. Delete all codes
5413 used only when USE_FONT_BACKEND is not defined.
5414 (get_font_info_func, list_font_func, load_font_func)
5415 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5416 (get_font_repertory_func): Delete them.
5417 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5418 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5419 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5420 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5421 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5422 (fontset_compare_rfontdef): New function.
5423 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5424 rfont-defs by qsort. Adjusted for the change of font-group vector.
5425 (load_font_get_repertory): Deleted.
5426 (fontset_find_font): Use new macros to ref/set elements of
5427 font-def and rfont-def.
5428 (fontset_font): Fix the timing of remembering that no font for C.
5429 (free_face_fontset): Do nothing if the face has no fontset.
5430 (face_suitable_for_char_p): Use new macros to ref/set elements of
5431 rfont-def.
5432 (face_for_char): Likewise. Call face_for_char with font_object.
5433 (fs_load_font): Delete. Delete #pragma surrounding it.
5434 (fs_query_fontset): Use strcasecmp instead of strcmp.
5435 (generate_ascii_font_name): Adjusted for the format change of
5436 font-spec.
5437 (Fset_fontset_font): Likewise. Use new macros to set elements of
5438 font-def.
5439 (Fnew_fontset): Use font_unparse_xlfd to generate
5440 FONTSET_ASCII (fontset).
5441 (new_fontset_from_font_name): Deleted.
5442 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5443 a fontset is already created for the font. FIx updating of
5444 Vfontset_alias_alist.
5445 (fontset_ascii_font): Deleted.
5446 (Ffont_info): Adjusted for the format change of font-spec.
5447 (Finternal_char_font): Likewise.
5448 (Ffontset_info): Likewise.
5449 (syms_of_fontset): Don't check load_font_func.
5450
5451 * fns.c (internal_equal): Handle PREV_FONT.
5452
5453 * frame.h: Delete USE_FONT_BACKEND conditional.
5454
5455 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5456 conditionals. Don't check enable_font_backend. Delete all codes
5457 used only when USE_FONT_BACKEND is not defined.
5458 (x_set_font): Call x_new_font, not x_new_fontset2.
5459 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5460 already set for the frame.
5461
5462 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5463 a font-entity by font_make_entity. Use font_intern_prop instead
5464 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5465 font property. If a font is scalable, set avgwidth property to 0.
5466 Set font-entity property by font_put_extra.
5467 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5468 (ffont_driver): Adjusted for the change of struct font_driver.
5469 (ftfont_spec_pattern): New function.
5470 (ftfont_list): Return a list, not vector.
5471 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5472 (ftfont_list_family): Don't downcase names.
5473 (ftfont_free_entity): Deleted.
5474 (ftfont_open): Return a font-object. Adjusted for the change of
5475 struct font. Get underline_thickness and underline_position from
5476 font property. Don't update dpyinfo->smallest_font_height and
5477 dpyinfo->smallest_char_width.
5478 (ftfont_close): Don't free `struct font'.
5479 (ftfont_has_char): Adjusted for the format change of font-entity.
5480 (ftfont_encode_char, ftfont_text_extents): Likewise.
5481
5482 * ftxfont.c (ftxfont_list): Return a list, not vector.
5483 (ftxfont_open): Return a font-object. Adjusted for the change of
5484 struct font. Get underline_thickness and underline_position from
5485 font property. Don't update dpyinfo->smallest_font_height and
5486 dpyinfo->smallest_char_width.
5487 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5488 (ftxfont_draw): Adjusted for the change of struct font.
5489
5490 * image.c (image_ascent): Don't include "charset.h". Include
5491 "character.h" and "font.h".
5492
5493 * lisp.h (enum pvec_type): New member PREV_FONT.
5494 (Fassoc_string): EXFUN it.
5495
5496 * print.c: Include font.h.
5497 (print_object): Handle font-related objects.
5498
5499 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5500 conditionals. Don't check enable_font_backend. Delete all codes
5501 used only when USE_FONT_BACKEND is not defined.
5502 (handle_auto_composed_prop): Do nothing if it->f is not on a
5503 window system. Check how many following characters can be
5504 displayed by the same font.
5505 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5506 'struct font *'.
5507 (get_char_face_and_encoding): Assign the whole encoding task to
5508 the `encode-char' method of a font driver.
5509 (fill_composite_glyph_string): Adjusted for the change of `struct
5510 face' and `struct glyph_string'.
5511 (fill_glyph_string): Likewise.
5512 (get_per_char_metric): Arguments changed.
5513 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5514 and `struct glyph_string'.
5515 (produce_stretch_glyph, calc_line_height_property)
5516 (x_produce_glyphs): Likewise.
5517
5518 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5519 conditionals. Don't check enable_font_backend. Delete all codes
5520 used only when USE_FONT_BACKEND is not defined. Use
5521 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5522 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5523 (Qp): Extern them.
5524 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5525 Deleted.
5526 (struct font_name): Deleted.
5527 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5528 (compare_fonts_by_sort_order): New function.
5529 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5530 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5531 Deleted.
5532 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5533 compare_fonts_by_sort_order.
5534 (Fx_font_family_list): Call Ffont_family_list.
5535 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5536 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5537 (face_symbolic_slant, face_symbolic_swidth)
5538 (split_font_name_into_vector, build_font_name_from_vector)
5539 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5540 (font_rescale_ratio, split_font_name, build_font_name)
5541 (free_font_names, sort_fonts, x_face_list_fonts)
5542 (face_font_available_p, sorted_font_list, cmp_font_names)
5543 (font_list_1, concat_font_list, font_list, remove_duplicates):
5544 Deleted.
5545 (Fx_list_fonts): Use Ffont_list.
5546 (LFACE_AVGWIDTH): Deleted.
5547 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5548 by FONTP.
5549 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5550 (set_lface_from_font_name): Delete it.
5551 (set_lface_from_font): Renamed from
5552 set_lface_from_font_and_fontset. Caller changed. Don't set
5553 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5554 for face.
5555 (merge_face_vectors): Copy font-spec if necessary.
5556 Clear properties of the font-spec if necessary.
5557 (merge_face_ref): Clear properties of the font-spec if necessary.
5558 (Finternal_set_lisp_face_attribute): Likewise.
5559 (set_font_frame_param): Use font_load_for_lface to load a
5560 font-object, and call Fmodify_frame_parameters with it.
5561 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5562 font name by Ffont_xlfd_name.
5563 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5564 QCslant, and QCwidth.
5565 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5566 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5567 Compare fonts by EQ.
5568 (lookup_non_ascii_face): Deleted.
5569 (face_for_font): The 2nd argument changed.
5570 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5571 Check atomic font properties by case insensitive.
5572 (realize_non_ascii_face): Set face->overstrike correctly.
5573 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5574 (dump_realized_face): Get font name from
5575 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5576
5577 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5578 conditionals. Don't check enable_font_backend. Delete all codes
5579 used only when USE_FONT_BACKEND is not defined.
5580 (xic_create_xfontset): Original code deleted and renamed from
5581 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5582 (x_make_gc): Don't set GCFont in GCs.
5583 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5584 opened by "fixed".
5585 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5586 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5587 get_font_repertory_func.
5588
5589 * xfont.c: Include <stdlib.h> and "ccl.h".
5590 (struct xfont_info): New structure.
5591 (xfont_query_font): Deleted.
5592 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5593 moved from xterm.c.
5594 (xfont_driver): Adjusted for the change of struct font_driver.
5595 (compare_font_names): New function.
5596 (xfont_list_pattern): Sort font names case insensitively. Make
5597 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5598 (xfont_list): Return a list, not vector.
5599 (xfont_match): If the font doesn't have QCname property, generate
5600 a name from the other font properties.
5601 (xfont_open): Return a font-object. Adjusted for the change of
5602 struct font. Get underline_thickness and underline_position from
5603 font property. Don't update dpyinfo->smallest_font_height and
5604 dpyinfo->smallest_char_width.
5605 (xfont_close): Don't free struct font.
5606 (xfont_prepare_face): Adjusted for the change of struct font.
5607 (xfont_done_face): Deleted.
5608 (xfont_has_char): Adjusted for the change of struct font.
5609 (xfont_encode_char, xfont_draw): Likewise.
5610 (xfont_check): New function.
5611
5612 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5613 callback function.
5614 (xftfont_match): Adjusted for the format change of font-entity.
5615 (xftfont_open): Adjusted for the format change of font-entity and
5616 font-object. Adjusted for the change of struct font. Return a
5617 font-object. Don't update dpyinfo->smallest_font_height and
5618 dpyinfo->smallest_char_width.
5619 (xftfont_close): Block input while calling XftFontClose.
5620 (xftfont_prepare_face): Don't block input while calling
5621 xftfont_get_colors. Adjusted for the change of struct font.
5622 (xftfont_shape): Return value of error case fixed.
5623
5624 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5625
5626 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5627 conditionals.
5628 (FONT_WIDTH): Return (f)->max_width.
5629 (struct x_display_info): Delete member `font'.
5630 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5631 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5632 (struct x_output): Change type of `font' to `struct font *'.
5633
5634 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5635 conditionals. Don't check enable_font_backend. Delete all codes
5636 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5637 (x_per_char_metric, x_encode_char): Deleted.
5638 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5639 (x_compute_glyph_string_overhangs): Adjusted for the change of
5640 `struct face'.
5641 (x_draw_glyph_string_foreground)
5642 (x_draw_composite_glyph_string_foreground): Likewise.
5643 (x_draw_glyph_string): Likewise. Use font->underline_position and
5644 font->underline_thickness.
5645 (x_new_font): Renamed from x_new_fontset2.
5646 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5647 (x_check_font): Call `check' method of a font driver.
5648 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5649 (x_query_font, x_get_font_repertory): Deleted.
5650 (x_find_ccl_program): Renamed and moved to xfont.c.
5651 (x_redisplay_interface): Adjusted for the change of `struct
5652 redisplay_interface'.
5653
5654 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5655 conditionals. Don't check enable_font_backend. Delete all codes
5656 used only when USE_FONT_BACKEND is not defined. Surround non-used
5657 code by "#ifdef OLD_FONT" and "endif".
5658 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5659
5660 * w32font.h (struct w32font_info): New member.
5661 (FONT_COMPAT): New macro.
5662 (w32font_open_internal): Prototype adjusted.
5663
5664 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5665 OLD_FONT" and "endif".
5666
5667 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5668 conditionals. Don't check enable_font_backend. Delete all codes
5669 used only when USE_FONT_BACKEND is not defined.
5670 (w32font_open): Return a font-object. Make a font-object by
5671 font_make_object. Adjusted for the change of struct w32font_info.
5672 (w32font_close): Don't free struct font. Adjusted for the change
5673 of struct w32font_info.
5674 (w32font_encode_char, w32font_text_extents, w32font_draw):
5675 Adjusted for the change of struct w32font_info.
5676 (w32font_draw): Likewise.
5677 (w32font_list_internal): Return a list, not vector.
5678 (w32font_open_internal): Change the 4th arg to font-object.
5679 Adjusted for the change of struct w32font_info and font-object format.
5680 (add_font_name_to_list): Don't downcase names.
5681 (w32_enumfont_pattern_entity): Make a font-entity by
5682 font_make_entity. Adjusted for the format change of font-entity.
5683 Use FONT_SET_STYLE to set a style-related font property. If a
5684 font is scalable, set avgwidth property to 0. Set font-entity
5685 property by font_put_extra.
5686 (font_matches_spec): Adjusted for the format change of font-entity.
5687 (w32_weight_table, w32_decode_weight): New variables.
5688 (w32_encode_weight): New function.
5689 (fill_in_logfont): Adjusted for the format change of font-spec.
5690 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5691 weight value.
5692 (w32font_driver): Adjusted for the change of struct font_driver.
5693
5694 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5695 conditionals. Don't check enable_font_backend. Surround non-used
5696 code by "#ifdef OLD_FONT" and "endif".
5697 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5698 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5699
5700 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5701 conditionals. Don't check enable_font_backend. Delete all codes
5702 used only when USE_FONT_BACKEND is not defined. Surround non-used
5703 code by "#ifdef OLD_FONT" and "endif".
5704
5705 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5706 (uniscribe_open): Return value changed to font-object.
5707 Adjusted for the format change of font-object.
5708 (uniscribe_otf_capability): Adjusted for the change of struct font.
5709 (add_opentype_font_name_to_list): Don't downcase names.
5710 (uniscribe_font_driver): Adjusted for the change of struct
5711 font_driver.
5712
57132008-05-13 Chong Yidong <cyd@stupidchicken.com>
5714
5715 * dispnew.c (update_frame_1): Check if tty output is still valid
5716 before flushing it.
5717
57182008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5719
5720 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5721 to Gtk+ menus.
5722
57232008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5724
5725 * dired.c (file_name_completion): Tweak the code so as to always do it
5726 in a single pass. Tighten the scope of some variables.
5727
5728 * dired.c (Qdefault_directory): New var.
5729 (file_name_completion): Use it instead of Fexpand_file_name.
5730 (syms_of_dired): Initialize it.
5731
57322008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5733
5734 * fileio.c (double_dollars): Remove dead code.
5735
57362008-05-10 Eli Zaretskii <eliz@gnu.org>
5737
5738 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5739 Mention w32-get-true-file-attributes in doc string.
5740
5741 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5742
57432008-05-09 Glenn Morris <rgm@gnu.org>
5744
5745 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5746 2008-04-23.
5747
57482008-05-09 Eli Zaretskii <eliz@gnu.org>
5749
5750 Support for reporting owner and group of each file on MS-Windows:
5751 * dired.c (stat_uname, stat_gname): New functions, with special
5752 implementation for w32.
5753 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5754
5755 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5756 (dflt_group_name): New static variable.
5757 (dflt_group): Rename from the_group.
5758 (init_user_info): Init dflt_group fields. Get user's group name
5759 from LookupAccountSid.
5760 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5761 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5762 New initialization states.
5763 (globals_of_w32): Initialize them to zero. Initialize the default
5764 group name to "None".
5765 (GetFileSecurity_Name): New global var, the name of the function
5766 to call for GetFileSecurity.
5767 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5768 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5769 (get_file_security, get_security_descriptor_owner)
5770 (get_security_descriptor_group, is_valid_sid)
5771 (get_file_security_desc, get_rid, get_name_and_id)
5772 (get_file_owner_and_group): New functions.
5773 (stat): Use get_file_security_desc and get_file_owner_and_group to
5774 report the owner and primary group of each file. Don't ignore the
5775 high 32 bits of file's size, now that st_size is 64-bit wide.
5776 Fix test when to get true file attributes.
5777 (init_user_info): Use get_rid instead of equivalent inline code.
5778 (fstat): Don't ignore the high 32 bits of file's size.
5779
57802008-05-09 Chong Yidong <cyd@stupidchicken.com>
5781
5782 * image.c (png_load): Use correct bit-depth for setting background
5783 color.
5784
57852008-05-08 Eli Zaretskii <eliz@gnu.org>
5786
5787 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5788 epa-hook.elc.
5789
57902008-05-08 Juanma Barranquero <lekktu@gmail.com>
5791
5792 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5793
57942008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5795
5796 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5797 because the original parameters are in pure storage now.
5798 (mac_window): Remove unused params. Update callers.
5799
58002008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5801
5802 * lread.c (substitute_object_recurse): Use lower-level primitives.
5803 Don't signal errors when traversing sub-char-tables.
5804 Don't loop over all the possible characters when traversing char-tables.
5805
5806 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5807 just like we do in print.c.
5808
58092008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5810
5811 * minibuf.c (Ftry_completion): Remove code left over from when we used
5812 scmp instead of Fcompare_strings.
5813
58142008-05-04 Juanma Barranquero <lekktu@gmail.com>
5815
5816 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5817
58182008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5819
5820 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5821 Create bitmap context in native byte order.
5822
5823 * macterm.c (XDrawLine)
5824 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5825 context in native byte order.
5826
58272008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5828
5829 * config.in: Regenerate.
5830
5831 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5832 New definitions for Image I/O support.
5833 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5834 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5835 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5836 (mac_data_provider_release_data, image_load_image_io)
5837 [USE_MAC_IMAGE_IO]: New functions.
5838 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5839 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5840 (init_image_func_pointer) [MAC_OSX]: Remove function.
5841 (image_load_quartz2d) [MAC_OSX]: Check availability of
5842 CGImageCreateWithPNGDataProvider at compile time.
5843 Use lowercase `false' for boolean constant.
5844 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5845 Use image_load_image_io.
5846 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5847 Don't check MyCGImageCreateWithPNGDataProvider.
5848 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5849 Don't call init_image_func_pointer.
5850
5851 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5852
5853 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5854 Make variable non-static.
5855 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5856 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5857
5858 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5859 (RED_FROM_ULONG): Mask off higher bits.
5860 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5861
5862 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5863 Include AvailabilityMacros.h.
5864 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5865 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5866
58672008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5868
5869 * chartab.c (Fset_char_table_range): If range is t, really set all
5870 chars to that value.
5871
58722008-05-03 Eli Zaretskii <eliz@gnu.org>
5873
5874 * dired.c (Ffile_attributes): Don't allow the device number become
5875 negative.
5876
58772008-05-02 Daiki Ueno <ueno@unixuser.org>
5878
5879 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5880
58812008-05-02 Juri Linkov <juri@jurta.org>
5882
5883 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5884 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5885 DEFAULT argument as a list of default values in docstrings.
5886
58872008-05-01 Chong Yidong <cyd@stupidchicken.com>
5888
5889 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5890
58912008-05-01 Martin Rudalics <rudalics@gmx.at>
5892
5893 * dispnew.c (change_frame_size_1): Preserve small windows when
5894 shrinking frames by calling set_window_height|width with third
5895 arg 2.
5896
5897 * window.h (struct window): Replace field too_small_ok by field
5898 resize_proportionally.
5899
5900 * window.c (make_window): Initialize resize_proportionally.
5901 (enlarge_window): Temporarily set resize_proportionally to make
5902 sure that shrink_windows does scale the window proportionally.
5903 (shrink_windows): When window has resize_proportionally set try
5904 to shrink it proportionally by stealing from other windows.
5905 (struct saved_window, Fset_window_configuration)
5906 (compare_window_configurations): Handle resize_proportionally.
5907 (WINDOW_TOTAL_SIZE): New macro.
5908 (window_min_size, shrink_windows, size_window): Use it.
5909 (check_min_window_sizes): Remove. Invalid values of
5910 window-min-height|width are handled by window_min_size_2 now.
5911 (size_window, Fsplit_window, enlarge_window)
5912 (adjust_window_trailing_edge, grow_mini_window): Don't call
5913 check_min_window_sizes.
5914 (window_min_size_2, window_min_size_1, window_min_size):
5915 New argument safe_p for retrieving "safe" minimum sizes.
5916 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5917 (adjust_window_trailing_edge, grow_mini_window):
5918 Adjust arguments of window_min_size... functions.
5919 (shrink_windows): Argument min_size removed. New argument
5920 safe_p allows shrinking windows to their safe minimum sizes.
5921 Calculate minimum size and decide whether a window shall be
5922 deleted for each window individually.
5923 (size_window): When nodelete_p equals 2, tell shrink_windows to
5924 delete windows only if their new minimum size is no more safe.
5925 (shrink_window_lowest_first): Call window_min_size_1 to make
5926 sure to preserve modeline of bottom-most window when resizing
5927 the minibuffer.
5928 (Fset_window_configuration, Fcurrent_window_configuration)
5929 (compare_window_configurations): Do not handle
5930 window-min-height|width any more.
5931 (syms_of_window): Clarify window-min-height|width doc-strings.
5932
59332008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5934
5935 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5936 some more. Copy some of the code from Ftry_completions.
5937 Remove special case code that dates back to initial revision when the
5938 slash was only added when necessary and that can't trigger nowadays.
5939
59402008-04-27 Kenichi Handa <handa@m17n.org>
5941
5942 * font.c (font_prop_validate): Signal `error' instead of `font'.
5943
59442008-04-29 Jason Rumney <jasonr@gnu.org>
5945
5946 * w32fns.c (Fw32_battery_status): New defun.
5947 (syms_of_w32fns): Defsubr it.
5948
59492008-04-28 Andreas Schwab <schwab@suse.de>
5950
5951 * dired.c (file_name_completion): Fix another mixing of encoded
5952 and decoded names.
5953
59542008-04-28 Juanma Barranquero <lekktu@gmail.com>
5955
5956 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5957
59582008-04-27 Juanma Barranquero <lekktu@gmail.com>
5959
5960 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5961
59622008-04-27 Andreas Schwab <schwab@suse.de>
5963
5964 * dired.c (file_name_completion): Fix inappropriate mixing of
5965 encoded and decoded names.
5966
5967 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5968
5969 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5970
59712008-04-26 Eli Zaretskii <eliz@gnu.org>
5972
5973 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5974 2008-03-31, it's not needed anymore with `struct stat' definition
5975 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5976 for the same reasons.
5977
59782008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5979
5980 * m/sparc.h: Additional redefinitions for GNU/Linux.
5981
59822008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5983
5984 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5985 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5986 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5987 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5988 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5989 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5990 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5991 Likewise.
5992
5993 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5994 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5995 (mac_ax_number_of_characters): Add externs.
5996 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5997 [USE_MAC_TSM]: Likewise.
5998 (mac_handle_text_input_event) [MAC_OSX]:
5999 Handle kEventTextInputOffsetToPos for no active input area case.
6000 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6001 (mac_handle_document_access_event)
6002 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6003 (install_application_handler) [MAC_OSX]: Register handlers for
6004 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6005 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6006 Register mac_handle_document_access_event.
6007
6008 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6009 Make functions non-static.
6010
60112008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6012
6013 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6014 (read_file_name_completion_ignore_case, insert_default_directory)
6015 (Qdefault_directory): Move to minibuffer.el.
6016 (Fread_file_name): Call the new `read-file-name' instead.
6017
60182008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6019
6020 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6021 Make function non-static.
6022 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6023 Remove function.
6024 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6025 Move to mactoolbox.c.
6026 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6027
6028 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6029 (mac_rect_make): New macro.
6030
6031 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6032 instead of float.
6033 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6034 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6035 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6036 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6037 CGRectMake.
6038 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6039 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6040 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6041 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6042 instead of WindowRef in argument type.
6043 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6044 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6045 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6046 instead of DISPLAY. All uses changed.
6047 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6048 (x_calc_absolute_position): Simplify so as not to use
6049 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6050
6051 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6052 instead of WindowRef in argument type.
6053 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6054 [TARGET_API_MAC_CARBON]: Remove externs.
6055 (create_apple_event, mac_event_parameters_to_lisp)
6056 [TARGET_API_MAC_CARBON]: Add externs.
6057
6058 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6059 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6060 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6061 is clicked.
6062 (x_activate_menubar): Remove extern for saved_menu_event_location.
6063 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6064 Move from mac.c.
6065
60662008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6067
6068 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6069 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6070
60712008-04-23 Jason Rumney <jasonr@gnu.org>
6072
6073 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6074 attributes only for local files.
6075
6076 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6077 default to Qlocal.
6078
60792008-04-22 Juri Linkov <juri@jurta.org>
6080
6081 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6082 read-buffer-to-switch instead of using the letter "B".
6083
60842008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6085
6086 * fileio.c (Qdefault_directory): New variable.
6087 (Fread_file_name): Use it to pass `dir' to the completion functions.
6088
60892008-04-20 Chong Yidong <cyd@stupidchicken.com>
6090
6091 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6092
60932008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6094
6095 * keyboard.c (Vpre_help_message): Remove.
6096 (show_help_echo): Remove default C code.
6097
6098 * dired.c (directory_files_internal, file_name_completion):
6099 Only call ENCODE_FILE if the string is indeed decoded.
6100
61012008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6102
6103 * Makefile.in (TOOLKIT_DEFINES): Remove.
6104 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6105
61062008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6107
6108 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6109 (mactoolbox.o): New target.
6110
6111 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6112 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6113
6114 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6115 Use mac_set_frame_window_background instead of XSetWindowBackground.
6116 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6117 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6118 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6119 instead of SetWindowTitleWithCFString.
6120 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6121 Move function to mactoolbox.c.
6122 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6123 Use mac_set_window_modified instead of SetWindowModified.
6124 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6125 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6126 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6127 FrontNonFloatingWindow. Use mac_activate_window instead of
6128 ActivateWindow. Use mac_active_non_floating_window instead of
6129 ActiveNonFloatingWindow.
6130 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6131 Use mac_show_hourglass and mac_hide_hourglass.
6132 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6133 instead of GetGlobalMouse.
6134 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6135 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6136 Use mac_bring_window_to_front instead of BringToFront.
6137 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6138 mactoolbox.c.
6139 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6140 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6141 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6142 mactoolbox.c.
6143
6144 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6145 (XtPointer): Move typedef from macmenu.c.
6146 (enum button_type): Move enum from macmenu.c.
6147 (widget_value): Move typedef from macmenu.c.
6148 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6149 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6150 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6151 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6152 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6153 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6154 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6155 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6156 (Selection): Move typedef from macselect.c.
6157 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6158 macterm.c.
6159 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6160 (mac_is_window_collapsed, mac_bring_window_to_front)
6161 (mac_send_window_behind, mac_hide_window, mac_show_window)
6162 (mac_collapse_window, mac_front_non_floating_window)
6163 (mac_active_non_floating_window, mac_activate_window)
6164 (mac_move_window_structure, mac_move_window, mac_size_window)
6165 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6166
6167 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6168 (enum mac_menu_kind): Move enum to mactoolbox.c.
6169 (min_menu_id): Move variable to mactoolbox.c.
6170 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6171 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6172 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6173 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6174 [TARGET_API_MAC_CARBON]: Likewise.
6175 (XtPointer): Move typedef to macgui.h.
6176 (enum button_type): Move enum to macgui.h.
6177 (widget_value): Move typedef to macgui.h.
6178 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6179 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6180 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6181 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6182 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6183 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6184 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6185 (popup_activated_flag): Make variable non-static.
6186 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6187 (add_menu_item, fill_menu, dispose_menus):
6188 Move functions to mactoolbox.c.
6189 (restore_show_help_function, menu_target_item_handler)
6190 (install_menu_target_item_handler, mac_handle_dialog_event)
6191 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6192 [TARGET_API_MAC_CARBON]: Likewise.
6193 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6194 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6195 (find_and_call_menu_selection, name_is_separator): Make function
6196 non-static.
6197 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6198 to mactoolbox.c.
6199 (set_frame_menubar): Don't call install_menu_quit_handler.
6200 (menu_item_selection): New variable.
6201 (mac_menu_show): Use create_and_show_popup_menu.
6202 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6203 selection but set variable menu_item_selection. All uses changed.
6204 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6205 Call install_menu_quit_handler. Move to mactoolbox.c.
6206
6207 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6208 (Selection): Move typedef to macgui.h.
6209 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6210 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6211 Make variables non-static.
6212 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6213 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6214 Make functions non-static.
6215 (Vmac_service_selection) [MAC_OSX]: Likewise.
6216 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6217 (mac_valid_selection_target_p, mac_clear_selection)
6218 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6219 (mac_put_selection_value, mac_selection_has_target_p)
6220 (mac_get_selection_value, mac_get_selection_target_list)
6221 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6222 Move functions to mactoolbox.c.
6223 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6224 Likewise.
6225 (copy_scrap_flavor_data, mac_handle_service_event)
6226 (install_service_handler) [MAC_OSX]: Likewise.
6227 (syms_of_macselect) <Vmac_dnd_known_types>:
6228 Use mac_dnd_default_known_types.
6229
6230 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6231 Move to mactoolbox.c.
6232 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6233 (Fx_selection_owner_p): Add EXFUN.
6234 (install_window_handler, remove_window_handler, XSetWindowBackground):
6235 Remove externs.
6236 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6237 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6238 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6239 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6240 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6241 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6242 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6243 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6244 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6245 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6246 (mac_valid_selection_target_p, mac_clear_selection)
6247 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6248 (mac_put_selection_value, mac_selection_has_target_p)
6249 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6250 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6251 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6252 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6253 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6254 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6255 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6256 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6257 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6258
6259 * mactoolbox.c: New file.
6260
62612008-04-18 Jason Rumney <jasonr@gnu.org>
6262
6263 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6264
62652008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6266
6267 * character.c (Fmultibyte_char_to_unibyte):
6268 Return latin1 chars unchanged.
6269
6270 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6271 relocated if it points to `name'.
6272
62732008-04-17 Kenichi Handa <handa@m17n.org>
6274
6275 * data.c (Faset): Allow setting a multibyte character in an
6276 ASCII-only unibyte string.
6277
6278 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6279
62802008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6281
6282 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6283 done in config.h.
6284
62852008-04-16 Juanma Barranquero <lekktu@gmail.com>
6286
6287 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6288 (Fchar_direction): Add usage in the docstring.
6289
62902008-04-15 Chong Yidong <cyd@stupidchicken.com>
6291
6292 * keyboard.c (read_key_sequence): Remove always-true checks.
6293
62942008-04-14 Jason Rumney <jasonr@gnu.org>
6295
6296 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6297 compatibility struct, for better underline positioning.
6298
62992008-04-13 David Hansen <david.hansen@gmx.net>
6300
6301 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6302 string.
6303
63042008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6305
6306 * m/hp800.h (XUINT, XSET): Remove.
6307
63082008-04-12 Juanma Barranquero <lekktu@gmail.com>
6309
6310 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6311 previous change.
6312
63132008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6314
6315 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6316 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6317
63182008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6319
6320 * keymap.h (map_keymap_canonical): Declare.
6321 * xmenu.c (single_keymap_panes): Use it.
6322
63232008-04-11 Glenn Morris <rgm@gnu.org>
6324
6325 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6326 set the target's value to that of the alias.
6327
63282008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6329
6330 * term.c (set_tty_color_mode): Left over typo.
6331
63322008-04-10 Michael Albinus <michael.albinus@gmx.de>
6333
6334 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6335 only after check for file name handler functions. Signal, when
6336 native functionality is not supported.
6337 (syms_of_fileio): Declare it unconditionally.
6338
63392008-04-10 Jason Rumney <jasonr@gnu.org>
6340
6341 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6342 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6343
6344 * w32.c (logon_network_drive): Also logon to remote drives that
6345 are mapped to drive letters.
6346
63472008-04-10 Glenn Morris <rgm@gnu.org>
6348
6349 * xdisp.c (truncate-partial-width-windows): Doc fix.
6350
63512008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6352
6353 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6354 Move functions to minibuffer.el.
6355 (syms_of_fileio): Don't declare them.
6356
63572008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6358
6359 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6360 (syms_of_minibuf): Remove its initialization.
6361
6362 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6363
63642008-04-09 Juanma Barranquero <lekktu@gmail.com>
6365
6366 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6367
63682008-04-09 Jason Rumney <jasonr@gnu.org>
6369
6370 * makefile.w32-in (distclean): Delete makefile too.
6371 (maintainer-clean): New target.
6372
6373 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6374
6375 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6376 for new font backend and composite cases.
6377
63782008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6379
6380 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6381 Most of the code moved to run_timers.
6382 (do_pending_atimers): Call run_timers.
6383 (run_timers): New function.
6384
6385 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6386 run atimers.
6387
6388 * process.c (wait_reading_process_output): The same as above.
6389
63902008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6391
6392 * minibuf.c (last_exact_completion): Remove variable.
6393 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6394 (complete_and_exit_1, complete_and_exit_2)
6395 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6396 (Fdisplay_completion_list, display_completion_list_1)
6397 (Fminibuffer_completion_help, Fself_insert_and_exit)
6398 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6399 minibuffer.el.
6400 (syms_of_minibuf): Remove corresponding initializations.
6401
6402 * keyboard.c (Qdeactivate_mark): New var.
6403 (command_loop_1): Use it to call `deactivate-mark'.
6404 (syms_of_keyboard): Initialize it.
6405
6406 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6407 to another frame.
6408 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6409 Don't call set_tty_color_mode.
6410 (store_frame_param): Reset previous_frame rather than call
6411 set_tty_color_mode.
6412 * term.c (set_tty_color_mode): Rewrite.
6413 * dispextern.h (set_tty_color_mode): New type.
6414 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6415
64162008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6417
6418 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6419 for generic chars, which do not exist any more in emacs-unicode.
6420
64212008-04-08 Michael Albinus <michael.albinus@gmx.de>
6422
6423 * coding.c (detect_coding_emacs_mule)
6424 (Ffind_operation_coding_system): Fix typo.
6425
64262008-04-08 Jason Rumney <jasonr@gnu.org>
6427
6428 * w32uniscribe.c (SNAME): Extract only symbol name.
6429
6430 * w32font.h (struct w32_metric_cache): New struct.
6431 (w32font_info): Use it.
6432 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6433 (CACHE_BLOCKSIZE): New constants.
6434
6435 * w32font.c (Qja, Qko, Qzh): New symbols.
6436 (syms_of_w32font): Initialise them.
6437 (font_matches_spec): Use them to filter by language.
6438 (recompute_cached_metrics): Remove function.
6439 (compute_metrics, clear_cached_metrics): New functions.
6440 (w32font_encode_char): Use them to manage metric cache.
6441 (w32font_text_extents): Cache metrics for all glyphs on demand.
6442 Delay converting glyph indices to WORD until needed.
6443 (w32font_open_internal): Initialize metric cache to empty.
6444 (registry_to_w32_charset): Charset should always be a symbol.
6445 (fill_in_logfont, list_all_matching_fonts): Family should
6446 always be a symbol.
6447
64482008-04-06 Jason Rumney <jasonr@gnu.org>
6449
6450 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6451 Give up if glyph indices not supported. Use uniscribe obtained
6452 ABC widths for individual metrics. Map glyph clusters back to
6453 characters using fClusterStart flag. Return number of glyphs
6454 produced, not chars processed.
6455 (uniscribe_shape): Map char at FROM to current glyph.
6456
64572008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6458
6459 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6460 Use SetMenuItemHierarchicalMenu.
6461
64622008-04-05 Jason Rumney <jasonr@gnu.org>
6463
6464 * image.c (pbm_load): Allow color values up to 65535.
6465 Throw an error if max_color_idx is outside the supported range.
6466 Report an error when image size is invalid.
6467 Read two bytes at a time when raw images have max_color_idx above 255.
6468
64692008-04-05 Eli Zaretskii <eliz@gnu.org>
6470
6471 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6472 cFileName a file name that includes `?' characters, use the 8+3
6473 alias in cAlternateFileName instead.
6474
64752008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6476
6477 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6478 append "CCL: Quitted" when the CCL program is quitted.
6479 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6480
6481 * ccl.h (struct ccl_program): New member quit_silently.
6482
64832008-04-05 Chong Yidong <cyd@stupidchicken.com>
6484
6485 * search.c (compile_pattern_1): Treat non-nil and non-string of
6486 search-spaces-regexp as nil.
6487
6488 * minibuf.c (Fassoc_string): Tweak docstring.
6489
64902008-04-05 Eli Zaretskii <eliz@gnu.org>
6491
6492 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6493 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6494 2008-03-14 to force inode be positive.
6495
6496 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6497 _S_* ones, since we now use our own sys/stat.h.
6498 (stat, fstat): Don't mangle the inode number.
6499 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6500
65012008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6502
6503 * frame.h (struct frame): Give one more bit to `visible' since we use
6504 values larger than 1 to indicate obscured frames on ttys.
6505
6506 * keymap.c (Qkeymap_canonicalize): New var.
6507 (Fmap_keymap_internal): New fun.
6508 (describe_map): Use keymap-canonicalize.
6509
6510 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6511 (Fundo_boundary): Set them.
6512 (syms_of_undo): Initialize them.
6513 (record_point): Use them instead of last_point_position*.
6514 (last_undo_buffer): Change type.
6515
65162008-04-04 Jason Rumney <jasonr@gnu.org>
6517
6518 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6519 (recompute_cached_metrics): Don't set ascent and descent per char.
6520
6521 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6522 (uniscribe_check_otf): Add GC protection before consing.
6523 Rearrange loop for counting features.
6524
65252008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6526
6527 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6528 buffer with byte-size of source buffer.
6529
65302008-04-03 Chong Yidong <cyd@stupidchicken.com>
6531
6532 * callint.c (Fcall_interactively): Handle temporary region even
6533 when shift-select-mode is off.
6534
65352008-04-03 Jason Rumney <jasonr@gnu.org>
6536
6537 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6538
65392008-04-03 Kenichi Handa <handa@m17n.org>
6540
6541 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6542 (CATEGORY_MASK_UTF_16): Likewise.
6543 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6544 binary file.
6545 (detect_coding): Add null-byte detection for a binary file.
6546 (detect_coding_system): Likewise.
6547
65482008-04-03 Jason Rumney <jasonr@gnu.org>
6549
6550 * w32uniscribe.c: New file.
6551
6552 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6553
6554 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6555
6556 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6557 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6558 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6559 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6560 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6561 (Qphonetic): New symbols.
6562 (syms_of_w32font): Initialize them.
6563 (font_supported_scripts): Use them.
6564 (w32font_list_family): List all charsets.
6565 (w32font_text_extents, recompute_cached_metrics): Fix metric
6566 calculations.
6567 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6568 Give opentype fonts their own format.
6569 (font_matches_spec): New arguments backend and logfont.
6570 Handle :otf spec for uniscribe backend.
6571 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6572 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6573
6574 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6575 font backend.
6576 (globals_of_w32fns): Initialize uniscribe font backend.
6577
6578 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6579 dependencies.
6580 (w32uniscribe.$(O)): New file to build.
6581 (FONT_OBJ): Include w32uniscribe.$(O).
6582 (LIBS): Add uniscribe libraries.
6583
6584 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6585
65862008-04-02 Chong Yidong <cyd@stupidchicken.com>
6587
6588 * callint.c (Vshift_select_mode): New var.
6589 (Finteractive): Document new ^ spec.
6590 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6591 is present.
6592
6593 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6594 (command_loop_1): Avoid running the direct display versions of
6595 forward-char and backward-char if shift-selection may occur.
6596 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6597 shift-translation takes place.
6598
6599 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6600 avoid clobbering by define-minor-mode.
6601
6602 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6603 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6604
6605 * syntax.c (Fforward_word): Add ^ interactive spec.
6606
6607 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6608 (Fscroll_right): Add ^ interactive spec.
6609
66102008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6611
6612 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6613
6614 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6615
6616 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6617
66182008-03-31 Juri Linkov <juri@jurta.org>
6619
6620 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6621
66222008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6623
6624 * gtkutil.c (xg_set_geometry): Fix indentation.
6625 (xg_resize_outer_widget): Remove.
6626 (x_wm_size_hint_off): Fix indentation.
6627 (xg_frame_set_char_size): Call flush_and_sync after
6628 gtk_window_resize.
6629 (x_wm_set_size_hint): Pass NULL as geometry window to
6630 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6631 Add menu bar and tool bar height to base height.
6632 (xg_update_frame_menubar, free_frame_menubar)
6633 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6634 (update_frame_tool_bar, free_frame_tool_bar):
6635 Change xg_resize_outer_widget to xg_frame_set_char_size.
6636
66372008-03-30 Michael Albinus <michael.albinus@gmx.de>
6638
6639 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6640 (Fdbus_call_method): New parameter TIMEOUT.
6641 (dbus-send-signal): Optimize UNGCPRO call.
6642
66432008-03-29 Juri Linkov <juri@jurta.org>
6644
6645 * window.c (Fdisplay_buffer): Move call to
6646 Vsplit_window_preferred_function out of conditions that check
6647 if window is eligible for vertical splitting.
6648 When Vsplit_window_preferred_function is non-nil, call it and use
6649 its non-nil return value as window. Otherwise, continue doing
6650 vertical splitting using Fsplit_window with arg horflag=nil.
6651 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6652 default value from `split-window' to nil.
6653
66542008-03-29 Juri Linkov <juri@jurta.org>
6655
6656 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6657 for interactive code letters 'b' and 'B'.
6658
66592008-03-29 Eli Zaretskii <eliz@gnu.org>
6660
6661 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6662 multibyte string.
6663
66642008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6665
6666 * keyboard.c (pending_funcalls): New var.
6667 (timer_check): Run it.
6668 (syms_of_keyboard): Initialize it.
6669 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6670 (Vdelete_terminal_functions): New vars.
6671 (syms_of_terminal): Initialize them.
6672 (Fdelete_terminal): Run delete-terminal-functions.
6673 * xdisp.c (safe_eval): Rewrite.
6674 (safe_call2): New fun.
6675 * frame.c (Qdelete_frame_functions): New var.
6676 (syms_of_frame): Initialize it.
6677 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6678 * lisp.h (safe_call2, pending_funcalls): Declare.
6679
66802008-03-28 Andreas Schwab <schwab@suse.de>
6681
6682 * indent.c (Fmove_to_column): Move declaration before statements.
6683
66842008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6685
6686 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6687 (struct frame): Use bit fields for boolean vars.
6688
6689 * process.c (server_accept_connection): Simplify naming.
6690 (emacs_get_tty_pgrp): Use SDATA.
6691
6692 * coding.c (decode_coding_object): Fix last change.
6693
66942008-03-27 Jason Rumney <jasonr@gnu.org>
6695
6696 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6697
66982008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6699
6700 * charset.c (Fdefine_charset_internal): Change the way of
6701 registering charsets in Vcharset_order_list.
6702 (syms_of_charset): Make the charset `eight-bit' supplementary.
6703
67042008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6705
6706 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6707 operations, to avoid having the difference between pointers
6708 overflow.
6709
67102008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6711
6712 * indent.c (check_display_width): New fun.
6713 (scan_for_column): Use it.
6714
6715 * data.c (syms_of_data): Mark most-positive-fixnum and
6716 most-negative-fixnum as constants.
6717
6718 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6719
6720 * indent.c (scan_for_column): Extract from current_column_1.
6721 Merge with the same code from Fmove_to_column.
6722 (current_column_1, Fmove_to_column): Use it.
6723
67242008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6725
6726 * keymap.c (map_keymap_internal): New fun.
6727 (map_keymap): Use it.
6728 (Fmap_keymap_internal): New fun.
6729 (Fmap_keymap): Remove left-out test from before make_save_value.
6730
6731 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6732
6733 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6734 Use XCAR/XCDR.
6735
6736 * process.h (struct Lisp_Process): Remove filter_multibyte.
6737 * process.c (QCfilter_multibyte): Remove.
6738 (setup_process_coding_systems): Don't use filter_multibyte.
6739 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6740 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6741 (Fset_process_filter_multibyte): Change the coding-system to
6742 approximate the previous behavior.
6743 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6744 coding-system.
6745
6746 * coding.c (decode_coding_object): When not decoding into a buffer,
6747 obey the coding system's preference of (uni|multi)byte.
6748
67492008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6750
6751 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6752 every char is changed and has a different byte-length.
6753 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6754 Fix int -> EMACS_INT.
6755
67562008-03-23 David Hansen <david.hansen@gmx.net>
6757
6758 * dbusbind.c (xd_read_message): Remove extra copying of message
6759 strings. Check for NULL `interface' or `member'.
6760
67612008-03-22 Eli Zaretskii <eliz@gnu.org>
6762
6763 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6764 cFileName a file name that includes `?' characters, use the 8+3
6765 alias in cAlternateFileName instead.
6766
67672008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6768
6769 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6770
67712008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6772
6773 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6774 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6775 work on current_buffer only instead (that was already the case
6776 for some of the code anyway).
6777 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6778 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6779 (SET_PT, SET_PT_BOTH): Adjust.
6780 * intervals.h (set_point, temp_set_point, set_point_both)
6781 (temp_set_point_both): Remove redundant declarations.
6782
67832008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6784
6785 * fileio.c (Finsert_file_contents):
6786 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6787 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6788 when buffer != current_buffer anyway.
6789
67902008-03-20 Andreas Schwab <schwab@suse.de>
6791
6792 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6793 as default.
6794
67952008-03-19 Jason Rumney <jasonr@gnu.org>
6796
6797 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6798 (syms_of_w32fns): Initialize them.
6799 (HOURGLASS_ID): New constant.
6800 (x_window_to_frame): Don't check hourglass_window.
6801 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6802 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6803 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6804 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6805 Only change the cursor if hourglass is not active.
6806 (Fx_create_frame): Initialize frame's current_cursor.
6807 (hourglass_atimer): Remove.
6808 (hourglass_started): New function.
6809 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6810 (show_hourglass): Adapt to w32, changing argument to frame.
6811
6812 * w32term.h (struct w32_output): Remove hourglass_window.
6813 Add current_cursor.
6814
6815 * eval.c (call_debugger, Fsignal):
6816 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6817 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6818 (Fexecute_extended_command, cancel_hourglass_unwind):
6819 * minibuf.c (read_minibuf):
6820 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6821
68222008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6823
6824 * window.c (run_funs): New fun.
6825 (run_window_configuration_change_hook): Use it to run the buffer-local
6826 and the global part of the hook.
6827
6828 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6829 (unwind_format_mode_line): Restore selected window.
6830 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6831
68322008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6833
6834 * editfns.c (Fchar_equal): Check they are valid characters.
6835
6836 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6837
68382008-03-17 Andreas Schwab <schwab@suse.de>
6839
6840 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6841 against a charset.
6842
6843 * lisp.h (Fbuffer_list): Declare.
6844
68452008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6846
aac0c6e3
MR
6847 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6848 handlebox_widget is != 0.
6849
68502008-03-16 Juri Linkov <juri@jurta.org>
6851
6852 * callint.c (Fcall_interactively): For interactive code letters
6853 'b' and 'B' put the buffer list into the list of default "future"
6854 values of the minibuffer.
6855
68562008-03-16 Andreas Schwab <schwab@suse.de>
6857
6858 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6859 modifiers.
6860
6861 * regex.c (re_match_2_internal): Correct matching of a charset
6862 against latin-1 characters.
6863
68642008-03-16 Kenichi Handa <handa@m17n.org>
6865
6866 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6867 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6868 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6869 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6870 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6871 CHAR_STRING_ADVANCE.
6872 (produce_chars): Fix for the case that the source and the
6873 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6874 instead of CHAR_STRING_ADVANCE.
6875 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6876 STRING_CHAR_ADVANCE.
6877
68782008-03-15 Andreas Schwab <schwab@suse.de>
6879
6880 * regex.c (re_match_2_internal): Correct matching of eight bit
6881 characters in unibyte strings.
6882
68832008-03-15 Martin Rudalics <rudalics@gmx.at>
6884
6885 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6886 at end of range when it coincides with the end of the buffer.
6887
68882008-03-14 Eli Zaretskii <eliz@gnu.org>
6889
6890 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6891
6892 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6893
68942008-03-14 Jason Rumney <jasonr@gnu.org>
6895
6896 * editfns.c (initial_tz): New variable.
6897 (syms_of_editfns): Initialize it.
6898 (Fset_time_zone_rule): Set it when first called.
6899 Use it when TZSTRING is nil.
6900
6901 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6902 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6903 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6904 (globals_of_w32fns): Initialize them.
6905 (compute_tip_xy): Use them to position tooltips.
6906
69072008-03-14 Glenn Morris <rgm@gnu.org>
6908
6909 * emacs.c (main): Revert previous change.
6910 (standard_args): Revert -internal-script back to -scriptload,
6911 and remove the long-option form.
6912
69132008-03-13 Glenn Morris <rgm@gnu.org>
6914
6915 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6916 Remove option -enable-font-backend.
6917
69182008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6919
6920 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6921
69222008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6923
6924 * xterm.c (x_connection_closed): For GTK: If this is the last
6925 terminal just exit without closing the display.
6926
69272008-03-11 Jason Rumney <jasonr@gnu.org>
6928
6929 * w32font.c (w32font_full_name): Use floor to round.
6930
69312008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6932
6933 * sound.c (alsa_configure): Declare vol at beginning of block.
6934
6935 * fontset.c (Ffontset_info): Remove extra semicolon.
6936
69372008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6938
6939 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6940 size of resulting string.
6941
69422008-03-10 Jason Rumney <jasonr@gnu.org>
6943
6944 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6945
69462008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6947
6948 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6949 Don't pretend as if characters with display property haven't been
6950 consumed for string-replacing-string case.
6951
69522008-03-08 Kim F. Storm <storm@cua.dk>
6953
6954 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6955 (get_next_display_element, next_element_from_string)
6956 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6957
69582008-03-08 Andreas Schwab <schwab@suse.de>
6959
6960 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6961
69622008-03-06 Jason Rumney <jasonr@gnu.org>
6963
6964 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6965 when charset not specified. Only translate ANSI to unicode when
6966 font_type is truetype.
6967 (w32font_coverage_ok): New function.
6968 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6969
69702008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6971
6972 * lread.c (Fread_char): Resolve modifiers.
6973 (Fread_char_exclusive): Likewise.
6974
6975 * character.c (char_resolve_modifier_mask): New function.
6976 (char_string): Use char_resolve_modifier_mask.
6977 (Fchar_resolve_modifiers): New function.
6978 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6979 function.
6980
69812008-03-04 Jason Rumney <jasonr@gnu.org>
6982
6983 * makefile.w32-in: Always include w32font.c in the build.
6984 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6985
69862008-03-04 Andreas Schwab <schwab@suse.de>
6987
6988 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6989 (versionclean): Likewise.
6990
69912008-03-04 Juanma Barranquero <lekktu@gmail.com>
6992
6993 * .cvsignore: Add oo.
6994
69952008-03-03 Andreas Schwab <schwab@suse.de>
6996
6997 * coding.c (decode_coding_object): Inhibit gap shrinking while
6998 decoding in place.
6999
70002008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7001
7002 * w32term.c: Remove unused include "gnu.h".
7003 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7004
7005 * gnu.h: Rename to ...
7006 * emacs-icon.h: ... this.
7007 * xterm.c: Use emacs-icon.h instead of gnu.h.
7008 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7009
70102008-03-03 Juanma Barranquero <lekktu@gmail.com>
7011
7012 * w32font.c: Include math.h.
7013
70142008-03-03 Jason Rumney <jasonr@gnu.org>
7015
7016 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7017 Compute options separately.
7018 (w32font_open_internal): Set glyph_idx before caching metrics.
7019
7020 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7021 Define if system headers don't.
7022 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7023 (w32font_encode_char): Don't declare here.
7024
7025 * w32font.c (Quniscribe, QCformat): New symbols.
7026 (syms_of_w32font): Define them.
7027 (w32font_has_char): Indicate uncertainty.
7028 (w32font_encode_char): Encode as glyph point. Make static.
7029 (recompute_cached_metrics): New function.
7030 (w32font_open_internal): Use it. Set font to use glyph points
7031 initially. Set format based on type of font.
7032 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7033 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7034 on it. Set format based on information available here.
7035 (add_font_entity_to_list): Identify backend based on opentype_only.
7036
70372008-03-02 Andreas Schwab <schwab@suse.de>
7038
7039 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7040
7041 * coding.c (decode_coding_big5, produce_chars):
7042 Fix typos in last change.
7043
70442008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7045
7046 * gnu.h: New icon.
7047
70482008-03-02 Kenichi Handa <handa@m17n.org>
7049
7050 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7051 `dos', don't decode '\r' if that is the last in the source.
7052 (decode_coding_utf_16, decode_coding_emacs_mule)
7053 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7054 (decode_coding_raw_text, decode_coding_charset): Likewise.
7055 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7056
70572008-03-01 Jason Rumney <jasonr@gnu.org>
7058
7059 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7060
70612008-03-01 Kim F. Storm <storm@cua.dk>
7062
7063 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7064
70652008-03-01 Jason Rumney <jasonr@gnu.org>
7066
7067 * w32font.c (w32font_full_name): New function.
7068 (w32font_open_internal): Use it.
7069
70702008-03-01 Kim F. Storm <storm@cua.dk>
7071
7072 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7073
70742008-03-01 Jason Rumney <jasonr@gnu.org>
7075
7076 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7077
70782008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7079
7080 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7081 xg_frame_resized when the event is for the edit widget.
7082
7083 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7084
7085 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7086 set_char_size.
7087 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7088 operations on widgets here. Just set frame size if needed.
7089 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7090 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7091 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7092 the whole frame.
7093 (xg_create_tool_bar): Move attachment of the tool bar to
7094 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7095 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7096
70972008-03-01 Jason Rumney <jasonr@gnu.org>
7098
7099 * w32fns.c (w32_msg_pump): Disable debug code.
7100
71012008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7102
7103 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7104
71052008-02-29 Chong Yidong <cyd@stupidchicken.com>
7106
7107 * xdisp.c (next_overlay_string): Don't set
7108 overlay_strings_at_end_processed_p if we're currently reading from
7109 a display string.
7110
71112008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7112
7113 * xdisp.c (get_overlay_strings_1): Fix typo.
7114
71152008-02-29 Chong Yidong <cyd@stupidchicken.com>
7116
7117 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7118
71192008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7120
7121 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7122
7123 * xdisp.c (display_mode_element): Cancel the previous change.
7124 (decode_mode_spec): Likewise.
7125 (handle_auto_composed_prop): Don't make composition if it->string
7126 is a string.
7127
71282008-02-27 Kim F. Storm <storm@cua.dk>
7129
7130 * lisp.h (GLYPH): Change type from int to struct with separate char
7131 and face_id members.
7132 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7133 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7134 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7135 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7136 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7137 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7138 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7139 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7140 handle new Lisp glyph code encoding, either an integer or a cons.
7141
7142 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7143 (GLYPH_ALIAS): Delete.
7144 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7145 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7146 (GLYPH_FROM_CHAR): Replace macro by ...
7147 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7148
7149 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7150 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7151 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7152 (GLYPH_INVALID_P): New macro.
7153 (spec_glyph_lookup_face): Update prototype.
7154
7155 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7156 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7157 new glyph code encoding.
7158 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7159 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7160
7161 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7162 Adapt to new glyph type and new glyph code encoding.
7163
7164 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7165
7166 * indent.c (current_column, current_column_1, Fmove_to_column)
7167 (compute_motion): Adapt to new glyph code encoding.
7168
7169 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7170
71712008-02-27 Chong Yidong <cyd@stupidchicken.com>
7172
7173 * process.c (wait_reading_process_output): Check for window
7174 changes caused by timers.
7175 Suggested by Johan Bockgård.
7176
71772008-02-27 Glenn Morris <rgm@gnu.org>
7178
7179 * emacs.c (USAGE1): Add `--disable-font-backend'.
7180
71812008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7182
7183 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7184 is made to the buffer.
7185
71862008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7187
7188 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7189 (face_at_string_position):
7190 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7191 (face_at_string_position):
7192 * xdisp.c (display_string, next_overlay_change):
7193 * buffer.h (overlays_at):
7194 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7195 Update callers.
7196
71972008-02-26 Chong Yidong <cyd@stupidchicken.com>
7198
7199 * editfns.c (Fformat): Doc fix.
7200
72012008-02-26 Juanma Barranquero <lekktu@gmail.com>
7202
7203 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7204 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7205 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7206
72072008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7208
7209 * buffer.c (Fbuffer_swap_text): New function.
7210 (syms_of_buffer): Defsubr it.
7211
72122008-02-25 Chong Yidong <cyd@stupidchicken.com>
7213
7214 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7215
72162008-02-25 Jason Rumney <jasonr@gnu.org>
7217
7218 * w32font.c (w32font_draw): Draw one character at a time when padding.
7219
72202008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7221
7222 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7223 Handle a nil arg. Use run_window_configuration_change_hook.
7224 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7225 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7226 Use run_window_configuration_change_hook.
7227
72282008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7229
7230 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7231 1-pixel width.
7232
72332008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7234
7235 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7236 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7237 if the glyph in the font is zero pixel with.
7238
7239 * dispextern.h (struct glyph_string): New member padding_p.
7240
7241 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7242
7243 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7244
7245 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7246
7247 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7248
7249 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7250
72512008-02-25 Jason Rumney <jasonr@gnu.org>
7252
7253 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7254
72552008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7256
7257 Allow fine-grained image-cache flushing.
7258 * dispextern.h (struct image): Add `dependencies' field.
7259 (clear_image_caches): Change arg to Lisp_Object.
7260 * image.c (make_image): Initialize `dependencies' field.
7261 (clear_image_cache): Change arg to allow fine-grained flushing.
7262 Perform the flush even if image-cache-eviction-delay is nil.
7263 (clear_image_caches): Change arg to Lisp_Object.
7264 (Fclear_image_cache): Expand meaning of the argument.
7265 (mark_image): Mark `dependencies' field.
7266 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7267 (lface_hash): Use XHASH rather than XFASTINT.
7268 (face_at_buffer_position): Fix int -> EMACS_INT position.
7269 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7270 (select_frame_for_redisplay): Remove code duplication.
7271 (redisplay_internal): Adapt arg to call to clear_image_caches.
7272
72732008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7274
7275 * s/vms4-0.h:
7276 * s/vms4-2.h:
7277 * s/vms4-4.h:
7278 * s/vms5-5.h: Remove, unused.
7279
7280 * s/irix5-2.h:
7281 * s/irix6-0.h:
7282 * s/riscos5.h:
7283 * s/mach-bsd4-3.h:
7284 * m/mips4.h: Remove files for obsolete systems.
7285
7286 * Makefile.in:
7287 * filelock.c:
7288 * unexmips.c:
7289 * m/hp9000s300.h:
7290 * m/iris4d.h:
7291 * s/aix3-1.h:
7292 * s/hpux.h:
7293 * s/msdos.h:
7294 * s/usg5-0.h:
7295 * s/usg5-2-2.h:
7296 * s/usg5-2.h:
7297 * s/usg5-3.h: Remove references to obsolete variables.
7298
7299 * s/irix5-0.h: Remove, move all the contents ...
7300 * s/irix6-5.h: ... here. Simplify.
7301 * config.in: Regenerate.
7302
73032008-02-24 Jason Rumney <jasonr@gnu.org>
7304
7305 * w32term.c (x_draw_glyph_string_background): Clear the background
7306 manually when cleartype is in use.
7307 (x_draw_glyph_string_foreground): Draw text transparently when
7308 cleartype is in use.
7309
7310 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7311 a font into it unless we have to.
7312
73132008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7314
7315 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7316 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7317
aac0c6e3
MR
73182008-02-18 Jason Rumney <jasonr@gnu.org>
7319
7320 * w32fns.c (Fw32_shell_execute): Encode parameters.
7321
73222008-02-09 Eli Zaretskii <eliz@gnu.org>
7323
7324 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7325
73262008-02-05 Juanma Barranquero <lekktu@gmail.com>
7327
7328 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7329
73302008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7331
7332 * xterm.c (x_set_offset): Don't change the gravity if
7333 CHANGE_GRAVITY is -1.
7334
73352008-02-23 Chong Yidong <cyd@stupidchicken.com>
7336
7337 * fileio.c (auto_save_error_occurred): New var.
7338 (auto_save_error): Set it.
7339 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7340 error occurred.
7341
73422008-02-23 Eli Zaretskii <eliz@gnu.org>
7343
7344 * w32.c (globals_of_w32): Add initializations for
7345 g_b_init_get_sid_sub_authority and
7346 g_b_init_get_sid_sub_authority_count.
7347
73482008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7349
7350 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7351 (font_parse_xlfd): Use them for sanity check.
7352 (Finternal_set_font_style_table): Make sure the table is bijective.
7353
7354 Consolidate the image_cache to the terminal struct.
7355 * termhooks.h (P_): Remove redundant def.
7356 (struct terminal): New field `image_cache'.
7357 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7358 of FRAME_X_IMAGE_CACHE.
7359 * xterm.h (struct x_display_info): Remove image_cache field.
7360 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7361 * w32term.h (struct w32_display_info): Remove image_cache field.
7362 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7363 * macterm.h (struct mac_display_info): Remove image_cache field.
7364 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7365 * xterm.c (x_term_init):
7366 * w32term.c (w32_term_init):
7367 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7368 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7369 Remove declarations.
7370 (clear_image_caches, mark_image_cache): New declarations.
7371 * xfaces.c (clear_face_cache):
7372 * xdisp.c (redisplay_internal): Use clear_image_caches.
7373 * image.c (clear_image_cache): Don't check that a frame is on
7374 a window-system before checking if it shares the same cache.
7375 (clear_image_caches): New function.
7376 (Fclear_image_cache): Use it.
7377 (mark_image): Move from allo.c.
7378 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7379 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7380 (mark_object): Don't call mark_image_cache for frames.
7381 (mark_terminals): Call mark_image_cache.
7382
7383 * lisp.h (Fdelete_terminal): Declare.
7384
7385 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7386 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7387 wrong_type_argument.
7388
73892008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7390
7391 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7392 malayalam.el, and tamil.el. Add sinhala.el.
7393
73942008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7395
7396 * xterm.c (x_connection_closed): Consolidate identical tests.
7397 (x_delete_terminal): Don't crash if called via x_connection_closed.
7398
73992008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7400
7401 * xdisp.c (decode_mode_spec): New arg string.
7402 (display_mode_element): Adjust for the above change.
7403
74042008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7405
7406 * callint.c (Fcall_interactively): Use AREF.
7407
74082008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7409
7410 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7411
74122008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7413
7414 * xfns.c (Fx_show_tip): Set string to " " if empty.
7415
74162008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7417
7418 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7419 with Qt.
7420
74212008-02-17 Kenichi Handa <handa@m17n.org>
7422
7423 * ftfont.c (ftfont_shape): Return Lispy number.
7424
7425 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7426 for GCs.
7427 (Finternal_set_font_selection_order): Call font_update_sort_order
7428 only when enable_font_backend is set.
7429 (realize_x_face): Set face->font_info to that of default face only
7430 when enable_font_backend is set.
7431
7432 * xdisp.c (handle_composition_prop): Set it->c to the fist
7433 character of the composed region.
7434 (fill_composite_glyph_string): Set base_face->font_info to
7435 s->font_info. Get a face for ascii from base_face->ascii_face.
7436 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7437 with a face already decided.
7438 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7439 non-negative.
7440 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7441 call font_prepare_composition unconditionally.
7442
7443 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7444
7445 * xterm.h (struct x_display_info): New member font.
7446
7447 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7448 (x_set_mouse_face_gc, x_new_font): Likewise.
7449 (x_term_init): Setup display_info->font.
7450 (x_delete_terminal): Free display_info->font.
7451
7452 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7453
7454 * ftxfont.c (ftxfont_default_fid): Delete it.
7455 (ftxfont_open): Set xfont->fid to 0.
7456 (ftxfont_end_for_frame): Clear data specific to the frame and the
7457 font-driver.
7458
7459 * xftfont.c (xftfont_default_fid): Delete it.
7460 (xftfont_open): Set xfont->fid to 0.
7461
7462 * fontset.c (FONTSET_OBJLIST): New macro.
7463 (fontset_find_font): Update font-object list of the fontset.
7464 (free_realized_fontset): New function.
7465 (free_face_fontset): Call free_realized_fontset.
7466 (Ffont_info): Call font_close_object only when enable_font_backend
7467 is set.
7468
7469 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7470 [HAVE_NTGUI]: Include w32term.h.
7471 [MAC_OS]: Include macterm.ch.
7472 (font_otf_ValueRecord): Use make_number.
7473 (font_finish_cache): Fix handling of reference count.
7474 (font_clear_cache): Update num_fonts.
7475 (font_open_entity): Update smallest_char_width and
7476 smallest_font_height of the frame.
7477 (font_close_object): Update num_fonts.
7478 (Fclear_font_cache): Fix finding the target cache data.
7479
74802008-02-16 Glenn Morris <rgm@gnu.org>
7481
7482 * fontset.c (Finternal_char_font): Fix compilation warning.
7483
74842008-02-16 Eli Zaretskii <eliz@gnu.org>
7485
7486 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7487 instead of char arrays. Enlarge the size of array passed to
7488 get_token_information.
7489
7490 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7491 warnings.
7492
74932008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7494
7495 * .gdbinit: Don't set `args', it breaks gdb --args.
7496
74972008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7498
7499 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7500 within a narrowed buffer.
7501
75022008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7503
7504 * coding.c (decode_coding_object, encode_coding_object):
7505 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7506
75072008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7508
7509 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7510 hardcoding 1.
7511 (detect_coding_system):
7512 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7513 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7514 * insdel.c (insert_from_gap):
7515 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7516 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7517 (string_to_multibyte):
7518 * character.c (chars_in_text, multibyte_chars_in_text):
7519 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7520
7521 * character.h (FETCH_STRING_CHAR_ADVANCE)
7522 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7523 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7524 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7525
7526 * casefiddle.c (casify_region): Only call after-change and composition
7527 functions on the part of the region that was changed.
7528
7529 * keyboard.c (read_avail_input):
7530 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7531
75322008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7533
7534 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7535 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7536
75372008-02-11 Juanma Barranquero <lekktu@gmail.com>
7538
7539 * w32menu.c (push_submenu_start, push_submenu_end)
7540 (push_left_right_boundary, push_menu_pane, push_menu_item):
7541 * keyboard.c (read_key_sequence): Don't pass args with side effects
7542 to AREF, it fails when compiling with -DENABLE_CHECKING.
7543
75442008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7545
7546 * Makefile.in (${lispsource}international/charprop.el):
7547 Delete this target.
7548
7549 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7550 emacs-unicode-2.
7551
75522008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7553
7554 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7555
75562008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7557
7558 * frame.c (Qnoelisp): New symbol.
7559 (syms_of_frame): Initialize it.
7560 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7561 harmless Elisp code, from a strong `force' from x_connection_closed.
7562 * frame.h (Qnoelisp): Declare.
7563 * xterm.c (x_connection_closed): Pass `noelisp'.
7564
7565 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7566 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7567 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7568 rather than `int' for the type of `type'.
7569
75702008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7571
7572 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7573
7574 * Makefile.in (GNUC): Remove support for gcc-1.x.
7575
75762008-02-10 Richard Stallman <rms@gnu.org>
7577
7578 * lisp.h (ASET): Use AREF, not ASLOT.
7579
75802008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7581
7582 * lisp.h (ASET): Check bounds.
7583
75842008-02-10 Glenn Morris <rgm@gnu.org>
7585
7586 * buffer.c (mode-name): Doc fix.
7587
75882008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7589
7590 * Makefile.in:
7591 * emacs.c:
7592 * gmalloc.c:
7593 * keyboard.c:
7594 * lisp.h:
7595 * m/ibm370aix.h:
7596 * process.c:
7597 * regex.c:
7598 * s/hpux.h:
7599 * sysdep.c:
7600 * sysselect.h:
7601 * systty.h:
7602 * unexec.c:
7603 * w32term.c:
7604 * xsmfns.c:
7605 * xterm.c: Remove code that deals with obsolete variables.
7606
7607 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7608
7609 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7610 nothing else needs it anymore.
7611
76122008-02-09 Eli Zaretskii <eliz@gnu.org>
7613
7614 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7615 instead of unibyte_char_to_multibyte.
7616
76172008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7618
7619 * s/gnu-linux.h: Remove commented out code.
7620
7621 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7622
7623 * Makefile.in: Update what RMS says about using autoconf.
7624 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7625 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7626 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7627 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7628
76292008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7630
7631 * keymap.c (Fkey_description): Move side effect outside of macro call.
7632
7633 * xfaces.c (Finternal_make_lisp_face):
7634 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7635
7636 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7637 (syms_of_fontset): Use ASET.
7638
7639 * fns.c (concat): Move side effect outside of macro call.
7640 (hash_clear): Use ASET.
7641
76422008-02-08 Richard Stallman <rms@gnu.org>
7643
7644 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7645 If FORCE, and frame has a surrogate minibuffer for another frame,
7646 delete the other frame first.
7647
76482008-02-07 Timo Savola <timo.savola@iki.fi>
7649
7650 * xterm.c (x_detect_focus_change): Handle embed client message.
7651 (handle_one_xevent): Ditto.
7652 (handle_one_xevent): If embedded and we get a button press/release,
7653 request focus.
7654 (xembed_set_info, xembed_send_message): New functions.
7655 (x_make_frame_visible): Call xembed_set_info if embedded.
7656 (x_make_frame_invisible): Call xembed_set_info if embedded.
7657 (x_term_init): Initialize Xatom_XEMBED.
7658 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7659 (x_iconify_frame): Ditto.
7660
7661 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7662 (enum xembed_info, enum xembed_message, enum xembed_focus)
7663 (enum xembed_modifier, enum xembed_accelerator): New.
7664 (xembed_set_info, xembed_send_message): Declare.
7665 (FRAME_X_EMBEDDED_P): New.
7666
7667 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7668 gtk_plug_new.
7669
7670 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7671 window ID of a frame.
7672 (x_window): Reparent frame if embedded.
7673 (Fx_create_frame): Don't set border width if embedded.
7674
7675 * emacs.c (USAGE3): Add --parent-id.
7676 (standard_args): Ditto.
7677
76782008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7679
7680 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7681
76822008-02-07 Jim Meyering <meyering@redhat.com>
7683
7684 Use "do...while (0)", not "if (1)...else" in macro definitions.
7685 The latter provokes a warning from gcc about the empty else, when
7686 followed by ";". Also, without that trailing semicolon, it would
7687 silently swallow up any following statement.
7688 * syntax.h (SETUP_SYNTAX_TABLE)
7689 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7690 * buffer.h (DECODE_POSITION): Likewise.
7691 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7692 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7693 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7694 (FETCH_CHAR_ADVANCE): Likewise.
7695 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7696
76972008-02-07 Jim Meyering <meyering@redhat.com>
7698
7699 * lread.c [lint]: Don't include <sys/inode.h>.
7700
77012008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7702
7703 * xselect.c (x_handle_dnd_message):
7704 * xmenu.c (digest_single_submenu, xmenu_show):
7705 * xdisp.c (with_echo_area_buffer_unwind_data)
7706 (format_mode_line_unwind_data, unwind_format_mode_line)
7707 (display_menu_bar):
7708 * eval.c (Ffetch_bytecode):
7709 * doc.c (store_function_docstring):
7710 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7711 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7712 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7713
77142008-02-07 Kenichi Handa <handa@m17n.org>
7715
7716 * ftxfont.c (ftxfont_open): Don't set
7717 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7718
7719 * ftfont.c (ftfont_open): Fix previous change.
7720
77212008-02-06 Jason Rumney <jasonr@gnu.org>
7722
7723 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7724 Use cached metrics for ASCII characters.
7725 (w32font_open_internal): Don't set font's owning_frame.
7726 Cache metrics for ASCII characters.
7727
7728 * w32font.h (struct w32font_info): Add ascii_metrics.
7729 Remove owning_frame.
7730
77312008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7732
7733 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7734 to negative value.
7735
7736 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7737
7738 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7739
7740 * charset.c (syms_of_charset): Set QCtest and Qeq.
7741
77422008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7743
7744 * process.c (Fstart_process):
7745 * callproc.c (Fcall_process): Handle the case where
7746 Funhandled_file_name_directory returns nil.
7747
7748 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7749 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7750 * font.c (check_gstring): Use them and AREF to access the vector before
7751 we know it's really a gstring.
7752 (Ffont_shape_text): Fix typo.
7753 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7754
7755 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7756 Declare.
7757
7758 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7759
77602008-02-05 Jason Rumney <jasonr@gnu.org>
7761
7762 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7763 Set smallest_font_height and smallest_char_width in display info.
7764
77652008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7766
7767 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7768
77692008-02-05 Miles Bader <miles@gnu.org>
7770
7771 * xfaces.c (get_lface_attributes, merge_named_face)
7772 (lookup_named_face, lookup_derived_face, realize_named_face):
7773 Revert 2008-02-01 change by cyd@stupidchicken.com.
7774
77752008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7776
7777 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7778 fallback fonts.
7779 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7780
77812008-02-04 Jason Rumney <jasonr@gnu.org>
7782
7783 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7784 set full_name.
7785 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7786
77872008-02-03 Jason Rumney <jasonr@gnu.org>
7788
7789 * makefile.w32-in (OBJ1): Include font.o here.
7790 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7791
77922008-02-02 Jason Rumney <jasonr@gnu.org>
7793
7794 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7795
77962008-02-01 Jason Rumney <jasonr@gnu.org>
7797
7798 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7799
7800 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7801
78022008-02-01 Andreas Schwab <schwab@suse.de>
7803
7804 * Makefile.in (shortlisp, lisp): Update for rename of
7805 ../lisp/language/myanmar.el.
7806
78072008-02-01 Chong Yidong <cyd@stupidchicken.com>
7808
7809 * xfaces.c (get_lface_attributes): Delete function.
7810 (merge_named_face, lookup_named_face, lookup_derived_face)
7811 (realize_named_face): Call lface_from_face_name directly, and use
7812 the fact that merge_face_vectors does not alter its FROM argument.
7813
78142008-02-01 Jason Rumney <jasonr@gnu.org>
7815
7816 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7817 input in the default locale. Handle non-Unicode multibyte input.
7818
78192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7820
7821 * fontset.c (reorder_font_vector): Exclude nil elements from the
7822 font group. Don't try multiple fonts.
7823 (fontset_font): Adjust for the above change.
7824 (Finternal_char_font): Return nil if the found font doesn't
7825 contain the character ch.
7826
7827 * Makefile.in (lisp, shortlisp): Add cham.el.
7828
78292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7830
7831 * font.h (FONTP): Make it return 1 also for a font-object.
7832
7833 * .gdbinit (xfontset): New function.
7834
7835 * font.c (font_find_for_lface): Check if the character C is
7836 supported or not only for the first font.
7837
7838 * fontset.c (reorder_font_vector): Fix typo.
7839 (fontset_find_font): Don't add a font-spec specifying a script.
7840 Use 0 (not Qt) for the indication of empty font-group. Change the
7841 format of RFONT-DEF. Return Qt if no font in the font-group
7842 support the character.
7843 (fontset_font): Adjust for the above change. If no font was
7844 found the character, remember that.
7845 (face_for_char): Adjust for the change of RFONT-DEF.
7846 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7847 no font for the target.
7848 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7849
78502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7851
7852 * font.c (font_load_for_face): Handle the case that the font in
7853 face->lface is a string.
7854
78552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7856
7857 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7858
78592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7860
7861 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7862 Fix previous change. If the frame is not on a window system,
7863 signal an error.
7864
78652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7866
7867 * coding.c (decode_coding_object, encode_coding_object): Adjust
7868 marker positions after conversion.
7869
7870 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7871
78722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7873
7874 * font.c (font_find_for_lface): Fix the handling of the return
7875 value of font_has_char.
7876 (Ffont_shape_text): Fix previous change.
7877
7878 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7879 (fontset_ref_and_range): Delete it.
7880 (fontset_find_font): Call char_table_ref_and_range instead of
7881 FONTSET_REF_AND_RANGE.
7882 (make_fontset): Don't setup font groups of Latin here.
7883 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7884 (new_fontset_from_font): Make the specified font the default for
7885 all Latin characters.
7886
78872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7888
7889 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7890 is on a window system before accessing the fontset of the frame.
7891
78922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7893
7894 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7895
7896 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7897 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7898
7899 * font.c (Ffont_shape_text): If the font driver doesn't have a
7900 shaper function, make zero-width glyphs to have at least one-pixel
7901 width. Fix setting of `to' field of glyphs.
7902
79032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7904
7905 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7906 glyphs.
7907
7908 * font.h (struct font_driver): Improve docstring of member `shape'.
7909
79102008-02-01 Kenichi Handa <handa@m17n.org>
7911
7912 * composite.c (syms_of_composite): Fix docstring of
7913 auto-composition-function.
7914
7915 * font.h (LGLYPH_SIZE): New macro.
7916
7917 * font.c (Ffont_fill_gstring): Stop filling when a character not
7918 supported by the font is found.
7919 (Ffont_shape_text): When a shape callback function returns nil,
7920 try at most two more times with larger gstring.
7921 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7922
7923 * xdisp.c (handle_auto_composed_prop): Change the argument to
7924 auto-composition-function.
7925
7926 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7927 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7928 Lispy glyph and store it in the lgstring.
7929
7930 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7931
7932 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7933
79342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7935
7936 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7937
7938 * fontset.c (Vfont_encoding_charset_alist): New variable.
7939 (syms_of_fontset): DEFVAR it.
7940 (reorder_font_vector, fontset_find_font): Optimize for the case of
7941 no need of reordering.
7942 (face_for_char): Map the charset property by
7943 Vfont_encoding_charset_alist.
7944
79452008-02-01 Jason Rumney <jasonr@gnu.org>
7946
7947 * w32font.c (logfonts_match): Don't check adstyle here.
7948 (font_matches_spec): Check here against physical font instead.
7949 (add_font_entity_to_list): Avoid some substitutions.
7950
7951 * font.c (font_parse_fcname): Default weight and slant to normal.
7952 (font_score): Prefer normal fonts if weight or slant unspecified.
7953 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7954 match freetype scores.
7955
79562008-02-01 Jason Rumney <jasonr@gnu.org>
7957
7958 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7959 font, as it may have been deleted.
7960 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7961 most common hyphenless variation.
7962 (logfonts_match): Check generic family.
7963 (font_matches_spec): Don't check generic family here.
7964 (fill_in_logfont): Set generic family based on adstyle.
7965
7966 * w32font.h (w32font_get_cache): Update declaration.
7967
79682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7969
7970 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7971
7972 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7973 If none of the new drivers are available, call font_update_drivers
7974 with the old drivers.
7975
7976 * w32font.c (w32font_get_cache): Adjust the argument type.
7977
7978 * xfont.c (xfont_get_cache): Adjust the argument type.
7979
7980 * font.h (struct font_driver): Change argument type of get_cache.
7981
7982 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7983
7984 * font.c (Ffont_get): Fix arguments to Fassoc.
7985 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7986 (font_clear_cache): New function.
7987 (font_list_entities, font_matching_entity): Use font_get_cache.
7988 (font_update_drivers): Call font_clear_cache when finishing a driver.
7989
7990 * fontset.c (fontset_find_font): Fix previous change.
7991
79922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7993
7994 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7995 dpyinfo->font_table.
7996 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7997 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7998
7999 * font.c (font_at): Handle the case that the arg C is negative.
8000 Handle the unibyte case.
8001 (Ffont_at): Call font_at with the arg C -1.
8002
8003 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8004 the position here, and call font_at with the arg C -1.
8005 Don't check the range of the existing composition at the point.
8006
80072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8008
8009 * fontset.c (fontset_add): New args charset_id and family.
8010 Change caller.
8011 (load_font_get_repertory, fontset_find_font): Assume that
8012 font_spec is always a font-spec object.
8013 (Fset_fontset_font): Always store a font-spec object in a fontset.
8014
8015 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8016 instead of get_property_and_range.
8017
80182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8019
8020 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8021 (xftfont_open): Don't keep locking face.
8022 (xftfont_close): Don't unlock face.
8023 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8024
8025 * fontset.c (fontset_find_font): Don't prefer a font of
8026 supplementary charset.
8027
80282008-02-01 Kenichi Handa <handa@m17n.org>
8029
8030 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8031 script, langsys_tag to langsys, new member script.
8032 (OTF_TAG_STR): Terminate by '\0'.
8033 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8034 listing to the script specified in that property. Fix arg to
8035 OTF_check_features.
8036
80372008-02-01 Jason Rumney <jasonr@gnu.org>
8038
8039 * w32font.h: New file.
8040
8041 * w32font.c: Include it.
8042 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8043 (w32font_open): Set owning_frame.
8044 (w32font_text_extents): Use owning_frame.
8045 (struct font_callback_data): Add opentype_only field.
8046 (add_font_entity_to_list): Use it to filter fonts.
8047 Don't check against full name.
8048 (w32font_list_internal): New function.
8049 (w32font_list): Use it.
8050 (w32font_match_internal): New function.
8051 (w32font_match): Use it.
8052 (w32font_open_internal): New function.
8053 (w32font_open): Use it.
8054 (w32font_get_cache, w32font_close, w32font_has_char)
8055 (w32font_encode_char, w32font_text_extents, w32font_draw):
8056 Make non-static.
8057
8058 * makefile.w32-in (w32font.o): Depend on w32font.h.
8059
80602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8061
8062 * charset.c (Fdefine_charset_internal): Record a supplementary
8063 charset at the tail of Vcharset_order_list.
8064
8065 * font.c (Ffont_shape_text): Fix the return value.
8066
8067 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8068
8069 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8070
80712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8072
8073 * ftfont.c (struct OpenTypeSpec): New struct.
8074 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8075 (ftfont_get_open_type_spec): New function.
8076 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8077
8078 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8079
80802008-02-01 Jason Rumney <jasonr@gnu.org>
8081
8082 * w32font.c (add_font_entity_to_list): Compare only the beginning
8083 of full name.
8084
80852008-02-01 Kenichi Handa <handa@m17n.org>
8086
8087 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8088 Never return HANDLED_RECOMPUTE_PROPS.
8089
80902008-02-01 Kenichi Handa <handa@m17n.org>
8091
8092 * font.c (font_gstring_produce): Delete it.
8093
8094 * composite.h (COMPOSITION_METHOD):
8095 Handle COMPOSITION_WITH_GLYPH_STRING.
8096
80972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8098
8099 * xfont.c (Qx): Delete.
8100 (syms_of_xfont): Don't initialize Qx.
8101
8102 * composite.h (enum composition_method):
8103 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8104
81052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8106
8107 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8108 (choose_face_font): Accept new form of font-spec.
8109
8110 * frame.h (font_driver_list): Declare it unconditionally.
8111 (struct frame): Define members font_driver_list and font_data_list
8112 unconditionally.
8113
8114 * fontset.c: Include "font.h" unconditionally.
8115 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8116 (Fset_fontset_font): Accept a font-spec object.
8117
8118 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8119 PIXEL_SIZE part a wild card.
8120
8121 * dispextern.h (struct glyph_string): Define members clip and
8122 num_clips unconditionally.
8123 (struct face): Define members font_info and extra unconditionally.
8124
8125 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8126 ftfont_info only when HAVE_LIBOTF is defined.
8127
81282008-02-01 Andreas Schwab <schwab@suse.de>
8129
8130 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8131 and end.
8132
81332008-02-01 Jason Rumney <jasonr@gnu.org>
8134
8135 * w32font.c (w32font_driver): Add new fields.
8136
81372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8138
8139 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8140 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8141 (LIBES): Add @M17N_FLT_CFLAGS@.
8142
8143 * composite.c (compose_text): Don't treat the new style
8144 composition specially.
8145
8146 * emacs.c (main): Call syms_of_font unconditionally.
8147
8148 * font.h (FONT_ENTITY_NOT_LOADABLE)
8149 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8150 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8151 (struct font_driver): New member shape.
8152 (font_registry_charsets): Extern it.
8153 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8154 (font_otf_capability, font_drive_otf): Delete their externs.
8155
8156 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8157 (font_charset_alist, font_registry_charsets): Move from xfont.c
8158 and rename.
8159 (font_prop_validate_otf): New function.
8160 (font_property_table): Register it for QCotf.
8161 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8162 (font_drive_otf): Delete.
8163 (font_prepare_composition): New arg F. Adjust for the change of
8164 lispy gstring.
8165 (font_find_for_lface): New arg C.
8166 (font_load_for_face): Adjust for the change of font_find_for_lface.
8167 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8168 lispy gstring.
8169 (Ffont_shape_text): New function.
8170 (Fopen_font): If the font size is not given, use 12-pixel.
8171 (Ffont_at): New arg STRING.
8172 (syms_of_font): Initalize font_charset_alist.
8173 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8174 conditionally.
8175
8176 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8177 fonts of the same font-spec. Change the format of RFONT-DEF.
8178 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8179 Adjust for the change of RFONT-DEF.
8180 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8181
8182 * ftfont.h: New file.
8183
8184 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8185 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8186 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8187 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8188 font_otf_capability and font_drive_otf, set ftfont_shape.
8189 (ftfont_list): Adjust for the change of :otf property value.
8190 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8191 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8192 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8193 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8194 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8195 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8196
8197 * w32term.c (x_draw_composite_glyph_string_foreground):
8198 Adjust for the change of lispy gstring.
8199
8200 * xdisp.c (handle_composition_prop): Adjust for the change of
8201 lispy gstring. Call a function for auto-composition with the
8202 third arg it->window.
8203 (fill_composite_glyph_string): Adjust for the change of lispy string.
8204 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8205
8206 * xfaces.c (set_font_frame_param): Adjust for the change of
8207 font_find_for_lface.
8208
8209 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8210 (xfont_registry_charsets): Likewise. Change caller.
8211 (syms_of_xfont): Don't handle x_font_charset_alist.
8212
8213 * xftfont.c: Include "ftfont.h".
8214 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8215 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8216 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8217 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8218 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8219 Set xftfont_driver.shape to xftfont_shape.
8220
8221 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8222 the change of lispy gstring.
8223
82242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8225
8226 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8227
82282008-02-01 Jason Rumney <jasonr@gnu.org>
8229
8230 * w32font.c (w32font_draw): Fill background manually.
8231
82322008-02-01 Jason Rumney <jasonr@gnu.org>
8233
8234 * font.c (Qfontp): Remove unused symbol.
8235 (QCantialias): New symbol.
8236 (syms_of_font): Define it.
8237 (font_property_table): Set a validator for QCantialias.
8238
8239 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8240 Define if not already.
8241 (QCfamily): Share with xfaces.c.
8242 (Qstandard, Qsubpixel, Qnatural): New symbols.
8243 (syms_of_w32font): Define them. Don't define QCfamily here.
8244 (w32_antialias_type, lispy_antialias_type): New functions.
8245 (w32_enumfont_pattern_entity): New arg requested_font.
8246 Set antialias parameter if non-default was requested.
8247 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8248
82492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8250
8251 * lread.c (read1): Undo the previous change.
8252
82532008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8254
8255 * frame.c (Fdelete_frame): Call font_update_drivers only when
8256 USE_FONT_BACKEND is defined.
8257
82582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8259
8260 * font.h (struct font_bitmap): New member bits_per_pixel.
8261 (struct font_driver): New members start_for_frame and end_for_frame.
8262 (struct font_data_list): New struct.
8263 (font_put_frame_data, font_get_frame_data): Extern them.
8264
8265 * frame.h (struct frame): New member font_data_list.
8266
8267 * font.c (font_update_drivers): Call driver->start_for_frame and
8268 driver->end_for_frame at proper timings.
8269 (font_put_frame_data, font_get_frame_data): New functions.
8270 (Ffont_spec): Add usage in the docstring.
8271
8272 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8273 (Fdelete_frame): Call font_update_drivers.
8274
8275 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8276 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8277 (xftfont_get_xft_draw): New function.
8278 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8279 (xftfont_end_for_frame): New function.
8280 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8281
8282 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8283 Change argument. Cache GCs in the per-frame data.
8284 (struct ftxfont_frame_data): New struct.
8285 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8286 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8287 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8288 (ftxfont_end_for_frame): New function.
8289 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8290
8291 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8292
82932008-02-01 Kenichi Handa <handa@m17n.org>
8294
8295 * xselect.c (Vselection_coding_system)
8296 (Vnext_selection_coding_system): Delete them.
8297 (syms_of_xselect): Don't declare selection-coding-system and
8298 next-selection-coding-system. They are declared in select.el.
8299
83002008-02-01 Jason Rumney <jasonr@gnu.org>
8301
8302 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8303
8304 * w32fns.c: Include imm.h.
8305 (get_composition_string_fn, get_ime_context_fn): New optional
8306 system functions.
8307 (globals_of_w32fns): Load them from imm32.dll.
8308 (ignore_ime_char): New flag.
8309 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8310 WM_IME_ENDCOMPOSITION messages.
8311
8312 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8313 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8314
83152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8316
8317 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8318 (READCHAR_REPORT_MULTIBYTE): New macro.
8319 (readchar): New 2nd arg MULTIBYTE.
8320 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8321 Make symbol's name multibyte according to the multibyteness of the
8322 source.
8323
83242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8325
8326 * xfaces.c (face_for_overlay_string): Call lookup_face with
8327 correct arguments (fix of synching with the trunk).
8328
83292008-02-01 Kenichi Handa <handa@m17n.org>
8330
8331 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8332 (font_prop_validate_non_neg, font_prop_validate_spacing):
8333 Delete argument prop_index.
8334 (font_property_table): Change arguments to validater. Change Callers.
8335 (font_lispy_object): Delete.
8336 (font_at): Use font_find_object instead fo font_lispy_object.
8337
83382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8339
8340 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8341 and file names.
8342
83432008-02-01 Jason Rumney <jasonr@gnu.org>
8344
8345 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8346 (font_matches_spec): Remove debug output.
8347 (add_font_entity_to_list): Avoid using substituted fonts.
8348
83492008-02-01 Jason Rumney <jasonr@gnu.org>
8350
8351 * doc.c (Fsnarf_documentation):
8352 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8353
83542008-02-01 Miles Bader <miles@gnu.org>
8355
8356 * dispextern.h (struct glyph_row): Only define "clip" field if
8357 HAVE_WINDOW_SYSTEM is defined.
8358
83592008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8360
8361 Fix up multi-tty merge.
8362
8363 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8364 and indentation.
8365
8366 * xfaces.c (free_realized_face, clear_face_gcs):
8367 Include font_done_for_face in the input_blocked section, just in case.
8368
8369 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8370 (get_char_face_and_encoding): Undo last change and remove the *other*
8371 duplicate definition (i.e. keep the one that's better scoped and that
8372 includes code for the font-backend).
8373
8374 * terminal.c (create_terminal): Default keyboard_coding to
8375 `no-conversion' and terminal_coding to `undecided'.
8376
8377 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8378
8379 * fontset.c (free_realized_fontsets): Check that the table entry does
8380 contain a fontset before trying to compare it to `base'.
8381
8382 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8383 syms_of_charset, and syms_of_coding earlier because init_window_once
8384 now needs Vcoding_system_hash_table to be setup.
8385
8386 * coding.h (default_buffer_file_coding): Remove.
8387
8388 * coding.c (default_buffer_file_coding): Remove.
8389 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8390 than ->symbol, and use the terminal-local coding system.
8391 (syms_of_coding): Don't setup the coding-systems that are not
8392 terminal-local.
8393 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8394
8395 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8396 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8397
8398 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8399 in chartab.c and were re-added here by mistake.
8400 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8401
8402 * doc.c (Fsnarf_documentation):
8403 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8404 src to etc.
8405
8406 * ChangeLog.10: Add mistakenly removed entry.
8407
84082008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8409
8410 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8411
84122008-02-01 Miles Bader <miles@gnu.org>
8413
8414 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8415 Add extra args to FACE_FOR_CHAR.
8416
84172008-02-01 Kenichi Handa <handa@m17n.org>
8418
8419 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8420 in sequence.
8421
8422 * chartab.c (map_sub_char_table, map_char_table): If the range
8423 contains just one character, call the function with that character
8424 even if the depth is not 3.
8425
84262008-02-01 Jason Rumney <jasonr@gnu.org>
8427
8428 * w32font.c (w32font_text_extents): Calculate metrics for the
8429 whole string.
8430
84312008-02-01 Jason Rumney <jasonr@gnu.org>
8432
8433 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8434
84352008-02-01 Jason Rumney <jasonr@gnu.org>
8436
8437 * w32term.c (x_set_glyph_string_clipping): Use
8438 get_glyph_string_clip_rects.
8439 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8440 Adjust for the change of struct glyph_string.
8441
8442 * w32font.c (w32font_draw): Do clipping here.
8443
84442008-02-01 Kenichi Handa <handa@m17n.org>
8445
8446 * xftfont.c (xftfont_draw): Adjust for the change of struct
8447 glyph_string.
8448
8449 * xterm.c (x_set_glyph_string_clipping): Use
8450 get_glyph_string_clip_rects.
8451 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8452 Adjust for the change of struct glyph_string.
8453
8454 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8455 the resulting clip(s}.
8456 (expose_overlaps): Add arg r. Change callers. Set it to
8457 row->clip temporarily.
8458 (expose_window): Redraw rows overlapping the exposed area.
8459
8460 * dispextern.h (struct glyph_row): New member clip.
8461 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8462 clip_height, new member clip, and num_clips.
8463
84642008-02-01 Kenichi Handa <handa@m17n.org>
8465
8466 * data.c (Fchar_or_string_p): Fix docstring.
8467
84682008-02-01 Kenichi Handa <handa@m17n.org>
8469
8470 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8471 create a temporary XftDraw object.
8472
84732008-02-01 Kenichi Handa <handa@m17n.org>
8474
8475 * font.c (Ffontp): Fix docstring.
8476
8477 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8478 strong evidence of ISO-2022.
8479
84802008-02-01 Kenichi Handa <handa@m17n.org>
8481
8482 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8483 SYNTAX_ENTRY_FOLLOW_PARENT.
8484
84852008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8486
8487 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8488 its type.
8489 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8490 Update to the new type of weak_hash_tables and next_weak.
8491
8492 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8493 a plain C pointer to Lisp_Hash_Table.
8494
8495 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8496 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8497 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8498 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8499 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8500 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8501 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8502 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8503 (GC_EQ): Remove since they've been identical to their non-GC_
8504 alter-egos ever since the markbit was eradicated.
8505
8506 * alloc.c:
8507 * buffer.c:
8508 * buffer.h:
8509 * data.c:
8510 * fileio.c:
8511 * filelock.c:
8512 * fns.c:
8513 * frame.h:
8514 * lisp.h:
8515 * macterm.c:
8516 * print.c:
8517 * process.c:
8518 * w32fns.c:
8519 * w32menu.c:
8520 * w32term.c:
8521 * xfns.c:
8522 * xmenu.c:
8523 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8524
85252008-02-01 Kenichi Handa <handa@m17n.org>
8526
8527 * chartab.c (map_sub_char_table): Make it work for the top-level
8528 char-table. Fix handling of parent char-table.
8529 (map_char_table): Adjust for the above change.
8530
85312008-02-01 Jason Rumney <jasonr@gnu.org>
8532
8533 * w32font.c (Qgdi): Rename from Qw32.
8534
85352008-02-01 Jason Rumney <jasonr@gnu.org>
8536
8537 * w32bdf.c (get_quoted_string): Make function static.
8538
85392008-02-01 Kenichi Handa <handa@m17n.org>
8540
8541 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8542 bigger ascent and descent than those of the font, use them as
8543 font's ascent and descent.
8544
85452008-02-01 Kenichi Handa <handa@m17n.org>
8546
8547 * Makefile.in (${lispsource}international/charprop.el): Move this
8548 target within "#ifdef HAVE_UNIDATA" and "#endif".
8549
85502008-02-01 Kenichi Handa <handa@m17n.org>
8551
8552 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8553 (shortlisp): Add ../lisp/language/tai-viet.el.
8554
85552008-02-01 Ulrich Mueller <ulm@gentoo.org>
8556
8557 * Makefile.in (${lispsource}international/charprop.el): Depend on
8558 temacs${EXEEXT}.
8559
85602008-02-01 Jason Rumney <jasonr@gnu.org>
8561
8562 * w32font.c (w32font_close): Delete the GDI font object.
8563
8564 * w32menu.c: Include character.h.
8565
8566 * w32proc.c: Likewise.
8567
8568 * w32select.c: Likewise.
8569
8570 * makefile.w32-in (w32proc.o): Depend on character.h.
8571
85722008-02-01 Jason Rumney <jasonr@gnu.org>
8573
8574 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8575
8576 * w32menu.c (syms_of_w32menu): Likewise.
8577
8578 * w32proc.c (syms_of_ntproc): Likewise.
8579
8580 * w32select.c (syms_of_w32select): Likewise.
8581
8582 * w32term.c (syms_of_w32term): Likewise.
8583
85842008-02-01 Jason Rumney <jasonr@gnu.org>
8585
8586 * w32font.c (w32font_draw): Delete brush after using it.
8587
85882008-02-01 Jason Rumney <jasonr@gnu.org>
8589
8590 * w32font.c (w32font_open): Don't set font_idx.
8591 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8592 to font settings.
8593 (w32font_draw): Fill background explicitly.
8594
85952008-02-01 Jason Rumney <jasonr@gnu.org>
8596
8597 * w32term.c (w32_initialize): Don't call w32font_initialize.
8598
8599 * w32font.c (w32font_info): Remove subranges.
8600 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8601 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8602 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8603 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8604 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8605 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8606 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8607 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8608 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8609 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8610 New symbols.
8611 (font_callback_data): New struct.
8612 (w32font_list, w32font_match): Use it.
8613 (w32font_open): Don't populate subranges.
8614 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8615 (w32font_encode_char): Always return unicode code-point as-is.
8616 (w32font_text_extents): Supply a transformation matrix to
8617 GetGlyphOutline. Never look up by glyph index. Avoid looping
8618 twice. Use unicode version of GetTexExtentPoint32 instead of
8619 glyph index version.
8620 (set_fonts_frame): Remove.
8621 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8622 set frame parameter. Use backward compatible fake foundries.
8623 Save generic family in extra slot under QCfamily. Make width slot
8624 constant. Save QCspacing value. Save list of scripts instead of
8625 binary subranges.
8626 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8627 (add_font_entity_to_list): Use font_callback_data struct. Filter
8628 unwanted fonts.
8629 (add_one_font_entity_to_list): Use font_callback_data struct.
8630 (w32_registry): Default to iso10646_1.
8631 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8632 string font registries. Don't fill in font name if it is a generic
8633 family name, fill family instead. Use spacing, family and script
8634 extra info to fill pitch, family and charset fields.
8635 (list_all_matching_fonts): Use font_callback_data struct.
8636 (unicode_range_for_char): Remove.
8637 (font_supported_scripts): New function.
8638 (w32font_initialize): Remove.
8639 (syms_of_w32font): Update which symbols are defined.
8640
86412008-02-01 Jason Rumney <jasonr@gnu.org>
8642
8643 * font.c (font_pixel_size): Reverse assq_no_quit args.
8644
8645 * w32term.h (FONT_WIDTH): Report max width, not average.
8646 (FONT_MAX_WIDTH): Remove.
8647 (FONT_AVG_WIDTH): New macro.
8648
8649 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8650 redefinition of FONT_WIDTH.
8651
8652 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8653 (w32_cache_char_metrics): Use FONT_WIDTH.
8654
8655 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8656
86572008-02-01 Jason Rumney <jasonr@gnu.org>
8658
8659 * w32font.c (w32font_open): Make lfHeight negative.
8660
8661 * w32fns.c (x_default_font_parameter): Use new style font name.
8662 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8663
86642008-02-01 Jason Rumney <jasonr@gnu.org>
8665
8666 * w32font.c (QCsubranges): New symbol.
8667 (w32font_open, w32font_has_char): Get subranges from subproperty
8668 of extra.
8669 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8670 (syms_of_w32font): Define :subranges symbol.
8671
8672 * font.c (font_put_extra): Expose externally.
8673
8674 * font.h (font_put_extra): Move declaration from font.c.
8675
8676 * font.c (Ffont_get): Use font driver to determine otf capability.
8677 (adjust_anchor): Check if driver defines anchor_point before using.
8678
8679 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8680 (w32font_draw): Use options.
8681 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8682 Fix detection of truetype fonts.
8683 (registry_to_w32_charset): Handle charsets other than iso8859-1
8684 expressed as lisp symbols.
8685 (w32_registry): Express charset as lisp symbol.
8686 (fill_in_logfont): Reverse pixel and point height logic.
8687 Don't set width here. Set quality to default.
8688
8689 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8690 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8691
8692 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8693 Remove redundant loop and allocation.
8694
8695 * makefile.w32-in (font.o, w32font.o): New objects.
8696 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8697 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8698
8699 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8700 STORE_XCHARB a valid l-value.
8701
8702 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8703 calculations for non-Truetype fonts.
8704 (x_draw_glyph_string): Sync with xterm.c.
8705 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8706 Remove redundant code.
8707 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8708
8709 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8710 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8711
8712 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8713 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8714
8715 * w32font.c: New file for w32 font backend.
8716
87172008-02-01 Kenichi Handa <handa@m17n.org>
8718
8719 * term.c: Don't include "buffer.h" twice.
8720
87212008-02-01 Kenichi Handa <handa@m17n.org>
8722
8723 * character.c (Funibyte_string): New function.
8724 (syms_of_character): Defsubr it.
8725
87262008-02-01 Jason Rumney <jasonr@gnu.org>
8727
8728 * w32term.c [USE_FONT_BACKEND]:
8729 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8730 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8731 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8732 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8733 (x_free_frame_resources): Sync with xterm.c.
8734
87352008-02-01 Andreas Schwab <schwab@suse.de>
8736
8737 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8738 char-table size.
8739
87402008-02-01 Kenichi Handa <handa@m17n.org>
8741
8742 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8743
87442008-02-01 Kenichi Handa <handa@m17n.org>
8745
8746 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8747 font_otf_gpos, add font_drive_otf.
8748
8749 * fontset.c (fontset_find_font): Pay attention to font size
8750 specified for a font.
8751 (reorder_font_vector): Check contents of font_def.
8752
8753 * font.c (struct otf_list): Delete it.
8754 (otf_list): Make it a lisp variable.
8755 (otf_open): Use lispy otf_list.
8756 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8757 (check_otf_features): New function.
8758 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8759 New functions.
8760 (font_drive_otf): New function merging font_otf_gsub and
8761 font_otf_gpos.
8762 (font_open_for_lface): New arg spec. Change argument order.
8763 (font_load_for_face): Adjust for the change of font_open_for_lface.
8764 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8765 Ffont_otf_gpos.
8766 (syms_of_font): Staticpro otf_list. Delete defsubr of
8767 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8768
8769 * xfaces.c (set_font_frame_param): Adjust for the change of
8770 font_open_for_lface.
8771
8772 * font.h (font_open_for_lface): Adjust prototype.
8773 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8774 member otf_drive.
8775 (font_otf_gsub, font_otf_gpos): Delete externs.
8776 (font_drive_otf): Extern it.
8777
87782008-02-01 Kenichi Handa <handa@m17n.org>
8779
8780 * font.c (font_at): If the window W is not on a window system,
8781 return Qnil.
8782
8783 * coding.c (produce_chars, encode_coding): Don't call
8784 insert_from_gap if no characters to produce.
8785
87862008-02-01 Kenichi Handa <handa@m17n.org>
8787
8788 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8789 Fclear_face_cache.
8790
8791 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8792
87932008-02-01 Miles Bader <miles@gnu.org>
8794
8795 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8796 Parse "--disable-font-backend" option.
8797 (standard_args): Add "--disable-font-backend" option.
8798
87992008-02-01 Kenichi Handa <handa@m17n.org>
8800
8801 * fontset.c (fontset_find_font): New function.
8802 (fontset_font): Use fontset_find_font.
8803 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8804 Register the specified font for all Latin characters.
8805 (new_fontset_from_font): Register the specified font for all Latin
8806 characters.
8807 (dump_fontset): For a realized fontset, include the base fontset
8808 name in the returned vector.
8809
88102008-02-01 Kenichi Handa <handa@m17n.org>
8811
8812 * character.h (CHAR_STRING): Cast C to unsigned on calling
8813 char_string.
8814
8815 * character.c (char_string): Type of arg C changed to unsigned.
8816 Signal an error if C is an invalid character code.
8817
8818 * editfns.c (general_insert_function, Fchar_to_string):
8819 Use CHARACTERP, not INTEGERP.
8820
88212008-02-01 Kenichi Handa <handa@m17n.org>
8822
8823 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8824 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8825
8826 * regex.c (analyse_first): Fix for multibyte characters in "case
8827 charset:" and "case categoryspec:".
8828
88292008-02-01 Andreas Schwab <schwab@suse.de>
8830
8831 * Makefile.in (LIBES): Move standard libraries to the end.
8832
88332008-02-01 Kenichi Handa <handa@m17n.org>
8834
8835 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8836 nonzero, don't shrink the buffer nextb.
8837
8838 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8839
8840 * coding.c (coding_alloc_by_making_gap): New arg offset.
8841 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8842 offset.
8843 (decode_coding_iso_2022): Update coding->safe_charsets.
8844 (decode_coding_gap): Temporarily set
8845 current_buffer->text->inhibit_shrinking to 1.
8846
88472008-02-01 Kenichi Handa <handa@m17n.org>
8848
8849 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8850 indexing into elements of s->cmp and s->char2b.
8851
88522008-02-01 Juanma Barranquero <lekktu@gmail.com>
8853
8854 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8855
88562008-02-01 Kenichi Handa <handa@m17n.org>
8857
8858 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8859 target_multibyte instead of multibyte.
8860 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8861 (bcmp_translate): Change the argument name from multibyte to
8862 target_multibyte.
8863
88642008-02-01 Kenichi Handa <handa@m17n.org>
8865
8866 These changes are to compile a regexp into a pattern that can be
8867 used both for multibyte and unibyte targets.
8868
8869 * Makefile.in (search.o): Depend on charset.h.
8870
8871 * character.c (multibyte_char_to_unibyte_safe): New function.
8872
8873 * search.c: Include "charset.h".
8874 (compile_pattern_1): Delete argument multibyte. Don't set
8875 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8876 (compile_pattern): Don't compare cp->buf.target_multibyte.
8877 Compare cp->buf.charset_unibyte.
8878 (compile_pattern): Set cp->buf.target_multibyte.
8879
8880 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8881
8882 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8883
8884 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8885 multibyte. Change callers.
8886 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8887 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8888 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8889 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8890 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8891 (regex_compile): Make the compiled pattern usable both for
8892 multibyte and unibyte targets.
8893 (analyse_first): Make the fastmap usable both for multibyte and
8894 unibyte targets.
8895 (TRANSLATE_VIA_MULTIBYTE): Delete.
8896 (re_match_2_internal): Pay attention to the case that the
8897 multibyteness of bufp and target may be different.
8898
88992008-02-01 Kenichi Handa <handa@m17n.org>
8900
8901 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8902 empty box occupy at least one column width.
8903
89042008-02-01 Miles Bader <miles@gnu.org>
8905
8906 * Makefile.in: Remove redundant HAVE_XFT clause.
8907
89082008-02-01 Kenichi Handa <handa@m17n.org>
8909
8910 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8911
89122008-02-01 Kenichi Handa <handa@m17n.org>
8913
8914 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8915 being nil.
8916
89172008-02-01 Kenichi Handa <handa@m17n.org>
8918
8919 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8920
89212008-02-01 Kenichi Handa <handa@m17n.org>
8922
8923 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8924
89252008-02-01 Kenichi Handa <handa@m17n.org>
8926
8927 * search.c (simple_search): Fix previous change.
8928
89292008-02-01 Kenichi Handa <handa@m17n.org>
8930
8931 * xftfont.c (ftfont_font_format): Extern declaration.
8932
8933 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8934
8935 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8936 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8937
8938 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8939 (ftfont_font_format): Fix previous change.
8940
8941 * font.h (Ffont_xlfd_name): EXFUN it.
8942
8943 * font.c (font_parse_xlfd): Fix the array size of `f'.
8944 (register_font_driver): Use EQ to compare driver->type.
8945
8946 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8947 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8948 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8949
89502008-02-01 Kenichi Handa <handa@m17n.org>
8951
8952 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8953 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8954
89552008-02-01 Kenichi Handa <handa@m17n.org>
8956
8957 * xfont.c (xfont_open): Set font->format.
8958
8959 * xftfont.c (xftfont_open): Set font->format.
8960
8961 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8962 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8963 (ftfont_open): Set font->format.
8964 (ftfont_font_format): New function.
8965
8966 * font.h (struct font): New member format.
8967
8968 * font.c (Qopentype): New variable.
8969 (syms_of_font): Defsym it.
8970 (Fquery_font): Change the format of the last element of the return
8971 value.
8972
89732008-02-01 Kenichi Handa <handa@m17n.org>
8974
8975 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8976 last resort.
8977
89782008-02-01 Kenichi Handa <handa@m17n.org>
8979
8980 * coding.c (detect_coding_charset): Fix detection of multi-byte
8981 charset.
8982
89832008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8984
8985 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8986
89872008-02-01 Kenichi Handa <handa@m17n.org>
8988
8989 * xdisp.c (get_next_display_element): Set it->face_id for the
8990 first component of a composition.
8991 (x_produce_glyphs): Check if the font is changed or not for composition.
8992
89932008-02-01 Kenichi Handa <handa@m17n.org>
8994
8995 * fontset.c (Qlatin): New variable.
8996 (syms_of_fontset): Define it as a lisp symbol.
8997 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8998
89992008-02-01 Kenichi Handa <handa@m17n.org>
9000
9001 * font.c (font_unparse_fcname): Pay attention to the case that
9002 some of font property is a null string.
9003
90042008-02-01 Kenichi Handa <handa@m17n.org>
9005
9006 * term.c: Include "composite.h".
9007 (encode_terminal_code): Output all components of composition.
9008 Check the size of encode_terminal_src.
9009 (produce_glyphs): For composition, call produce_composite_glyph.
9010 (append_composite_glyph, produce_composite_glyph): New functions.
9011
9012 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9013 is not found, get font_info from the current ascii face.
9014
90152008-02-01 Kenichi Handa <handa@m17n.org>
9016
9017 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9018 buffer-file-name to Qnil before calling insert_from_buffer.
9019
9020 * font.c (font_unparse_fcname): Pay attention to the case that
9021 foundry is a null string.
9022
90232008-02-01 Kenichi Handa <handa@m17n.org>
9024
9025 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9026
9027 * font.c (Qunicode_sip): New variable.
9028 (syms_of_font): Declare it as a Lisp symbol.
9029
9030 * font.h (Qunicode_sip): Extern it.
9031
90322008-02-01 Kenichi Handa <handa@m17n.org>
9033
9034 * composite.c (get_composition_id): Pay attention to TAB component.
9035
9036 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9037 TAB. Adjust for the change of s->char2b which always points to
9038 the first element of allocated memory.
9039
9040 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9041
9042 * xdisp.c (handle_composition_prop): Set it->c to the first
9043 non-TAB component.
9044 (fill_composite_glyph_string): Change argument.
9045 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9046 (x_produce_glyphs): Fix handling of left/right padding.
9047
90482008-02-01 Kenichi Handa <handa@m17n.org>
9049
9050 * coding.c (detect_coding_system): Fix for handling off
9051 inhibit_iso_escape_detection. Fix for the case that no coding
9052 system is defined for a specific coding category.
9053
90542008-02-01 Kenichi Handa <handa@m17n.org>
9055
9056 * font.c (font_matching_entity): Delete unused local var.
9057
9058 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9059 opening a font.
9060
9061 * fileio.c (Finsert_file_contents): On recovering a file, assume
9062 Unix-like eol.
9063 (choose_write_coding_system): On auto-saving a file, force
9064 Unix-like eol.
9065
9066 * coding.c (setup_coding_system): Fix setting of
9067 coding->common_flags based on eol_type.
9068 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9069 inherit from it.
9070
90712008-02-01 Kenichi Handa <handa@m17n.org>
9072
9073 * alloc.c (NSTATICS): Increas to 0x600.
9074
90752008-02-01 Kenichi Handa <handa@m17n.org>
9076
9077 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9078 (ftfont_list): Don't check :name property.
9079 (ftfont_match): New function.
9080 (ftfont_pattern_entity): If the pattern doesn't contain
9081 FC_SPACING, don't assume FC_MONO.
9082
9083 * font.h (struct font_driver): New member `match'.
9084 (font_update_drivers): Adjust prototype.
9085
9086 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9087 property of FONT.
9088 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9089 them unconditionally.
9090 (font_matching_entity): New function.
9091 (font_open_by_name): Try font_matching_entity if exact match is
9092 not found.
9093 (font_update_drivers): Delete the arg FONT. Return a list of
9094 actually used backends. Don't free faces, font caches here.
9095 Don't store data in frame parameters. Don't call x_set_font.
9096 (Ffont_spec): Store :name property as is.
9097 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9098 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9099 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9100 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9101 Call font->driver->otf_gsub instead of font_otf_gsub.
9102
9103 * frame.c (x_set_font_backend): Do more works that were done in
9104 font_update_drivers before.
9105
9106 * xfont.c (xfont_match): New function.
9107 (xfont_driver): Set xfont_driver.match to xfont_match.
9108 (xfont_draw): Set font in GC if necessary.
9109
9110 * ftxfont.c (ftxfont_match): New function.
9111 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9112
9113 * xftfont.c (xftfont_match): New function.
9114 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9115
91162008-02-01 Kenichi Handa <handa@m17n.org>
9117
9118 * font.h (struct font): New member scalable.
9119 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9120 (font_otf_gsub): Adjust prototype.
9121
9122 * font.c (font_otf_capability): Fix handling of the default langsys.
9123 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9124 Check the contents of SPEC.
9125 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9126 (check_gstring): New function.
9127 (REPLACEMENT_CHARACTER): New macro.
9128 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9129 glyph codes of GSTRING.
9130 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9131 (font_prepare_composition): Set cmp->glyph_len.
9132 (font_open_entity): Set font->scalable.
9133 (Ffont_get): Handle :otf property.
9134 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9135 functions.
9136 (Fquery_font): Use font->font.full_name.
9137 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9138 Sfont_otf_alternates.
9139
9140 * ftfont.c (ftfont_open): Set font->font.full_name and
9141 font->font.name properly. Fix calculation of font->font.height
9142 and font->min_width.
9143
9144 * ftxfont.c (ftxfont_create_gcs): New function.
9145 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9146 (ftxfont_draw_backgrond): Fix filling region.
9147 (ftxfont_default_fid): New function.
9148 (ftxfont_open): Set xfont->fid to the return value of
9149 ftxfont_default_fid.
9150 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9151 (ftxfont_done_face): Free only GCs that are created by
9152 ftxfont_create_gcs.
9153 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9154
9155 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9156 Clip to src->width, etc (not src->clip_XXX).
9157
9158 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9159 FontBackend frame parameter.
9160
91612008-02-01 Kenichi Handa <handa@m17n.org>
9162
9163 * font.h (struct font_driver_list): New member `on'.
9164 (Fclear_font_cache): EXFUN it.
9165 (font_update_drivers): Extern it.
9166
9167 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9168 (font_list_entities): Check driver_list->on.
9169 (register_font_driver): Initalize `on' member to 0.
9170 (font_update_drivers): New function.
9171 (Fclear_font_cache): Check driver_list->on.
9172
9173 * frame.h (Qfont_backend): Extern it.
9174 (x_set_font_backend): Extern it.
9175
9176 * frame.c (Qfont_backend): New variable.
9177 (frame_parms): New element for font-backend.
9178 (x_set_font_backend): New function.
9179
9180 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9181 FontBackend frame parameter.
9182 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9183 x_set_font_backend.
9184
9185 * xfont.c (xfont_list): Don't try listing by :name property if the
9186 name is not for XLFD.
9187
91882008-02-01 Kenichi Handa <handa@m17n.org>
9189
9190 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9191 (LGLYPH_SET_TO): New macros.
9192 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9193 element of G is vector or not.
9194 (font_at): Extern it.
9195
9196 * font.c: Include window.h.
9197 (font_lispy_object): New function.
9198 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9199 end of valid glyph.
9200 (font_close_object): Fix getting (struct font *).
9201 (font_at): New function.
9202 (Ffont_get): If FONT is a font-object, get entity from it.
9203 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9204 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9205 range check.
9206 (Ffont_at): New function.
9207 (syms_of_font): Defsubr Sfont_at.
9208
9209 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9210 before the entry for Qcomposition.
9211 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9212 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9213 the font in gstring.
9214 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9215 LGLYPH_FORM (g) to detect the end of valid glyph.
9216 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9217 we are composing with gstring.
9218
9219 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9220 Check if adjustment is vector or not.
9221
9222 * Makefile.in (font.o): Make it depends on window.h.
9223
92242008-02-01 Kenichi Handa <handa@m17n.org>
9225
9226 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9227 adjustment is vector or not.
9228
92292008-02-01 Miles Bader <miles@gnu.org>
9230
9231 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9232
92332008-02-01 Kenichi Handa <handa@m17n.org>
9234
9235 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9236 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9237 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9238
9239 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9240 (DEVICE_DELTA): Fix typo.
9241 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9242 LGLYPH format.
9243
9244 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9245 the change of LGLYPH format.
9246
92472008-02-01 Kenichi Handa <handa@m17n.org>
9248
9249 * ftfont.c (ftfont_list): Fix typo.
9250 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9251
92522008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9253
9254 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9255
9256 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9257 xftface_info is non-NULL.
9258
92592008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9260
9261 * ftfont.c (ftfont_list): Move misplaced #endif.
9262
92632008-02-01 Kenichi Handa <handa@m17n.org>
9264
9265 * ftfont.c (ftfont_list): Pay attention to the case that
9266 FC_CAPABILITY is not defined.
9267
92682008-02-01 Kenichi Handa <handa@m17n.org>
9269
9270 * xftfont.c (xftfont_open): Set charset related members to -1.
9271
9272 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9273 QCname.
9274 (ftfont_open): Set charset related members to -1.
9275
9276 * fontset.c (Votf_script_alist): New variable.
9277 (syms_of_fontset): Initialize it.
9278 (fontset_font): Delete unused variable.
9279
9280 * fontset.h (Votf_script_alist): Extern it.
9281
9282 * font.c (font_find_for_lface): Optimize code.
9283
9284 * font.h (font_close_object, font_merge_old_spec): Extern them.
9285
92862008-02-01 Kenichi Handa <handa@m17n.org>
9287
9288 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9289 (syms_of_font): Initialize them.
9290 (font_pixel_size): Allow float value in dpi.
9291 (font_prop_validate_type): Delete.
9292 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9293 Change caller.
9294 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9295 (font_prop_validate_extra): Delete.
9296 (font_prop_validate_spacing): New function.
9297 (font_property_table): Add elements for all known properties.
9298 (get_font_prop_index): Rename from check_font_prop_name. New
9299 argument FROM. Change caller.
9300 (font_prop_validate): Validate all known properties.
9301 (font_put_extra): Delete argument force. Change caller.
9302 (font_expand_wildcards): Make it static. Fix the way of shrinking
9303 the possible range.
9304 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9305 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9306 Change caller.
9307 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9308 (font_parse_fcname): Delete argument merge. Fix parsing of point
9309 size. Don't validate properties values here. Change caller.
9310 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9311 (font_open_by_name): Delete unused variable.
9312 (Ffont_spec): Likewise. Validate property values.
9313 (Ffont_match_p): New function.
9314
9315 * font.h (QCscalable): Extern it.
9316 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9317
9318 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9319
9320 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9321 (xfont_list_pattern): New function.
9322 (xfont_list): Use xfont_list_pattern.
9323
93242008-02-01 Kenichi Handa <handa@m17n.org>
9325
9326 * font.h (Flist_fonts): EXFUN it.
9327
93282008-02-01 Jason Rumney <jasonr@gnu.org>
9329
9330 * w32term.c (w32_initialize): Add back smoothing_type and
9331 smoothing_enabled definitions.
9332
93332008-02-01 Kenichi Handa <handa@m17n.org>
9334
9335 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9336 s->face->font on determining underline position.
9337
93382008-02-01 Kenichi Handa <handa@m17n.org>
9339
9340 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9341 (font_has_char): Accept font-object too.
9342 (font_find_for_lface): Try at first with a size specified in face.
9343
93442008-02-01 Kenichi Handa <handa@m17n.org>
9345
9346 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9347 font_open_by_name.
9348
93492008-02-01 Kenichi Handa <handa@m17n.org>
9350
9351 * font.h (QCspacing, QCdpi): Extern them.
9352 (enum font_spacing): New enum.
9353 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9354
9355 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9356 (QCspacing, QCdpi): New variables.
9357 (syms_of_font): Initialize them.
9358 (font_pixel_size): New function.
9359 (font_put_extra): New function.
9360 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9361 in FONT_EXTRA.
9362 (font_parse_fcname): Handle enumerated values (e.g. bold).
9363 Fix handling font size. Add QCname property that contains only
9364 unknown properties.
9365 (font_score): Change argument. Change caller. Pay attention to
9366 FONT_PIXEL_SIZE_QUANTUM.
9367 (font_sort_entites, font_list_entities, font_find_for_lface)
9368 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9369 (Ffont_spec): Add QCname property that contains only unknown properties.
9370
9371 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9372 include weight in listing pattern, instead check weight of each
9373 listed font. Don't include scalable in pattern. Pay attention to
9374 FONT_PIXEL_SIZE_QUANTUM.
9375
93762008-02-01 Kenichi Handa <handa@m17n.org>
9377
9378 * font.c (font_parse_fcname): Fix parsing of point-size.
9379 (font_unparse_fcname): Produce symbolic names for style properties.
9380 (font_list_entities): Handle float size correctly.
9381 (font_open_by_name): Prefer `normal' property values if the name
9382 doesn't specify them.
9383
9384 * fontset.c (Finternal_char_font): Use font_get_name, not
9385 Ffont_xlfd_name.
9386
9387 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9388 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9389 pattern. Don't force scalable.
9390
9391 * xftfont.c (xftfont_open): For generating a name, start from
9392 96-byte buffer.
9393
93942008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9395
9396 * frame.h (x_new_fontset2): Fix prototype.
9397
93982008-02-01 Kenichi Handa <handa@m17n.org>
9399
9400 * font.h (struct font_driver): Delete member parse_name.
9401 (font_match_p, font_get_spec, font_parse_fcname)
9402 (font_unparse_fcname): Extern them.
9403 (font_get_name): Adjust prototype.
9404
9405 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9406 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9407 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9408 unnecessary checks for weight, slant, and swidth.
9409 (font_parse_fcname): New function.
9410 (font_unparse_fcname): New function.
9411 (font_parse_name): New function.
9412 (font_match_p): New function.
9413 (font_get_name): Change return value to Lisp string.
9414 (font_get_spec): New function.
9415 (Qunspecified, Qignore_defface): Don't extern them.
9416 (font_find_for_lface): Assume that LFACE is fully specified.
9417 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9418 object, use it for FACE.
9419 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9420 driver->parse_name.
9421 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9422
9423 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9424 prototype.
9425
9426 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9427 argument F. Don't call Fnew_fontset. Instead, directly call
9428 make_fontset.
9429
9430 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9431
9432 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9433 of x_new_fontset2.
9434
9435 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9436 (Qsans__serif): New variables.
9437 (ftfont_generic_family_list): New variable.
9438 (syms_of_ftfont): Initialize the above variables.
9439 (ftfont_pattern_entity): Delete argument NAME.
9440 (ftfont_list_generic_family): New function.
9441 (ftfont_parse_name): Delete this function.
9442 (ftfont_list): Try generic family only when FcFontList found no font.
9443 (ftfont_list_family): Fix args to FcObjectSetBuild.
9444
9445 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9446 object in attrs[LFACE_FONT_INDEX].
9447 (set_lface_from_font_name): Cancel all changes for font-backend.
9448 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9449 function.
9450 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9451 font object in QCfont attribute.
9452 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9453 (realize_default_face) [USE_FONT_BACKEND]: Call
9454 set_lface_from_font_and_fontset.
9455
9456 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9457 "fixed", and signal error here if no suitable font was found.
9458
9459 * xfont.c (xfont_parse_name): Delete this function.
9460
9461 * xftfont.c (xftfont_open): Change coding style of error
9462 handling. Generate fontconfig's fontname pattern.
9463
9464 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9465 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9466
9467 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9468 Both args FONTSET and FONT_OBJECT must be existing ones.
9469
94702008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9471
9472 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9473
94742008-02-01 Kenichi Handa <handa@m17n.org>
9475
9476 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9477
9478 * font.h (struct font): Fix typo.
9479
9480 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9481 XLFD_XXX_INDEX.
9482 (enum xlfd_field_mask): New enum.
9483 (intern_font_field): Changed argument. Change caller. If digits
9484 are followed by non-digits, return a symbol.
9485 (font_expand_wildcards): New function.
9486 (font_parse_xlfd): Fix wildcard handling.
9487 (Ffont_spec): If :name is specified, reflect the info in the other
9488 properties.
9489
9490 * ftfont.c (ftfont_pattern_entity): Fix typo.
9491 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9492 locale.
9493
94942008-02-01 Kenichi Handa <handa@m17n.org>
9495
9496 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9497
9498 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9499 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9500 registry doesn't specify encoding part.
9501 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9502 (font_open_by_name): At first try parsing the name.
9503 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9504 as Lisp symbols.
9505
9506 * fontset.c (reorder_font_vector): Pay attention to the case that
9507 the 3rd element of font_def is nil.
9508 (fontset_font): For the default fontset, append one more fontset
9509 elements for a script-based font specification. Don't add script
9510 attribute on finding a font.
9511 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9512 font name.
9513 (fontset_ascii_font): If a font can't be opened, return nil.
9514
9515 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9516 (ftfont_pattern_entity): New function.
9517 (ftfont_get_cache): Assume that freetype_font_cache is already
9518 initialized.
9519 (ftfont_list): Handle the case that a file is specified in font
9520 name. Use ftfont_pattern_entity to generate entities.
9521 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9522 (syms_of_ftfont): Initialize freetype_font_cache.
9523
9524 * xftfont.c (xftfont_open): Make the font name fontconfig's
9525 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9526 (xftfont_close): Free font->font.name if not NULL.
9527
9528 * xfont.c (xfont_list): If script is specified for a font, return
9529 null_vector.
9530 (xfont_list_family): Declare argument type.
9531
9532 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9533 name, set LFACE_FONT (lface) to nil.
9534
9535 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9536 return Qnil.
9537
95382008-02-01 Kenichi Handa <handa@m17n.org>
9539
9540 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9541 (standard_args): Add "-enable-font-backend".
9542
95432008-02-01 Kenichi Handa <handa@m17n.org>
9544
9545 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9546 (struct xftdraw_list, xftdraw_list): Delete them.
9547 (register_xftdraw, check_xftdraw): Delete them.
9548 (xftfont_prepare_face): Don't call register_xftdraw.
9549 (xftfont_done_face): Don't call check_xftdraw.
9550 (xftfont_draw): Get background color only when with_background is
9551 nonzero.
9552
9553 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9554
95552008-02-01 Kenichi Handa <handa@m17n.org>
9556
9557 These changes are for the new font handling codes.
9558
9559 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9560 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9561 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9562 (FONTSRC, FONTOBJ): New variables.
9563 (obj): Add $(FONTOBJ).
9564 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9565 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9566 @LIBOTF_LIBS@.
9567 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9568 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9569
9570 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9571
9572 * character.h (Vscript_representative_chars): Extern it.
9573
9574 * character.c (Vscript_representative_chars): New variable.
9575 (syms_of_character): Declare it as a Lisp variable.
9576
9577 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9578 enable_font_backend is nonzero, accept the composition method
9579 COMPOSITION_WITH_GLYPH_STRING.
9580
9581 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9582 enumeration COMPOSITION_WITH_GLYPH_STRING.
9583
9584 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9585 members clip_x, clip_y, clip_width, and clip_height.
9586 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9587
9588 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9589 --enable-font-backend. Call syms_of_font.
9590
9591 * fns.c (assoc_no_quit): New function.
9592
9593 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9594 (face_for_font, new_fontset_from_font)
9595 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9596
9597 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9598 (fontset_font, fontset_ascii, face_for_char)
9599 (make_fontset_for_ascii_face, Ffont_info)
9600 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9601 is nonzero, use font-backend mechanism.
9602 (find_font_encoding): Make it non-static.
9603 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9604 New functions.
9605
9606 * frame.h (struct frame): New members resx and resy.
9607 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9608 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9609
9610 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9611 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9612
9613 * lisp.h (assoc_no_quit): Extern it.
9614
9615 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9616 Through out the file, use FONT_INFO_FROM_FACE instead of
9617 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9618 rif->per_char_metric.
9619 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9620 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9621 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9622 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9623 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9624 nonzero, use font-backend mechanism.
9625 (get_per_char_metric): New function.
9626
9627 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9628 (set_lface_from_font_name)
9629 (set_font_frame_param, free_realized_face)
9630 (prepare_face_for_display, clear_face_gcs)
9631 (Finternal_set_font_selection_order, realize_x_face)
9632 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9633 font-backend mechanism.
9634 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9635 (load_face_font) [USE_FONT_BACKEND]: Abort.
9636 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9637 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9638
9639 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9640 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9641 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9642 nonzero, register all available font drivers. Call
9643 x_default_font_parameter for deciding a font.
9644 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9645
9646 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9647 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9648 (x_set_glyph_string_clipping_exactly)
9649 (x_compute_glyph_string_overhangs)
9650 (x_draw_glyph_string_foreground)
9651 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9652 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9653 enable_font_backend is nonzero, use font-backend mechanism.
9654 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9655
96562008-02-01 Kenichi Handa <handa@m17n.org>
9657
9658 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9659 system_eol_type.
9660 (syms_of_coding): Initialize system_eol_type.
9661
9662 * process.c (Fset_process_coding_system): Inherit system's eol
9663 format if necessary.
9664
96652008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9666
9667 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9668
96692008-02-01 Kenichi Handa <handa@m17n.org>
9670
9671 * coding.c (decode_eol): Pay attention to buffer relocation in
9672 del_range_2.
9673 (decode_coding): Call decode_eol before restoring undo_list.
9674
96752008-02-01 Kenichi Handa <handa@m17n.org>
9676
9677 * charset.c (Fdefine_charset_internal): Fix setting of
9678 emacs_mule_bytes.
9679
96802008-02-01 Kenichi Handa <handa@m17n.org>
9681
9682 * keyboard.c (read_char): Check if C is a character or not before
9683 looking up Vkeyboard_translate_table.
9684
96852008-02-01 Kenichi Handa <handa@m17n.org>
9686
9687 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9688 condition to terminate the loop.
9689
96902008-02-01 Kenichi Handa <handa@m17n.org>
9691
9692 * coding.c (produce_composition): Compare charbuf[i] instead of
9693 args[i] against 0.
9694 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9695
96962008-02-01 Kenichi Handa <handa@m17n.org>
9697
9698 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9699 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9700 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9701 detect_coding.
9702 (emacs_mule_char): Handle old style (Emacs 20) component character
9703 of a composition.
9704 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9705 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9706 composition rule.
9707 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9708
97092008-02-01 Kenichi Handa <handa@m17n.org>
9710
9711 * coding.c (encode_coding_ccl): Allocate destination dynamically
9712 when necessary.
9713
97142008-02-01 Kenichi Handa <handa@m17n.org>
9715
9716 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9717 the loop. When quitted, show a proper error message.
9718
97192008-02-01 Kenichi Handa <handa@m17n.org>
9720
9721 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9722 src->clip_head and src->clip_tail temporarily instead of src->hl.
9723
9724 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9725 character sequence.
9726 (Fccl_execute_on_string): Use ASET, not XSET.
9727
97282008-02-01 Kenichi Handa <handa@m17n.org>
9729
9730 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9731
97322008-02-01 Kenichi Handa <handa@m17n.org>
9733
9734 * coding.c (decode_coding): Fix the condition of terminating the
9735 decoding loop.
9736
97372008-02-01 Kenichi Handa <handa@m17n.org>
9738
9739 * data.c (Faset): On setting a character bigger than 255 in a
9740 unibyte string, signal an error instead of make the string multibyte.
9741
97422008-02-01 Kenichi Handa <handa@m17n.org>
9743
9744 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9745 made by a mapping table.
9746
97472008-02-01 Kenichi Handa <handa@m17n.org>
9748
9749 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9750 not.
9751 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9752 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9753
9754 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9755 s->face is NULL or not.
9756
97572008-02-01 Kenichi Handa <handa@m17n.org>
9758
9759 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9760 (x_draw_glyph_string): Fix drawing of right_overhang and
9761 left_overhang around/on cursor.
9762
9763 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9764
97652008-02-01 Kenichi Handa <handa@m17n.org>
9766
9767 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9768
97692008-02-01 Kenichi Handa <handa@m17n.org>
9770
9771 * coding.c (Fdefine_coding_system_internal)
9772 (Fdefine_coding_system_alias): Avoid a duplicated element in
9773 Vcoding_system_alist.
9774
97752008-02-01 Kenichi Handa <handa@m17n.org>
9776
9777 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9778
9779 * coding.c (Qcoding_system_define_form): New variable.
9780 (syms_of_coding): Intern and staticpro it.
9781 (Fcoding_system_p): Check Qcoding_system_define_form.
9782 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9783
9784 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9785 Fcoding_system_p.
9786 (CHECK_CODING_SYSTEM): If ID is not available, call
9787 Fcheck_coding_system.
9788 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9789 Try also Fcheck_coding_system.
9790
97912008-02-01 Kenichi Handa <handa@m17n.org>
9792
9793 * coding.c (code_conversion_restore): GCPRO arg.
9794
97952008-02-01 Kenichi Handa <handa@m17n.org>
9796
9797 * character.c (lisp_string_width): Check multibyteness of STRING.
9798
97992008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9800
9801 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9802 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9803 (decode_mac_font_name): Use decode_coding_c_string instead of
9804 decode_coding.
9805 (x_load_font): Initialize fontp->fontset to -1. Set
9806 fontp->encoding_type.
9807
98082008-02-01 Kenichi Handa <handa@m17n.org>
9809
9810 * search.c (search_buffer): Give up BM search on case-fold-search
9811 if one of a target character has a case-equivalence of different
9812 byte length even if that target charcter is an ASCII.
9813 (simple_search): Fix calculation of byte length of matched text.
9814 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9815
98162008-02-01 Kenichi Handa <handa@m17n.org>
9817
9818 * coding.c (decode_coding): Fix handling of invalid bytes.
9819
98202008-02-01 Kenichi Handa <handa@m17n.org>
9821
9822 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9823 Unicode characters.
9824
98252008-02-01 Kenichi Handa <handa@m17n.org>
9826
9827 * coding.c (encode_coding_object): If a pre-write-conversion
9828 function makes a new buffer, kill it.
9829
98302008-02-01 Kenichi Handa <handa@m17n.org>
9831
9832 * coding.c (QCascii_compatible_p): New variable.
9833 (syms_of_coding): Initialize it.
9834 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9835 calling string_char.
9836 (record_conversion_result): Add `default:' case.
9837 (coding_charset_list): Delete unused variable `coding_type'.
9838 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9839 property in the plist of the coding system.
9840 (Fcoding_system_put): Check QCascii_compatible_p.
9841
98422008-02-01 Miles Bader <miles@gnu.org>
9843
9844 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9845 removed calculation of frame `f', as it's now used.
9846
98472008-02-01 Kenichi Handa <handa@m17n.org>
9848
9849 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9850 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9851 (UNIDATA): New variable.
9852 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9853 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9854 $(RUN_TEMACS) unconditionally.
9855
98562008-02-01 Kenichi Handa <handa@m17n.org>
9857
9858 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9859 (admindir): New variable.
9860 ($(lispsource)international/charprop.el): New target.
9861
98622008-02-01 Miles Bader <miles@gnu.org>
9863
9864 * character.c (chars-in-region): Remove obsolete function.
9865 (syms_of_character): Remove its initialization.
9866
98672008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9868
9869 * w32select.c (validate_coding_system)
9870 (setup_windows_coding_system): New functions.
9871 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9872 setup_windows_coding_system.
9873 (setup_config, Fw32_get_clipboard_data): Use
9874 validate_coding_system.
9875 (Fx_selection_exists): Move call to setup_config to a place
9876 where signals are allowed.
9877
9878 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9879 (Fcheck_coding_system): Add declarations.
9880
98812008-02-01 Kenichi Handa <handa@m17n.org>
9882
9883 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9884
98852008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9886
9887 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9888 string as the second argument for x_new_fontset.
9889
98902008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9893 (encode_coding_object): Use safe_call instead of call2.
9894
98952008-02-01 Kenichi Handa <handa@m17n.org>
9896
9897 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9898
9899 * Makefile.in (lisp): Include charprop.el.
9900
99012008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9902
9903 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9904 Not sure if it's unnecessary.
9905
99062008-02-01 Steven Tamm <steventamm@mac.com>
9907
9908 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9909 some possibly unnecessary fontset checking code that crashed
9910 when creating a new frame.
9911
99122008-02-01 Kenichi Handa <handa@m17n.org>
9913
9914 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9915 lookup_face.
9916
9917 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9918
9919 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9920
99212008-02-01 Kenichi Handa <handa@m17n.org>
9922
9923 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9924 (coding_charset_list): New function.
9925
9926 * coding.h (coding_charset_list): Extern it.
9927
99282008-02-01 Kenichi Handa <handa@m17n.org>
9929
9930 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9931 concatenation of family and registry.
9932
99332008-02-01 Kenichi Handa <handa@m17n.org>
9934
9935 * character.h (BYTE8_STRING): Fix typo.
9936
9937 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9938 string to multibyte (sync to HEAD).
9939
9940 * casefiddle.c (casify_region): Handle changes in byte-length
9941 using replace_range_2 (sync to HEAD).
9942
99432008-02-01 Andreas Schwab <schwab@suse.de>
9944
9945 * chartab.c (map_char_table): GCPRO table and arg.
9946
99472008-02-01 Kenichi Handa <handa@m17n.org>
9948
9949 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9950 already at limit.
9951
99522008-02-01 Kenichi Handa <handa@m17n.org>
9953
9954 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9955 instead of fast_c_string_match_ignore_case.
9956 (find_font_encoding): Change argument to Lisp_Object. Use
9957 fast_string_match_ignore_case instead of
9958 fast_c_string_match_ignore_case. Change caller.
9959
99602008-02-01 Kenichi Handa <handa@m17n.org>
9961
9962 * xdisp.c (get_next_display_element): In unibyte case, decide to
9963 display in octal form by checking a character by
9964 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9965
9966 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9967
9968 * character.c (unibyte_has_multibyte_table): New variable.
9969
9970 * character.h (unibyte_has_multibyte_table): Extern it.
9971 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9972
99732008-02-01 Kenichi Handa <handa@m17n.org>
9974
9975 * coding.c (encode_coding_iso_2022): Fix handling of charset
9976 annotation.
9977
99782008-02-01 Kenichi Handa <handa@m17n.org>
9979
9980 * coding.c (setup_coding_system): If coding_system is nil, use
9981 Qundecided.
9982 (Fterminal_coding_system): Return nil if terminal coding system is
9983 `undecided'.
9984 (syms_of_coding): Define coding-system `undecided' here. Setup
9985 terminal_coding as `undecided'.
9986
99872008-02-01 Kenichi Handa <handa@m17n.org>
9988
9989 * xdisp.c (message_dolog, set_message_1): Call
9990 unibyte_char_to_multibyte with arg type int.
9991
9992 * lread.c (read1): Fix reading of a char-table.
9993
9994 * print.c (print_object): Include sub char-table in circularities
9995 detection.
9996
99972008-02-01 Kenichi Handa <handa@m17n.org>
9998
9999 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10000 Append the found sequences in car of ARGS instead of prepending.
10001
100022008-02-01 Kenichi Handa <handa@m17n.org>
10003
10004 * fileio.c (report_file_error): Make a unibyte string from
10005 strerror (errorno).
10006 (Fsubstitute_in_file_name): Fix the arg to
10007 unibyte_char_to_multibyte. It is evaluated twice.
10008
100092008-02-01 Kenichi Handa <handa@m17n.org>
10010
10011 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10012
100132008-02-01 Kenichi Handa <handa@m17n.org>
10014
10015 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10016 BOM is not found.
10017 (detect_coding, detect_coding_system): Optimization for ISO-2022
10018 when no 8-bit data is found.
10019
100202008-02-01 Jason Rumney <jasonr@gnu.org>
10021
10022 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10023
100242008-02-01 Kenichi Handa <handa@m17n.org>
10025
10026 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10027 CHARS.
10028
100292008-02-01 Steven Tamm <steventamm@mac.com>
10030
10031 * macterm.c (mac_encode_char): Add charset argument and update
10032 to use encoding_type.
10033 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10034 switch to pure fontset.
10035 (decode_mac_font_name): Temporarily remove decoding.
10036 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10037 (x_load_font): Temporarily remove encoding.
10038
100392008-02-01 Kenichi Handa <handa@m17n.org>
10040
10041 * xfaces.c (Fface_font): If frame is not on a window system,
10042 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10043 refer to face->font.
10044 (split_font_name_into_vector, build_font_name_from_vector)
10045 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10046 when HAVE_WINDOW_SYSTEM is defined.
10047
100482008-02-01 Kenichi Handa <handa@m17n.org>
10049
10050 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10051 (x_produce_glyphs): Fix setting of members of cmp in case
10052 cmp->glyph_len is zero.
10053
10054 * fontset.c (Fset_fontset_font): Fix docstring.
10055 (Ffontset_info): Make it backward compatible. New arg ALL.
10056
100572008-02-01 Kim F. Storm <storm@cua.dk>
10058
10059 * process.c (read_process_output): Grow decoding_buf when needed;
10060 this could cause a crash in allocate_string and compact_small_strings.
10061
100622008-02-01 Kenichi Handa <handa@m17n.org>
10063
10064 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10065
100662008-02-01 Kenichi Handa <handa@m17n.org>
10067
10068 * coding.c (setup_coding_system): Set coding->common_flags
10069 correctly for raw-text.
10070 (consume_chars): On encoding unibyte text by raw-text, don't check
10071 multibyte form.
10072 (encode_coding): On encoding by raw-text, never use translation tables.
10073
10074 * fileio.c (e_write): Short cut for the case of no encoding.
10075
100762008-02-01 Kenichi Handa <handa@m17n.org>
10077
10078 * coding.c (detect_coding, detect_coding_system): Delete unused
10079 variables.
10080
100812008-02-01 Kenichi Handa <handa@m17n.org>
10082
10083 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10084 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10085
100862008-02-01 Kenichi Handa <handa@m17n.org>
10087
10088 * coding.c (Ffind_coding_systems_region_internal): Include
10089 raw-text and no-conversion in the result.
10090
100912008-02-01 Kenichi Handa <handa@m17n.org>
10092
10093 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10094 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10095 FONT_DEF.
10096 (font_def_arg, add_arg, from_arg, to_arg): New args.
10097 (set_fontset_font): Change argument.
10098 (Fset_fontset_font): Fix for the case that TARGET is a script
10099 name and charset name.
10100 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10101
101022008-02-01 Kenichi Handa <handa@m17n.org>
10103
10104 * fontset.c (fontset_font): Rename from fontset_face. Change return
10105 value.
10106 (face_suitable_for_char_p, face_for_char): Adjust for the change
10107 of fontset_font.
10108 (make_fontset_for_ascii_face): Fix setting of the fontset element
10109 for ASCII.
10110 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10111 to get a font name.
10112 (Ffontset_info): Adjust for the change of fontset_font.
10113
10114 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10115
10116 * character.h (LEADING_CODE_LATIN_1_MIN)
10117 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10118
101192008-02-01 Kenichi Handa <handa@m17n.org>
10120
10121 * editfns.c (check_translation): New function.
10122 (Ftranslate_region_internal): Handle M:N mapping.
10123
101242008-02-01 Kenichi Handa <handa@m17n.org>
10125
10126 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10127
101282008-02-01 Kenichi Handa <handa@m17n.org>
10129
10130 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10131 goto invalid_code.
10132 (decode_coding_iso_2022): Fix handling of invalid designation.
10133
10134 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10135 after calling code_conversion_save.
10136
101372008-02-01 Kenichi Handa <handa@m17n.org>
10138
10139 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10140
10141 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10142
10143 * fontset.c: Include "intervals.h".
10144 (fontset_face): Fix comparing of Lisp_Objects.
10145 (free_face_fontset, new_fontset_from_font_name): Fix
10146 Lisp_Object/int mixup.
10147
10148 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10149
10150 * coding.c: Add many prototypes for static functions.
10151 (get_translation_table): Allow max_lookup to be NULL.
10152 (decode_coding, Ffind_coding_systems_region_internal)
10153 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10154 get_translation_table with max_lookup NULL.
10155
101562008-02-01 Kenichi Handa <handa@m17n.org>
10157
10158 * coding.c (get_translation_table): Declare it as Lisp_Object.
10159 (LOOKUP_TRANSLATION_TABLE): New macro.
10160 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10161 instead of CHAR_TABLE_REF.
10162
101632008-02-01 Kenichi Handa <handa@m17n.org>
10164
10165 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10166 annotation data format.
10167 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10168 Change arguments FROM and TO to single argument NCHARS. Change caller.
10169 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10170 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10171 (decode_coding_ccl, decode_coding_charset): Pay attention to
10172 coding->charbuf_used.
10173 (get_translation): New function.
10174 (produce_chars): New arguments translation_table and last_block.
10175 Translate characters here. Return number of carryover chars.
10176 Change caller.
10177 (produce_composition): New argument pos. Change caller.
10178 Adjust for the change of annotation data format.
10179 (produce_charset, produce_annotation): Likewise.
10180 (decode_coding, encode_coding): Don't call translate_chars.
10181 (consume_chars): New arg translation_table. Change caller.
10182 (translate_chars): Delete.
10183 (syms_of_coding): Make translation-table's number of extra slots 2.
10184
101852008-02-01 Kenichi Handa <handa@m17n.org>
10186
10187 * search.c (simple_search): Fix setting this_pos_byte in backward
10188 search.
10189
10190 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10191 byte sequence.
10192 (detect_coding_ccl): Fix setting of the variable valids.
10193
101942008-02-01 Kenichi Handa <handa@m17n.org>
10195
10196 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10197
10198 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10199
10200 * editfns.c (Ftranslate_region_internal): Rename from
10201 Ftranslate_region. Accept a char-table in TABLE.
10202 (syms_of_editfns): Defsubr Stranslate_region_internal.
10203
10204 * xfaces.c (set_lface_from_font_name): If a font is specified for
10205 a frame, generate a fontset from the font.
10206 (build_scalable_font_name): If the scalable font is requested for
10207 a specific size, don't change that size.
10208 (try_font_list): Try a scalable font also in the case that a
10209 pattern string is specified.
10210
102112008-02-01 Kenichi Handa <handa@m17n.org>
10212
10213 * xfaces.c (Fface_font): New optional arg CHARACTER.
10214
102152008-02-01 Kenichi Handa <handa@m17n.org>
10216
10217 * charset.h (CHARSET_OFFSET): New macro.
10218
102192008-02-01 Kenichi Handa <handa@m17n.org>
10220
10221 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10222
10223 * fontset.c (fontset_face): Handle the case that repertory is a
10224 char-table.
10225 (find_font_encoding): Return nil for unknown encoding.
10226 (Fset_fontset_font): Ignore a font of unknown encoding.
10227
102282008-02-01 Kenichi Handa <handa@m17n.org>
10229
10230 * keymap.c (describe_vector): Handle default value of a char table.
10231
10232 * fontset.c (fontset_face): Handle fallback fonts correctly.
10233 (Ffontset_info): Return infomation about fallback fonts.
10234
102352008-02-01 Kenichi Handa <handa@m17n.org>
10236
10237 * fontset.c (FONTSET_DEFAULT): New macro.
10238 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10239 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10240 the case that it is nil.
10241 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10242 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10243
10244 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10245 subset or superset.
10246
102472008-02-01 Kenichi Handa <handa@m17n.org>
10248
10249 * emacs.c (main): Call init_charset after syms_of_XXX.
10250
10251 * charset.c (Vcharset_map_directory): Delete.
10252 (Vcharset_map_path): New variable.
10253 (load_charset_map_from_file): Use Vcharset_map_path instead.
10254 (init_charset): Initialize Vcharset_map_path.
10255 (syms_of_charset): Delete declaration of "charset-map-directory",
10256 add declaration of "charset-map-path".
10257
102582008-02-01 Kenichi Handa <handa@m17n.org>
10259
10260 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10261 ASCII only string.
10262
10263 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10264
10265 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10266 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10267
102682008-02-01 Kenichi Handa <handa@m17n.org>
10269
10270 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10271
10272 * coding.c (QCmnemonic, QCdefalut_char)
10273 (QCdecode_translation_table, QCencode_translation_table)
10274 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10275 (get_translation_table): Return a list of translation tables if
10276 necessary.
10277 (decode_coding): Call get_translation_table with ENCODEP 0.
10278 (char_encodable_p): If translation_table is non-nil, always call
10279 translate_char.
10280 (Fdefine_coding_system_internal): Accept list of translation
10281 tables as :encode-translation-table and :decode-translation-table.
10282 (Fcoding_system_put): New function.
10283 (syms_of_coding): Declare new symbols. Defsubr
10284 Scoding_system_put.
10285 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10286 typically JISX0212.
10287
10288 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10289 when the charset is superset type.
10290
10291 * character.c (translate_char): Accept list of translation tables.
10292
102932008-02-01 Kenichi Handa <handa@m17n.org>
10294
10295 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10296 (CODING_ATTR_TRANS_TBL): New macro.
10297
10298 * coding.c (get_translation_table): New function.
10299 (translate_chars): Fix the bug of skipping annotation data.
10300 (decode_coding, encode_coding): Utilize get_translation_table.
10301 (char_encodable_p, Funencodable_char_position): Translate char if
10302 necessary.
10303 (Ffind_coding_systems_region_internal)
10304 (Fcheck_coding_systems_region): Setup translation table for encode
10305 in a coding system attribute vector in advance.
10306 (Fdefine_coding_system_internal): Allow a symbol as translation
10307 table. For shift-jis type coding system, allow 4th charset.
10308
103092008-02-01 Kenichi Handa <handa@m17n.org>
10310
10311 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10312
10313 * xdisp.c (get_next_display_element): Pass -1 as POS to
10314 FACE_FOR_CHAR if displaying a C-string.
10315
103162008-02-01 Kenichi Handa <handa@m17n.org>
10317
10318 * composite.c (get_composition_id): Handle xoff and yoff in a
10319 composition rule.
10320
10321 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10322 (struct composition): New member lbearing and rbearing.
10323
10324 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10325 (x_get_glyph_overhangs): Handle a composition glyph.
10326 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10327
10328 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10329 composition glyph.
10330
103312008-02-01 Kenichi Handa <handa@m17n.org>
10332
10333 * print.c: Include charset.h.
10334 (Vprint_charset_text_property): New variable.
10335 (Qdefault): Extern it.
10336 (PRINT_STRING_NON_CHARSET_FOUND)
10337 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10338 (print_check_string_result): New variable.
10339 (print_check_string_charset_prop): New function.
10340 (print_prune_charset_plist): New variable.
10341 (print_prune_string_charset): New function.
10342 (print_object): Call print_prune_string_charset if
10343 Vprint_charset_text_property is not t.
10344 (print_interval): Print nothing if interval->plist is nil.
10345 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10346 variable. Init and staticpro print_prune_charset_plist.
10347
103482008-02-01 Kenichi Handa <handa@m17n.org>
10349
10350 * fontset.c (new_fontset_from_font_name): Use the specified font
10351 for all characters in the new fontset.
10352
10353 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10354 OBJECT args.
10355
10356 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10357 OBJECT args for composition too.
10358
10359 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10360 OBJECT args.
10361
103622008-02-01 Kenichi Handa <handa@m17n.org>
10363
10364 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10365
10366 * fontset.c (reorder_font_vector): Adjust for the change of
10367 FONT_DEF format.
10368 (fontset_face): New arg id. Change caller.
10369 (face_for_char): New args pos and object.
10370 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10371 (fs_query_fontset): Check NAME by Fassoc too.
10372 (Fset_fontset_font): Allow non-XLFD font name.
10373 (Ffontset_info): Adjust for the change of FONT_DEF format.
10374
10375 * fontset.h (face_for_char): Adjust prototype.
10376
10377 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10378 (append_space, extend_face_to_end_of_line)
10379 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10380 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10381
10382 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10383 POS and OBJECT args.
10384
10385 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10386 POS and OBJECT args.
10387
103882008-02-01 Jason Rumney <jasonr@gnu.org>
10389
10390 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10391 of GlobalAlloc'ed memory.
10392
103932008-02-01 Kenichi Handa <handa@m17n.org>
10394
10395 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10396
10397 * charset.h (charset_table_used): Delete extern.
10398
10399 * charset.c (charset_table_used): Make it static.
10400 (map_charset_chars): Fix args to c_function with.
10401
10402 * chartab.c (map_sub_char_table_for_charset): Fix args to
10403 c_function with.
10404
10405 * coding.h (enum coding_result_code): Delete
10406 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10407
10408 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10409 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10410 (Vlast_code_conversion_error): New variables.
10411 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10412 (ONE_MORE_BYTE): Record error if any instead of signaling an
10413 error. If non-ASCII multibyte char is found, return the negative
10414 value of the code. All callers changed to check it.
10415 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10416 (record_conversion_result): New function. Change all codes setting
10417 coding->result to call this function.
10418 (detect_coding_utf_8, decode_coding_utf_8)
10419 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10420 Don't use the local variable incomplete.
10421 (emacs_mule_char): Change the second arg to `const'.
10422 (decode_coding): Fix of flushing out unprocessed data.
10423 (make_conversion_work_buffer): Fix making of a work buffer.
10424 (decode_coding_object): Return coding->dst_object.
10425
10426 * fontset.c (set_fontset_font): Fix args.
10427
10428 * lisp.h (CHARACTERBITS): Define as 22.
10429
10430 * process.c (send_process): Be sure to set coding->src_multibyte.
10431
10432 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10433
104342008-02-01 Kenichi Handa <handa@m17n.org>
10435
10436 * xdisp.c (handle_auto_composed_prop): Give limit to
10437 Fnext_single_char_property_change.
10438
104392008-02-01 Kenichi Handa <handa@m17n.org>
10440
10441 * composite.c (syms_of_composite): Don't make the composition hash
10442 table weak.
10443
10444 * fontset.c (Fset_fontset_font): Fix docstring.
10445
10446 * lisp.h (detect_coding_system): Adjust prototype.
10447
10448 * fileio.c (kill_workbuf_unwind): Delete this function.
10449 (Finsert_file_contents): Adjust the call of detect_coding_system.
10450 Get conversion_buffer by code_conversion_save. Use the macro
10451 CODING_MAY_REQUIRE_DECODING. After decoding, update
10452 coding_system.
10453
10454 * coding.h (make_conversion_work_buffer): Delete extern.
10455 (code_conversion_save): Extern it.
10456
10457 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10458 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10459 (decode_coding_utf_8): Don't do eol converion.
10460 (detect_coding_utf_16): Check coding->src_chars, not
10461 coding->src_bytes. Add heuristics for those that have no signature.
10462 (decode_coding_emacs_mule, decode_coding_iso_2022)
10463 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10464 Don't do eol converion.
10465 (adjust_coding_eol_type): Return a new coding system.
10466 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10467 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10468 each change.
10469 (decode_coding): Pay attention to undo_list. Do eol conversion for
10470 all types of coding-systems (if necessary).
10471 (Vcode_conversion_work_buf_list): Delete it.
10472 (Vcode_conversion_reused_workbuf): Rename from
10473 Vcode_conversion_reused_work_buf.
10474 (Vcode_conversion_workbuf_name): New variable.
10475 (reused_workbuf_in_use): New variable.
10476 (make_conversion_work_buffer): Delete the arg DEPTH.
10477 (code_conversion_restore): Change argument to cons.
10478 (code_conversion_save): Delete the argument BUFFER. Change callers.
10479 (detect_coding_system): New argument src_chars. Change callers.
10480 Fix for utf-16 detection.
10481 (init_coding_once): Don't use ISO_carriage_return.
10482 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10483 reused_workbuf_in_use.
10484
104852008-02-01 Kenichi Handa <handa@m17n.org>
10486
10487 * keymap.c (store_in_keymap): Pay attention to the case that idx
10488 is a cons specifying a character range.
10489
104902008-02-01 Kenichi Handa <handa@m17n.org>
10491
10492 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10493 HANDLED_RECOMPUTE_PROPS.
10494
10495 * coding.c (Fdefine_coding_system_internal): Fix checking of
10496 ascii compatibility.
10497
104982008-02-01 Kenichi Handa <handa@m17n.org>
10499
10500 * charset.c (find_charsets_in_text): Delete unused locale variable.
10501 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10502
10503 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10504 Resync charset_list to Vemacs_mule_charset_list.
10505
10506 * keymap.c (store_in_keymap): Pay attention to the case that idx
10507 is a cons specifying a character range.
10508
105092008-02-01 Kenichi Handa <handa@m17n.org>
10510
10511 * composite.c (update_compositions): Bind inhibit-read-only, etc
10512 to t before calling remove-list-of-text-properties.
10513
10514 * print.c (print_object): Always print ASCII chars as is.
10515
105162008-02-01 Kenichi Handa <handa@m17n.org>
10517
10518 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10519
10520 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10521 is a char table.
10522
105232008-02-01 Kenichi Handa <handa@m17n.org>
10524
10525 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10526
105272008-02-01 Kenichi Handa <handa@m17n.org>
10528
10529 * xfaces.c (set_lface_from_font_name): Fix for the case that
10530 FONTNAME is not fontset name.
10531
105322008-02-01 Kenichi Handa <handa@m17n.org>
10533
10534 * fns.c (base64_encode_1): Fix previous change.
10535
105362008-02-01 Kenichi Handa <handa@m17n.org>
10537
10538 * fontset.c (set_fontset_font): New function.
10539 (Fset_fontset_font): If a font is specified for a charset, use
10540 map_charset_chars to store the font spec in a fontset.
10541
105422008-02-01 Kenichi Handa <handa@m17n.org>
10543
10544 * fontset.c (fontset_face): Create a fallback fontset on demand.
10545 (make_fontset): Don't create a fallback fontset here.
10546 (free_face_fontset): Free a fallback fontset (if any) too.
10547 (n_auto_fontsets): Delete this variable.
10548 (auto_fontset_alist): New variable.
10549 (new_fontset_from_font_name): Check auto_fontset_alist.
10550 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10551 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10552 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10553 Defsubr Sfontset_list_all.
10554
105552008-02-01 Kenichi Handa <handa@m17n.org>
10556
10557 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10558
105592008-02-01 Kenichi Handa <handa@m17n.org>
10560
10561 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10562
105632008-02-01 Kenichi Handa <handa@m17n.org>
10564
10565 * editfns.c (Fgoto_char): Fix docstring.
10566
105672008-02-01 Kenichi Handa <handa@m17n.org>
10568
10569 * insdel.c (insert_from_gap): Adjust intervals correctly.
10570
105712008-02-01 Jason Rumney <jasonr@gnu.org>
10572
10573 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10574 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10575 (w32_initialize): Try to load it.
10576 (x_get_font_repertory): Use it if available.
10577 (w32_encode_char): Add shortcut for unicode output.
10578
10579 * w32fns.c (w32_load_system_font): Default charset to -1.
10580 (x_to_w32_charset): Match all fonts for unicode.
10581 (w32_to_x_charset): New parameter matching. Don't return partial
10582 or wildcard charsets.
10583 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10584 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10585 (w32_to_x_font): Match charset to real charset.
10586 (enum_font_cb2): Always list unicode versions.
10587
10588 * makefile.w32-in (temacs): Increase EMHEAP.
10589
105902008-02-01 Jason Rumney <jasonr@gnu.org>
10591
10592 * w32term.c (w32_encode_char): New charset parameter.
10593 font_info.encoding becomes encoding_type.
10594 (x_get_font_repertory): New function. Warning: stub only!
10595 (x_new_font): Return quickly if font already set.
10596 (x_new_fontset): fontsetname parameter is Lisp_Object.
10597 Use new fs_query_fontset. Try new_fontset_from_font_name.
10598 Use fontset_name for return value.
10599
10600 * w32term.h: Declare x_get_font_repertory.
10601
10602 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10603 place of find_charset_in_text. Use encode_coding_object in place
10604 of encode_coding.
10605 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10606 decode_coding.
10607
10608 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10609 of x_new_fontset.
10610 (w32_load_system_font): Initialize charset as unicode.
10611 font_info.encoding becomes encoding_type.
10612 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10613 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10614 (syms_of_w32fns): Set get_font_repertory_func.
10615
10616 * w32console.c: Include character.h. Use terminal_encode_buffer
10617 from term.c.
10618 (write_glyphs): Use new version of encode_terminal_code. Use
10619 encode_coding_object in place of encode_coding.
10620
10621 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10622 encoding becomes encoding_type.
10623
10624 * term.c (terminal_encode_buffer): Make externally visible.
10625
10626 * makefile.w32-in: Add character.h dependancies.
10627 (character.o, chartab.o): New targets.
10628
106292008-02-01 Kenichi Handa <handa@m17n.org>
10630
10631 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10632 CODING_ID_EOL_TYPE.
10633
106342008-02-01 Andreas Schwab <schwab@suse.de>
10635
10636 * coding.c (produce_chars): Revert last change.
10637
106382008-02-01 Kenichi Handa <handa@m17n.org>
10639
10640 * charset.h (charset_unicode): Extern it.
10641
10642 * charset.c (string_xstring_p): Check by (C >= 0x100).
10643 (find_charsets_in_text): Change format of the arc CHARSETS. New
10644 arg MULTIBYTE.
10645 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10646 change of find_charsets_in_text.
10647 (Fsplit_char): Fix doc. Never return unknown.
10648
10649 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10650
10651 * coding.c (Fdefine_coding_system_alias): Update
10652 Vcoding_system_list.
10653
10654 * fontset.c (load_font_get_repertory): Pay attention to the case
10655 that ENCODING of a font is specified by a char-table.
10656
10657 * xterm.c (x_get_font_repertory): Handle the case that the
10658 encoding of font is other than Unicode.
10659
106602008-02-01 Kenichi Handa <handa@m17n.org>
10661
10662 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10663 if a character is encodable by the terminal coding system. If
10664 not, produces proper number of `?'s. Update
10665 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10666 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10667
106682008-02-01 Kenichi Handa <handa@m17n.org>
10669
10670 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10671 variables.
10672 (encode_terminal_code): Change argument. Encode multiple
10673 characters at once. Store the result of encoding in
10674 terminal_encode_buffer.
10675 (write_glyphs, insert_glyphs): Adjust for the change of
10676 encode_terminal_code.
10677 (term_init): Initialize terminal_encode_buffer and
10678 terminal_encode_buf_size.
10679
10680 * coding.c (consume_chars): If coding->src_object is nil, don't
10681 check annotation.
10682
106832008-02-01 Kenichi Handa <handa@m17n.org>
10684
10685 * character.c (char_string): Use ASCII_CHAR_P instead of
10686 SINGLE_BYTE_CHAR_P.
10687
106882008-02-01 Kenichi Handa <handa@m17n.org>
10689
10690 * xdisp.c (handle_auto_composed_prop): Check if the last
10691 characters of auto-composed region is newly composed with the
10692 following characters.
10693 (handle_composition_prop): Fix checking of point being inside
10694 composition.
10695
106962008-02-01 Kenichi Handa <handa@m17n.org>
10697
10698 * fns.c (concat): Don't change multibyteness of the result by
10699 concatenating an 8-bit character.
10700
10701 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10702 multibyteness of the result when newelt is an 8-bit character.
10703
107042008-02-01 Dave Love <fx@gnu.org>
10705
10706 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10707 EMACS_INT.
10708
10709 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10710
10711 * xfaces.c (face_numeric_value): Declare dim size_t.
10712 (Finternal_lisp_face_equal_p): Remove unused f.
10713
10714 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10715 (MATRIX_ROW): Remove unused vars.
10716 (draw_glyphs, x_insert_glyphs, fast_find_position)
10717 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10718 byte/char counts.
10719
10720 * regex.c (regex_compile): Remove unused var.
10721
10722 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10723
10724 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10725 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10726
10727 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10728
10729 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10730
10731 * fileio.c (Fwrite_region): Remove unused var.
10732
10733 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10734 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10735
10736 * composite.c (Fremove_list_of_text_properties): Declare.
10737
10738 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10739 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10740 (coding_inherit_eol_type): Remove unused attrs.
10741 (detect_coding): Cast arg of detect_eol.
10742
10743 * charset.c (syms_of_charset): Remove unused var p.
10744 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10745 byte/char counts.
10746
10747 * casetab.c (set_case_table): Remove unused var.
10748
10749 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10750 unused vars.
10751
107522008-02-01 Dave Love <fx@gnu.org>
10753
10754 * xterm.c (x_bitmap_mask): Declare.
10755
107562008-02-01 Dave Love <fx@gnu.org>
10757
10758 * xterm.c (x_term_init): Fix type error.
10759
10760 * lisp.h: Add Funibyte_char_to_multibyte.
10761
10762 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10763 (Fset_coding_system_priority): Doc fix.
10764
10765 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10766
10767 * indent.c (check_composition): Make start and end EMACS_INT.
10768
10769 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10770
10771 * xdisp.c (handle_composition_prop, check_point_in_composition):
10772 Make buffer positions EMACS_INT.
10773
10774 * composite.c (find_composition, run_composition_function)
10775 (update_compositions, Ffind_composition_internal): Make buffer
10776 positions EMACS_INT.
10777
10778 * composite.h (find_composition, update_compositions): Make
10779 position args EMACS_INT.
10780
10781 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10782
10783 * intervals.c (get_property_and_range):
10784 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10785
10786 * unexalpha.c: Don't include varargs.h.
10787
107882008-02-01 Dave Love <fx@gnu.org>
10789
10790 * coding.h (ENCODE_UTF_8): New.
10791
10792 * Makefile.in (gtkutil.o): Depend on coding.h.
10793
10794 * coding.c (Fset_coding_system_priority): Doc fix.
10795
107962008-02-01 Kenichi Handa <handa@m17n.org>
10797
10798 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10799 the case of auto saving.
10800
108012008-02-01 Andreas Schwab <schwab@suse.de>
10802
10803 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10804 `range' from GC.
10805
108062008-02-01 Kenichi Handa <handa@m17n.org>
10807
10808 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10809
108102008-02-01 Kenichi Handa <handa@m17n.org>
10811
10812 * fileio.c (choose_write_coding_system): Return a decided coding system.
10813 (Fwrite_region): Set Vlast_coding_system_used to the return value
10814 of choose_write_coding_system.
10815
108162008-02-01 Kenichi Handa <handa@m17n.org>
10817
10818 * charset.c (Fset_charset_priority): Pay attention to duplicated
10819 arguments.
10820
10821 * coding.c (QCcategory): New variable.
10822 (syms_of_coding): Defsym it. Set all elements of
10823 Vcoding_category_table and their symbol values.
10824 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10825 coding-category-XXX, and coding-category-list.
10826 (Fdefine_coding_system_internal): Add category in the plist.
10827
108282008-02-01 Kenichi Handa <handa@m17n.org>
10829
10830 * callproc.c (Fcall_process): Handle carryover correctly.
10831
10832 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10833 (raw_text_coding_system): Check NILP (coding_system).
10834 (coding_inherit_eol_type): Check NILP (coding_system) and
10835 NILP (parent).
10836 (consume_chars): Fix for the case of raw-text.
10837
10838 * process.c (read_process_output): Handle carryover correctly.
10839
108402008-02-01 Dave Love <fx@gnu.org>
10841
10842 * regex.c (re_search_2): Fix last change.
10843
108442008-02-01 Kenichi Handa <handa@m17n.org>
10845
10846 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10847 target_multibyte. Even in a unibyte case, return a converted
10848 multibyte char.
10849 (GET_CHAR_AFTER): New macro.
10850 (PATFETCH): Translate via multibyte char.
10851 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10852 (SETUP_MULTIBYTE_RANGE): New macro.
10853 (regex_compile): Setup compiled code so that its multibyteness
10854 matches that of a target. Fix the handling of "[X-YZ]" using
10855 SETUP_MULTIBYTE_RANGE.
10856 (analyse_first) <charset>: For filling fastmap for all multibyte
10857 characters, don't check by BASE_LEADING_CODE_P.
10858 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10859 the same as RE_MULTIBYTE_P (bufp) now.
10860 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10861 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10862 (TRANSLATE_VIA_MULTIBYTE): New macro.
10863 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10864 It is the same as RE_MULTIBYTE_P (bufp) now.
10865 <exactn>: Translate via multibyte.
10866 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10867 translate it.
10868 <charset, charset_not>: Fetch a character by
10869 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10870 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10871 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10872 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10873 by GET_CHAR_AFTER.
10874 (bcmp_translate): Likewise.
10875
10876 * search.c (compile_pattern): Check the member target_multibyte,
10877 not the member multibyte of buf.
10878
10879 * lread.c (read1): While reading a string, set force_singlebyte
10880 and force_multibyte correctly.
10881
10882 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10883 up of unibyte_to_multibyte_table.
10884
108852008-02-01 Kenichi Handa <handa@m17n.org>
10886
10887 * coding.c (setup_coding_system): If coding has
10888 post-read-conversion or pre-write-conversion, set
10889 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10890 respectively.
10891 (decode_coding_gap): Run post-read-conversion if any.
10892
10893 * fileio.c (Finsert_file_contents): Even if we read into a
10894 unibyte buffer, check if we must decode the result or not.
10895
108962008-02-01 Kenichi Handa <handa@m17n.org>
10897
10898 * coding.c (make_conversion_work_buffer): Change the work buffer
10899 name to the same one as that of Emacs 21.
10900
109012008-02-01 Kenichi Handa <handa@m17n.org>
10902
10903 * coding.h (make_conversion_work_buffer): Adjust prototype.
10904 (code_conversion_restore): Don't extern it.
10905
10906 * coding.c (detected_mask): Delete unused variable.
10907 (decode_coding_iso_2022): Pay attention to the byte sequence of
10908 CTEXT extended segment, and retain those bytes as is.
10909 (decode_coding_ccl): Delete unused variable `valids'.
10910 (setup_coding_system): Delete unused variable `category'.
10911 (consume_chars): Delete unused variable `category'. Make it work
10912 for non-multibyte case.
10913 (make_conversion_work_buffer): Change argument.
10914 (saved_coding): Delete unused variable.
10915 (code_conversion_restore): Don't check saved_coding->destination.
10916 (code_conversion_save): New function.
10917 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10918 instead of record_unwind_protect.
10919 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10920 (detect_coding_system): Delete unused variable `mask'.
10921 (Fdefine_coding_system_internal): Delete unused variable id.
10922
10923 * fileio.c (kill_workbuf_unwind): New function.
10924 (Finsert_file_contents): On replacing, call
10925 make_conversion_work_buffer with correct args, and call
10926 record_unwind_protect with the first arg kill_workbuf_unwind.
10927
10928 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10929
109302008-02-01 Kenichi Handa <handa@m17n.org>
10931
10932 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10933 (fontset_add): Fix for the case that TO is less than TO1.
10934 (Ffontset_info): Don't use fallback fontset on checking the
10935 default fontset.
10936 (dump_fontset): New function for debugging.
10937
10938 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10939 coding_type is Qcharset.
10940
109412008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10944 (map_char_table): Don't inherit the value from the parent on
10945 initializing VAL. Adjust for the above change.
10946
109472008-02-01 Kenichi Handa <handa@m17n.org>
10948
10949 * coding.c (Qsignature, Qendian): Delete these variables.
10950 (syms_of_coding): Don't initialize them.
10951 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10952 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10953 detect_info->found.
10954 (decode_coding_utf_16): Don't detect BOM here.
10955 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10956 is NOT utf_16_without_bom.
10957 (setup_coding_system): For a coding system of type utf-16, check
10958 if the attribute :endian is Qbig or not (not nil or not), and set
10959 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10960 (detect_coding): If coding type is utf-16 and BOM detection is
10961 required, detect it.
10962 (Fdefine_coding_system_internal): For a coding system of type
10963 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10964
109652008-02-01 Kenichi Handa <handa@m17n.org>
10966
10967 * coding.c (coding_set_source): Fix for the case that the current
10968 buffer is different from coding->src_object.
10969 (decode_coding_object): Don't use the conversion work buffer if
10970 DST_OBJECT is a buffer.
10971
109722008-02-01 Dave Love <fx@gnu.org>
10973
10974 * lread.c (read_emacs_mule_char) [len==2]: Index
10975 emacs_mule_charset correctly.
10976
109772008-02-01 Dave Love <fx@gnu.org>
10978
10979 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10980 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10981 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10982 treated specially.)
10983 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10984 (detected_mask): Remove Big5 bits.
10985
109862008-02-01 Kenichi Handa <handa@m17n.org>
10987
10988 The following changes are to make the font rescaling facility
10989 compatible with Emacs 21.
10990
10991 * xfaces.c (Vface_font_rescale_alist): Rename from
10992 Vface_resizing_fonts.
10993 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10994 (font_rescale_ratio): Rename from font_resizing_ratio.
10995 (split_font_name): Set font->rescale_ratio.
10996 (better_font_p): Pay attention to font->rescale_ratio.
10997 (build_scalable_font_name): Likewise. Change RESX, and RESY
10998 fields.
10999 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11000
110012008-02-01 Kenichi Handa <handa@m17n.org>
11002
11003 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11004 (Qutf_16_le): Remove these variables.
11005 (syms_of_coding): Don't DEFSYM them.
11006 (decode_coding_utf_16): Fix handling of BOM.
11007 (encode_coding_utf_16): Fix handling of BOM.
11008
110092008-02-01 Kenichi Handa <handa@m17n.org>
11010
11011 * fileio.c (Finsert_file_contents): On replacing, before decoding
11012 the file into the work buffer, set point of the work buffer to the end.
11013
110142008-02-01 Dave Love <fx@gnu.org>
11015
11016 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11017
110182008-02-01 Dave Love <fx@gnu.org>
11019
11020 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11021 and fix C types.
11022
110232008-02-01 Kenichi Handa <handa@m17n.org>
11024
11025 * xdisp.c (SKIP_GLYPHS): New macro.
11026 (set_cursor_from_row): Pay attention to string display properties.
11027
11028 * category.c (copy_category_entry): Fix for the case that RANGE
11029 is an integer.
11030
11031 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11032
11033 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11034
110352008-02-01 Kenichi Handa <handa@m17n.org>
11036
11037 * charset.c (Fcharset_id_internal): New function.
11038 (syms_of_charset): Defsubr it.
11039
11040 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11041 with the last arg charset_list acquired from coding.
11042 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11043 the attribute coding_attr_ccl_valids.
11044
11045 * coding.h (enum define_coding_ccl_arg_index): Set the first
11046 member coding_arg_ccl_decoder to coding_arg_max.
11047
11048 * ccl.h (ccl_driver): Adjust prototype.
11049
11050 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11051 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11052 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11053 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11054 last arg Qnil.
11055
110562008-02-01 Kenichi Handa <handa@m17n.org>
11057
11058 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11059 call encode_char.
11060
11061 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11062
110632008-02-01 Dave Love <fx@gnu.org>
11064
11065 * composite.c (syms_of_composite): Make composition_hash_table weak.
11066
110672008-02-01 Kenichi Handa <handa@m17n.org>
11068
11069 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11070 (font_name_registry): Don't extern them.
11071 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11072
11073 * fontset.h (Qfontset): Don't extern it.
11074 (new_fontset_from_font_name): Extern it.
11075
11076 * fontset.c: Give 8 extra slots to fontset objects.
11077 (Qfontset_info): New variable.
11078 (syms_of_fontset): Defsym it.
11079 (FONTSET_FALLBACK): New macro.
11080 (fontset_face): Try also the default fontset.
11081 (make_fontset): Realize a fallback fontset from the default fontset.
11082 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11083 using split_font_name_into_vector and build_font_name_from_vector.
11084 (Fset_fontset_font): Access the elements of font_spec by enum
11085 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11086 name by using split_font_name_into_vector.
11087 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11088 generate a proper font name from the fontset name. Update
11089 Vfontset_alias_alist.
11090 (n_auto_fontsets): New variable.
11091 (new_fontset_from_font_name): New function.
11092 (Ffont_info): Store the information about fonts generated from the
11093 default fontset in the first extra slot of the returned char-table.
11094
11095 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11096 (font_name_registry): Delete function.
11097 (split_font_name_into_vector): New function.
11098 (build_font_name_from_vector): New function.
11099 (font_list): The argument REGISTRY is now a list of registry names.
11100 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11101 specifies an explicit font name, return the name as is. Make a
11102 list of registy names.
11103
11104 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11105 of x_new_fontset.
11106 (Fx_create_frame): Don't call x_new_fontset here. Just use
11107 x_list_fonts to check the existence of fonts.
11108
11109 * xterm.h (x_new_fontset): Adjust prototype.
11110
11111 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11112 string. Use new_fontset_from_font_name to create a fontset from a
11113 font name.
11114
111152008-02-01 Kenichi Handa <handa@m17n.org>
11116
11117 * syntax.c (Vfind_word_boundary_function_table): New name for
11118 Vnext_word_boundary_function_table.
11119 (find-word-boundary-function-table): New name for
11120 next-word-boundary-function-table.
11121
111222008-02-01 Dave Love <fx@gnu.org>
11123
11124 * Makefile.in: Fix some dependencies.
11125
11126 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11127 set it to nil before returning.
11128
11129 * composite.c (update_compositions): Fix type error.
11130
11131 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11132
111332008-02-01 Kenichi Handa <handa@m17n.org>
11134
11135 * xterm.c (x_new_font): Optimize for the case that the font is
11136 already set for the frame.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * chartab.c (char_table_ascii): Check if the char table contents
11141 is sub-char-table or not.
11142 (char_table_set, char_table_set_range): Fix argument to
11143 char_table_ascii.
11144
11145 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11146 (detect_coding_utf_8, detect_coding_utf_16)
11147 (detect_coding_emacs_mule, detect_coding_iso_2022)
11148 (detect_coding_sjis, detect_coding_big5)
11149 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11150 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11151 sequence is valid in this coding system. Change callers.
11152 (MAX_ANNOTATION_LENGTH): New macro.
11153 (ADD_ANNOTATION_DATA): New macro.
11154 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11155 ADD_ANNOTATION_DATA. Change the format of annotation data.
11156 (ADD_CHARSET_DATA): New macro.
11157 (emacs_mule_char): New argument ID. Change callers.
11158 (decode_coding_emacs_mule, decode_coding_iso_2022)
11159 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11160 Produce charset annotation data in coding->charbuf.
11161 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11162 to charset annotation data in coding->charbuf.
11163 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11164 coding->common_flags if the coding system is iso-2022 based and
11165 uses designation.
11166 (produce_composition): Adjust for the new annotation data format.
11167 (produce_charset): New function.
11168 (produce_annotation): Handle charset annotation.
11169 (handle_composition_annotation, handle_charset_annotation): New
11170 functions.
11171 (consume_chars): Handle charset annotation. Utilize the above two
11172 functions.
11173 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11174 buffer, get the deleted text as a string and set
11175 coding->src_object to that string.
11176 (detect_coding, detect_coding_system): Use the new struct
11177 coding_detection_info.
11178
11179 * coding.h (struct coding_detection_info): New structure.
11180 (struct coding_system): Adjust prototype of the member `detector'.
11181 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11182
111832008-02-01 Kenichi Handa <handa@m17n.org>
11184
11185 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11186
111872008-02-01 Dave Love <fx@gnu.org>
11188
11189 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11190 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11191 to new local and nullify apropos_accumulate before returning.
11192 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11193
111942008-02-01 Kenichi Handa <handa@m17n.org>
11195
11196 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11197 correctly.
e3eea1fc 11198
aac0c6e3
MR
111992008-02-01 Dave Love <fx@gnu.org>
11200
11201 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11202
112032008-02-01 Kenichi Handa <handa@m17n.org>
11204
11205 The following changes are to make character composition happen
11206 automatically on displaying.
11207
11208 * Makefile.in (lisp, shortlisp): Add composite.elc.
11209
11210 * composite.h (Qauto_composed, Vauto_composition_function)
11211 (Qauto_composition_function): Extern them.
11212
11213 * composite.c (Vcomposition_function_table)
11214 (Qcomposition_function_table): Delete variables.
11215 (Qauto_composed, Vauto_composition_function)
11216 (Qauto_composition_function): New variables.
11217 (run_composition_function): Don't call
11218 compose-chars-after-function.
11219 (update_compositions): Clear `auto-composed' text property.
11220 (compose_chars_in_text): Delete this function.
11221 (syms_of_composite): Staticpro Qauto_composed and
11222 Qauto_composition_function. Declare Vauto_composition_function as
11223 a Lisp variable.
11224
11225 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11226
11227 * xdisp.c (it_props): Add an entry for Qauto_composed.
11228 (handle_auto_composed_prop): New function.
11229
11230 * xselect.c (selection_data_to_lisp_data): Don't call
11231 compose_chars_in_text.
11232
112332008-02-01 Dave Love <fx@gnu.org>
11234
11235 * keyboard.c (read_char): Modify checking around use of
11236 Vkeyboard_translate_table.
11237
11238 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11239 and fix C types.
11240
112412008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11244 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11245 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11246 the case that the last byte is '\r' correctly.
11247 (decode_coding): Flush out the unprocessed data correctly.
11248 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11249
112502008-02-01 Dave Love <fx@gnu.org>
11251
11252 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11253 Add XK_ISO... case.
11254 (xaw_scroll_callback): Revert last change.
11255
112562008-02-01 Kenichi Handa <handa@m17n.org>
11257
11258 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11259
112602008-02-01 Kenichi Handa <handa@m17n.org>
11261
11262 * xfaces.c (Vface_resizing_fonts): New variable.
11263 (struct font_name): New member `resizing_ratio'.
11264 (font_resizing_ratio): New function.
11265 (split_font_name): Set font->resizing_ratio.
11266 (better_font_p): Pay attention to font->resizing_ratio.
11267 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11268 RESX, and RESY fields.
11269 (try_alternative_families): Try scalable fonts if
11270 Vscalable_fonts_allowed is not Qt.
11271 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11272
112732008-02-01 Dave Love <fx@gnu.org>
11274
11275 * xterm.c (xaw_scroll_callback): Cast correctly.
11276
112772008-02-01 Dave Love <fx@gnu.org>
11278
11279 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11280 (lispy_kana_keys): Comment out.
11281 (make_lispy_event) [XK_kana_A]: Comment out.
11282
11283 * xterm.c (xaw_scroll_callback): Cast call_data.
11284 (XTread_socket): Deal with ASCII keysyms.
11285 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11286
112872008-02-01 Dave Love <fx@gnu.org>
11288
11289 * xterm.c (Vx_keysym_table): New.
11290 (syms_of_xterm): Initialize it.
11291 (XTread_socket): Use it.
11292 From head: Eliminate incorrect optimization that tried to avoid
11293 decoding the output of X*LookupString.
11294 (x_get_font_repertory): Delete charset declaration.
11295
112962008-02-01 Kenichi Handa <handa@m17n.org>
11297
11298 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11299 return 0.
11300 (Fdefine_coding_system_internal): Setup
11301 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11302
113032008-02-01 Dave Love <fx@gnu.org>
11304
11305 * coding.c (Fcheck_coding_system): Doc fix.
11306
11307 * editfns.c (Finsert_byte): Return a proper value.
11308
113092008-02-01 Kenichi Handa <handa@m17n.org>
11310
11311 * coding.c (decode_coding): Fix args to translate_chars. Pay
11312 attention to Vstandard_translation_table_for_decode.
11313 (encode_coding): Fix args to translate_chars. Pay attention to
11314 Vstandard_translation_table_for_encode.
11315
11316 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11317 SINGLE_BYTE_CHAR_P.
11318
11319 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11320 not by SINGLE_BYTE_CHAR_P.
11321
11322 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11323 SINGLE_BYTE_CHAR_P.
11324
11325 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11326 SINGLE_BYTE_CHAR_P.
11327
11328 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11329 by SINGLE_BYTE_CHAR_P.
11330
11331 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11332 SINGLE_BYTE_CHAR_P.
11333
113342008-02-01 Dave Love <fx@gnu.org>
11335
11336 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11337
113382008-02-01 Dave Love <fx@gnu.org>
11339
11340 * fns.c (Flanginfo): Fix typo.
11341
11342 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11343
113442008-02-01 Kenichi Handa <handa@m17n.org>
11345
11346 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11347 (detect_coding_emacs_mule, detect_coding_iso_2022)
11348 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11349 incomplete byte sequence. Don't update *mask when correctly detected.
11350 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11351 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11352 (detect_coding, detect_coding_system): Adjust for the changes above.
11353
113542008-02-01 Kenichi Handa <handa@m17n.org>
11355
11356 * character.c (char_string): Rename from
11357 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11358 (string_char): Rename from string_char.
11359
11360 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11361 if C is greater than MAX_3_BYTE_CHAR.
11362 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11363 string_char instead of string_char_with_unification.
11364
113652008-02-01 Dave Love <fx@gnu.org>
11366
11367 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11368
113692008-02-01 Kenichi Handa <handa@m17n.org>
11370
11371 * keymap.c (push_key_description): Pay attention to force_multibyte.
11372
11373 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11374
113752008-02-01 Dave Love <fx@gnu.org>
11376
11377 * charset.c (define_charset_internal): Rename `supprementary'.
11378
11379 * Makefile.in (lisp, shortlisp): Remove latin-N.
11380
113812008-02-01 Dave Love <fx@gnu.org>
11382
11383 * xfns.c (x_window, x_window): Use use_xim.
11384
11385 * xterm.c (use_xim): Initialize.
11386 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11387 (x_term_init): Maybe set use_xim.
11388
11389 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11390
113912008-02-01 Kenichi Handa <handa@m17n.org>
11392
11393 * search.c (search_buffer): Fix case-fold-search of multibyte
11394 characters.
11395 (boyer_moore): Rename the last argument to char_high_bits.
11396
113972008-02-01 Kenichi Handa <handa@m17n.org>
11398
11399 * xdisp.c (display_string): Fix for the case of zero width glyph.
11400
11401 * xfns.c (x_set_font): Change the error message of the case that
11402 x_new_fontset returns Qt.
11403
11404 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11405 (Finternal_set_lisp_face_attribute): Use signal_error for the
11406 error of invalid fontset.
11407
11408 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11409 fontset, return Qt.
11410
114112008-02-01 Dave Love <fx@gnu.org>
11412
11413 * unexelf.c (unexec): Make .got handling not SGI-specific.
11414
11415 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11416
11417 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11418
11419 * keyboard.c (read_key_sequence): Fix type error.
11420
11421 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11422 type error.
11423
11424 * fontset.c (fontset_add): Return Lisp_Object.
11425
114262008-02-01 Dave Love <fx@gnu.org>
11427
11428 * charset.h (charset_ordered_list_tick): Declare extern.
11429
114302008-02-01 Kenichi Handa <handa@m17n.org>
11431
11432 The following changes (and some of 2008-02-01 changes of mine) are
11433 for handling syntax, category, and case conversion for unibyte
11434 characters by converting them to multibyte on the fly. With these
11435 changes, we don't have to setup syntax and case tables for unibyte
11436 characters in each language environment.
11437
11438 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11439 multibyte if necessary.
11440
11441 * bytecode.c (Fbyte_code): Likewise.
11442
11443 * character.h (LEADING_CODE_LATIN_1_MIN)
11444 (LEADING_CODE_LATIN_1_MAX): New macros.
11445 (unibyte_to_multibyte_table): Extern it.
11446 (unibyte_char_to_multibyte): New macro.
11447 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11448 (CHAR_LEADING_CODE): New macro.
11449 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11450
11451 * character.c (unibyte_to_multibyte_table): New variable.
11452 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11453 (multibyte_char_to_unibyte): If C is an eight-bit character,
11454 convert it to the corresponding byte value.
11455
11456 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11457 not 1, signals an error. Update the elements of
11458 unibyte_to_multibyte_table.
11459 (init_charset_once): Initialize unibyte_to_multibyte_table.
11460 (syms_of_charset): Define the charset `iso-8859-1'.
11461
11462 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11463 as is without converting it to unibyte. In a unibyte buffer,
11464 convert C to multibyte before checking the syntax.
11465
11466 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11467
11468 * minibuf.c (Fminibuffer_complete_word): Use the macro
11469 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11470
11471 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11472
11473 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11474 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11475 that is zero, convert an eight-bit char to multibyte.
11476 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11477 non-emacs case.
11478 (PATFETCH): Convert an eight-bit char to multibyte.
11479 (HANDLE_UNIBYTE_RANGE): New macro.
11480 (regex_compile): Setup the compiled pattern for multibyte chars
11481 even if the given regex string is unibyte. Use PATFETCH_RAW
11482 instead of PATFETCH in many places. To handle `charset'
11483 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11484 only for ASCII chars.
11485 (analyse_first) <exactn>: Simplify because the compiled pattern
11486 is multibyte.
11487 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11488 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11489 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11490 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11491 multibyte always 1.
11492 (re_search_2): In emacs, set the locale variable multibyte to 1,
11493 otherwise to 0. New local variable target_multibyte. Check it
11494 to decide the multibyteness of STR1 and STR2. If
11495 target_multibyte is zero, convert unibyte chars to multibyte
11496 before translating and checking fastmap.
11497 (TARGET_CHAR_AND_LENGTH): New macro.
11498 (re_match_2_internal): In emacs, set the locale variable multibyte
11499 to 1, otherwise to 0. New local variable target_multibyte. Check
11500 it to decide the multibyteness of STR1 and STR2. Use
11501 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11502 <charset, charset_not>: If multibyte is nonzero, check fastmap
11503 only for ASCII chars. Call bcmp_translate with
11504 target_multibyte, not with multibyte.
11505 <begline>: Declare the local variable C as `unsigned'.
11506 (bcmp_translate): Change the last arg name to target_multibyte.
11507
11508 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11509 the regexp pattern and the matching target. Set cp->buf.multibyte
11510 to the multibyteness of the regexp pattern. Set
11511 cp->but.target_multibyte to the multibyteness of the matching target.
11512 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11513 FETCH_STRING_CHAR_ADVANCE.
11514 (Freplace_match): Convert unibyte chars to multibyte.
11515
11516 * syntax.c (char_quoted, back_comment, scan_words)
11517 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11518 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11519 unibyte chars to multibyte.
11520 (skip_chars): Delete the arg syntaxp, and move the code for
11521 handling syntaxes to skip_syntaxes. Change callers.
11522 Fix the case that the multibyteness of STRING and the current
11523 buffer doesn't match.
11524 (skip_syntaxes): New function.
11525 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11526 SINGLE_BYTE_CHAR_P.
11527
115282008-02-01 Kenichi Handa <handa@m17n.org>
11529
11530 * xfaces.c (QCfontset): New variable.
11531 (LFACE_FONTSET): New macro.
11532 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11533 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11534 (Finternal_set_lisp_face_attribute)
11535 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11536 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11537 check also LFACE_FONTSET_INDEX.
11538 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11539 attrs[LFACE_FONT_INDEX].
11540 (syms_of_xfaces): Intern and staticpro QCfontset.
11541
11542 * dispextern.h (enum lface_attribute_index): New member
11543 LFACE_FONTSET_INDEX.
11544
11545 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11546
115472008-02-01 Kenichi Handa <handa@m17n.org>
11548
11549 * coding.c (coding_set_destination): Fix coding->destination for
11550 the case converting a region.
11551 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11552 (encode_coding_object): Fix coding->dst_pos and
11553 coding->dst_pos_byte for the case converting a region.
11554
11555 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11556
11557 * character.h (BYTE8_STRING): New macro.
11558
11559 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11560
115612008-02-01 Kenichi Handa <handa@m17n.org>
11562
11563 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11564 characters by octal form.
11565
11566 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11567
11568 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11569 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11570 _fetch_multibyte_char_len.
11571 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11572
11573 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11574
11575 * casefiddle.c (casify_object): Simplify. Handle the case that
11576 the case conversion change the byte length.
11577 (casify_region): Likewise.
11578
11579 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11580
11581 * character.c (_fetch_multibyte_char_len): Delete this variable.
11582 (syms_of_character): Setup Vprintable_chars.
11583
11584 * editfns.c (Fchar_equal): Fix for the unibyte case.
11585 (Finsert_byte): New function.
11586 (syms_of_editfns): Defsubr it.
11587
11588 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11589 of direct code 0x3ffff.
11590
11591 * search.c (Freplace_match): Fix for the unibyte case.
11592
115932008-02-01 Kenichi Handa <handa@m17n.org>
11594
11595 * lread.c (safe_to_load_p): Fix the logic.
11596
11597 * syntax.c (scan_words): Don't treat characters belonging to
11598 different scripts as constituting a word.
11599
11600 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11601
11602 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11603
11604 * emacs.c (main): In the case of --unibyte, instead of aborting on
11605 finding non-empty buffer, make it unibyte.
11606
116072008-02-01 Kenichi Handa <handa@m17n.org>
11608
11609 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11610 to create a fontset.
11611
116122008-02-01 Dave Love <fx@gnu.org>
11613
11614 * character.c (Funibyte_char_to_multibyte): Doc fix.
11615
11616 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11617
116182008-02-01 Kenichi Handa <handa@m17n.org>
11619
11620 * fontset.c (fontset_add): Make the type `int'.
11621 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11622
11623 * character.c (unibyte_char_to_multibyte)
11624 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11625 charset_unibyte, not charset_primary.
11626
11627 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11628
11629 * charset.c (charset_unibyte): Rename from charset_primary.
11630 (Funibyte_charset): Rename from Fprimary_charset.
11631 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11632 (syms_of_charset): Adjust for the above changes.
11633
11634 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11635 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11636 it->multibyte_p is zero.
11637
11638 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11639 Delete extern.
11640
116412008-02-01 Kenichi Handa <handa@m17n.org>
11642
11643 * coding.c (Fdefine_coding_system_internal): Fix category setting
11644 for a coding system of type iso-2022.
11645
116462008-02-01 Kenichi Handa <handa@m17n.org>
11647
11648 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11649
116502008-02-01 Kenichi Handa <handa@m17n.org>
11651
11652 * syntax.c (Vnext_word_boundary_function_table): New variable.
11653 (next-word-boundary-function-table): Declare it as a Lisp variable
11654 in syms_of_syntax.
11655 (scan_words): Call functions in Vnext_word_boundary_function_table
11656 if any.
11657
11658 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11659
11660 * fontset.c (fs_load_font): If fontp->charset is not negative,
11661 return fontp without setting its members.
11662
116632008-02-01 Dave Love <fx@gnu.org>
11664
11665 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11666
11667 * m/sparc.h (HAVE_ALLOCA): Delete.
11668
11669 * s/irix6-5.h: Don't include strings.h.
11670 (bcopy, bzero, bcmp): Don't undef.
11671
11672 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11673
11674 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11675 (TIOCSIGSEND): Don't test IRIX6.
11676 (bcopy, bzero, bcmp): Define conditionally.
11677
116782008-02-01 Kenichi Handa <handa@m17n.org>
11679
11680 * buffer.c (Qas, Qmake, Qto): New variables.
11681 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11682 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11683
11684 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11685 we are inserting a process output into a multibyte buffer.
11686
11687 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11688 multibyte_char_to_unibyte.
11689
11690 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11691 by the primary charset, make it eight-bit char.
11692 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11693
11694 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11695 (charset_8_bit__control, charset_8_bit_graphic)
11696 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11697 (define_charset_internal): New function.
11698 (syms_of_charset): Call define_charset_internal for pre-defined
11699 charsets.
11700
11701 * charset.h (charset_8_bit): Extern it.
11702
11703 * coding.c (make_conversion_work_buffer): Adjust for the change
11704 of Fset_buffer_multibyte.
11705 (encode_coding_raw_text): Increment p0 in the loop.
11706
11707 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11708
11709 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11710 for the change of Fset_buffer_multibyte.
11711
11712 * fns.c (Fstring_to_multibyte): New function.
11713 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11714
117152008-02-01 Dave Love <fx@gnu.org>
11716
11717 * xfns.c (x_put_x_image): Declare args.
11718
11719 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11720 (try_font_list): Declare an arg.
11721
11722 * xdisp.c (message2_nolog, set_message): Declare an arg.
11723
11724 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11725
11726 * syntax.c (scan_sexps_forward): Declare an arg.
11727
11728 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11729 Declare an arg.
11730
11731 * lisp.h (Fnew_fontset): Declare.
11732
11733 * keymap.c (push_key_description): Call CHARACTERP correctly.
11734
11735 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11736 (face_for_char): Delete unused vars.
11737 (Fset_fontset_font): Doc fix. Delete unused vars.
11738
11739 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11740
11741 * composite.c (update_compositions): Declare arg.
11742
11743 * cm.c (calccost, cmgoto): Declare args.
11744
11745 * charset.c: Remove `emacs' conditional. Doc fixes.
11746 (map_char_table_for_charset): Declare.
11747
11748 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11749
11750 * ccl.c: Remove `emacs' conditional.
11751
117522008-02-01 Kenichi Handa <handa@m17n.org>
11753
11754 The following changes are to allow specifying multiple font
11755 patterns for a character range (specified by script or charset).
11756
11757 * Makefile.in (abbrev.o): Depend on syntax.h.
11758 (xfaces.o): Depend on charset.h.
11759
11760 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11761 SINGLE_BYTE_CHAR_P.
11762
11763 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11764
11765 * character.h (Vchar_script_table): Extern it.
11766
11767 * character.c (Vscript_alist): Delete.
11768 (Vchar_script_table, Qchar_script_table): New variable.
11769 (syms_of_character): Declare Vchar_script_table as a lisp variable
11770 and initialize it.
11771
11772 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11773 have property char-table-extra-slots, make no extra slot.
11774
11775 * dispextern.h (struct face): Delete member `charset'.
11776 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11777 SINGLE_BYTE_CHAR_P.
11778 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11779 Add prototypes.
11780 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11781 (generate_ascii_font_name): Rename from generate_ascii_font.
11782
11783 * fontset.h (get_font_repertory_func): New prototype.
11784 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11785 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11786
11787 * fontset.c (Qprepend, Qappend): New variables.
11788 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11789 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11790 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11791 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11792 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11793 (load_font_get_repertory): New functions.
11794 (fontset_set): Delete.
11795 (fontset_face): New arg FACE. Return face ID, not face.
11796 Complete re-write to handle new fontset structure. Change caller.
11797 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11798 (face_for_char): Don't call lookup_face.
11799 (make_fontset_for_ascii_face): New arg FACE.
11800 (fs_load_font): New arg CHARSET_ID. Don't check
11801 Vfont_encoding_alist here.
11802 (find_font_encoding): New function.
11803 (list_fontsets): Use STRINGP, not ! NILP.
11804 (accumulate_script_ranges): New function.
11805 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11806 re-written to handle new fontset structure.
11807 (Ffontset_font): Return a copy of element.
11808 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11809 docstring of font-encoding-alist.
11810
11811 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11812 (Fset_fotset_font): Fix arguments to 5.
11813
11814 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11815
11816 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11817 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11818 (highlight_trailing_whitespace): Adjust for the change of
11819 lookup_named_face.
11820
11821 * xfaces.c: Include charset.h.
11822 (load_face_font): Delete argument C. Change caller.
11823 (generate_ascii_font_name): Rename from generate_ascii_font.
11824 (font_name_registry): New function.
11825 (cache_face): Store ascii faces before non-ascii faces in buckets.
11826 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11827 Lookup only ascii faces.
11828 (lookup_non_ascii_face): New function.
11829 (lookup_named_face): Delete argument C. Change caller.
11830 (lookup_derived_face): Delete argument C. Change caller.
11831 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11832 a string, just call font_list with it.
11833 (choose_face_font): Delete arguments FACE and C. New arg
11834 FONT_SPEC. Change caller.
11835 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11836 Change caller.
11837 (realize_non_ascii_face): New function.
11838 (realize_x_face): Call load_face_font here.
11839 (realize_tty_face): Delete argument C. Change caller.
11840 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11841 get a face ID.
11842 (dump_realized_face): Don't print charset of FACE.
11843
11844 * xfns.c (x_set_font): Always call x_new_fontset and
11845 store_frame_parameter.
11846 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11847 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11848
11849 * xterm.h (x_get_font_repertory): Extern it.
11850
11851 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11852 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11853 it->multibyte_p is zero.
11854 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11855 (x_new_fontset): If FONTSETNAME doesn't match any existing
11856 fontsets, create a new one.
11857 (x_get_font_repertory): New function.
11858
118592008-02-01 Kenichi Handa <handa@m17n.org>
11860
11861 * coding.c (Ffind_coding_systems_region_internal): Detect an
11862 ASCII only string correctly.
11863
11864 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11865 version is 0.
11866
118672008-02-01 Kenichi Handa <handa@m17n.org>
11868
11869 * lread.c: Include "coding.h".
11870 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11871 (load_each_byte, unread_char): New variables.
11872 (readchar_backlog): Delete.
11873 (readchar): Return a character unless load_each_byte is nonzero.
11874 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11875 cons. If unread_char is not -1, simply return it.
11876 (unreadchar): Handle the case that readcharfun is
11877 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11878 (read_multibyte): Delete.
11879 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11880 (read_emacs_mule_char): New functions.
11881 (Fload): Even if the file doesn't have the extension ".elc", if
11882 safe_to_load_p returns a positive version number, assume that the
11883 file contains bytecompiled code. If the version is less than 22,
11884 load the file while decoding multibyte sequences by emacs-mule.
11885 (readevalloop): Don't use readchar_backlog.
11886 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11887 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11888 (read_escape): Delete the arg BYTEREP.
11889 (read1): Set load_each_byte to 1 temporarily while handling
11890 #@NUMBER. Don't call read_multibyte.
11891 (read_vector): Call Fread with a cons. If readcharfun is
11892 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11893 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11894 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11895 and Qload_force_doc_strings.
11896
118972008-02-01 Kenichi Handa <handa@m17n.org>
11898
11899 * xdisp.c (face_before_or_after_it_pos): Call
11900 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11901
119022008-02-01 Kenichi Handa <handa@m17n.org>
11903
11904 * character.h (TRAILING_CODE_P): New macro.
11905 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11906 (string_char_with_unification): Fix prototype.
11907 (Vscript_alist): Extern it.
11908
11909 * character.c (Vscript_alist): New variable.
11910 (string_char_with_unification, str_as_unibyte)
11911 (string_escape_byte8): Add `const' to local variables.
11912 (syms_of_character): Declare script-alist as a Lisp variable.
11913
11914 * charset.h (Vcharset_ordered_list): Extern it.
11915 (charset_ordered_list_tick): Extern it.
11916 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11917 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11918 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11919 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11920 (Funify_charset): Adjust for the change of Funify_charset.
11921
11922 * charset.c (charset_ordered_list_tick): New variable.
11923 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11924 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11925 deunify intead of unify a charset.
11926 (string_xstring_p): Add `const' to local variables.
11927 (find_charsets_in_text): Add `const' to arguments and local variables.
11928 (encode_char): Adjust for the change of Funify_charset. Fix
11929 detecting of invalid code.
11930 (Fset_charset_priority): Increment charset_ordered_list_tick.
11931 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11932 and TO_CODE.
11933
11934 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11935 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11936 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11937 (decode_coding_ccl, consume_chars)
11938 (Ffind_coding_systems_region_internal)
11939 (Fcheck_coding_systems_region): Add `const' to local variables.
11940
11941 * print.c (print_object): Use octal form for printing the
11942 contents of a bool vector.
11943
119442008-02-01 Dave Love <fx@gnu.org>
11945
11946 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11947 <version == 20>: Refuse to load.
11948
119492008-02-01 Dave Love <fx@gnu.org>
11950
11951 * fns.c: Move coding.h.
11952 (Qcodeset, Qdays, Qmonths): New.
11953 (concat): Use CHARACTERP instead of INTEGERP.
11954 (Flocale_codeset): Delete.
11955 (Flanginfo): New function.
11956 (syms_of_fns): Change accordingly.
11957
11958 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11959
119602008-02-01 Dave Love <fx@gnu.org>
11961
11962 * casetab.c (init_casetab_once, init_casetab_once): Fix
11963 CHAR_TABLE_SET call.
11964
11965 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11966
11967 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11968
11969 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11970 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11971 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11972
11973 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11974
11975 * coding.c (ENCODE_DESIGNATION, decode_eol)
11976 (make_conversion_work_buffer, code_conversion_restore)
11977 (Fdefine_coding_system_internal): Convert Lisp types.
11978 (code_conversion_restore): Use EQ, not ==.
11979 (Fencode_coding_string): Fix code_convert_string call.
11980
11981 * coding.h (code_convert_region): Fix prototype.
11982
11983 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11984
11985 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11986 (Ffontset_info): Convert Lisp types.
11987
11988 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11989
11990 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11991
11992 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11993
11994 * chartab.c: Include "...h", not <...h> in some cases.
11995
11996 * callproc.c (Fcall_process): Remove unused variables.
11997
119982008-02-01 Dave Love <fx@gnu.org>
11999
12000 * coding.c (Fset_coding_system_priority): Allow null arg list.
12001
120022008-02-01 Dave Love <fx@gnu.org>
12003
12004 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12005 (Fself_insert_and_exit): Use CHARACTERP.
12006
12007 * callproc.c (Fcall_process): Remove unused vars.
12008
12009 * xterm.c (XTread_socket): Add extra dead keysyms.
12010
12011 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12012
12013 * dispextern.h: Remove prototypes for redraw_frame,
12014 redraw_garbaged_frames.
12015
12016 * cmds.c (Fself_insert_command): Use CHARACTERP.
12017
12018 * chartab.c (make_sub_char_table): Remove unused var.
12019 (Fset_char_table_default, Fmap_char_table): Doc fix.
12020
12021 * keymap.c (access_keymap): Remove generic char code.
12022 (push_key_description): Use CHARACTERP.
12023
120242008-02-01 Dave Love <fx@gnu.org>
12025
12026 * charset.c: Doc fixes.
12027 (Funify_charset): Extra checking.
12028
120292008-02-01 Dave Love <fx@gnu.org>
12030
12031 * lread.c: Remove some unused variables.
12032 (safe_to_load_p): If safe, return the magic number version byte.
12033 (Fload): Maybe use load-with-code-conversion.
12034
120352008-02-01 Kenichi Handa <handa@m17n.org>
12036
12037 * category.c (Fmodify_category_entry): Don't modify the contents
12038 of category_set for characters out of the range. Avoid
12039 unnecessary modification.
12040
12041 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12042 Vchar_unify_table. The default value of the table is now nil.
12043
12044 * character.c (syms_of_character): Setup Vchar_width_table for
12045 eight-bit-control and raw-byte chars.
12046
12047 * charset.h (enum define_charset_arg_index): Delete
12048 charset_arg_parents and add charset_arg_subset and
12049 charset_arg_superset.
12050 (enum charset_attr_index): Delete charset_parents and add
12051 charset_subset and charset_superset.
12052 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12053 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12054 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12055 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12056 (CHARSET_SUPERSET): New macros.
12057 (charset_work): Extern it.
12058 (ENCODE_CHAR): Use charset_work.
12059 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12060 (map_charset_chars): Extern it.
12061
12062 * charset.c (load_charset_map): Set the default value of encoder
12063 and deunifier char-tables to nil.
12064 (map_charset_chars): Change argument. Change callers. Use
12065 map_char_table_for_charset instead of map_char_table.
12066 (Fmap_charset_chars): New optional args from_code and to_code.
12067 (Fdefine_charset_internal): Adjust for the change of
12068 `define-charset' (:parents -> :subset or :superset).
12069 (charset_work): New variable.
12070 (encode_char, syms_of_charset): Adjust for the change of
12071 Fdefine_charset_internal.
12072 (Ffind_charset_string): Setup the vector `charsets' correctly.
12073
12074 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12075 the previous change.
12076 (char_table_ref_and_range): Adjust for the above change.
12077 (map_sub_char_table_for_charset): New function.
12078 (map_char_table_for_charset): New function.
12079
12080 * keymap.c (describe_vector): Handle a char-table directly here.
12081 (describe_char_table): Delete.
12082
12083 * lisp.h (map_charset_chars): Delete.
12084
120852008-02-01 Dave Love <fx@gnu.org>
12086
12087 * fns.c (count_combining): Comment out (unused).
12088 (Flocale_codeset): New.
12089 (syms_of_fns): Defsubr it.
12090
12091 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12092 (size_t): Remove.
12093
120942008-02-01 Dave Love <fx@gnu.org>
12095
12096 * Makefile.in (chartab.o): Depend on charset.h.
12097
120982008-02-01 Kenichi Handa <handa@m17n.org>
12099
12100 * character.c (syms_of_character): Set the default value of
12101 Vprintable_chars to Qnil.
12102
121032008-02-01 Dave Love <fx@gnu.org>
12104
12105 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12106
121072008-02-01 Kenichi Handa <handa@m17n.org>
12108
12109 * charset.c (load_charset_map): Handle the case that from < to
12110 correctly.
12111
12112 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12113 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12114 Pay attention to raw-8-bit chars.
12115
121162008-02-01 Kenichi Handa <handa@m17n.org>
12117
12118 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12119 It is not bytecompiled now.
12120
12121 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12122 (charset_jisx0208): New variables.
12123 (Fdefine_charset_internal): Setup them if appropriate.
12124 (init_charset_once): Initialize them to -1.
12125
12126 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12127 (charset_jisx0208): Extern them.
12128
12129 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12130 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12131 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12132 (setup_iso_safe_charsets): Fix arguments to Fassq.
12133 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12134 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12135 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12136 (encode_coding_iso_2022): Change the 1st arg to
12137 ENCODE_ISO_CHARACTER to a variable.
12138
121392008-02-01 Kenichi Handa <handa@m17n.org>
12140
12141 * charset.h (enum define_charset_arg_index): New enums
12142 charset_arg_min_code and charset_arg_max_code.
12143 (struct charset): New member char_index_offset.
12144
12145 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12146 Take charset->char_index_offset into account.
12147 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12148 args[charset_arg_max_code]. Setup charset.char_index_offset.
12149 (syms_of_charset): Fix args to Fdefine_charset_internal.
12150
121512008-02-01 Dave Love <fx@gnu.org>
12152
12153 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12154
121552008-02-01 Dave Love <fx@gnu.org>
12156
12157 * coding.c: Doc fixes.
12158 (Fcoding_system_aliases): Fix return value.
12159 (Qmac): Remove (duplicated) definition.
12160
121612008-02-01 Dave Love <fx@gnu.org>
12162
12163 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12164 functions.
12165
12166 * character.c (Fstring): Doc fix.
12167
12168 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12169
12170 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12171 ids.
12172 (font-encoding-alist): Doc fix.
12173
121742008-02-01 Dave Love <fx@gnu.org>
12175
12176 * term.c (costs_set): Declare static, non-initialized for pcc.
12177 (encode_terminal_code): Remove unused var.
12178
12179 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12180 for K&R.
12181
12182 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12183
12184 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12185 (suffixes): Move out of make_subsidiaries for K&R.
12186
12187 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12188
12189 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12190
121912008-02-01 Dave Love <fx@gnu.org>
12192
12193 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12194
12195 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12196
121972008-02-01 Yong Lu <lyongu@asia-infonet.com>
12198
12199 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12200
12201 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12202
122032008-02-01 Kenichi Handa <handa@m17n.org>
12204
12205 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12206 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12207
122082008-02-01 Kenichi Handa <handa@m17n.org>
12209
12210 * coding.c (decode_coding_charset): Adjust for the change of
12211 Fdefine_coding_system_internal.
12212 (Fdefine_coding_system_internal): For a coding system of
12213 `charset' type, store a list of charset IDs in
12214 `charset_attr_charset_valids' element of coding attributes.
12215
122162008-02-01 Kenichi Handa <handa@m17n.org>
12217
12218 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12219 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12220 caller. Handle 2-byte and 3-byte charsets correctly.
12221 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12222 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12223 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12224 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12225 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12226 sequence.
12227 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12228 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12229 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12230 and alt&rule composition.
12231 (decode_coding_iso_2022): Handle composition correctly.
12232 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12233
12234 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12235 re-defining a charset. If the charset has :emacs-mule-id, setup
12236 emacs_mule_bytes.
12237 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12238
122392008-02-01 Kenichi Handa <handa@m17n.org>
12240
12241 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12242 (encode_coding_big5, encode_coding_charset): If coding requires safe
12243 encoding, produce a character specified by
12244 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12245
122462008-02-01 Dave Love <fx@gnu.org>
12247
12248 * xterm.c (XSetIMValues): Declare.
12249
12250 * process.c: Conditionally include sys/wait.h, pty.h.
12251
12252 * print.c (print_object): Fix print format for 64-bit systems.
12253
12254 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12255
12256 * buffer.c (emacs_strerror): Declare.
12257
12258 * fontset.c (Fclear_face_cache): Declare.
12259 (accumulate_font_info): Comment-out (unused).
12260 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12261 variables.
12262
12263 * character.h (string_escape_byte8): Declare.
12264
12265 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12266 unused vars.
12267 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12268 (Fmap_charset_chars): Doc fix.
12269
12270 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12271 (Fset_coding_system_priority, Fset_coding_system_priority)
12272 (Fdefine_coding_system_internal): Doc fix.
12273
122742008-02-01 Dave Love <fx@gnu.org>
12275
12276 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12277
122782008-02-01 Kenichi Handa <handa@m17n.org>
12279
12280 * character.c (string_escape_byte8): Make multibyte string with
12281 correct size.
12282
12283 * charset.c (Fmake_char): Delete unnecessary code.
12284
122852008-02-01 Kenichi Handa <handa@m17n.org>
12286
12287 * xfns.c (x_encode_text): Allocate coding.destination here, and
12288 call encode_coding_object with dst_object Qnil.
12289
12290 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12291 multibyte form correctly.
12292
12293 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12294 against Vfont_encoding_alist.
12295
12296 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12297 handling of charset list.
12298 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12299 (decode_coding_object): Move point to coding->dst_pos before
12300 calling post-read-conversion function.
12301 (encode_coding_object): Give correct arguments to
12302 pre-write-conversion. Ignore the return value of
12303 pre-write-conversion function. Pay attention to the case that
12304 pre-write-conversion changes the current buffer. If dst_object is
12305 Qt, even if coding->src_bytes is zero, allocate at least one byte
12306 to coding->destination.
12307
12308 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12309
12310 * charset.c (Fmake_char): Make it more backward compatible.
12311 (Fmap_charset_chars): Fix docstring.
12312
123132008-02-01 Dave Love <fx@gnu.org>
12314
12315 * coding.c: Doc fixes.
12316 (Fdefine_coding_system_alias): Use names, not symbols, in
12317 coding-system-alist.
12318
123192008-02-01 Kenichi Handa <handa@m17n.org>
12320
12321 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12322 of calling free_realized_face.
12323
123242008-02-01 Yong Lu <lyongu@asia-infonet.com>
12325
12326 * charset.c (read_hex): Don't treat SPC as a comment starter.
12327 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12328 (Fdecode_char): Fix typo.
12329
123302008-02-01 Kenichi Handa <handa@m17n.org>
12331
12332 * charset.h (struct charset): New member `code_space_mask'.
12333
12334 * coding.c (coding_set_source): Delete the local variable beg_byte.
12335 (encode_coding_charset, Fdefine_coding_system_internal):
12336 Delete the local variable charset.
12337 (Fdefine_coding_system_internal): Setup
12338 attrs[coding_attr_charset_valids] correctly.
12339
12340 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12341 member to check if CODE is valid or not.
12342 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12343 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12344 is within the range of charset->min_code and carset->max_code.
12345
123462008-02-01 Dave Love <fx@gnu.org>
12347
12348 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12349
12350 * dispextern.h (generate_ascii_font): Fix return type.
12351
12352 * xfaces.c (generate_ascii_font): Fix arg declaration.
12353
12354 * coding.c (coding_inherit_eol_type)
12355 (Fset_terminal_coding_system_internal)
12356 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12357
123582008-02-01 Kenichi Handa <handa@m17n.org>
12359
12360 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12361 multiple charsets correctly.
12362
123632008-02-01 Kenichi Handa <handa@m17n.org>
12364
12365 * search.c (boyer_moore): Fix handling of multibyte character
12366 translation.
12367
12368 * xdisp.c (display_mode_element): When the variable `elt' is
12369 changed, update `this' and `lisp_string'.
12370
123712008-02-01 Kenichi Handa <handa@m17n.org>
12372
12373 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12374
12375 * callproc.c (Fcall_process): Be sure to give the current buffer
12376 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12377
12378 * charset.c (struct charset_map_entries): New struct.
12379 (load_charset_map): Rename from parse_charset_map. New args
12380 entries and n_entries. Change caller.
12381 (load_charset_map_from_file): Rename from load_charset_map.
12382 Change caller. New arg control_flag. Call load_charset_map at
12383 the tail.
12384 (load_charset_map_from_vector): New function.
12385 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12386 (encode_char): If the charset is compact, change a character index
12387 to a code point.
12388
12389 * coding.c (coding_alloc_by_making_gap): Check the case that the
12390 source and destination are the same correctly.
12391 (decode_coding_raw_text): Set coding->consumed_char and
12392 coding->consumed to 0.
12393 (produce_chars): If coding->chars_at_source is nonzero, update
12394 coding->consumed_char and coding->consumed before calling
12395 alloc_destination.
12396 (Fdefine_coding_system_alias): Register ALIAS in
12397 Vcoding_system_alist.
12398 (syms_of_coding): Define `no-conversion' coding system at the tail.
12399
12400 * fileio.c (Finsert_file_contents): Set coding_system instead of
12401 val. If the current buffer is multibyte, always call
12402 decode_coding_gap.
12403
12404 * xfaces.c (try_font_list): Give higher priority to fontset's
12405 family than face's family.
12406
124072008-02-01 Kenichi Handa <handa@m17n.org>
12408
12409 * callproc.c (Fcall_process): Be sure to give the current buffer
12410 to decode_coding_c_string.
12411
12412 * xfaces.c (try_font_list): Give a family specified in a fontset
12413 higher priority than a family specified in a face.
12414
124152008-02-01 Kenichi Handa <handa@m17n.org>
12416
12417 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12418 Fix arguments to insert_from_buffer.
12419
12420 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12421
124222008-02-01 Kenichi Handa <handa@m17n.org>
12423
12424 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12425 (decode_coding_gap): Set coding->dst_multibyte correctly.
12426
124272008-02-01 Kenichi Handa <handa@m17n.org>
12428
12429 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12430 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12431 (encode_coding_utf_16): Substitute coding->default_char for
12432 non-Unicode characters.
12433 (decode_coding): Don't call record_insert here.
12434 (setup_coding_system): Initialize `surrogate' of
12435 coding->spec.utf_16 to 0.
12436 (EMIT_ONE_BYTE): Fix for multibyte case.
12437
12438 * insdel.c (insert_from_gap): Call record_insert.
12439
124402008-02-01 Kenichi Handa <handa@m17n.org>
12441
12442 * casefiddle.c (casify_region): Fix multibyte case.
12443
12444 * character.c (c_string_width): Add return type `int'.
12445 (char_string_with_unification): Delete arg ADVANCED.
12446
12447 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12448 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12449 (CHAR_STRING_ADVANCE): Make it do-while statement.
12450
12451 * chartab.c (sub_char_table_set_range): Optimize for the case
12452 DEPTH == 3. Add workaround code for a GCC optimization bug.
12453
12454 * charset.c (parse_charset_map): Remove an unused variable.
12455
12456 * coding.c: Delete unused variables.
12457
12458 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12459 earlier. If inserted is zero and the coding system doesn't
12460 require flushing, don't call decode_coding_gap.
12461
12462 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12463
124642008-02-01 Kenichi Handa <handa@m17n.org>
12465
12466 The following changes are for using Unicode as an internal
12467 character model, and use UTF-8 format for buffer/string
12468 representation.
12469
12470 * .gdbinit (xchartable): Adjust for the change of char table structure.
12471 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12472
12473 * Makefile.in (obj): Add character.o and chartab.o.
12474 (lisp, shortlisp): Remove utf-8.elc.
12475 (*.o): For many files, change dependency on charset.h to
12476 character.h, and add dependency on character.h.
12477 (character.o, chartab.o): New targets.
12478
12479 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12480 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12481 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12482 of "charset.h".
12483
12484 * dired.c, filelock.c: Include "character.h".
12485
12486 * alloc.c: Include "character.h" instead of "charset.h".
12487 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12488 (syms_of_alloc): Remove defsubr for Smake_char_table.
12489
12490 * buffer.c: Include "character.h" instead of "charset.h", don't
12491 include "coding.h".
12492 (Fset_buffer_multibyte): Adjust for UTF-8.
12493
12494 * buffer.h: EXFUN Fbuffer_live_p.
12495
12496 * callproc.c: Include "character.h" instead of "charset.h".
12497 (Fcall_process): Big change for the new code-conversion APIs.
12498
12499 * casetab.c: Include "character.h" instead of "charset.h".
12500 (set_canon, set_identity, shuffle): Adjust for the new
12501 map_char_table spec.
12502 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12503 accessing the char table structure.
12504
12505 * chartab.c: New file that implements char table.
12506
12507 * category.c: Include "character.h".
12508 (copy_category_entry): New function.
12509 (copy_category_table): Call map_char_table and copy_category_entry.
12510 (Fmake_category_table): Initialize all top-level slots.
12511 (char_category_set): New function.
12512 (modify_lower_category_set): Delete.
12513 (Fmodify_category_entry): Call char_table_ref_and_range.
12514
12515 * category.h (CATEGORY_SET): Just call char_category_set.
12516
12517 * ccl.c: Include "character.h".
12518 (Qccl, Qcclp): New variables.
12519 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12520 it's less than 256.
12521 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12522 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12523 and DST type.
12524 (ccl_driver): Change types of argument, adjust code accordingly.
12525 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12526 ccl_driver.
12527 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12528
12529 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12530 New members src_multibyte, dst_multibyte, consumed, and produced.
12531 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12532 (CODING_SPEC_CCL_PROGRAM): New macro.
12533 (ccl_driver): Update prototype.
12534 (Qccl, Qcclp, Fccl_program_p): Extern them.
12535 (CHECK_CCL_PROGRAM): New macro.
12536
12537 * character.c, character.h, chartab.c: New files.
12538
12539 * charset.c: Mostly re-written. Move character and multibyte sequence
12540 handling codes to character.c.
12541
12542 * charset.h: Mostly re-written. Move character and multibyte sequence
12543 handling codes to character.h.
12544
12545 * coding.c, coding.h: Mostly re-written.
12546
12547 * composite.c: Include "character.h" instead of "charset.h".
12548 (CHAR_WIDTH): Move to character.h.
12549 (HASH_KEY, HASH_VALUE): Delete.
12550
12551 * composite.h (enum composition_method): Change order of enumeration
12552 symbols.
12553
12554 * data.c: Include "character.h" instead of "charset.h".
12555 (Faref): Call CHAR_TABLE_REF for a char table.
12556 (Faset): Call CHAR_TABLE_SET for a char table.
12557
12558 * dispextern.h (free_realized_face, check_face_attribytes)
12559 (generate_ascii_font): Extern them.
12560 (free_realized_multibyte_face): Delete extern.
12561
12562 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12563 table structure.
12564
12565 * editfns.c: Include "character.h" instead of "charset.h".
12566 (Fchar_to_string): Always call CHAR_STRING.
12567
12568 * emacs.c (main): Call init_charset_once, init_charset,
12569 syms_of_chartab, and syms_of_character.
12570
12571 * fileio.c: Include "character.h" instead of "charset.h".
12572 (Finsert_file_contents): Big change for the new code-conversion API.
12573 (choose_write_coding_system, Fwrite_region): Likewise.
12574 (build_annotations_2): Delete.
12575 (e_write): Big change for the new code-conversion API.
12576
12577 * fns.c: Include "character.h" instead of "charset.h".
12578 (copy_sub_char_table): Move to chartab.c.
12579 (Fcopy_sequence): Call copy_char_table for a char table.
12580 (concat): Delete codes calling count_multibyte.
12581 (string_char_to_byte, string_byte_to_char): Adjust for the new
12582 multibyte form.
12583 (internal_equal): Adjust for the change of char table structure.
12584 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12585 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12586 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12587 (char_table_translate, optimize_sub_char_table)
12588 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12589 chartab.c.
12590 (char_table_ref_and_index): Delete.
12591 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12592 (Fmd5): Call preferred_coding_system instead of accessing
12593 Vcoding_category_list. Adjust for the new code-conversion API.
12594 (syms_of_fns): Move defsubr for char table related functions to
12595 chartab.c.
12596
12597 * fontset.c: Mostly re-written.
12598
12599 * fontset.h (struct font_info): Change type of the member encoding_type.
12600 (enum FONT_SPEC_INDEX): New enum.
12601 (fontset_font_pattern, fs_load_font): Update prototype.
12602 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12603
12604 * indent.c: Include "character.h" instead of "charset.h".
12605 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12606
12607 * insdel.c: Include "character.h" instead of "charset.h".
12608 (copy_text): Don't refer to Vnonascii_translation_table.
12609 (insert_from_gap): New function.
12610
12611 * keyboard.c: Include "character.h" instead of "charset.h".
12612 (command_loop_1): Never call direct_output_forward_char before
12613 a non-ASCII character.
12614 (read_char): If Vkeyboard_translate_table is a char table, always
12615 translate a character.
12616
12617 * keymap.c: Include "character.h".
12618 (store_in_keymap): Handle the case that IDX is a cons.
12619 (Fdefine_key): Handle the case that KEY is a cons and the car part
12620 is also a cons (range).
12621 (push_key_description): Adjust for the new character code.
12622 (describe_vector): Call describe_char_table for a char table.
12623 (describe_char_table): New function.
12624
12625 * keymap.h (describe_char_table): Extern it.
12626
12627 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12628 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12629 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12630 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12631 Delete.
12632 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12633 structure.
12634 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12635 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12636 (CHARTAB_SIZE_BITS_3): New macros.
12637 (chartab_size): Extern it.
12638 (struct Lisp_Char_Table): Re-design.
12639 (struct Lisp_Sub_Char_Table): New structure.
12640 (HASH_KEY, HASH_VALUE): Move from fns.c.
12641 (CHARACTERBITS): Define as 22.
12642 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12643 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12644 (GC_SUB_CHAR_TABLE_P): New macro.
12645 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12646 (code_convert_string_norecord): Deleted extern.
12647 (init_character_once, syms_of_character, init_charset)
12648 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12649
12650 * lread.c: Include "character.h".
12651 (read_multibyte): New arg NBYTES.
12652 (read_escape): Change the meaning of returned *BYTEREP.
12653 (to_multibyte): Delete.
12654 (read1): Adjust the handling of char table and string.
12655
12656 * print.c: Include "character.h" instead of "charset.h".
12657 (print_string): Convert 8-bit raw bytes to octal form by
12658 string_escape_byte8.
12659 (print_object): Adjust for the new multibyte form. Print 8-bit
12660 raw bytes always in octal form. Handle sub char table correctly.
12661
12662 * process.c: Include "character.h" instead of "charset.h".
12663 (read_process_output, send_process): Adjust for the new
12664 code-conversion API.
12665
12666 * puresize.h (BASE_PURESIZE): Increase.
12667
12668 * regex.c: Include "character.h" instead of "charset.h".
12669 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12670 (regex_compile): Accept a range whose starting and ending
12671 character have different leading bytes.
12672 (analyse_first): Adjust for the above change.
12673
12674 * search.c: Include "character.h" instead of "charset.h".
12675 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12676 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12677
12678 * syntax.c: Include "character.h" instead of "charset.h".
12679 (syntax_parent_lookup): Delete.
12680 (Fmodify_syntax_entry): Accept a cons as CHAR.
12681 (skip_chars): Adjust for the new multibyte form.
12682 (init_syntax_once): Call char_table_set_range instead of directly
12683 accessing the structure of a char table.
12684
12685 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12686 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12687 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12688 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12689
12690 * term.c: Include "buffer.h" and "character.h".
12691 (encode_terminal_code, write_glyphs): Adjust for the new
12692 code-conversion API.
12693 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12694
12695 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12696
12697 * xdisp.c: Include "character.h".
12698 (get_next_display_element): Adjust for the new multibyte form.
12699 (disp_char_vector): Adjust for the new char table structure.
12700 (decode_mode_spec_coding): Adjust for the new structure of
12701 coding system.
12702 (decode_mode_spec): Adjust for the new code-conversion API.
12703
12704 * xfaces.c: Include "character.h" instead of "charset.h".
12705 (load_face_font): Adjust for the change of choose_face_font and
12706 FS_LOAD_FONT.
12707 (generate_ascii_font): New function.
12708 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12709 (set_font_frame_param): Adjust for the change of choose_face_font.
12710 (free_realized_face): Make it public.
12711 (free_realized_faces_for_fontset): Rename from
12712 free_realized_multibyte_face. Free also faces realized for ASCII.
12713 (choose_face_font): Change arguments. Adjust for the change of
12714 fontset_font_pattern and FS_LOAD_FONT.
12715
12716 * xfns.c: Include "character.h".
12717 (x_encode_text): Adjust for the new code-conversion API.
12718
12719 * xselect.c: Don't include "charset.h".
12720 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12721
12722 * xterm.c: Include "character.h".
12723 (x_encode_char): New argument CHARSET. Change caller.
12724 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12725 Call ENCODE_CHAR instead of SPLIT_CHAR.
12726 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12727 CHAR_WIDTH instead of CHARSET_WIDTH.
12728 (XTread_socket): Adjust for the new code-conversion API.
12729 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12730 (x_load_font): Adjust for the change of struct font.
12731
127322008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12733
12734 * xfaces.c (face_at_buffer_position): Remove unused vars.
12735
127362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12737
12738 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12739 Fix overflow checking.
12740
127412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12742
12743 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12744 Cancel previous change.
12745
127462008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12747
12748 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12749 ccl->eight_bit_control. Fix check for buffer overflow.
12750 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12751 (ccl_driver): Initialize extra_bytes to 0.
12752
127532008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12754
12755 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12756 return it ORed with ctrl_modifier.
12757
127582008-01-29 Miles Bader <miles@gnu.org>
12759
12760 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12761
127622008-01-28 Jason Rumney <jasonr@gnu.org>
12763
12764 * w32.c (stat): Don't double check for networked drive.
12765
127662008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12767
12768 * window.c (run_window_configuration_change_hook): New function.
12769 Code extracted from set_window_buffer. Set the selected frame.
12770 (set_window_buffer): Use it.
12771 * window.h (run_window_configuration_change_hook): Declare.
12772 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12773
12774 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12775
127762008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12777
12778 * Makefile.in: Remove references to unused macros.
12779
127802008-01-26 Eli Zaretskii <eliz@gnu.org>
12781
12782 * w32.c (g_b_init_get_sid_sub_authority)
12783 (g_b_init_get_sid_sub_authority_count): New static variables.
12784 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12785 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12786 (init_user_info): Use them to retrieve uid and gid.
12787 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12788 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12789 st_uid and st_gid of the file.
12790
127912008-01-26 Jason Rumney <jasonr@gnu.org>
12792
12793 * w32.c (logon_network_drive): New function.
12794 (stat): Use it.
12795
127962008-01-26 Chong Yidong <cyd@stupidchicken.com>
12797
12798 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12799 invisible text covered with an ellipsis.
12800
128012008-01-25 Richard Stallman <rms@gnu.org>
12802
12803 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12804 jump back to beginning. Move some other initializations after that.
12805 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12806 New variables.
12807 (syms_of_xdisp): Init them.
12808
12809 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12810
12811 * buffer.c (reset_buffer_local_variables):
12812 Implement `permanent-local-hook'.
12813 (Qpermanent_local_hook): New variable.
12814 (syms_of_buffer): Init and staticpro it.
12815
128162008-01-25 Michael Albinus <michael.albinus@gmx.de>
12817
12818 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12819
128202008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12821
12822 * fns.c (Fclrhash): Return TABLE.
12823
128242008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12825
12826 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12827 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12828 is set even without positional changes.
12829 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12830
12831 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12832
128332008-01-23 Jason Rumney <jasonr@gnu.org>
12834
12835 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12836
12837 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12838 the unicode range available in MULE by locale-coding-system.
12839 Improve dbcs lead byte detection. Set event timestamp and modifiers
12840 earlier.
12841
128422008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12843
12844 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12845 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12846 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12847 when used on child processes.
12848
128492008-01-21 Michael Albinus <michael.albinus@gmx.de>
12850
12851 * dbusbind.c (Fdbus_method_return_internal): Rename from
12852 Fdbus_method_return.
12853 (Fdbus_unregister_object): Move to dbus.el.
12854 (Fdbus_call_method, Fdbus_method_return_internal)
12855 (Fdbus_send_signal): Improve debug messages.
12856
128572008-01-20 Martin Rudalics <rudalics@gmx.at>
12858
12859 * undo.c (undo_inhibit_record_point): New variable.
12860 (syms_of_undo): Initialize it.
12861 (record_point): Don't record point when undo_inhibit_record_point
12862 is set.
12863
128642008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12865
12866 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12867
12868 * xdisp.c (Qauto_hscroll_mode): New var.
12869 (syms_of_xdisp): Initialize it.
12870 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12871 window's buffer.
12872 (hscroll_windows): Don't check automatic_hscrolling_p here.
12873
12874 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12875 vscroll if we're setting window-buffer to the value it already has.
12876
128772008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12878
12879 * m/intel386.h: Remove references to XENIX.
12880
128812008-01-17 Andreas Schwab <schwab@suse.de>
12882
12883 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12884 instead of HAVE_X86_64_LIB64_DIR.
12885 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12886
128872008-01-17 Glenn Morris <rgm@gnu.org>
12888
12889 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12890 to HAVE_X86_64_LIB64_DIR.
12891
128922008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12893
12894 * s/irix3-3.h:
12895 * s/irix4-0.h:
12896 * s/386-ix.h:
12897 * s/domain.h:
12898 * s/hpux9-x11r4.h:
12899 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12900
12901 * sysdep.c: Remove code containing references to symbols defined
12902 by unsupported systems.
12903
129042008-01-16 Glenn Morris <rgm@gnu.org>
12905
12906 * coding.c (select-safe-coding-system-function): Doc fix.
12907
129082008-01-15 Glenn Morris <rgm@gnu.org>
12909
12910 * config.in: Revert 2008-01-13 change: this is a generated file.
12911
129122008-01-13 Tom Tromey <tromey@redhat.com>
12913
12914 * lisp.h: Fix typo.
12915
129162008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12917
12918 * m/sequent-ptx.h:
12919 * m/sequent.h:
12920 * s/ptx.h:
12921 * s/ptx4-2.h:
12922 * s/ptx4.h: Remove files for systems no longer supported.
12923
12924 * callproc.c (Fcall_process): Fix previous change.
12925
129262008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12927
12928 * unexsunos4.c: Remove file, system not supported anymore.
12929
12930 * m/mips.h:
12931 * m/intel386.h:
12932 * callproc.c:
12933 * config.in:
12934 * ecrt0.c:
12935 * emacs.c:
12936 * fileio.c:
12937 * frame.c:
12938 * getpagesize.h:
12939 * keyboard.c:
12940 * lread.c:
12941 * process.c:
12942 * puresize.h:
12943 * sysdep.c:
12944 * systty.h:
12945 * syswait.h:
12946 * unexec.c:
12947 * xdisp.c:
12948 * alloc.c: Remove code containing references to symbols defined by
12949 unsupported systems.
12950
129512008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12952
12953 * coding.c (detect_coding_mask): Fix previous change.
12954
129552008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12956
12957 * coding.c (detect_coding_iso2022): New arg
12958 latin_extra_code_state. Allow Latin extra codes only
12959 when *latin_extra_code_state is nonzero.
12960 (detect_coding_mask): If there is a NULL byte, detect the encoding
12961 as UTF-16 or binary. If Latin extra codes exist, detect the
12962 encoding as ISO-2022 only when there's no other proper encoding is
12963 found.
12964
129652008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12966
12967 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12968 #ifdef MAC_OS.
12969
129702008-01-08 Richard Stallman <rms@gnu.org>
12971
12972 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12973
129742008-01-06 Nick Roberts <nickrob@snap.net.nz>
12975
12976 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12977 menu bar in parentheses.
12978
129792008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12980
12981 * m/7300.h:
12982 * m/acorn.h:
12983 * m/alliant-2800.h:
12984 * m/alliant.h:
12985 * m/alliant1.h:
12986 * m/alliant4.h:
12987 * m/altos.h:
12988 * m/amdahl.h:
12989 * m/apollo.h:
12990 * m/att3b.h:
12991 * m/aviion-intel.h:
12992 * m/aviion.h:
12993 * m/celerity.h:
12994 * m/clipper.h:
12995 * m/cnvrgnt.h:
12996 * m/convex.h:
12997 * m/cydra5.h:
12998 * m/delta88k.h:
12999 * m/dpx2.h:
13000 * m/dual.h:
13001 * m/elxsi.h:
13002 * m/f301.h:
13003 * m/gould-np1.h:
13004 * m/gould.h:
13005 * m/i860.h:
13006 * m/ibmps2-aix.h:
13007 * m/ibmrt-aix.h:
13008 * m/ibmrt.h:
13009 * m/irist.h:
13010 * m/is386.h:
13011 * m/isi-ov.h:
13012 * m/mega68.h:
13013 * m/mg1.h:
13014 * m/news-r6.h:
13015 * m/news-risc.h:
13016 * m/news.h:
13017 * m/nh3000.h:
13018 * m/nh4000.h:
13019 * m/ns16000.h:
13020 * m/ns32000.h:
13021 * m/nu.h:
13022 * m/orion.h:
13023 * m/orion105.h:
13024 * m/paragon.h:
13025 * m/pfa50.h:
13026 * m/plexus.h:
13027 * m/pyramid.h:
13028 * m/pyrmips.h:
13029 * m/sh3el.h:
13030 * m/sps7.h:
13031 * m/sr2k.h:
13032 * m/stride.h:
13033 * m/sun1.h:
13034 * m/sun2.h:
13035 * m/sun3-68881.h:
13036 * m/sun3-fpa.h:
13037 * m/sun3-soft.h:
13038 * m/sun3.h:
13039 * m/sun386.h:
13040 * m/symmetry.h:
13041 * m/tad68k.h:
13042 * m/tahoe.h:
13043 * m/targon31.h:
13044 * m/tek4300.h:
13045 * m/tekxd88.h:
13046 * m/tower32.h:
13047 * m/tower32v3.h:
13048 * m/ustation.h:
13049 * m/wicat.h:
13050 * m/xps100.h:
13051 * s/cxux.h:
13052 * s/cxux7.h:
13053 * s/dgux.h:
13054 * s/dgux4.h:
13055 * s/dgux5-4-3.h:
13056 * s/dgux5-4r2.h:
13057 * s/esix.h:
13058 * s/esix5r4.h:
13059 * s/hiuxmpp.h:
13060 * s/hiuxwe2.h:
13061 * s/iris3-5.h:
13062 * s/iris3-6.h:
13063 * s/isc2-2.h:
13064 * s/isc3-0.h:
13065 * s/isc4-0.h:
13066 * s/isc4-1.h:
13067 * s/newsos5.h:
13068 * s/newsos6.h:
13069 * s/osf1.h:
13070 * s/osf5-0.h:
13071 * s/riscix1-1.h:
13072 * s/riscix12.h:
13073 * s/sco4.h:
13074 * s/sco5.h:
13075 * s/sunos4-0.h:
13076 * s/sunos4-1.h:
13077 * s/sunos413.h:
13078 * s/sunos4shr.h:
13079 * s/umax.h:
13080 * s/unipl5-2.h:
13081 * s/xenix.h:
13082 * cxux-crt0.s:
13083 * unexapollo.c:
13084 * unexconvex.c:
13085 * unexenix.c:
13086 * unexsni.c: Remove files for systems no longer supported.
13087
13088 * m/intel386.h: Remove references to unsupported systems.
13089
13090 * w32.c (get_emacs_configuration): Remove reference to i860.
13091
13092 * sysdep.c: Remove dead code.
13093
130942008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13095
13096 * s/rtu.h:
13097 * m/masscomp.h: Remove files. Platform is obsolete.
13098
130992008-01-04 Michael Albinus <michael.albinus@gmx.de>
13100
13101 * dbusbind.c (Fdbus_method_return): New function.
13102 (xd_read_message): Add the serial number to the event.
13103 (Fdbus_register_method): Activate the function.
13104
131052008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13106
13107 * keyboard.c (read_key_sequence): Fix typo.
13108
131092008-01-03 Michael Albinus <michael.albinus@gmx.de>
13110
13111 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13112 (xd_signature, xd_append_arg): Handle element type detection for
13113 empty arrays.
13114 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13115 SDATA () calls; this must be solved more general.
13116 (Fdbus_register_signal): Use SBYTES instead of strlen.
13117
131182008-01-03 Magnus Henoch <magnus@zemdatav>
13119
13120 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13121 unsigned int for byte values (necessary for big-endian platform).
13122 (Fdbus_call_method): Handle the case of no returned arguments.
13123
131242007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13125
13126 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13127
131282007-12-31 Magnus Henoch <mange@freemail.hu>
13129
13130 * dbusbind.c (xd_signature): Signature of variant is just "v".
13131
131322007-12-30 Michael Albinus <michael.albinus@gmx.de>
13133
13134 * dbusbind.c: Fix several errors and compiler warnings.
13135 Reported by Tom Tromey <tromey@redhat.com>.
13136 (XD_ERROR, XD_DEBUG_MESSAGE)
13137 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13138 (xd_append_arg): Part for basic D-Bus types rewritten.
13139 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13140 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13141 appropriate.
13142 (xd_read_message): Return Qnil. Don't signal an error; it is not
13143 useful during event reading.
13144 (Fdbus_register_signal): Signal an error if the check for
13145 FUNCTIONP fails.
13146 (Fdbus_register_method): New function. The implementation is not
13147 complete, the call of the function signals an error therefore.
13148 (Fdbus_unregister_object): New function, renamed from
13149 Fdbus_unregister_signal. The initial check signals an error, if
13150 the object is not well formed.
13151
131522007-12-30 Richard Stallman <rms@gnu.org>
13153
13154 * textprop.c (get_char_property_and_overlay):
13155 Signal error if POSITION is out of range in a buffer.
13156
131572007-12-29 Martin Rudalics <rudalics@gmx.at>
13158
13159 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13160 because the original parameters are in pure storage now.
13161
131622007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13163
13164 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13165
131662007-12-22 Eli Zaretskii <eliz@gnu.org>
13167
13168 * callint.c (syms_of_callint) <command-history>: Add reference to
13169 history-length in the doc string.
13170
131712007-12-17 Jason Rumney <jasonr@gnu.org>
13172
13173 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13174 before passing as wParam.
13175
131762007-12-22 Michael Albinus <michael.albinus@gmx.de>
13177
13178 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13179 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13180 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13181 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13182 as number.
13183 (Fdbus_call_method): Fix docstring.
13184
131852007-12-21 Michael Albinus <michael.albinus@gmx.de>
13186
13187 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13188 New macros.
13189 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13190 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13191 Simplify.
13192 (xd_signature): New function.
13193 (xd_append_arg): Compute also signatures. Major rewrite.
13194 (xd_retrieve_arg): Make debug messages friendly.
13195 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13196 Check for signatures of arguments.
13197
131982007-12-19 Michael Albinus <michael.albinus@gmx.de>
13199
13200 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13201 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13202 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13203 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13204 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13205 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13206 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13207 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13208 (xd_retrieve_value): Remove. Functionality included in ...
13209 (xd_append_arg): New function.
13210 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13211
132122007-12-16 Michael Albinus <michael.albinus@gmx.de>
13213
13214 * dbusbind.c (top): Include <stdio.h>.
13215 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13216 dbus_message_new_method_call and dbus_message_new_signal.
13217 (Fdbus_register_signal): Rename unique_name to uname.
13218 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13219 non-existing unique name. Fix typos in matching rule. Return an
13220 object which is useful in Fdbus_unregister_signal.
13221 (Fdbus_unregister_signal): Reimplementation, in order to remove
13222 only the corresponding entry.
13223 (Vdbus_registered_functions_table): Change the order of entries.
13224 Apply these changes in xd_read_message and Fdbus_register_signal.
13225
132262007-12-16 Andreas Schwab <schwab@suse.de>
13227
13228 * fileio.c (Finsert_file_contents): Fix overflow check to not
13229 depend on undefined integer overflow.
13230
132312007-12-14 Jason Rumney <jasonr@gnu.org>
13232
13233 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13234 for characters above 127.
13235
132362007-12-13 Jason Rumney <jasonr@gnu.org>
13237
13238 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13239 before dereferencing array.
13240 (lookup_vk_code): Remove zero comparison.
13241
132422007-12-14 Michael Albinus <michael.albinus@gmx.de>
13243
13244 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13245 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13246 Use `unsigned int' instead of `uint'.
13247 (xd_read_message, Fdbus_register_signal): Split expressions into
13248 multiple lines before operators "&&" and "||", according to the
13249 GNU Coding Standards.
13250
132512007-12-14 Eli Zaretskii <eliz@gnu.org>
13252
13253 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13254
132552007-12-12 Juri Linkov <juri@jurta.org>
13256
13257 * buffer.c (Frename_buffer): In interactive spec replace
13258 `read-buffer' with `read-string' that uses `buffer-name-history'
13259 as history, and the current buffer's name as default.
13260
132612007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13262
13263 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13264 manipulating the backtrace manually.
13265 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13266 (struct backtrace, backtrace_list): Remove.
13267 (command_loop_1): Remove dead var `no_direct'.
13268
13269 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13270 preserve non-built-in buffer-local variables.
13271 (Fkill_all_local_variables): Don't re-create&re-set permanent
13272 buffer-local variables.
13273
132742007-12-09 Juri Linkov <juri@jurta.org>
13275
13276 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13277 Lisp code that uses `read-buffer' with current buffer as default.
13278
132792007-12-08 Michael Albinus <michael.albinus@gmx.de>
13280
13281 * dbusbind.c (xd_read_message): Generate an event for every
13282 registered handler. There might be several handlers registered
13283 for the same signal.
13284 (Fdbus_register_signal): Don't overwrite a registration for the
13285 same signal. Add a new registration if handlers are different.
13286 (Vdbus_registered_functions_table): Rework doc string.
13287
132882007-12-07 Michael Albinus <michael.albinus@gmx.de>
13289
13290 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13291 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13292 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13293 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13294 Unify argument lists.
13295 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13296 arguments and hash table keys. Use unique name for service.
13297 (Fdbus_unregister_signal): Remove checks.
13298 (Vdbus_registered_functions_table): Fix doc string.
13299
133002007-12-05 Magnus Henoch <mange@freemail.hu>
13301
13302 * process.c (make_process): Initialize pty_flag to 0.
13303
133042007-12-05 Jason Rumney <jasonr@gnu.org>
13305
13306 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13307 specified XBMs.
13308
133092007-12-05 Richard Stallman <rms@gnu.org>
13310
13311 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13312
133132007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13314
13315 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13316 New variable.
13317 (mac_try_close_socket) [MAC_OSX]: New function.
13318 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13319 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13320
13321 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13322 Use mac_try_close_socket.
13323
133242007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13325
13326 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13327 reloc_base.
13328 (copy_dysymtab): Compute relocation base here.
13329 (rebase_reloc_address) [__ppc64__]: New function.
13330 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13331 changed.
13332
133332007-12-05 Jason Rumney <jasonr@gnu.org>
13334
13335 * w32proc.c (sys_spawnve): Quote args with wildcards.
13336
133372007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13338
13339 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13340 __objc_* sections.
13341 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13342
133432007-12-05 Michael Albinus <michael.albinus@gmx.de>
13344
13345 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13346 Move check for Vdbus_registered_functions_table to
13347 xd_read_queued_messages.
13348 (xd_read_queued_messages): Protect xd_read_message calls by
13349 internal_condition_case_1.
13350
133512007-12-04 Michael Albinus <michael.albinus@gmx.de>
13352
13353 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13354 Qdbus_system_bus and Qdbus_session_bus, respectively.
13355 (Vdbus_intern_symbols): Remove.
13356 (Vdbus_registered_functions_table): New hash table.
13357 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13358 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13359 Rewrite in order to manage registered functions by hash table
13360 Vdbus_registered_functions_table.
13361
133622007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13363
13364 * xterm.c: Update URL to Window Manager Specification in comment.
13365
133662007-12-02 Michael Albinus <michael.albinus@gmx.de>
13367
13368 * config.in (HAVE_DBUS): Add.
13369
13370 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13371 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13372 (obj): Add $(DBUS_OBJ).
13373 (LIBES): Add $(DBUS_LIBS).
13374 (dbusbind.o): New target.
13375
13376 * dbusbind.c: New file.
13377
13378 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13379
13380 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13381 (Qdbus_event): New Lisp symbol.
13382 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13383 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13384 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13385
13386 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13387
133882007-12-01 Richard Stallman <rms@gnu.org>
13389
13390 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13391
133922007-11-30 Jason Rumney <jasonr@gnu.org>
13393
13394 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13395 (w32con_reset_terminal_modes): Clear screen buffer.
13396 (w32_face_attributes): Don't use color indexes that are out of range.
13397 Only reverse the default colors.
13398
13399 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13400 WINDOWSNT.
13401
13402 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13403
134042007-11-29 Jason Rumney <jasonr@gnu.org>
13405
13406 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13407 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13408 if the terminal colors are initialized.
13409 (unspecified_fg, unspecified_bg): Remove unused declarations.
13410
134112007-11-29 Andreas Schwab <schwab@suse.de>
13412
13413 * keyboard.c (apply_modifiers): Fix typo.
13414
134152007-11-29 Richard Stallman <rms@gnu.org>
13416
13417 * keymap.c (Fcurrent_local_map): Doc fix.
13418
134192007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13420
13421 * s/gnu-kfreebsd.h: New file.
13422
134232007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13424
13425 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13426 Don't cast redundantly.
13427
13428 * keyboard.c (KEY_TO_CHAR): New macro.
13429 (parse_modifiers, apply_modifiers): Accept integer arguments.
13430 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13431 for chars and symbol keys.
13432 After doing such remapping, apply function-key-map again.
13433
134342007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13435
13436 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13437 compiled anymore.
13438
134392007-11-26 Andreas Schwab <schwab@suse.de>
13440
13441 * process.c (list_processes_1): Fix indentation level of the
13442 command column.
13443
134442007-11-23 Andreas Schwab <schwab@suse.de>
13445
13446 * editfns.c (Fformat): Handle %c specially since it requires the
13447 argument to be of type int.
13448
134492007-11-23 Markus Triska <markus.triska@gmx.at>
13450
13451 * emacs.c (main): Call init_editfns before init_process, since
13452 init_process sets Vprocess_connection_type depending on OS release.
13453
134542007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13455
13456 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13457 (find_symbol_value): Use do_symval_forwarding.
13458
13459 * data.c (set_internal): Set the value in the `cons-cell' (for
13460 Buffer_Local_values) not only for frame-local variables.
13461
134622007-11-22 Andreas Schwab <schwab@suse.de>
13463
13464 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13465 values to sprintf.
13466 * keymap.c (Fsingle_key_description): Likewise.
13467 * print.c (print_object): Likewise.
13468
134692007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13470
13471 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13472 file for image is nil.
13473
134742007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13475
13476 * term.c: Include stdarg.h.
13477 (fatal): Implement using varargs.
13478 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13479
134802007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13481
13482 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13483 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13484 Update call to buffer_slot_type_mismatch.
13485 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13486 (buffer_slot_type_mismatch): Update.
13487 * buffer.c (buffer_local_types): Remove.
13488 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13489 (defvar_per_buffer): Set the type in the buffer_objfwd.
13490
134912007-11-21 Jason Rumney <jasonr@gnu.org>
13492
13493 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13494 CreateFileMapping returns NULL on failure.
13495
134962007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13497
13498 * search.c (Fset_match_data): Remove the `evaporate' feature.
13499 (unwind_set_match_data): Don't use the `evaporate' feature.
13500
135012007-11-21 Jason Rumney <jasonr@gnu.org>
13502
13503 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13504
13505 * w32console.c (w32con_write_glyphs): Remove unused variables.
13506
135072007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13508
13509 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13510
13511 * s/darwin.h (MULTI_KBOARD): Remove.
13512
13513 * macfns.c (x_create_tip_frame, Fx_create_frame)
13514 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13515
135162007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13517
13518 * buffer.c (Fbuffer_local_value): Remove redundant test.
13519 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13520 than in `current-buffer' to match the comment.
13521 Do the swap using swap_in_global_binding.
13522
13523 * data.c (store_symval_forwarding, set_internal):
13524 * eval.c (specbind): Remove dead code.
13525
13526 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13527 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13528 Since we do not want to see internal Lisp_*fwd objects here.
13529
135302007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13531
13532 * sysdep.c (init_system_name): Use getaddrinfo if available.
13533
13534 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13535 (x_scroll_bar_note_movement): start, end, with, height in struct
13536 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13537
135382007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13539
13540 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13541
135422007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13543
13544 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13545 This undoes Richard's change of 14-Oct-2002.
13546
13547 * alloc.c (allocate_other_vector):
13548 * lisp.h (allocate_other_vector): Remove.
13549
13550 * window.c (struct save_window_data): Move non-lisp data to the end
13551 and make it `int' rather than Lisp_Object.
13552 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13553 Done wrap/unwrap integer values.
13554 (Fset_window_configuration, compare_window_configurations):
13555 Update use of fields to their new types.
13556
13557 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13558 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13559 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13560 (SET_SCROLL_BAR_X_WINDOW): Remove.
13561 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13562 Access the new x_window field directly.
13563 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13564 Don't wrap/unwrap integers into Lisp_Objects.
13565 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13566 (x_scroll_bar_report_motion):
13567 Don't wrap/unwrap integers into Lisp_Objects.
13568 (x_term_init): Use SDATA.
13569 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13570 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13571 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13572 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13573 * xfns.c (x_set_background_color):
13574 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13575 Access the new x_window field directly.
13576
13577 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13578 (allocate_pseudovector): Make non-static.
13579
13580 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13581 (allocate_pseudovector): Declare.
13582 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13583
135842007-11-15 Andreas Schwab <schwab@suse.de>
13585
13586 * editfns.c (Fformat): Correctly format EMACS_INT values.
13587 Also take precision into account when formatting an integer.
13588
13589 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13590
135912007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13592
13593 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13594 (syms_of_keyboard): Defsubr it.
13595
13596 * data.c (swap_in_global_binding): Fix longstanding bug where
13597 store_symval_forwarding was not called with the right second argument,
13598 thus causing objfwd-ing from being dropped.
13599
136002007-11-14 Juanma Barranquero <lekktu@gmail.com>
13601
13602 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13603 (Fx_display_pixel_height, Fx_display_planes)
13604 (Fx_display_color_cells, Fx_server_max_request_size)
13605 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13606 (Fx_display_visual_class, Fx_display_save_under):
13607 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13608 (Fx_display_pixel_height, Fx_display_planes)
13609 (Fx_display_color_cells, Fx_server_max_request_size)
13610 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13611 (Fx_display_mm_height, Fx_display_mm_width)
13612 (Fx_display_backing_store, Fx_display_visual_class)
13613 (Fw32_select_font, Fx_display_save_under):
13614 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13615 (Fx_display_pixel_height, Fx_display_planes)
13616 (Fx_display_color_cells, Fx_server_max_request_size)
13617 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13618 (Fx_display_save_under): Fix typos in docstrings.
13619
136202007-11-14 Juanma Barranquero <lekktu@gmail.com>
13621
13622 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13623 corresponding to deleted entries; they are an implementation detail.
13624 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13625 Remove variables.
13626 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13627 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13628 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13629 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13630 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13631 (Fw32_define_rgb_color, Fw32_load_color_file)
13632 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13633 Fix typos in docstrings.
13634 (Fx_server_version): Reflow docstring.
13635 (Fw32_shell_execute): Doc fixes.
13636
136372007-11-13 Juanma Barranquero <lekktu@gmail.com>
13638
13639 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13640 if w32_parse_hot_key returned nil.
13641
136422007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13643
13644 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13645
136462007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13647
aac0c6e3
MR
13648 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13649
13650 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13651
13652 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13653 Remove W32_SCROLL_BAR_CLICK_EVENT.
13654
13655 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13656 Add MULTIMEDIA_KEY_EVENT.
13657
13658 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13659 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13660 (make_lispy_event) [WINDOWSNT]: Use it to translate
13661 MULTIMEDIA_KEY_EVENT.
13662
13663 * w32term.h (WM_APPCOMMAND): Define if not already.
13664 (GET_APPCOMMAND_LPARAM): Likewise.
13665
13666 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13667 WM_APPCOMMAND.
13668
13669 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13670 (syms_of_w32fns): Export and initialize it.
13671 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13672
136732007-11-09 Chong Yidong <cyd@stupidchicken.com>
13674
13675 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13676 twice.
13677
13678 * xdisp.c (handle_face_prop): Fix last change.
13679
136802007-11-09 Richard Stallman <rms@gnu.org>
13681
13682 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13683 not just for after-strings and before-strings.
13684 Call face_for_overlay_string and pass the overlay to it.
13685 (handle_display_prop): Determine whether property came from an overlay.
13686 Pass OVERLAY arg to handle_single_display_spec.
13687 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13688 (load_overlay_strings): Fill in it->string_overlays.
13689 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13690
13691 * xfaces.c (face_for_overlay_string): Function renamed from
13692 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13693
13694 * dispextern.h (struct it): New elt string_overlays.
13695 New elt from_overlay, also in stack.
13696 Rearrange a few elements.
13697 (face_for_overlay_string): Decl renamed from
13698 face_at_buffer_position_no_overlays, and add argument.
13699
137002007-11-09 Richard Stallman <rms@gnu.org>
13701
13702 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13703 to get the base face for an overlay string.
13704
13705 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13706
13707 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13708
13709 * xdisp.c (handle_stop): Move some code out of loop.
13710
137112007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13712
13713 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13714 Fix conversion from Lisp object to ATSUFontID.
13715
137162007-11-09 Jason Rumney <jasonr@gnu.org>
13717
13718 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13719
137202007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13721
13722 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13723 Don't assume regions are aligned to page boundary.
13724 (print_load_command_name): Add LC_UUID if defined.
13725
137262007-11-09 Richard Stallman <rms@gnu.org>
13727
13728 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13729
137302007-11-07 Jason Rumney <jasonr@gnu.org>
13731
13732 * s/windows95.h: Remove.
13733
137342007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13735
13736 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13737 abort with a message on unhandled store_type values.
13738
137392007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13740
13741 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13742 Remove HAVE_X11R5 and HAVE_X11R4.
13743
137442007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13745
13746 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13747
137482007-11-01 Johan Bockgård <bojohan@gnu.org>
13749
13750 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13751 Don't set s->stippled_p here, since it has already been set by
13752 x_set_glyph_string_gc from x_draw_glyph_string.
13753
137542007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13755
13756 * sunfns.c: Remove file.
13757
13758 * m/sun386.h:
13759 * m/sun2.h:
13760 * m/sparc.h: Remove Sun windows code.
13761
137622007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13763
13764 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13765 (init_keyboard): Set current_kboard's window-system to nil.
13766 (tty_read_avail_input): Typo.
13767 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13768
137692007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13770
13771 * s/usg5-4.h:
13772 * s/usg5-3.h:
13773 * s/ptx.h:
13774 * m/is386.h:
13775 * m/ibmps2-aix.h:
13776 * Makefile.in: Remove all mentions of X10.
13777
13778 * dispnew.c (syms_of_display): Don't mention version 10.
13779
137802007-10-28 Juanma Barranquero <lekktu@gmail.com>
13781
13782 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13783 ($(BLD)/abbrev.$(O)): Remove.
13784
137852007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13786
13787 Rewrite abbrev.c in Elisp.
13788 * image.c (Qcount): Don't declare as extern.
13789 (syms_of_image): Initialize and staticpro `Qcount'.
13790 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13791 * emacs.c (main): Don't call syms_of_abbrev.
13792 * Makefile.in (obj): Remove abbrev.o.
13793 (abbrev.o): Remove.
13794 * abbrev.c: Remove.
13795
137962007-10-26 Martin Rudalics <rudalics@gmx.at>
13797
13798 * window.c (window_min_size_2): Don't count header-line.
13799
138002007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13801
13802 * frame.h (struct frame): Move all bit fields after the first bit
13803 field to take advantage of the available space. Group all the
13804 chars together to reduce wasted space due to padding.
13805
138062007-10-26 Juanma Barranquero <lekktu@gmail.com>
13807
13808 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13809
13810 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13811 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13812 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13813 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13814 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13815 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13816 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13817 (last_marked, mark_object_loop_halt): Make static.
13818
13819 * frame.c (syms_of_frame) <delete-frame-functions>:
13820 Fix typo in docstring.
13821
138222007-10-25 Juanma Barranquero <lekktu@gmail.com>
13823
13824 * w32.c (init_environment): Fix tiny memory leak.
13825 (w32_get_resource): Remove unused variable `ok'.
13826
138272007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13828
13829 Make `window-system' into a keyboard-local variable (rather than
13830 frame-local as done originally by multi-tty).
13831
13832 * keyboard.h (struct kboard): Add Vwindow_system.
13833 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13834 (mark_kboards): Mark Vwindow_system.
13835
13836 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13837 (init_display): Don't set the obsolete `window-system' frame-param.
13838
13839 * xterm.c (x_term_init):
13840 * w32term.c (w32_create_terminal):
13841 * term.c (init_tty): Set Vwindow_system.
13842 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13843 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13844
13845 * xfns.c (Fx_create_frame, x_create_tip_frame):
13846 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13847 * macfns.c (Fx_create_frame):
13848 Don't set the obsolete `window-system' frame-param.
13849
13850 * frame.h (Qwindow_system): Remove.
13851 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13852 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13853
138542007-10-24 Richard Stallman <rms@gnu.org>
13855
13856 * frame.c (x_figure_window_size): For fullscreen case,
13857 set USPosition | PPosition without clobbering rest of window_prompting.
13858
13859 * keyboard.c (Fcurrent_idle_time): Doc fix.
13860
13861 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13862
138632007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13864
13865 * process.c (unwind_request_sigio): Only define if __ultrix__.
13866
13867 * callproc.c (child_setup): Remove spurious *.
13868
13869 * lisp.h (Fget_text_property): Declare.
13870 (have_menus_p): Declare it here rather than in sys-dep header files.
13871 * macterm.h (have_menus_p):
13872 * msdos.h (have_menus_p):
13873 * xterm.h (have_menus_p): Remove.
13874
13875 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13876 (Fmake_variable_frame_local): Just check the variable's const-ness
13877 rather than checking nil or t.
13878
138792007-10-22 Jason Rumney <jasonr@gnu.org>
13880
13881 * w32fns.c: Include math.h.
13882 (w32_abort): Declaration moved to nt/config.nt.
13883
13884 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13885 (abort): Redefinition moved to nt/config.nt.
13886
13887 * m/windowsnt.h: Remove.
13888
138892007-10-22 Juanma Barranquero <lekktu@gmail.com>
13890
13891 * emacs.c (Fdump_emacs): Fix typo in message.
13892 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13893 <installation-directory>: Reflow docstring.
13894
138952007-10-22 Juri Linkov <juri@jurta.org>
13896
13897 * minibuf.c: Allow minibuffer default to be a list of default values.
13898 With empty input use the first element of this list as returned default.
13899 (string_to_object)
13900 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13901 (read_minibuf): If defalt is cons, set histstring to its car.
13902 (Fread_string): If default_value is cons, set val to its car.
13903 (Fread_buffer): If def is cons, use its car.
13904 (Fcompleting_read): If defalt is cons, set val to its car.
13905
139062007-10-21 Michael Albinus <michael.albinus@gmx.de>
13907
13908 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13909
139102007-10-20 Juanma Barranquero <lekktu@gmail.com>
13911
13912 * doc.c (Fdocumentation): Check for advice in all cases.
13913
139142007-10-19 Chong Yidong <cyd@stupidchicken.com>
13915
13916 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13917
139182007-10-19 Richard Stallman <rms@gnu.org>
13919
13920 * doc.c (Fdocumentation): Check for and handle an advised function.
13921
139222007-10-19 Juanma Barranquero <lekktu@gmail.com>
13923
13924 * process.c (Fset_process_filter): Doc fix.
13925
139262007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13927
13928 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13929 which caused key-translation-map to applied repeatedly (thus breaking
13930 double-mode).
13931
139322007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13933
13934 * xselect.c (x_own_selection, x_handle_selection_clear)
13935 (x_clear_frame_selections):
13936 * w32menu.c (list_of_panes, list_of_items):
13937 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13938 * textprop.c (validate_plist, interval_has_all_properties)
13939 (interval_has_some_properties, interval_has_some_properties_list)
13940 (add_properties, text_property_list):
13941 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13942 * minibuf.c (Fassoc_string):
13943 * macselect.c (x_own_selection, x_clear_frame_selections)
13944 (Fx_disown_selection_internal):
13945 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13946 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13947
139482007-10-17 Chong Yidong <cyd@stupidchicken.com>
13949
13950 * process.c: Link to libs for calling res_init() if available.
13951 (Fmake_network_process): Call res_init() before getaddrinfo or
13952 gethostbyname, if possible.
13953
139542007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13955
13956 * lread.c (read1): Set pvectype for char_tables.
13957
13958 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13959 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13960 Add type checks.
13961 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13962
13963 * alloc.c (free_misc): Use XMISCTYPE.
13964 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13965
139662007-10-17 Glenn Morris <rgm@gnu.org>
13967
13968 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13969 (syms_of_minibuf): Add Qcompletion_ignore_case.
13970 * dired.c (Qcompletion_ignore_case): Change to external.
13971 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13972 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13973 (Fread_file_name): Use it rather than intern'ing.
13974
13975 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13976 (Fread_coding_system): Ignore case of user input.
13977
139782007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13979
13980 * xdisp.c (handle_display_prop): Ignore display specs after
13981 replacing one when string text is being replaced.
13982 (handle_single_display_spec): Pretend as if characters with display
13983 property haven't been consumed only when buffer text is being replaced.
13984
139852007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13986
13987 * xfns.c (Fx_create_frame, Fx_display_list):
13988 * window.c (window_fixed_size_p, enlarge_window)
13989 (shrink_window_lowest_first):
13990 * macterm.c (init_font_name_table):
13991 * macfns.c (Fx_create_frame, Fx_display_list):
13992 * lread.c (close_load_descs):
13993 * keyboard.c (read_char_x_menu_prompt):
13994 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13995 * coding.c (code_convert_region_unwind): Test the type of an object
13996 rather than just !NILP before extracting data from it.
13997
13998 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13999
14000 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14001 (XMISCANY): New macro.
14002 (XMISCTYPE): Use it.
14003 (struct Lisp_Misc_Any): New type.
14004 (union Lisp_Misc): Use it.
14005 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14006 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14007 (find_symbol_value, set_internal, default_value, Fset_default)
14008 (Fmake_variable_buffer_local, Fmake_local_variable)
14009 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14010 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14011 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14012 * alloc.c (allocate_buffer): Set the size and tag.
14013 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14014 Use XMISCANY.
14015 (die): Follow the GNU convention for error messages.
14016 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14017 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14018 tag any more.
14019 (set_buffer_internal_1):
14020 * frame.c (store_frame_param):
14021 * eval.c (specbind):
14022 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14023
14024 * doc.c (Fsnarf_documentation): Simplify.
14025
140262007-10-14 Juanma Barranquero <lekktu@gmail.com>
14027
14028 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14029 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14030
140312007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14032
14033 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14034
140352007-10-14 Juanma Barranquero <lekktu@gmail.com>
14036
14037 * eval.c (do_autoload): Don't save autoloads.
14038
14039 * data.c (Ffset): Save autoload of the function being set.
14040
140412007-10-07 John Paul Wallington <jpw@pobox.com>
14042
14043 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14044 parameter before setting up faces.
14045
140462007-10-13 Eli Zaretskii <eliz@gnu.org>
14047
14048 * ccl.c (Fregister_code_conversion_map):
14049 * keyboard.c (append_tool_bar_item): Reformat last change.
14050
14051 * lisp.h (eabs): Rename from `abs'. All callers changed.
14052
140532007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14054
14055 * buffer.c (add_overlay_mod_hooklist):
14056 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14057 * fontset.c (make_fontset):
14058 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14059 (append_tool_bar_item):
14060 * macmenu.c (grow_menu_items):
14061 * w32menu.c (grow_menu_items):
14062 * xmenu.c (grow_menu_items): Use larger_vector.
14063
140642007-10-13 Eli Zaretskii <eliz@gnu.org>
14065
14066 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14067 selected frame'' on MSDOS).
14068
140692007-10-12 Martin Rudalics <rudalics@gmx.at>
14070
14071 * frame.c (Qexplicit_name): New variable.
14072 (x_report_frame_params): Report it in parameter alist.
14073 (syms_of_frame): Intern and staticpro it.
14074
140752007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14076
14077 * macfns.c (x_create_tip_frame): Set terminal for frame.
14078
140792007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14080
14081 * frame.c (Qenvironment): Remove.
14082 (syms_of_frame) <Qenvironment>: Don't initialize.
14083 (Fdelete_frame): Don't treat the `environment' param specially.
14084 * frame.h (Qenvironment): Don't declare.
14085 * callproc.c (set_initial_environment): Don't set unused frame param.
14086
14087 * frame.c (Fframe_with_environment): Remove.
14088 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14089
14090 * lisp.h (Fframe_with_environment): Don't declare.
14091
140922007-10-10 Juanma Barranquero <lekktu@gmail.com>
14093
14094 * indent.c (indent_tabs_mode, last_known_column)
14095 (last_known_column_modified): Make static.
14096 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14097
140982007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14099
14100 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14101
141022007-10-09 Jason Rumney <jasonr@gnu.org>
14103
14104 * w32term.c (x_set_window_size): Disable code that attempts to tell
14105 Lisp code about a size change before it actually happens.
14106
141072007-10-09 Richard Stallman <rms@gnu.org>
14108
14109 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14110 return HANDLED_RETURN.
14111
141122007-10-08 Martin Rudalics <rudalics@gmx.at>
14113
14114 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14115 when there's an unread command event.
14116
14117 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14118 window autoselection act appropriately when leaving selected frame.
14119 (syms_of_frame): Initialize focus_follows_mouse.
14120 * frame.h (focus_follows_mouse): Extern it.
14121 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14122 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14123 * msdos.c (dos_rawgetc): Likewise.
14124 * w32term.c (w32_read_socket): Likewise.
14125 * xterm.c (handle_one_xevent): Likewise.
14126 * xdisp.c (syms_of_xdisp): In doc-string of
14127 mouse-autoselect-window mention focus-follows-mouse.
14128
141292007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14130
14131 * macterm.c (mac_load_query_font): Fix missing return value.
14132 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14133 Add BLOCK_INPUT.
14134
141352007-10-08 Richard Stallman <rms@gnu.org>
14136
14137 * xdisp.c (get_window_cursor_type): Implement documented behavior
14138 for cursor-in-non-selected-windows = t.
14139
141402007-10-08 Jason Rumney <jasonr@gnu.org>
14141
14142 * w32.c (w32_get_resource): Always close registry keys.
14143
141442007-10-08 Jason Rumney <jasonr@gnu.org>
14145
14146 * makefile.w32-in (LIBS): Add COMCTL32.
14147
14148 * w32fns.c (globals_of_w32fns): Init common controls.
14149
141502007-10-08 Richard Stallman <rms@gnu.org>
14151
14152 * image.c (our_memory_buffer): Rename from omfib_buffer.
14153
141542007-10-08 Richard Stallman <rms@gnu.org>
14155
14156 * buffer.c (Foverlays_at): Doc fix.
14157
141582007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14159
14160 * fns.c (Fplist_put): Preserve uneven tail data.
14161
141622007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14163
14164 * termhooks.h (enum event_kind): Remove trailing comma.
14165
14166 * frame.h (enum): Remove trailing comma.
14167
141682007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14169
14170 * w32proc.c (delete_child): Don't terminate threads of zombies.
14171
141722007-10-08 Martin Rudalics <rudalics@gmx.at>
14173
14174 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14175
14176 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14177 last-repeatable-command.
14178 (init_kboard): Initialize Vlast_repeatable_command.
14179 (command_loop_1): Set it to real_this_command unless that was
14180 bound to an input event.
14181 (mark_kboards): Mark it.
14182
141832007-10-08 Richard Stallman <rms@gnu.org>
14184
14185 * eval.c (condition-case): Doc fix.
14186
141872007-10-08 Masatake YAMATO <jet@gyve.org>
14188
14189 * xfaces.c (tty_supports_face_attributes_p): Fix code
14190 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14191 was copied and not edited.
14192
141932007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14194
14195 Add new `input-decode-map' keymap and use it for terminal
14196 escape sequences.
14197 * keyboard.h (struct kboard): Add Vinput_decode_map.
14198 Remove Vlocal_key_translation_map.
14199 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14200 (init_kboard): Init input-decode-map.
14201 Replace local-key-translation-map back with key-translation-map.
14202 (syms_of_keyboard): Declare input-decode-map.
14203 Remove local-key-translation-map. Update docstrings.
14204 (mark_kboards): Mark Vinput_decode_map.
14205 Don't mark Vlocal_key_translation_map.
14206 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14207 Replace local-key-translation-map back with key-translation-map.
14208 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14209 Bind in input-decode-map rather than function-key-map.
14210
14211 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14212 This was made redundant by the previous introduction of XSETPVECTYPE.
14213
142142007-10-09 Richard Stallman <rms@gnu.org>
14215
14216 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14217
142182007-09-29 Richard Stallman <rms@gnu.org>
14219
14220 * eval.c (internal_condition_case_2, internal_condition_case_1)
14221 (internal_condition_case): Reenable abort if x_catching_errors ()
14222 to see if that really happens and why.
14223
142242007-10-06 Andreas Schwab <schwab@suse.de>
14225
14226 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14227
142282007-10-04 Juanma Barranquero <lekktu@gmail.com>
14229
14230 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14231
142322007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14233
14234 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14235
142362007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14237
14238 * window.h (struct window):
14239 * window.c (struct save_window_data, struct saved_window):
14240 * termhooks.h (struct terminal):
14241 * process.h (struct Lisp_Process):
14242 * frame.h (struct frame):
14243 * buffer.h (struct buffer):
14244 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14245 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14246 The size field of (pseudo)vectors is now unsigned.
14247 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14248
14249 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14250 Turn `count' into an integer.
14251
14252 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14253 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14254 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14255 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14256 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14257
14258 * alloc.c (allocate_pseudovector): New fun.
14259 (ALLOCATE_PSEUDOVECTOR): New macro.
14260 (allocate_window, allocate_terminal, allocate_frame)
14261 (allocate_process): Use it.
14262 (mark_vectorlike): New function.
14263 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14264 (mark_terminals): Use it.
14265 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14266 (Fmake_byte_code): Use XSETPVECTYPE.
14267
14268 * frame.c (Fframe_parameters): Minor simplification.
14269
14270 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14271
14272 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14273
14274 * buffer.c (Fget_buffer_create, init_buffer_once):
14275 * lread.c (defsubr):
14276 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14277
14278 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14279 defined differently in the m/*.h files.
14280 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14281 (XSETPVECTYPE): New macro.
14282 (XSETPSEUDOVECTOR): Use it.
14283
14284 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14285 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14286
14287 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14288 * lread.c (defvar_per_buffer):
14289 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14290
14291 * window.c (candidate_window_p): Only consider as visible frames that
14292 are on the same terminal.
14293
14294 * m/ibms390x.h (MARKBIT): Remove unused macro.
14295
142962007-10-01 Juanma Barranquero <lekktu@gmail.com>
14297
14298 * lread.c (Fload): Fix typo in docstring.
14299
143002007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14301
14302 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14303 of a non-zero value can't yield zero.
14304
143052007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14306
14307 * term.c (term_clear_mouse_face, term_mouse_highlight)
14308 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14309
14310 * print.c (safe_debug_print): Use XHASH.
14311
14312 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14313 Lisp elements such as tags.
14314 (XHASH): New macro.
14315 (EQ): Use it.
14316 (SREF, SSET, STRING_COPYIN): Use SDATA.
14317 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14318
14319 * alloc.c (mark_terminal): Remove left-over declaration.
14320 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14321 (allocate_vectorlike): Remove type argument. Adjust callers.
14322 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14323 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14324
14325 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14326 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14327 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14328 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14329 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14330 Use them.
14331
14332 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14333 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14334 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14335
143362007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14337
14338 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14339 loaded by default.
14340
143412007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14342
14343 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14344 on this tty.
14345 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14346
14347 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14348 Update all users.
14349 (handle_one_term_event): Use Gpm_DrawPointer.
14350 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14351 Signal errors instead of returning nil. Always return nil.
14352 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14353 Make it a noop if gpm-mouse was not activated.
14354 (syms_of_term): Update names.
14355
143562007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14357
14358 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14359 (init_sys_modes): Check that gpm_tty is the current tty.
14360
14361 * alloc.c (allocate_terminal): Set the vector size to only count the
14362 lisp fields. Initialize those to nil.
14363 (mark_object): Don't treat terminals specially.
14364 (mark_terminal): Remove.
14365 (mark_terminals): Use mark_object instead.
14366
14367 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14368 the GC to the beginning.
14369
14370 * indent.h:
14371 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14372
14373 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14374
143752007-09-25 Jason Rumney <jasonr@gnu.org>
14376
14377 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14378
14379 * w32console.c (create_w32cons_output): Remove.
14380
14381 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14382
14383 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14384 (reset_sys_modes): Use reset_terminal_modes_hook.
14385
143862007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14387
14388 * eval.c (do_autoload): Don't output any message.
14389
143902007-09-24 Juri Linkov <juri@jurta.org>
14391
14392 * emacs.c (standard_args): Change priority of "--no-splash"
14393 from 40 to 3. Add "--no-desktop" with the same priority.
14394
143952007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14396
14397 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14398 and optimize the case where they are all 1.
14399
144002007-09-23 Johannes Weiner <hannes@saeurebad.de>
14401
14402 * lisp.h (abs): Define if not defined.
14403 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14404 Don't define `abs', since it's defined in lisp.h.
14405
144062007-09-22 Eli Zaretskii <eliz@gnu.org>
14407
14408 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14409 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14410 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14411 (init_tty): Use DEV_TTY instead of "/dev/tty".
14412 [WINDOWSNT]: No need to protect from NAME arg being null.
14413
144142007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14415
14416 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14417 up the tty state.
14418
144192007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14420
14421 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14422 (gpm_tty): Change its type.
14423 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14424 (gpm_tty): Change its type and initialize it.
14425 (Fterm_open_connection): Check the frame is indeed a tty.
14426 Use the new gpm_tty.
14427 (Fterm_close_connection): Use the new gpm_tty.
14428 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14429 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14430
144312007-09-21 Juanma Barranquero <lekktu@gmail.com>
14432
14433 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14434 underline_color, to draw strike-through.
14435
144362007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14437
14438 * lisp.h (allocate_terminal): Declare.
14439
14440 * window.c (candidate_window_p): Consider frames that are being placed
14441 by the user as somewhere between visible and iconified.
14442 (window_loop): Prefer windows on the current frame.
14443 (Fselect_window): Move the use of select-frame to the beginning so we
14444 can just delegate all the work (it'll call us back anyway).
14445
14446 * frame.c (Qdisplay_environment_variable):
14447 * frame.h (Qdisplay_environment_variable): Delete.
14448
14449 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14450 of the first arg, since that value may be a union.
14451
14452 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14453 parameter rather than Qdisplay_environment_variable. If all else
14454 fails, look for DISPLAY in initial-environment.
14455
144562007-09-21 Glenn Morris <rgm@gnu.org>
14457
14458 * Makefile.in (emacstool): Remove target.
14459 (lisp, shortlisp): Remove termdev.elc.
14460
144612007-09-21 Markus Triska <markus.triska@gmx.at>
14462
14463 * xterm.c (x_delete_display): Compile session management conditionally.
14464
144652007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14466
14467 * callproc.c (getenv_internal_1): New function.
14468 (getenv_internal): Use it.
14469 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14470
14471 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14472 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14473 (Fset_terminal_parameter): Work with dead terminals as well.
14474 (Fmodify_terminal_parameters): Remove.
14475
14476 * terminal.c (get_terminal): Handle terminals.
14477 Make sure the terminal returned is live.
14478 (create_terminal): Use allocate_terminal.
14479 (mark_terminals): Move to alloc.c.
14480 (delete_terminal): Use terminal->name as liveness status.
14481 NULL out fields after freeing their contents.
14482 Don't deallocate the object.
14483 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14484 rather than an int.
14485 (Fterminal_live_p): Accept non-integer arguments.
14486 (Fterminal_list): Return terminal objects rather than an ints.
14487
14488 * alloc.c (enum mem_type): New member for `terminal' objects.
14489 (allocate_terminal): New function.
14490 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14491 Handle terminals.
14492 (mark_terminal): New fun.
14493 (mark_terminals): Move from terminal.c.
14494
14495 * term.c (get_tty_terminal): Don't treat output_initial specially.
14496 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14497 (delete_tty): Use terminal->name as liveness status.
14498
14499 * termhooks.h (struct terminal): Make it into a pseudovector.
14500 Remove `deleted' replaced by checking `name's nullness.
14501
14502 * print.c (print_object): Handle terminals.
14503
14504 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14505 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14506
14507 * frame.c (make_terminal_frame):
14508 * keyboard.c (tty_read_avail_input):
14509 * w32term.c (x_delete_terminal):
14510 * xfns.c (Fx_create_frame, x_create_tip_frame):
14511 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14512
145132007-09-20 Glenn Morris <rgm@gnu.org>
14514
14515 * process.c (Fmake_network_process): Doc fix.
14516
145172007-09-19 Jason Rumney <jasonr@gnu.org>
14518
14519 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14520
145212007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14522
14523 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14524 Fix a C warning regarding variable constness.
14525
14526 * xterm.c (handle_one_xevent): Fix a C warning.
14527
145282007-09-18 Jason Rumney <jasonr@gnu.org>
14529
14530 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14531
145322007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14533
14534 * gtkutil.c (gdpy_def): New variable.
14535 (xg_initialize): Initialize gdpy_def.
14536 (xg_display_close): If no other display exists, set gdpy_def to a
14537 new connection.
14538
145392007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14540
14541 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14542 when we have no file name for the icon.
14543 (xg_tool_bar_expose_callback): Remove.
14544 (xg_create_tool_bar): Don't connect expose signal to
14545 xg_tool_bar_expose_callback.
14546 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14547
145482007-09-16 Andreas Schwab <schwab@suse.de>
14549
14550 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14551 values instead of zapping them.
14552
145532007-09-14 Glenn Morris <rgm@gnu.org>
14554
14555 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14556 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14557 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14558 scope and rename to omfib_buffer for clarity.
14559 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14560
145612007-09-14 Kenichi Handa <handa@m17n.org>
14562
14563 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14564
145652007-09-13 Jason Rumney <jasonr@gnu.org>
14566
14567 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14568
14569 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14570
14571 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14572 (mac_term_init): Call here instead, passing rif.
14573
145742007-09-13 Glenn Morris <rgm@gnu.org>
14575
14576 * s/hpux.h: No longer define `static' as nothing.
14577
145782007-09-13 Johan Bockgård <bojohan@gnu.org>
14579
14580 * callint.c (Fcall_interactively): Remove unused var `fun'.
14581
145822007-09-12 Romain Francoise <romain@orebokech.com>
14583
14584 * window.c (prefer_window_split_horizontally, display_buffer):
14585 Revert 2007-09-08 change.
14586
145872007-09-12 Glenn Morris <rgm@gnu.org>
14588
14589 * alloca.c: Remove file.
14590 * Makefile.in (alloca): Do not undef.
14591 (allocaobj, alloca.o): Remove.
14592 (otherobj): Remove allocaobj.
14593 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14594 * regex.c (C_ALLOCA): Remove all references and code that was only
14595 used when this was defined.
14596 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14597 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14598 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14599
14600 * Makefile.in (SOURCES, unlock, relock): Delete.
14601
14602 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14603 (menu_grab_callback): All uses changed.
14604
14605 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14606 (x_reply_selection_request): All uses changed.
14607
146082007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14609
14610 * lread.c (load_warn_old_style_backquotes): Change message to look
14611 better when it appears in the middle of byte-compiler messages.
14612
146132007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14614
14615 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14616
14617 * xterm.c (x_create_terminal): Add comment.
14618
14619 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14620
146212007-09-10 Richard Stallman <rms@gnu.org>
14622
14623 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14624
146252007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14626
14627 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14628 (DEFUN): Document `intspec', use it instead of `prompt'.
14629
14630 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14631
14632 * data.c (Finteractive_form): If the interactive specification starts
14633 with a `(', use it as a Lisp form.
14634
14635 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14636 name and file modes.
14637
14638 * callint.c (Fcall_interactively): Comment fixes.
14639
146402007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14641
14642 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14643 and compiled functions.
14644
146452007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14646
14647 * window.c (prefer_window_split_horizontally): New variable.
14648 (display_buffer): Consider splitting window horizontally depending
14649 on prefer_window_split_horizontally.
14650
146512007-09-08 Eli Zaretskii <eliz@gnu.org>
14652
14653 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14654
146552007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14656
14657 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14658
14659 * frame.c (x_set_frame_parameters): Check number is positive before
14660 using XFASTINT.
14661
14662 * window.c (freeze_window_start): Don't presume selected_window holds
14663 a window object.
14664 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14665
146662007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14667
14668 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14669
146702007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14671
14672 * window.c (Vsplit_window_preferred_function): New var.
14673 (Fdisplay_buffer): Use it.
14674 (syms_of_window): Export, and initialize it.
14675
146762007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14677
14678 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14679
146802007-09-06 Glenn Morris <rgm@gnu.org>
14681
14682 * gtkutil.c (menu_grab_callback) <cnt>:
14683 * xselect.c (x_reply_selection_request) <cnt>: Move static
14684 variable to file scope.
14685
146862007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14687
14688 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14689 consistent values of selected_frame and selected_window.
14690
146912007-09-04 Jason Rumney <jasonr@gnu.org>
14692
14693 * w32console.c (initialize_w32_display): Zero unused hooks.
14694
146952007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14696
14697 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14698 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14699
147002007-09-04 Jason Rumney <jasonr@gnu.org>
14701
14702 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14703 in w32console.c. Set up input. Remove XXX comments that have been
14704 confirmed as correct.
14705
14706 * s/ms-w32.h (MULTI_KBOARD): Define.
14707
14708 * w32console.c (one_and_only_w32cons): Remove.
14709 (initialize_w32_display): Take terminal argument.
14710
14711 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14712 initialize_w32_display.
14713 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14714
14715 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14716
14717 * keyboard.c (discard_mouse_events): Discard it.
14718 (make_lispy_event): Translate it to a lisp event.
14719 (lispy_wheel_names): Add wheel-left and right events.
14720 (syms_of_keyboard): Enlarge wheel_syms.
14721
14722 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14723 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14724
14725 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14726
14727 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14728 from WM_MOUSEHWHEEL.
14729 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14730
14731 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14732 terminal.
14733
14734 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14735 keyboard for the terminal.
14736
147372007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14738
14739 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14740 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14741 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14742 and resume-tty-function to resume-tty-hook.
14743 (Fsuspend_tty, Fresume_tty): Use new names.
14744
147452007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14746
14747 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14748 if it starts with "n:".
14749
147502007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14751
14752 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14753
147542007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14755
14756 * frame.h:
14757 * frame.c (Qterm_environment_variable): Remove.
14758 (syms_of_frame): Don't init and staticpro it.
14759
14760 * callproc.c (getenv_internal): Remove special case for $TERM.
14761
14762 * callproc.c (Vinitial_environment): New variable.
14763 (set_initial_environment): Initialize it.
14764 (syms_of_callproc): Declare it.
14765 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14766 TERM under which a process runs is never related to the TERM in which
14767 Emacs is running.
14768
147692007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14770
14771 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14772 * s/darwin.h: ... do it here.
14773
147742007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14775
14776 * lisp.h (set_initial_environment): Rename from set_global_environment.
14777
14778 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14779 removed by mistake on the multi-tty branch.
14780
14781 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14782 (Fmodify_frame_parameters): Return a value.
14783
14784 * image.c (png_load): Comment-out var only used in commented-out code.
14785
14786 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14787 before passing it to mark_object.
14788
14789 * xfaces.c (internal_resolve_face_name): Return a value.
14790 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14791
14792 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14793 (x_icon): Comment-out var only used in commented-out code.
14794
147952007-08-29 Romain Francoise <romain@orebokech.com>
14796
14797 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14798 QUIT hasn't been provided.
14799
148002007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14801
14802 * callproc.c (child_setup, getenv_internal): Use the
14803 display-environment-variable and term-environment-variable frame params.
14804 (set_initial_environment): Initialise Vprocess_environment.
14805
14806 * config.in: Disable multi-keyboard support on a mac.
14807
14808 * frame.c (Qterm_environment_variable)
14809 (Qdisplay_environment_variable): New variables.
14810 (syms_of_frame): Intern and staticpro them.
14811 (Fmake_terminal_frame): Disable output method test.
14812
14813 * frame.h: Declare them here.
14814
14815 * macfns.c (x_set_mouse_color): Get rif from the frame.
14816 (x_set_tool_bar_lines): Don't use updating_frame.
14817 (mac_window): Add 2 new parameters for consistency with other systems.
14818 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14819 frame parameters following what is done in X11 and w32. Don't use
14820 FRAME_MAC_DISPLAY_INFO.
14821 (Fx_open_connection, start_hourglass): Remove window-system check.
14822 (x_create_tip_frame): Get the keyboard from the terminal.
14823
14824 * macmenu.c: Reorder includes.
14825 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14826
14827 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14828 terminal parameter.
14829 (x_clear_frame): Add a frame parameter.
14830 (note_mouse_movement): Get rif from the frame.
14831 (mac_term_init): Initialize the terminal.
14832 (mac_initialize): Make static and move terminal initialization ...
14833 (mac_create_terminal): ... to this new function.
14834
14835 * macterm.h (struct mac_display_info): Add terminal.
14836 (mac_initialize): Delete declaration.
14837
14838 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14839
14840 * sysdep.c: Comment out text after #endif.
14841
14842 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14843 is defined. Better initialize ttys in windows. Use terminal
14844 specific mouse_position_hook.
14845
14846 * termhooks.h (union display_info): Add mac_display_info.
14847
14848 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14849 Set the default minibuffer frame, window_system and the rest of the
14850 frame parameters following what is done in X11.
14851
14852 * w32term.c (w32_initialize): Make static.
14853
14854 * xselect.c (x_handle_selection_clear): Only access
14855 terminal->kboard when MULTI_KBOARD is defined.
14856
14857 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14858 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14859
148602007-08-29 Jason Rumney <jasonr@gnu.org>
14861
14862 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14863 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14864
14865 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14866 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14867
14868 * keyboard.c (restore_kboard_configuration): Only define when
14869 MULTI_KBOARD defined.
14870
14871 * makefile.w32-in: Update dependancies from Makefile.in.
14872 (OBJ1): Add terminal.$(O)
14873
14874 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14875 Don't define function body.
14876 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14877
14878 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14879
14880 * w32.c (request_sigio, unrequest_sigio): Remove.
14881
14882 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14883 (w32con_clear_frame, w32con_clear_end_of_line)
14884 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14885 (w32con_delete_glyphs, w32con_set_terminal_window)
14886 (scroll_line, w32_sys_ring_bell): Add frame arg.
14887 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14888 Add terminal arg.
14889 (PICK_FRAME): Remove.
14890 (w32con_write_glyphs): Use frame specific terminal coding.
14891 (one_and_only_w32cons): New global variable.
14892 (initialize_w32_display): Use it for storing hooks.
14893 (create_w32cons_output): New function.
14894
14895 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14896 arg a frame.
14897
14898 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14899 Set window_system.
14900 (x_set_tool_bar_lines): Don't use updating_frame.
14901 (Fx_create_frame): Set terminal and ref count.
14902 (Fx_open_connection): Remove window-system check.
14903
14904 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14905
14906 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14907 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14908 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14909 Add frame arg.
14910 (x_delete_terminal, w32_create_terminal): New functions.
14911 (w32_term_init): Create a terminal.
14912 (w32_initialize): Move terminal specific initialization to
14913 w32_create_terminal.
14914
14915 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14916 (w32_clear_rect, w32_clear_area): Use background from frame.
14917 (w32_display_info): Add terminal.
14918 (w32_sys_ring_bell, x_delete_display): Declare here.
14919
14920 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14921
14922 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14923
149242007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14925
14926 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14927 Fix get_named_tty calls for the controlling tty.
14928
149292007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14930
14931 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14932
149332007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14934
14935 * term.c (tty_insert_glyphs): Add missing first parameter.
14936
149372007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14938
14939 * buffer.c (Fbuffer_list, Fbury_buffer):
14940 Take frame->buried_buffer_list into account.
14941
14942 * cm.c (current_tty): New variable, for cmputc().
14943 (cmputc): Use it.
14944 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14945 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14946 (cmgoto): Add tty parameter. Pass it on to calccost().
14947 Use emacs_tputs() instead of tputs().
14948
14949 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14950 tputs().
14951 (current_tty): New variable, for cmputc().
14952 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14953
14954 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14955 (internal_condition_case, internal_condition_case_1)
14956 (internal_condition_case_2): Don't abort when x_catching_errors.
14957
14958 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14959 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14960 prevent crashes caused by bogus longjmps in read_char.
14961
14962 * keymap.h (Fset_keymap_parent): Add EXFUN.
14963
14964 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14965 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14966 Remove redundant definition.
14967
14968 * macfns.c (x_set_mouse_color, x_make_gc):
14969 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14970
14971 * w32term.c (x_free_frame_resources):
14972 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14973 (w32_initialize): Use the accessor macros for terminal characteristics.
14974
14975 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14976 Use the accessor macros for terminal characteristics.
14977 * msdos.c (internal_terminal_init): Use the accessor macros for
14978 terminal characteristics.
14979 (ScreenVisualBell, internal_terminal_init):
14980 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14981
14982 * termopts.h (no_redraw_on_reenter): Declare.
14983
14984 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14985 (mark_terminals, mark_ttys): Declare.
14986 (Fgarbage_collect): Call them.
14987 (mark_object): Mark buried_buffer_list.
14988
14989 * prefix-args.c: Include stdlib.h for exit.
14990
14991 * syssignal.h: Add comment.
14992
14993 * indent.c: Include stdio.h.
14994
14995 * window.h (Vinitial_window_system): Declare.
14996 (Vwindow_system): Delete declaration.
14997
14998 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14999
15000 * image.c (lookup_image): Don't initialize `c' until the xasserts
15001 have been run.
15002
15003 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15004 FRAME_FOREGROUND_PIXEL.
15005
15006 * print.c (print_preprocess): Don't lose print_depth levels while
15007 iterating.
15008
15009 * widget.c (update_from_various_frame_slots):
15010 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15011
15012 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15013 frames.
15014 (window_internal_height): Remove bogus make_number call.
15015 (init_window_once): Call make_terminal_frame with two zero parameters.
15016
15017 * fileio.c (Fread_file_name): Update comment.
15018
15019 * callint.c (Fcall_interactively):
15020 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15021 Make sure it is correctly unwound.
15022
15023 * xsmfns.c (x_session_close): New function.
15024
15025 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15026 Delete declarations.
15027
15028 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15029 (x_output): Remove background_pixel and foreground_pixel fields.
15030 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15031 (x_delete_device, x_session_close): Declare.
15032
15033 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15034 (read_filtered_event): Call `read_char' with a local
15035 `wrong_kboard_jmpbuf'.
15036
15037 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15038 Don't call single_kboard_state. Use FRAME_RIF.
15039
15040 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15041 systems.
15042
15043 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15044 (Fframe_with_environment, Fset_input_meta_mode)
15045 (Fset_quit_char): EXFUN.
15046 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15047 (init_sys_modes, reset_sys_modes): Update prototypes.
15048 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15049
15050 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15051 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15052 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15053 Delete declarations.
15054 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15055 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15056 New declarations.
15057
15058 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15059 already does that during init_display(). Call syms_of_keymap
15060 before syms_of_keyboard. Call `syms_of_terminal'.
15061 Call set_initial_environment, not set_process_environment.
15062 (shut_down_emacs): Call reset_all_sys_modes() instead of
15063 reset_sys_modes().
15064
15065 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15066 (internal_resolve_face_name, resolve_face_name_error): New functions.
15067 (resolve_face_name): Protect against loops and errors thrown by Fget.
15068 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15069 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15070
15071 * scroll.c: Replace CURTTY() with local variables throughout the
15072 file (where applicable).
15073 (calculate_scrolling, calculate_direct_scrolling)
15074 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15075 characteristics.
15076
15077 * keymap.c (Vfunction_key_map): Remove.
15078 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15079 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15080 (Vkey_translation_map): Remove.
15081 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15082 (Fdescribe_buffer_bindings)
15083 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15084 Update for terminal-local key-translation-map.
15085
15086 * Makefile.in (callproc.o): Update dependencies.
15087 (lisp, shortlisp): Add termdev.elc.
15088 (obj): Add terminal.o.
15089 (terminal.o): Add dependencies.
15090 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15091 (data.o, fns.o): Add termhooks.h dependency.
15092 (SOME_MACHINE_LISP): Add dnd.elc.
15093 (minibuf.o): Fix typo.
15094 Update dependencies.
15095
15096 * data.c (do_symval_forwarding, store_symval_forwarding)
15097 (find_symbol_value): Use the selected frame's keyboard, not
15098 current_kboard.
15099
15100 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15101 Vwindow_system.
15102
15103 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15104 Fmenu_bar_open.
15105 (syms_of_xmenu): Update defsubr.
15106 (mouse_position_for_popup, Fx_popup_menu)
15107 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15108 (set_frame_menubar, free_frame_menubar)
b97439ce 15109 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15110 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15111 an X frame.
15112
15113 * xselect.c (x_own_selection): Abort if not an X frame.
15114 (some_frame_on_display): Check if it is an X frame.
15115 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15116
15117 * coding.c: Include frame.h and termhooks.h.
15118 (terminal_coding, keyboard_coding): Delete.
15119 (Fset_terminal_coding_system_internal)
15120 (Fset_keyboard_coding_system_internal)
15121 (Fkeyboard_coding_system)
15122 (Fterminal_coding_system): Add a terminal parameter.
15123 Get terminal_coding from the terminal.
15124 (init_coding_once): Don't call setup_coding_system here.
15125
15126 * dispextern.h (set_scroll_region, turn_off_insert)
15127 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15128 (tty_clear_end_of_line, tty_setup_colors)
15129 (delete_tty, updating_frame)
15130 (produce_special_glyphs, produce_glyphs, write_glyphs)
15131 (insert_glyphs): Remove.
15132 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15133 (tty_turn_off_highlight, get_tty_size): Add declaration.
15134 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15135
15136 * frame.h (enum output_method): Add output_initial.
15137 (struct x_output): Delete.
15138 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15139 Access foreground_pixel and background_pixel directly from the frame.
15140 (tty_display): Delete.
15141 (struct frame): Add buried_buffer_list, foreground_pixel,
15142 background_pixel and terminal. Delete kboard.
15143 (union output_data): Add tty.
15144 (FRAME_KBOARD): Get the kboard from the terminal.
15145 (FRAME_INITIAL_P): New macro.
15146 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15147 (Qterm_environment_variable, Qdisplay_environment_variable)
15148 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15149 New declarations.
15150
15151 * termchar.h (tty_output, tty_display_info): New structures.
15152 (tty_list): Declare.
15153 (FRAME_TTY, CURTTY): New macros.
15154 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15155 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15156 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15157 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15158
15159 * callproc.c: Include frame.h and termhooks.h, for terminal
15160 parameters.
15161 (add_env): New function.
15162 (child_setup): Use it.
15163 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15164 (getenv_internal): Fix get_terminal_param call.
15165 (Fgetenv_internal, egetenv): Update doc.
15166 (syms_of_callproc): Initialize Vprocess_environment to nil.
15167 Register and initialize them. Remove obsolete defvars. Update doc
15168 strings.
15169 (child_setup): Handle Vlocal_environment_variables.
15170 (getenv_internal): Add terminal parameter.
15171 Handle Vlocal_environment_variables.
15172 (Fgetenv_internal): Add terminal parameter.
15173 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15174 environment in a frame (not terminal) parameter. Update doc strings.
15175 (set_initial_environment): Rename from set_global_environment.
15176 Store Emacs environment in initial frame parameter.
15177
15178 * xdisp.c (redisplay_internal): Update references to
15179 `previous_terminal_frame'.
15180 (display_mode_line, Fformat_mode_line): Replace calls to
15181 `push_frame_kboard' with `push_kboard'.
15182 (get_glyph_string_clip_rects): Add extra parentheses and
15183 braces to prevent compiler warnings.
15184 (calc_pixel_width_or_height): Add xassert to check that the
15185 frame is alive. Don't call `lookup_image' on a termcap frame.
15186 (message2_nolog, message3_nolog, redisplay_internal)
15187 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15188 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15189 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15190 (Fx_display_pixel_width, Fx_display_pixel_height)
15191 (Fx_display_planes, Fx_display_color_cells)
15192 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15193 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15194 (Fx_display_backing_store, Fx_display_visual_class)
15195 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15196 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15197
15198 * xfns.c (x_set_foreground_color x_set_background_color)
15199 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15200 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15201 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15202 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15203 terminal that is being deleted.
15204 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15205 frame parameter, and make sure it overrides any user-supplied setting.
15206 (Fx_close_connection, Fx_synchronize): Unify argument names with
15207 the rest of the DEFUNs.
15208
15209 * dispnew.c (Fsend_string_to_terminal): Update call to
15210 `get_tty_terminal'.
15211 (Fredraw_frame, Fsend_string_to_terminal)
15212 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15213 FRAME_TERMCAP_P and FRAME_TTY.
15214 (window_change_signal): Don't believe width/height values that are
15215 impossibly small.
15216 (Vinitial_window_system): Rename from Vwindow_system.
15217 (termscript, Wcm, rif): Delete.
15218
15219 * termhooks.h (struct terminal): New struct containing the
15220 previously global text display hooks and new members NAME,
15221 DELETED and PARAM_ALIST.
15222 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15223 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15224 (FRAME_RIF): New macros.
15225 (get_terminal_param, get_device): New declarations.
15226 (termscript): Delete declaration.
15227
15228 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15229 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15230 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15231 FRAME_FOREGROUND_PIXEL.
15232 (x_fully_uncatch_errors): Disable definition.
15233 (x_scroll_bar_expose): Fix reference to foreground pixel.
15234 (XTread_socket): Disable loop on all X displays.
15235 (x_delete_terminal): Don't set terminal->deleted and let
15236 delete_terminal delete the frames on the terminal.
15237 (x_delete_display): Doc update to reflect changes in
15238 delete_terminal.
15239 (x_display_info) <terminal>: Move member earlier in the struct.
15240 (deleting_tty): Remove old variable.
15241 (Fsuspend_tty): Call clear_tty_hooks.
15242 (Fresume_tty, init_tty): Call set_tty_hooks.
15243 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15244 errors on X frames.
15245 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15246 (handle_one_xevent): Initialize `f' to NULL.
15247 (x_delete_terminal, x_create_terminal): New functions.
15248 (XTset_terminal_modes, XTreset_terminal_modes)
15249 (XTread_socket, x_connection_closed, x_term_init)
15250 (x_term_init, x_delete_display): Add terminal parameter.
15251 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15252 X connections.
15253
15254 * frame.c: Include termchar.h.
15255 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15256 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15257 (Qdisplay_environment_variable): New vars.
15258 (Fframep): Deal with output_initial.
15259 (Fframe-live-p): Doc fix.
15260 (Fwindow-system): New function.
15261 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15262 (make_terminal_frame): Don't create frames on a terminal that is
15263 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15264 (store_frame_param): Check for found_for_frame before calling XFRAME.
15265 (Fmake_terminal_frame): Handle NULL tty names correctly.
15266 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15267 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15268 frames to refer to a deleted frame in their 'environment parameter.
15269 (Fframe_with_environment): New function.
15270 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15271 (get_future_frame_param): New function.
15272 (Fmake_terminal_frame): Use it.
15273 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15274
15275 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15276 * sysdep.c (reset_sys_modes): Update for renames.
15277
15278 * keyboard.c (tty_read_avail_input): New function.
15279 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15280 (syms_of_keyboard): Defsubr them.
15281 (Fset_input_meta_mode, Fset_quit_char): New functions.
15282 (Fset_input_mode): Split to above functions.
15283 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15284 parameter. Use it in call to `read_char'.
15285 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15286 Set wrong_kboard_jmpbuf correctly in recursive calls.
15287 Use current_kboard to access Vkeyboard_translate_table.
15288 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15289 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15290 Update longjmp invocations. Remember the original current_kboard,
15291 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15292 changes it. Comment out unnecessary calls to
15293 `record_single_kboard_state' and `any_kboard_state'.
15294 Update recursive calls.
15295 (wrong_kboard_jmpbuf): Remove global variable.
15296 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15297 Handle deleted interrupted_kboards correctly; that is a legal
15298 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15299 and read_char calls. Abort if interrupted_kboard died in read_char.
15300 (any_kboard_state, single_kboard_state)
15301 (push_frame_kboard): Remove function.
15302 (pop_kboard): Switch out of single_kboard mode if the kboard has
15303 been deleted. Remove unused variable. Help debugging by not
15304 changing current_kboard unnecessarily. Set current_kboard to the
15305 kboard of the selected frame when the stored kboard object has
15306 been deleted before pop_kboard.
15307 (temporarily_switch_to_single_kboard): Change first parameter to a
15308 frame pointer. Throw an error when caller wants to change kboards
15309 while in single_kboard mode. Don't push_kboard if we weren't in
15310 single kboard state. Don't pop_kboard if we popped into any
15311 kboard state.
15312 (restore_kboard_configuration): Abort if pop_kboard changed the
15313 kboard in single_kboard mode. Call pop_kboard only after setting
15314 up single_kboard mode.
15315 (Frecursive_edit): Switch to single_kboard mode only in nested
15316 command loops.
15317 (cmd_error, command_loop, command_loop_1, timer_check):
15318 Comment out unnecessary call to `any_kboard_state' and
15319 `record_single_kboard_state'.
15320 (delete_kboard): Exit single_kboard mode if we have just deleted
15321 that kboard. Use FRAME_KBOARD.
15322 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15323 `fatal_error_signal'.
15324 (record_single_kboard_state): Don't push_kboard if we weren't in
15325 single kboard state. Don't pop_kboard if we popped into any
15326 kboard state.
15327 (push_frame_kboard): Rename to push_kboard.
15328 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15329 (read_avail_input): Read input from all terminals.
15330 (mark_kboards): Also mark Vkeyboard_translate_table.
15331 (kbd_buffer_store_event_hold): Simplify condition.
15332 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15333 (Vkeyboard_translate_table): Move to struct kboard.
15334 (init_kboard): Initialize Vkeyboard_translate_table.
15335 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15336 Vkeyboard_translate_table. Update doc strings. Update docs of
15337 local-function-key-map and function-key-map.
15338
15339 * terminal.c: New file.
15340
15341 * term.c: Include errno.h.
15342 (Vring_bell_function, device_list, initial_device)
15343 (next_device_id, ring_bell, update_begin, update_end)
15344 (set_terminal_window, cursor_to, raw_cursor_to)
15345 (clear_to_end, clear_frame, clear_end_of_line)
15346 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15347 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15348 (syms_of_term): Move their initialization to terminal.c.
15349 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15350 (Ftty_display_color_cells)
15351 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15352 (clear_tty_hooks, set_tty_hooks)
15353 (init_tty, maybe_fatal): New functions.
15354 (Ftty_type): Return nil if terminal is not on a tty instead of
15355 throwing an error. Doc update.
15356 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15357 Doc update. Initialize new subrs and variables.
15358 (delete_tty): Use terminal->deleted.
15359 (tty_set_terminal_modes): Rename from set_terminal_modes.
15360 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15361 (set_scroll_region): Rename to `tty_set_scroll_region'.
15362 (turn_on_insert): Rename to `tty_turn_on_insert'.
15363 (turn_off_insert): Rename to `tty_turn_off_insert'.
15364 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15365 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15366 (toggle_highligh): Rename to `tty_toggle_highlight'.
15367 (background_highlight): Rename to `tty_background_highlight'.
15368 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15369 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15370 (tty_set_scroll_region, tty_background_highlight)
15371 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15372 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15373 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15374 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15375 Add static modifier.
15376 (tty_reset_terminal_modes, tty_set_terminal_window)
15377 (tty_set_scroll_region, tty_background_highlight)
15378 (tty_highlight_if_desired, tty_cursor_to)
15379 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15380 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15381 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15382 renames.
15383
153842007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15385
15386 * keyboard.c: Qrtl is new.
15387 (parse_tool_bar_item): Handle :rtl keyword.
15388 (syms_of_keyboard): Intern :rtl keyword.
15389
15390 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15391
15392 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15393 so no Lisp code is executed.
15394 (file_for_image, find_rtl_image): New functions.
15395 (xg_get_image_for_pixmap): Use file_for_image.
15396 (update_frame_tool_bar): If direction is RTL, use RTL image if
15397 defined. Use Gtk stock images if defined.
15398
153992007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15400
15401 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15402 for nonexistent or zero-width glyph in composition glyph.
15403
154042007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15405
15406 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15407
15408 * xdisp.c (Finvisible_p): New function.
15409 (syms_of_xdisp): defsubr it.
15410
154112007-08-24 Juanma Barranquero <lekktu@gmail.com>
15412
15413 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15414 Doc fixes.
15415
154162007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15417
15418 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15419
154202007-08-24 Martin Rudalics <rudalics@gmx.at>
15421
15422 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15423 whether decoding has modified buffer contents.
15424
154252007-08-24 Jason Rumney <jasonr@gnu.org>
15426
15427 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15428 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15429 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15430 (init_svg_functions) [HAVE_NTGUI]: New function.
15431 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15432 (svg_load_image): Use them.
15433 (svg_load_image) [HAVE_NTGUI]: Implement background.
15434
154352007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15436
15437 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15438 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15439 (LIBX): Remove @RSVG_LIBS@.
15440 (LIBES): Add $(RSVG_LIBS).
15441
15442 * image.c (svg_load_image): Blend with specified background if exists.
15443 Use IMAGE_BACKGROUND. Add Mac OS Support.
15444
15445 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15446 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15447 Remove macros.
15448 [MAC_OSX] (socket_callback): Do nothing.
15449 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15450 ReceiveNextEvent.
15451 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15452 socket_callback.
15453 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15454
154552007-08-22 Glenn Morris <rgm@gnu.org>
15456
15457 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15458
154592007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15460
15461 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15462
15463 * image.c: Add support for SVG images. Some additional comments
15464 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15465 (svg_image_p): New function to test for SVG image.
15466 (svg_load): New function to load SVG image.
15467 (svg_load_image): New function, helper for svg_load.
15468 (Qsvg): New Lisp_object.
15469 (svg_keyword_index): New enum.
15470 (svg_format): New static `image_keyword' struct.
15471 (svg_type): New static `image_type' struct.
15472 (librsvg/rsvg.h): Include it.
15473
154742007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15475
15476 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15477
154782007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15479
15480 * lread.c (Qold_style_backquotes): New var.
15481 (syms_of_lread): Init and staticpro it.
15482 (load_warn_old_style_backquotes): New fun.
15483 (Fload): Use them to warn about old style backquotes.
15484 (end_of_file_error, Fload): Remove unused vars.
15485
15486 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15487
15488 * lread.c (Vold_style_backquotes): New var.
15489 (syms_of_lread): Init and export it to Elisp.
15490 (read1): Set it when we find an old-style (back)quote.
15491
154922007-08-22 Jason Rumney <jasonr@gnu.org>
15493
15494 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15495
154962007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15497
15498 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15499
155002007-08-19 Richard Stallman <rms@gnu.org>
15501
15502 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15503
155042007-08-19 Andreas Schwab <schwab@suse.de>
15505
15506 * alloc.c (pure): Round PURESIZE up.
15507
155082007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15509
15510 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15511 active frame.
15512
155132007-08-16 Richard Stallman <rms@gnu.org>
15514
15515 * eval.c (Fcommandp): Add parens to clarify.
15516
15517 * minibuf.c (Fall_completions): Use enum for type of table.
15518
15519 * emacs.c (USAGE2): Improve text.
15520
155212007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15522
15523 * term.c (tty_default_color_capabilities): Declare static
15524 variables in file scope, to avoid HPUX compiler problem.
15525
155262007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15527
15528 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15529 to gtk_toolbar_insert.
15530
155312007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15532
15533 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15534
15535 * insdel.c (reset_var_on_error): New fun.
15536 (signal_before_change, signal_after_change):
15537 Use it to reset (after|before)-change-functions to nil in case of error.
15538 Bind inhibit-modification-hooks to t.
15539 Don't bind (after|before)-change-functions to nil while they run.
15540
155412007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15542
15543 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15544 filling pixmap with stippled background.
15545
155462007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15547
15548 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15549 Don't use invisible frame as parent window for repositioning.
15550
155512007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15552
15553 * print.c (new_backquote_output): Rename from old_backquote_output.
15554 (print): Inverse its logic (according to its name) so as to match the
15555 behavior of new_backquote_flag in lread.c.
15556
155572007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15558
15559 * gmalloc.c (posix_memalign): New function.
15560
15561 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15562 ActivateControl/DeactivateControl here.
15563 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15564 frame-notice-user-settings is non-nil.
15565 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15566 for kEventParamFMFontStyle.
15567 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15568 mac_pass_command_to_system and mac_pass_control_to_system here.
15569 (XTread_socket): Call ActivateControl/DeactivateControl here.
15570 (XTread_socket) [TARGET_API_MAC_CARBON]:
15571 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15572 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15573 for window repositioning.
15574
155752007-08-08 Glenn Morris <rgm@gnu.org>
15576
15577 * Replace `iff' in doc-strings and comments.
15578
155792007-08-07 Chong Yidong <cyd@stupidchicken.com>
15580
15581 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15582
155832007-08-07 Martin Rudalics <rudalics@gmx.at>
15584
15585 * fileio.c (Finsert_file_contents): Run format-decode and
15586 after_insert_file_functions on entire buffer when REPLACE is
15587 non-nil and inhibit modification_hooks and point_motion_hooks.
15588 For consistency, run after_insert_file_functions iff something
15589 got inserted. Move signal_after_change and update_compositions
15590 after code running after_insert_file_functions. Make sure that
15591 undo_list doesn't record intermediate steps of the decoding process.
15592
155932007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15594
15595 * emacs.c (main)
15596 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15597 Call malloc_enable_thread on interactive startup.
15598
15599 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15600 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15601 [USE_PTHREAD]: Conditionalize with it.
15602 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15603 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15604 New functions.
15605
156062007-08-06 Chong Yidong <cyd@stupidchicken.com>
15607
15608 * xdisp.c (redisplay_window): When restoring original buffer
15609 position, make sure it is still valid.
15610
15611 * image.c (png_load): Ignore png-supplied background color.
15612
156132007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15614
15615 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15616 Use kCFAbsoluteTimeIntervalSince1970.
15617
15618 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15619 New variable.
15620 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15621 event loop should be quit.
15622 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15623 Quit dialog event loop if quit_dialog_event_loop is set.
15624
15625 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15626 (Selection): New typedef. Use instead of ScrapRef.
15627 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15628 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15629 (mac_clear_selection): Rename from clear_scrap.
15630 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15631 scrap_has_target_type. All uses changed.
15632 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15633 (mac_selection_has_target_p): New functions.
15634 (mac_put_selection_value): Rename from put_scrap_string.
15635 (mac_get_selection_value): Rename from get_scrap_string.
15636 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15637 (put_scrap_private_timestamp, scrap_has_target_type)
15638 (get_scrap_private_timestamp): Remove functions.
15639 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15640 (x_own_selection, x_get_local_selection):
15641 Use mac_valid_selection_value_p.
15642 (x_own_selection): Don't use put_scrap_private_timestamp.
15643 Record OWNERSHIP-INFO into Vselection_alist instead.
15644 (x_get_local_selection): Don't check type if request is local.
15645 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15646 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15647
156482007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15649
15650 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15651 add comment explaining why.
15652
156532007-08-03 Richard Stallman <rms@gnu.org>
15654
15655 * fileio.c (Fvisited_file_modtime): Use make_time.
15656
156572007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15658
15659 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15660 build.
15661
156622007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15663
15664 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15665
156662007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15667
15668 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15669
156702007-07-30 Richard Stallman <rms@gnu.org>
15671
15672 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15673
156742007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15675
15676 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15677
156782007-07-28 Nick Roberts <nickrob@snap.net.nz>
15679
15680 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15681 remote default-directory.
15682
15683 * buffer.c (mode-line-format): Update doc string.
15684
156852007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15686
15687 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15688 scroll bar gap.
15689 (x_scroll_bar_create): Set bar->fringe_extended_p.
15690 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15691 on frame edge. Check fringe background extension. Don't clear
15692 extended fringe background area.
15693
15694 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15695 (w32_fill_area): Enclose multiple statements with do ... while (0).
15696
15697 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15698 Extend fringe background to scroll bar gap.
15699 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15700 Set bar->fringe_extended_p.
15701 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15702 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15703 background extension. Don't clear extended fringe background area.
15704
15705 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15706 New member fringe_extended_p.
15707
157082007-07-25 Glenn Morris <rgm@gnu.org>
15709
15710 * Relicense all FSF files to GPLv3 or later.
15711
15712 * COPYING: Switch to GPLv3.
15713
157142007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15715
15716 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15717
15718 * data.c (Finteractive_form): Check for the presence of an
15719 `interactive-form' symbol property more thoroughly.
15720
15721 * data.c (Finteractive_form): Use an `interactive-form' property if
15722 present, analogous to the function-documentation property.
15723
157242007-07-24 Jason Rumney <jasonr@gnu.org>
15725
15726 * w32fns.c (x_real_positions): Get real position from OS instead of
15727 calculating it.
15728
157292007-07-23 Jason Rumney <jasonr@gnu.org>
15730
15731 * filelock.c (current_lock_owner): Allow for @ sign in username.
15732
157332007-07-22 Nick Roberts <nickrob@snap.net.nz>
15734
15735 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15736 remote default-directory.
15737
15738 * buffer.c (mode-line-format): Describe above case in doc string.
15739
157402007-07-20 Eli Zaretskii <eliz@gnu.org>
15741
15742 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15743 Define if not defined.
15744
157452007-07-18 Jason Rumney <jasonr@gnu.org>
15746
15747 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15748
157492007-07-18 Richard Stallman <rms@gnu.org>
15750
15751 * data.c (Fsetq_default): Doc fix.
15752
15753 * eval.c (Fsetq): Doc fix.
15754
157552007-07-18 Juanma Barranquero <lekktu@gmail.com>
15756
15757 * coding.c (Ffind_operation_coding_system):
15758 * eval.c (For, Fand): Doc fixes.
15759 Reported by Johan Bockgård.
15760
157612007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15762
15763 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15764
15765 * xterm.h: Declare x_ewmh_activate_frame.
15766
15767 * xterm.c (x_ewmh_activate_frame): New function.
15768 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15769
157702007-07-17 Martin Rudalics <rudalics@gmx.at>
15771
15772 * window.c (Fdisplay_buffer): If largest or LRU window is the
15773 only window, split it even if it is not eligible for splitting.
15774 This restores the original behavior broken by the 2007-07-15
15775 change.
15776
157772007-07-17 Glenn Morris <rgm@gnu.org>
15778
15779 * abbrev.c (abbrev_check_chars): New function.
15780 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15781 Call abbrev_check_chars to check abbrev characters are word
15782 constituents. Doc fix.
15783
157842007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15785
15786 * process.c (Fstart_process, Fmake_network_process)
15787 (read_process_output): Fix up last changes.
15788
157892007-07-16 Eli Zaretskii <eliz@gnu.org>
15790
15791 * makefile.w32-in (clean): Don't delete *~.
15792
157932007-07-16 Andreas Schwab <schwab@suse.de>
15794
15795 * window.c (Fdisplay_buffer): Use NILP.
15796 (Fset_window_scroll_bars): Likewise.
15797
157982007-07-15 Martin Rudalics <rudalics@gmx.at>
15799
15800 * window.c (window_min_size_2): New function.
15801 (window_min_size_1, size_window, Fdisplay_buffer)
15802 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15803 windows without mode- or header-lines when window-min-height is
15804 too small.
15805 (size_window): Reset nodelete_p after testing it, following an
15806 earlier note by Kim F. Storm.
15807 (display_buffer): Do not set split_height_threshold to twice the
15808 value of window_min_height to avoid changing the value of a
15809 customizable variable. Rather explicitly check whether the
15810 height of the window that shall be splitted is at least as large
15811 as split_height_threshold.
15812 (Fwindow_full_width_p): New defun.
15813 (syms_of_window): Defsubr it.
15814
15815 * window.h: Add EXFUN for Fwindow_full_width_p.
15816
158172007-07-14 Jason Rumney <jasonr@gnu.org>
15818
15819 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15820
158212007-07-14 Richard Stallman <rms@gnu.org>
15822
15823 * eval.c (maybe_call_debugger): New function.
15824 (find_handler_clause): Use maybe_call_debugger.
15825 Call it when the handler says `debug'.
15826 Eliminate DEBUGGER_VALUE_PTR.
15827 (Fsignal): Eliminate debugger_value.
15828 (Qdebug): New variable.
15829 (syms_of_eval): Initialize it.
15830
158312007-07-14 Juanma Barranquero <lekktu@gmail.com>
15832
15833 * eval.c (Fprogn):
15834 * keyboard.c (Ftrack_mouse):
15835 * print.c (Fwith_output_to_temp_buffer):
15836 * window.c (Fsave_window_excursion): Doc fix.
15837
158382007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15839
15840 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15841
158422007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15843
15844 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15845 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15846 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15847 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15848 Remove unused encoding_carryover.
15849 * process.c: Adjust all functions accordingly.
15850
158512007-07-12 Richard Stallman <rms@gnu.org>
15852
15853 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15854
158552007-07-11 Jason Rumney <jasonr@gnu.org>
15856
15857 * makefile.w32-in (LIBS): Include OLE32.
15858
15859 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15860 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15861
158622007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15863
15864 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15865 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15866 from a Lisp_Object into a bare pointer.
15867 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15868 Adjust the code correspondingly.
15869
15870 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15871
15872 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15873 (term_show_mouse_face): Remove unused var `j'.
15874 (handle_one_term_event): Remove unused vars `i' and `j'.
15875 Don't cast return value of ttyname since it's not necessary.
15876
158772007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15878
15879 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15880 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15881
15882 * fns.c (map_char_table): Use an array of int for `indices' rather than
15883 an array of Lisp_Objects (which are only ever integers anyway).
15884 (Fmap_char_table): Update caller.
15885 * lisp.h: Update prototype.
15886 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15887 * fontset.c (Ffontset_info):
15888 * casetab.c (set_case_table): Update callers.
15889
15890 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15891
15892 * keymap.c (struct accessible_keymaps_data)
15893 (struct where_is_internal_data): New structures.
15894 (accessible_keymaps_1, where_is_internal_1): Use them to change
15895 interface to adhere to the one used by map_keymap.
15896 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15897 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15898
15899 * keymap.h (map_keymap_function_t): More informative prototype.
15900
159012007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15902
15903 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15904 (looking_at_1): Don't change search_regs and last_thing_searched
15905 if `inhibit-changing-match-data' is non-nil.
15906 (string_match_1, search_buffer, set_search_regs): Likewise.
15907 (syms_of_search): Add Lisp level definition for
15908 `inhibit-changing-match-data' and set it to nil.
15909 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15910 start and end of the match, instead of using values in search_regs.
15911
159122007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15913
15914 * minibuf.c (Fcompleting_read): New value `confirm-only'
15915 for `require-match'.
15916
159172007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15918
15919 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15920 part of the 2007-06-27 change to syms_of_fileio.
15921
159222007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15923
15924 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15925 Check WINDOWP before using XWINDOW. Consolidate return statements.
15926
159272007-06-27 Richard Stallman <rms@gnu.org>
15928
15929 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15930
159312007-06-27 Juanma Barranquero <lekktu@gmail.com>
15932
15933 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15934
159352007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15936
15937 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15938 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15939 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15940 (_free_internal, memalign): Use them.
15941 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15942 Initialize to PTHREAD_MUTEX_INITIALIZER.
15943 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15944 (morecore_nolock): Rename from morecore. All uses changed.
15945 Use only nolock versions of internal allocation functions.
15946 (_malloc_internal_nolock, _realloc_internal_nolock)
15947 (_free_internal_nolock): New functions created from
15948 _malloc_internal, _realloc_internal, and _free_internal.
15949 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15950 Copy hook value to automatic variable before its use.
15951 (memalign): Copy hook value to automatic variable before its use.
15952
159532007-06-26 Kenichi Handa <handa@m17n.org>
15954
15955 * coding.c (Ffind_operation_coding_system): Docstring improved.
15956 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15957
159582007-06-25 David Kastrup <dak@gnu.org>
15959
15960 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15961 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15962 cater for additional parameter.
15963
15964 * keymap.h: Adjust number of parameters to `current-active-maps'.
15965
15966 * doc.c (Fsubstitute_command_keys): Adjust call of
15967 `current-active-maps'.
15968
159692007-06-25 David Kastrup <dak@gnu.org>
15970
15971 * callint.c (Fcall_interactively): Make the parsing of interactive
15972 specs somewhat more readable.
15973
159742007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15975
15976 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15977 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15978 if extended background has already been filled.
15979
159802007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15981
15982 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15983 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15984
15985 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15986 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15987 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15988 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15989 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15990 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15991 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15992 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15993 Run timers during dialog popup.
15994 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15995
159962007-06-21 Jason Rumney <jasonr@gnu.org>
15997
15998 * image.c (convert_mono_to_color_image): Swap fore and background.
15999
160002007-06-20 Jason Rumney <jasonr@gnu.org>
16001
16002 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16003 (w32_free_bdf_font): Unmap memory not handle.
16004
160052007-06-20 Sam Steingold <sds@gnu.org>
16006
16007 * gmalloc.c (__morecore): Fix the declaration to comply with the
16008 definition.
16009
160102007-06-20 Juanma Barranquero <lekktu@gmail.com>
16011
16012 * w32term.c (w32_delete_display): Remove leftover declaration.
16013 (w32_define_cursor, w32_initialize): Make static.
16014
16015 * w32.c (_wsa_errlist): Fix typo in error message.
16016 (init_environment): Ignore any environment variable from the
16017 registry having a null value.
16018
160192007-06-20 Glenn Morris <rgm@gnu.org>
16020
16021 * Makefile.in (LIBGIF): Default to -lgif.
16022
160232007-06-17 Jason Rumney <jasonr@gnu.org>
16024
16025 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16026 unicode strings.
16027
160282007-06-16 Juanma Barranquero <lekktu@gmail.com>
16029
16030 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16031 Fix typo in docstring.
16032
160332007-06-16 Eli Zaretskii <eliz@gnu.org>
16034
16035 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16036 and their keybindings.
16037
160382007-06-15 Chong Yidong <cyd@stupidchicken.com>
16039
16040 * composite.c (update_compositions): Fix last fix.
16041
160422007-06-14 Jason Rumney <jasonr@gnu.org>
16043
16044 * w32.c (get_process_times_fn): New function pointer.
16045 (globals_of_w32): Intialize it if present in kernel32.dll.
16046 (w32_get_internal_run_time): New function.
16047
16048 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16049
160502007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16051
16052 * composite.c (update_compositions): Check the validness of
16053 compositions.
16054
160552007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16056
16057 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16058 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16059
16060 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16061 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16062
16063 * macgui.h (USE_MAC_TOOLBAR): New define.
16064
16065 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16066 Return immediately unless popup is activated.
16067
16068 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16069 background to scroll bar gap.
16070 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16071 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16072 scroll bars on frame edge. Check fringe background extension.
16073 Don't clear extended fringe background area.
16074 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16075 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16076 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16077 [USE_MAC_TOOLBAR]: New macros.
16078 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16079 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16080 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16081 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16082 [USE_MAC_TOOLBAR]: New functions.
16083 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16084 manually if previous repositioning has failed.
16085 (mac_handle_keyboard_event): Use precomputed event kind.
16086 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16087 as tool bar item click. Handle mouse movement over tool bar items.
16088
16089 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16090 toolbar_win_gravity.
16091 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16092 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16093 Add externs.
16094
16095 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16096 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16097
160982007-06-14 Chong Yidong <cyd@stupidchicken.com>
16099
16100 * image.c (search_image_cache): Remove unused variable.
16101
161022007-06-13 Chong Yidong <cyd@stupidchicken.com>
16103
16104 * xfns.c, xmenu.c: Link to xaw3d if available.
16105
161062007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16107
16108 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16109 frame_foreground and frame_background.
16110
16111 * image.c (lookup_image): Save frame foreground and background colors.
16112 (search_image_cache): Check if saved and current frame colors match.
16113
161142007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16115
16116 * regex.c (regex_compile): Remove the `regnum' counter.
16117 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16118
161192007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16120
16121 * term.c: Include intervals.h to declare Fget_text_property.
16122
161232007-06-10 Jason Rumney <jasonr@gnu.org>
16124
16125 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16126
161272007-06-08 Juanma Barranquero <lekktu@gmail.com>
16128
16129 * callint.c (Fcall_interactively):
16130 * editfns.c (Fdelete_and_extract_region):
16131 * fileio.c (Fread_file_name):
16132 * fns.c (Fmapconcat):
16133 * keyboard.c (cmd_error_internal):
16134 * keymap.c (Fkey_description):
16135 * lread.c (openp):
16136 * minibuf.c (read_minibuf):
16137 * search.c (wordify):
16138 * sunfns.c (sel_read):
16139 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16140 * xfns.c (x_default_scroll_bar_color_parameter):
16141 * xmenu.c (menu_help_callback):
16142 * xselect.c (Fx_get_atom_name):
16143 * xterm.c (x_term_init): Use empty_unibyte_string.
16144
161452007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16146
16147 * alloc.c (init_strings): Initialize canonical empty strings.
16148 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16149 canonical empty string when the requested size is 0.
16150
16151 * emacs.c (empty_unibyte_string): Rename from empty_string.
16152 (empty_multibyte_string): New canonical empty string.
16153 (syms_of_emacs): Don't initialize empty_string.
16154
16155 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16156 string, if appropriate.
16157 (empty_unibyte_string, empty_multibyte_string): New externs.
16158 (empty_string): Remove extern.
16159
16160 * lread.c (syms_of_lread): Use empty_unibyte_string.
16161
161622007-06-07 Jason Rumney <jasonr@gnu.org>
16163
16164 * s/ms-w32.h: Don't define HAVE_TZNAME.
16165
16166 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16167
161682007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16169
16170 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16171
16172 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16173 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16174
16175 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16176 Don't call next handler.
16177 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16178 Remove argument. Install handler to application.
16179 (set_frame_menubar): Don't change deep_p.
16180 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16181 FRAME_OUTER_TO_INNER_DIFF_Y.
16182 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16183 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16184 [HAVE_DIALOGS]: New macros.
16185 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16186 Use them.
16187 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16188
16189 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16190 init_service_handler. All callers changed. Return OSStatus value.
16191
16192 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16193 All callers changed so as not to call SetPortWindowPort.
16194 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16195 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16196 mac_draw_string_common.
16197 (mac_draw_image_string_qd): Likewise.
16198 (mac_draw_string_common): Use them. Add INLINE.
16199 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16200 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16201 GetGlobalMouse.
16202 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16203 and FRAME_OUTER_TO_INNER_DIFF_Y.
16204 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16205 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16206 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16207 repositioning window to mac_handle_window_event.
16208 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16209 saving window location to mac_handle_window_event
16210 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16211 (install_menu_target_item_handler): Remove argument in extern.
16212 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16213 Also accept command events.
16214 (do_keystroke): New function created from XTread_socket.
16215 (init_command_handler): Remove functions.
16216 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16217 and save window location by kEventWindowShowing and kEventWindowHiding
16218 handlers here. Don't call next handler for window state change and
16219 focus events.
16220 (mac_handle_application_event, mac_handle_keyboard_event)
16221 [TARGET_API_MAC_CARBON]: New functions.
16222 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16223 kEventWindowShowing and kEventWindowHiding events. Move installation
16224 of mouse, font, text input and menu target item handlers to
16225 install_application_handler.
16226 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16227 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16228 New function.
16229 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16230 Register it.
16231 (XTread_socket) [TARGET_API_MAC_CARBON]:
16232 Consolidate SendEventToEventTarget calls.
16233 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16234 Move application activation handler to mac_handle_application_event.
16235 Move keyboard handler to mac_handle_keyboard_event.
16236 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16237 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16238 init_command_handler. Call install_application_handler.
16239
16240 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16241 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16242
162432007-06-07 Glenn Morris <rgm@gnu.org>
16244
16245 * emacs.c (main): Use `emacs-copyright' in --version output.
16246
162472007-06-06 Chong Yidong <cyd@stupidchicken.com>
16248
16249 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16250
162512007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16252
16253 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16254
16255 * macgui.h: Replace WindowPtr with WindowRef.
16256
16257 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16258 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16259 Replace ControlHandle with ControlRef.
16260 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16261
16262 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16263 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16264 Replace ControlHandle with ControlRef.
16265 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16266 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16267
16268 * macterm.h (struct scroll_bar): Rename member control_handle_low
16269 and control_handle_high to control_ref_low and control_ref_high.
16270 All uses changed.
16271 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16272 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16273 respectively. All uses changed.
16274 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16275 (install_window_handler, remove_window_handler): Replace WindowPtr
16276 with WindowRef in externs.
16277
162782007-06-05 Juanma Barranquero <lekktu@gmail.com>
16279
16280 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16281
162822007-06-03 Nick Roberts <nickrob@snap.net.nz>
16283
16284 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16285
16286 * frame.c (Fmouse_position, Fmouse_pixel_position):
16287 Condition on HAVE_GPM too.
16288
16289 * term.c (term_mouse_highlight): Remove unused variables.
16290 (Fterm_open_connection): Set gpm_zerobased to 1.
16291 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16292 Use zero based co-ordinates.
16293 (handle_one_term_event): Report a drag as mouse movement too.
16294
16295 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16296
162972007-06-03 Chong Yidong <cyd@stupidchicken.com>
16298
16299 * image.c (search_image_cache): New function. Require background
16300 color match if background color is unspecified in the image spec.
16301 (uncache_image, lookup_image): Use it.
16302
163032007-06-01 Juanma Barranquero <lekktu@gmail.com>
16304
16305 * window.c (Fshrink_window): Reflow docstring.
16306
163072007-06-02 Chong Yidong <cyd@stupidchicken.com>
16308
16309 * Version 22.1 released.
16310
163112007-06-01 Richard Stallman <rms@gnu.org>
16312
16313 * xfns.c (x_encode_text): Add GCPRO.
16314
163152007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16316
16317 * xfns.c (x_set_name_internal): Save encoded name before
16318 x_encode_text in case string data is relocated.
16319
163202007-05-31 Richard Stallman <rms@gnu.org>
16321
16322 * buffer.c (syms_of_buffer): Doc fix.
16323
163242007-05-30 Nick Roberts <nickrob@snap.net.nz>
16325
16326 * sysdep.c (init_sys_modes): Add rather than replace with
16327 O_NONBLOCK.
16328
16329 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16330 term_mouse_moveto.
16331
16332 * termhooks.h (term_mouse_moveto): New extern.
16333
16334 * term.c (mouse_face_window): Rename...
16335 (Qmouse_face_window): ...to this.
16336 (term_show_mouse_face, term_clear_mouse_face)
16337 (term_mouse_highlight): Use Qmouse_face_window.
16338 (term_mouse_moveto): New function.
16339 (term_mouse_position): Make it work.
16340 (syms_of_term): Uncomment assignment to mouse_position_hook.
16341 Staticpro Qmouse_face_window.
16342
163432007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16344
16345 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16346 around current_column call.
16347
163482007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16349
16350 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16351 * xdisp.c (next_element_from_buffer):
16352 * window.c (delete_window):
16353 * term.c (term_mouse_highlight):
16354 * msdos.c (getdefdir):
16355 * macterm.c (mac_create_bitmap_from_bitmap_data)
16356 (init_font_name_table):
16357 * fns.c (Fsxhash):
16358 * data.c (Fmake_local_variable):
16359 * ccl.c (ccl_driver): Likewise.
16360
163612007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16362
16363 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16364 Call mac_wakeup_from_rne on window size change.
16365
163662007-05-25 Chong Yidong <cyd@stupidchicken.com>
16367
16368 * image.c (uncache_image): Fix typo.
16369
163702007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16371
16372 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16373
163742007-05-22 Richard Stallman <rms@gnu.org>
16375
16376 * xterm.c (x_connection_closed): Remove NO_RETURN.
16377
163782007-05-22 Martin Rudalics <rudalics@gmx.at>
16379
16380 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16381
163822007-05-21 Chong Yidong <cyd@stupidchicken.com>
16383
16384 * image.c (uncache_image): New function.
16385 (Fimage_refresh): New function.
16386
163872007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16388
16389 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16390
163912007-05-20 Nick Roberts <nickrob@snap.net.nz>
16392
16393 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16394 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16395
163962007-05-20 Nick Roberts <nickrob@snap.net.nz>
16397
16398 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16399 conditional on [HAVE_GPM_H].
16400
164012007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16402
16403 * syntax.c (skip_chars): Update syntax-table only after we checked that
16404 the new location is valid.
16405
164062007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16407
16408 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16409 mac_get_window_bounds.
16410
164112007-05-20 Nick Roberts <nickrob@snap.net.nz>
16412
16413 * Makefile.in (LIBGPM): Allow it to be set from configure.
16414 If set then link Emacs with it.
16415
16416 * config.in: Regenerate.
16417
16418 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16419 New externs.
16420
16421 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16422 Include gpm.h.
16423 (handle_one_term_event, term_gpm): New externs.
16424
16425 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16426 and allow it to be interrupted by SIGIO.
16427
16428 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16429 (wait_reading_process_output): Wait on gpm_fd too.
16430 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16431 (add_gpm_wait_descriptor_called_flag): New variable.
16432 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16433
16434 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16435 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16436 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16437 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16438 (make_lispy_event): Add case GPM_CLICK_EVENT.
16439 (read_avail_input): Handle mouse input.
16440
16441 * term.c (write_glyphs_with_face): New function.
16442 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16443 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16444 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16445 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16446 (last_mouse_x, last_mouse_y): New variables.
16447 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16448 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16449 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16450 (Fterm_close_connection): New functions.
16451 (term_init): Initialise mouse_face_window.
16452
164532007-05-19 Chong Yidong <cyd@stupidchicken.com>
16454
16455 * xdisp.c (redisplay_window): If first window line is a
16456 continuation line, recompute the new window start instead of
16457 recentering.
16458
164592007-05-18 Glenn Morris <rgm@gnu.org>
16460
16461 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16462 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16463
164642007-05-17 Glenn Morris <rgm@gnu.org>
16465
16466 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16467
164682007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16469
16470 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16471 dead key repeat and up events.
16472
164732007-05-14 Chong Yidong <cyd@stupidchicken.com>
16474
16475 * image.c (pbm_load): Check image size for monochrome pbm.
16476
164772007-05-13 Chong Yidong <cyd@stupidchicken.com>
16478
16479 * xterm.c (XTread_socket): Revert last change.
16480
164812007-05-12 Chong Yidong <cyd@stupidchicken.com>
16482
16483 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16484
16485 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16486
164872007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16488
16489 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16490 mixup (YAILOM).
16491
164922007-05-07 Andreas Schwab <schwab@suse.de>
16493
16494 * keymap.c (Flookup_key): Fix typo in last change.
16495
164962007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16497
16498 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16499 mapping for unibyte strings.
16500
165012007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16502
16503 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16504 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16505
165062007-04-29 Richard Stallman <rms@gnu.org>
16507
16508 * insdel.c (replace_range): For undo, record insertion first.
16509
165102007-04-29 Andreas Schwab <schwab@suse.de>
16511
16512 * lisp.h (VECSIZE): Use OFFSETOF.
16513
165142007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16515
16516 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16517 disabled lines.
16518
165192007-04-28 Richard Stallman <rms@gnu.org>
16520
16521 * lread.c (read_escape): In a string, \s is always space.
16522
165232007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16524
16525 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16526
16527 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16528 submenu for menu bar items.
16529
16530See ChangeLog.10 for earlier changes.
16531
16532;; Local Variables:
16533;; coding: utf-8
16534;; add-log-time-zone-rule: t
16535;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16536;; End:
16537
16538 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16539
16540 This file is part of GNU Emacs.
16541
16542 GNU Emacs is free software: you can redistribute it and/or modify
16543 it under the terms of the GNU General Public License as published by
16544 the Free Software Foundation, either version 3 of the License, or
16545 (at your option) any later version.
16546
16547 GNU Emacs is distributed in the hope that it will be useful,
16548 but WITHOUT ANY WARRANTY; without even the implied warranty of
16549 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16550 GNU General Public License for more details.
16551
16552 You should have received a copy of the GNU General Public License
16553 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16554
16555;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40