fix date in last commit
[bpt/emacs.git] / src / ChangeLog
CommitLineData
10f87c6f 12009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
2
3 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
4 ns_alternate_modifier. (Bug#1217)
5
918b848b
CY
62009-01-22 Chong Yidong <cyd@stupidchicken.com>
7
8 * fileio.c (Vwrite_region_post_annotation_function)
9 (Vwrite_region_annotation_buffers): New vars.
10 (build_annotations_unwind): Just reset
11 Vwrite_region_annotation_buffers.
12 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
13 Call write-region-post-annotation-function.
14 (build_annotations): Add to Vwrite_region_annotation_buffers if
15 buffer changes.
16
a39e2539
AR
172009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
18
19 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
20 Tiger.
21 * nsfns.m (ns_do_applescript): Conditionalize
22 typeUTF16ExternalRepresentation on Tiger.
23
35ed44db
AR
242009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
25
26 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
27
28
cbe0b5bf
AR
292009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
30
31 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 32
6049d3a0
AR
33 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
34
35 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
36 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
37 handle Ctrl-tab. (Bug#1841)
38 (ns_get_color): Use unsigned long long for scanned hex string value.
39 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 40 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0
AR
41 (EmacsPrefsController-setPanelFromDefaultValues) New function.
42 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 43 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21
AR
44 (ns_defined_color): Fix settings of the XColor variable fields:
45 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 46
d3810c21
AR
47 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
48 DPI. (Bug#1316)
49 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
50 values in onTiger section.
4c7077c3 51
e301e634
CY
522009-01-19 Chong Yidong <cyd@stupidchicken.com>
53
7f82490b
CY
54 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
55 Check return value of font_spec_from_name.
56 (Fx_list_fonts): Doc fix.
57
58 * font.c (font_spec_from_name): Return Qnil if font name could not
59 be parsed.
60 (font_parse_name): Treat a `?' character as part of an XLFD.
61
e301e634
CY
62 * fns.c (Fsubstring): Doc fix.
63
1c0db158
KH
642009-01-19 Kenichi Handa <handa@m17n.org>
65
66 * ftfont.c (ftfont_lookup_cache): Check the return value of
67 FcFontList.
68 (ftfont_list): Likewise.
69
acf20901
JB
702009-01-18 Juanma Barranquero <lekktu@gmail.com>
71
fff4e459
JB
72 * dbusbind.c (Fdbus_register_signal):
73 * process.c (conv_sockaddr_to_lisp):
74 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
75
acf20901
JB
76 * callproc.c (Fgetenv_internal): Doc fix.
77
e7abcdfb
CY
782009-01-16 Chong Yidong <cyd@stupidchicken.com>
79
80 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
81 it is not even used.
82
b60861e6
GM
832009-01-16 Glenn Morris <rgm@gnu.org>
84
85 * font.c (Ffont_variation_glyphs): Silence compiler.
86
8db52afe
JB
872009-01-15 Juanma Barranquero <lekktu@gmail.com>
88
89 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
90 Reported by David Robinow <drobinow@gmail.com>.
91
4cddb209
KH
922009-01-15 Kenichi Handa <handa@m17n.org>
93
94 * coding.c (detect_coding_system): Fix handling of
95 null_byte_found.
96
f247f67b
JR
972009-01-14 Jason Rumney <jasonr@gnu.org>
98
99 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 100 never a fontset. (Bug#1562)
f247f67b 101
f56a4450
KH
1022009-01-14 Kenichi Handa <handa@m17n.org>
103
104 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 105 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 106
4e99855e
CY
1072009-01-13 Chong Yidong <cyd@stupidchicken.com>
108
109 * font.c (font_clear_prop): If clearing the family, clear the font
110 width index too.
111
fff4e459 112 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 113
24f01470
JB
1142009-01-12 Juanma Barranquero <lekktu@gmail.com>
115
116 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
117 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
118 functions, use sizeof.
119
a41240a3
MR
1202009-01-12 Martin Rudalics <rudalics@gmx.at>
121
122 * keyboard.c (read_char): Fix case where last_nonmenu_event
123 returned a bad value with submenus. (Bug#447)
124
944636b8
CY
1252009-01-12 Chong Yidong <cyd@stupidchicken.com>
126
127 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
128 family, clear the font width index too.
129
0dad7c6f
JR
1302009-01-11 Jason Rumney <jasonr@gnu.org>
131
132 * keyboard.c (cmd_error_internal): Exit when errors occur before
133 frame creation and not in daemon mode. (Bug#1836)
134
7c2363af
CY
1352009-01-10 Chong Yidong <cyd@stupidchicken.com>
136
137 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
138 of a display vector, backtrack.
139 (try_window_reusing_current_matrix): Check glyph type before
140 referencing charpos member.
141
97b1b294
EZ
1422009-01-10 Eli Zaretskii <eliz@gnu.org>
143
144 Fix Bug #876:
145
146 * coding.c (inhibit_null_byte_detection): New variable.
147 (detect_coding, detect_coding_system): Don't pay attention to null
148 bytes if inhibit_null_byte_detection is non-zero.
149 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
150 document.
151 <inhibit-iso-escape-detection>: Doc fix.
152
4624b6e3
JR
1532009-01-09 Jason Rumney <jasonr@gnu.org>
154
155 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 156 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
157 Only report Unicode Plane 2 fonts as unicode-sip.
158
323b840c
CY
1592009-01-09 Chong Yidong <cyd@stupidchicken.com>
160
161 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
162 version moved to faces.el.
163
164 * font.c (Ffont_family_list): Return a list of strings, not
165 symbols.
166
eba7400d
MR
1672009-01-09 Martin Rudalics <rudalics@gmx.at>
168
169 * frame.c (x_set_frame_parameters): Remember requested value for
170 fullscreen before it's reset by the parameter handler.
171
4b09796d
GM
1722009-01-09 Glenn Morris <rgm@gnu.org>
173
174 * keyboard.c (last_command_char): For clarity, rename to...
175 (last_command-event): ... and update all users.
176 (last_input_char): For clarity, rename to...
177 (last_input_event): ... and update all users.
178 (last-command-char, last-input-char): Move to subr.el as aliases.
179 * cmds.c, commands.h: Update for last_command_char rename.
180
14ccea62
CY
1812009-01-08 Chong Yidong <cyd@stupidchicken.com>
182
183 * font.c (font_open_for_lface): Handle unspecified height
184 attribute.
185
5f004711
JR
1862009-01-08 Jason Rumney <jasonr@gnu.org>
187
188 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
189 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
190 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
191 Don't declare.
fff4e459 192 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
193 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
194
b71f6f73
KH
1952009-01-07 Kenichi Handa <handa@m17n.org>
196
50b06221 197 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 198 remember the coding system used for decoding in
50b06221
KH
199 coding_system (Bug#1039).
200
b71f6f73 201 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 202 breaking the loop. (Bug#870)
b71f6f73
KH
203 (decode_coding_utf_16, decode_coding_emacs_mule)
204 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
205 (decode_coding_charset): Likewise.
206
56f668f7
MR
2072009-01-05 Martin Rudalics <rudalics@gmx.at>
208
209 * frame.c (x_set_frame_parameters): Make sure height (width) get
210 applied when fullwidth (fullheight) is set. (Bug#1522)
211
5da9424d
JB
2122009-01-04 Juanma Barranquero <lekktu@gmail.com>
213
214 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
215 (utc_base): Declare as ULONGLONG, not long double.
216 (convert_time_raw): Delete.
217 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
218 (initialize_utc_base): New function.
219 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
220 (convert_from_time_t): Use initialize_utc_base; compute result with
221 64-bit arithmetic.
222 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
223
c4605e09
EZ
2242009-01-03 Eli Zaretskii <eliz@gnu.org>
225
9acef61c 226 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
227 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
228 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
229 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
230 [!subprocesses]: Define.
231 (syms_of_process) [!subprocesses]: Intern and staticpro them.
232 (Flist_system_processes, Fsystem_process_attributes)
233 [!subprocesses]: Call list_system_processes and
234 system_process_attributes instead of returning Qnil.
235
9acef61c
JB
236 * dosfns.c (system_process_attributes, list_system_processes):
237 New functions.
c4605e09
EZ
238
239 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
240
241 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
242 Don't use the default (no-op) implementation.
243
8b7d0a16
JR
2442009-01-03 Jason Rumney <jasonr@gnu.org>
245
a6d46bc1
JR
246 * keyboard.c (parse_modifiers_uncached): Wheel events are
247 clicks (bug#687).
248
8b7d0a16
JR
249 * w32term.c (x_query_colors, x_query_color): New functions.
250
251 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
252 (svg_load_image): Cast returned pointers from dynamically loaded
253 functions. Eliminate W32 specific code.
254
bfe11752
DN
2552009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
256
89e2438a
DN
257 * nsfns.m (x_set_foreground_color, x_set_background_color)
258 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
259 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
260 x_ prefix instead of ns_. Update references.
261 (syms_of_nsfns): Add a FIXME comment.
262
263 * nsterm.m (x_set_cursor_type): New prototype.
264 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
265
bfe11752
DN
266 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
267 for Solaris instead of incorrectly providing Qutime and Qcutime.
268
031da700
EZ
2692009-01-02 Eli Zaretskii <eliz@gnu.org>
270
271 * w32.c (process_times): Compute sum of utime and stime.
272 (system_process_attributes): Add Qtime to the alist.
273
274 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
275 and add them to the alist.
276
277 * process.c (top level) <Qtime, Qctime>: New variables.
278 (syms_of_process): staticpro them.
279 (Fsystem_process_attributes): Add their documentation to the doc
280 string.
281
282 * process.h: Declare Qtime and Qctime.
283
df23bf08
JR
2842009-01-02 Jason Rumney <jasonr@gnu.org>
285
9acef61c 286 * image.c (Qgobject): New symbol.
df23bf08
JR
287 (syms_of_image): Initialize it.
288 (init_svg_functions): Load some functions from gobject library.
289
5bbdf7aa
DN
2902009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
291
292 * frame.c (make_terminal_frame): Remove redundant code and useless
293 block.
294
63136da6
AS
2952009-01-01 Andreas Schwab <schwab@suse.de>
296
297 * process.c (conv_sockaddr_to_lisp): Add workaround for
298 getsockname bug on BSD.
299
9ef69046
CY
3002009-01-01 Chong Yidong <cyd@stupidchicken.com>
301
d6fafbe0
CY
302 * xfns.c (x_create_tip_frame): Set border width of the X window.
303
9ef69046
CY
304 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
305 message.
306
f9c34147
JR
3072009-01-01 Jason Rumney <jasonr@gnu.org>
308
9acef61c 309 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
310 Don't block input, as per earlier xterm.c changes.
311
f5497e45
AR
3122008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
313
314 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
315 (ns_appkit_version_int): New function.
316 (x-server-version): Use ns_appkit_version_int and follow 21+
317 convention of returning 3 integers.
318
c19cab20
KH
3192008-12-30 Kenichi Handa <handa@m17n.org>
320
321 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
322 (CHAR_SURROGATE_PAIR_P): New macro.
323
324 * font.h (struct font_driver): New member get_variation_glyphs.
325
9acef61c 326 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
327 (Ffont_variation_glyphs): New function.
328 (syms_of_font): Defsubr it.
329
330 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
331 ftfont_variation_glyphs.
332 (setup_otf_gstring): New function.
333 (ftfont_drive_otf): Use it.
334 (ftfont_shape_by_flt): Handle variation selector.
335 (ftfont_variation_glyphs): New function.
336
28cd591f
MR
3372008-12-30 Martin Rudalics <rudalics@gmx.at>
338
339 * frame.c (Vemacs_iconified): Remove.
340
7f714baf
JR
3412008-12-30 Jason Rumney <jasonr@gnu.org>
342
343 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 344 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 345
9d2d22ab
CY
3462008-12-30 Chong Yidong <cyd@stupidchicken.com>
347
348 * indent.c (Fvertical_motion): Don't advance iterator if we have
349 reseated to the desired position.
350
351 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
352 checking for pos match.
353
545312c2
KH
3542008-12-30 Kenichi Handa <handa@m17n.org>
355
1ede3eb6
KH
356 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
357 just get the low 8-bit of the code.
358
545312c2
KH
359 * font.c (font_intern_prop): Validate str as multibyte.
360
bd7bbf29
DN
3612008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
362
31e0750e
DN
363 * dispextern.h (struct face): Move lface and hash from the middle
364 of bitfields.
365
bd7bbf29
DN
366 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
367
b5672e7c
DN
3682008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
369
370 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
371 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
372 instead of intervals.h.
373
d704470f
AS
3742008-12-26 Andreas Schwab <schwab@suse.de>
375
376 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
377 cons.
378
54b33868
MR
3792008-12-26 Martin Rudalics <rudalics@gmx.at>
380
381 * textprop.c (Qminibuffer_prompt): New variable.
382 (syms_of_textprop): Initialize it.
383 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
384 in minibuffer-prompt face. (Bug#1662)
385
40b615d6
JR
3862008-12-25 Jason Rumney <jasonr@gnu.org>
387
388 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
389
baae5c2d
JR
3902008-12-24 Jason Rumney <jasonr@gnu.org>
391
392 * ralloc.c (r_alloc_reset_variable): New function.
393
394 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 395 record of what points where. (Bug#716)
baae5c2d 396
a9051c88
DN
3972008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
398
399 * minibuf.c (read_minibuf): Follow the non-interactive case when
400 running as a daemon, before detaching.
401
8b146312
AS
4022008-12-22 Andreas Schwab <schwab@suse.de>
403
404 * buffer.c (init_buffer): Use realloc instead of xrealloc.
405 * gtkutil.c (free_widget_value): Use xfree instead of free.
406
56f2de10
MR
4072008-12-22 Martin Rudalics <rudalics@gmx.at>
408
409 * frame.c (delete_frame): New function derived from
410 Fdelete_frame to handle Qnoelisp value for FORCE argument.
411 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
412 (Fdelete_frame): Call delete_frame. Remove line from doc-string
413 saying that FORCE non-nil doesn't run `delete-frame-functions'.
414 * frame.h: Extern delete_frame.
415 * window.c (window_loop):
416 * terminal.c (delete_terminal):
417 * xterm.c (x_connection_closed):
418 * xfns.c (Fx_hide_tip):
9acef61c 419 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 420
1fc200d6
JR
4212008-12-21 Jason Rumney <jasonr@gnu.org>
422
423 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
424 when character maps to .notdef character.
425
5e252df2
SM
4262008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
427
428 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
429
99b72cc4
JR
4302008-12-20 Jason Rumney <jasonr@gnu.org>
431
432 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 433 a graphical frame on Windows. (Bug#1325)
99b72cc4 434
acc49a52
JD
4352008-12-20 Jan Djärv <jan.h.d@swipnet.se>
436
437 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
438
6ea15123
CY
4392008-12-20 Chong Yidong <cyd@stupidchicken.com>
440
441 * minibuf.c (Fread_buffer): Doc fix.
442
b2dab6c8
JR
4432008-12-20 Jason Rumney <jasonr@gnu.org>
444
54ea0c87 445 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 446 server name in UNC paths. (Bug#719)
54ea0c87 447
b2dab6c8 448 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 449 charbuf. (Bug#1035)
b2dab6c8 450
6d1921be
DN
4512008-12-19 Daniel Engeler <engeler@gmail.com>
452
453 * sysdep.c (serial_configure): Fix typo.
454
53934c98
DN
4552008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
456
457 * sysdep.c: Include alloca.h.
f4f634e8
DN
458 (system_process_attributes): Add implementation for Solaris.
459
460 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 461
06e111a6
DN
4622008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
463
464 Reorganize implementation of Flist_system_processes and
465 Fsystem_process_attributes. No functional changes.
466 * process.c: Don't #include pwd.h, grp.h and limits.h.
467 (Flist_system_processes): Just call list_system_processes.
468 (Fsystem_process_attributes): Just call system_process_attributes.
469 (procfs_list_system_processes, time_from_jiffies)
470 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
471 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
472
473 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
474 (list_system_processes): Rename from
475 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
476 Provide a do nothing implementation.
477 (system_process_attributes): Rename from
478 procfs_list_system_processes.
479 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 480 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
481
482 * w32.c (list_system_processes): Rename from
483 w32_list_system_processes.
484 (system_process_attributes): Rename from
485 w32_system_process_attributes.
486
487 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
488
489 * process.h (w32_list_system_processes)
490 (w32_system_process_attributes): Remove.
491 (list_system_processes, system_process_attributes): New
492 prototypes.
493
6a705b23
KH
4942008-12-19 Kenichi Handa <handa@m17n.org>
495
496 * xfont.c (xfont_decode_coding_xlfd): New function.
497 (xfont_encode_coding_xlfd): New function.
498 (xfont_list_pattern): Decode XLFD by iso-8859-1.
499 (xfont_list): Decode and encode XLFD by iso-8859-1.
500 (xfont_match): Likewise.
501 (xfont_list_family): Likewise.
502 (xfont_open): Likewise.
503
d66c0241 504 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
505 names are utf-8.
506
d66c0241 507 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
508 names are utf-8.
509
5a130941
JD
5102008-12-18 Jan Djärv <jan.h.d@swipnet.se>
511
512 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
513 changed.
bfd20325
JD
514 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
515 clicked on a detached tool bar button.
5a130941 516
fd95644b
DN
5172008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
518
519 * emacs.c (main): Print and error and exit when no data is read
520 from the pipe.
521
e6eee6ae
JR
5222008-12-17 Jason Rumney <jasonr@gnu.org>
523
524 * w32font.c (w32font_has_char): Always return -1.
525
a35dd56b
KH
5262008-12-16 Kenichi Handa <handa@m17n.org>
527
528 * font.c (font_open_entity): Fix previous change.
529
0e3635c2
DN
5302008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
531
532 * process.c: Include <limits.h>.
533
d4835507 5342008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
535
536 * font.c (font_update_drivers): Fix mistake in reconstructing the
537 driver list.
538
5392008-12-16 Chong Yidong <cyd@stupidchicken.com>
540
541 * font.c (font_clear_cache): Fix format of font cache data.
542
e2cbc401
CY
5432008-12-15 Chong Yidong <cyd@stupidchicken.com>
544
545 * xftfont.c (xftfont_open): Free Xft font pattern if
546 XftFontOpenPattern fails.
547
548 * xterm.c (x_free_frame_resources): Remove extraneous call to
549 free_frame_faces.
550
b131d535
CY
5512008-12-13 Chong Yidong <cyd@stupidchicken.com>
552
553 * xterm.c (x_delete_display): Move xim_close_dpy call to
554 x_delete_terminal.
555 (x_delete_terminal): Call xim_close_dpy.
556
e6df5336
JR
5572008-12-13 Jason Rumney <jasonr@gnu.org>
558
559 * w32font.c (intern_font_name): New function.
560 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
561 (w32font_open_internal, Fx_select_font): Decode font name.
562 (fill_in_logfont, list_all_matching_fonts): Encode font name.
563
564 * w32font.h (intern_font_name): Declare new function.
565
566 * w32uniscribe.c (add_opentype_font_name_to_list):
567 Use intern_font_name.
568
20d68145
CY
5692008-12-13 Chong Yidong <cyd@stupidchicken.com>
570
9f2554de
CY
571 * frame.c (Fdelete_frame): Call free_font_driver_list.
572
3d9bec9a
CY
573 * font.c (free_font_driver_list): Implement missing function.
574
20d68145
CY
575 * w32term.c (w32_term_init): Don't initialize the image cache
576 here; it will be done in init_frame_faces.
577
578 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
579 (struct x_display_info): Remove unused member null_pixel. New
580 member xim_callback_data.
581
582 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
583 (xim_initialize): Save pointer to callback function data.
584 (xim_close_dpy): Free callback function data. Call XCloseIM,
585 reverting 2008-11-04 change by David Smith.
586 (x_term_init): Don't initialize the image cache here; it will be
587 done in init_frame_faces. Remove ancient "null_pixel" cruft.
588 (x_delete_display): Free x_dnd_atoms member.
589
96f9306b
KH
5902008-12-13 Kenichi Handa <handa@m17n.org>
591
6dec9044
JB
592 * font.c (font_rescale_ratio): Moved from xfaces.c.
593 Argument type changed. Handle a font-spec too.
96f9306b 594 (font_score): Check Vface_font_rescale_alist.
6dec9044 595 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
596
597 * xfaces.c (font_rescale_ratio): Moved to font.c.
598
8d5b4964
CY
5992008-12-13 Chong Yidong <cyd@stupidchicken.com>
600
601 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
602
e6df5336
JR
6032008-12-12 Jason Rumney <jasonr@gnu.org>
604
605 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
606 Vwindow_system_version to the real w32 major version.
607
97c6058a
DN
6082008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
609
610 * term.c (init_tty): Move setting the terminal name before the
611 potential user: maybe_fatal.
612
ec4e88d7
CY
6132008-12-11 Chong Yidong <cyd@stupidchicken.com>
614
d4835507
JB
615 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
616 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 617
b4233ec9
JR
6182008-12-11 Jason Rumney <jasonr@gnu.org>
619
8ec71e23 620 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 621 SYMBOL_CHARSET. (Bug#547)
8ec71e23 622
b4233ec9 623 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 624 size for surrogates. (Bug#1096, bug#872)
b4233ec9 625
011a0143
JB
6262008-12-11 Juanma Barranquero <lekktu@gmail.com>
627
628 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
629
3c309f34
JB
6302008-12-11 Juanma Barranquero <lekktu@gmail.com>
631
632 * process.c (Fsystem_process_attributes, syms_of_process):
633 Fix typo in name of Ssystem_process_attributes.
634 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
635
fedc6ab5
JB
6362008-12-11 Juanma Barranquero <lekktu@gmail.com>
637
638 * syntax.c (Fmodify_syntax_entry): Doc fix.
639
ba3de0e8
JB
6402008-12-10 Juanma Barranquero <lekktu@gmail.com>
641
642 * font.c (Ffont_spec): Move usage to end of docstring.
643
174f1c74
JR
6442008-12-10 Jason Rumney <jasonr@gnu.org>
645
646 * w32font.c (Qcham): New symbol.
647 (font_supported_scripts): Add cham, and comments for other new
648 scripts in bitfield from OpenType spec.
9d32f818
JR
649 (add_font_entity_to_list): Limit unicode-sip fonts to those that
650 contain characters beyond the bmp.
174f1c74 651
7b649478
KH
6522008-12-10 Kenichi Handa <handa@m17n.org>
653
654 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 655 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
656 Qunicode_sip.
657
2133e2d1
JB
6582008-12-10 Juanma Barranquero <lekktu@gmail.com>
659
660 * coding.c (QCdefault_char): Rename from QCdefalut_char.
661 (Fcoding_system_put): Use QCdefault_char.
662 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
663
9af886ee
CY
6642008-12-09 Chong Yidong <cyd@stupidchicken.com>
665
74d819eb
CY
666 * xftfont.c (syms_of_xftfont): Fix typo.
667
4ccfa1c0 668 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 669
7c19d3ae
DN
6702008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
671
672 * emacs.c (main): Close daemon_pipe on exec.
673
567826bb
CY
6742008-12-08 Chong Yidong <cyd@stupidchicken.com>
675
676 * termchar.h (struct tty): New members termcap_term_buffer and
677 termcap_strings_buffer.
678
679 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 680 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
681 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
682 All callers changed.
683 (init_tty): Store termcap data and string buffers in new struct
684 tty members termcap_term_buffer and termcap_strings_buffer.
685 (delete_tty): Free them.
4ccfa1c0 686 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 687
aa96c42b
SZ
6882008-12-07 Seiji Zenitani <zenitani@mac.com>
689
690 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 691 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 692
b7e1d896
CY
6932008-12-06 Chong Yidong <cyd@stupidchicken.com>
694
695 * coding.c (make_conversion_work_buffer): Disable buffer
696 modification hooks in the work buffer.
697
b5ec91a5
EZ
6982008-12-05 Eli Zaretskii <eliz@gnu.org>
699
700 * process.c (procfs_system_process_attributes): If `nread' has a
701 negative value, assign zero to it.
702
a5d2a52b
CY
7032008-12-05 Chong Yidong <cyd@stupidchicken.com>
704
68c5540b 705 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 706
7bf1bb21
KH
7072008-12-05 Kenichi Handa <handa@m17n.org>
708
709 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
710 second character is a combining character.
711
2fdc7d00
EZ
7122008-12-05 Eli Zaretskii <eliz@gnu.org>
713
714 * process.c (procfs_system_process_attributes): Don't use cmd,
715 cmdsize, and q without initializing them first.
716
bf6bfba8
JR
7172008-12-04 Jason Rumney <jasonr@gnu.org>
718
719 * w32font.c (w32font_draw): Initialize orig_clip before getting
720 it, and delete it when finished.
721
a3b1a468
DN
7222008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
723
724 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
725 case when running as a daemon before detaching.
726
8b8be8eb
JB
7272008-12-03 Juanma Barranquero <lekktu@gmail.com>
728
805f2638 729 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 730
b1bde622
KH
7312008-12-03 Kenichi Handa <handa@m17n.org>
732
e500c47d
KH
733 * font.c (font_at): Set `multibyte' at first.
734
ca516334
KH
735 * coding.c (decode_coding_charset): Check type of an element of
736 vector VALIDS.
7bf1bb21 737 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 738
4ccfa1c0 739 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
740 (font_for_char): Likewise.
741
1e5ecd37
CY
7422008-12-03 Chong Yidong <cyd@stupidchicken.com>
743
d5b01609 744 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
745 (font_update_lface): Handle fonts with corrupted size specs,
746 i.e. non-int and non-float.
d5b01609 747
11e3a6e4 748 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 749 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 750 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 751
ab06788b
CY
752 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
753
1e5ecd37 754 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 755 underline_minimum_offset for underline position.
1e5ecd37 756
63c125ab
DN
7572008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
758
759 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
760
761 * character.c (c_string_width): Specify the type for LEN.
762
3a8406e1
KH
7632008-12-03 Kenichi Handa <handa@m17n.org>
764
4ccfa1c0 765 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 766 (decode_coding_utf_8): Likewise.
4ccfa1c0 767 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 768 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 769
651df7d9
CY
7702008-12-02 Chong Yidong <cyd@stupidchicken.com>
771
772 * keyboard.c (make_lispy_position): Only use PT if the selected
773 window is current.
774
1f625c6c
AS
7752008-12-02 Andreas Schwab <schwab@suse.de>
776
f7741ce9
AS
777 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
778
1f625c6c
AS
779 * doprnt.c (doprnt1): Fix size of charbuf.
780
92bc2678
CY
7812008-12-02 Chong Yidong <cyd@stupidchicken.com>
782
783 * keyboard.c (timer_check): Revert last change.
784
93b9e8cc
JB
7852008-12-02 Juanma Barranquero <lekktu@gmail.com>
786
787 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
788
fd7a37d5
JB
7892008-12-01 Juanma Barranquero <lekktu@gmail.com>
790
791 * makefile.w32-in: Update dependencies.
792 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
793
c115043b
AS
7942008-12-01 Andreas Schwab <schwab@suse.de>
795
796 * font.c (register_font_driver): Use xmalloc.
797 (font_put_frame_data): Likewise.
798
f5668d2a
CY
7992008-12-01 Chong Yidong <cyd@stupidchicken.com>
800
860d96be
CY
801 * xfaces.c (realize_x_face): Make abort condition clearer.
802
f5668d2a
CY
803 * gtkutil.c (update_frame_tool_bar): Initialize variable.
804
379c17e7
CY
8052008-11-30 Chong Yidong <cyd@stupidchicken.com>
806
807 * keyboard.c (timer_check): After a timer runs, ensure that the
808 selected window's buffer is current.
809
35f36d65
JB
8102008-11-30 Juanma Barranquero <lekktu@gmail.com>
811
f952c61c
JB
812 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
813 It was accidentally restored by the Unicode merge.
814
35f36d65
JB
815 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
816
b23077df
JB
8172008-11-29 Juanma Barranquero <lekktu@gmail.com>
818
819 * w32proc.c: Include "coding.h".
820 (Fw32_short_file_name): Encode filename passed to Windows API.
821 (Fw32_long_file_name): Encode filename passed to Windows API and
822 decode back the result. (Bug#1433)
823
b8ebe9dd
KH
8242008-11-29 Kenichi Handa <handa@m17n.org>
825
8cc53f96
KH
826 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
827 not before accessing it.
828
b8ebe9dd
KH
829 * charset.c (Fdefine_charset_internal): After calculating
830 min_char, max_char, and fastmap, copy the charset structure again.
831 (encode_char): Fix the previous change.
832
59bc82c0
SZ
8332008-11-28 Seiji Zenitani <zenitani@mac.com>
834
835 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
836
837 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
838
839 * nsterm.m (x_set_frame_alpha): New function.
840
32247e3d
EZ
8412008-11-27 Eli Zaretskii <eliz@gnu.org>
842
843 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
844
b003e5ff
JB
8452008-11-27 Juanma Barranquero <lekktu@gmail.com>
846
847 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
848 pointer to check_face_name.
849
708550f5
KH
8502008-11-27 Kenichi Handa <handa@m17n.org>
851
852 * category.h (SET_CATEGORY_SET): Call set_category_set.
853 (set_category_set): Extern it.
854
855 * category.c (hash_get_category_set): New function.
856 (Fmodify_category_entry): Adjusted for the change of
857 char_table_ref_and_range. Call hash_get_category_set to get a
858 category set to store in the table.
859
860 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
861 Funify_charset.
862
2ae37cf0 863 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
864 (DECODE_CHAR): Check if the decoder vector is ready.
865 (ENCODE_CHAR): Check if the encoder char-table is ready.
866 (maybe_unify_char): Extern it.
867
868 * charset.c (Vchar_unified_charset_table): Delete it.
869 (inhibit_load_charset_map): New variable.
870 (temp_charset_work): New variable.
871 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
872 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
873 New macros.
874 (load_charset_map): Meaning of control_flag changed. If
875 inhibit_load_charset_map is nonzero, setup a table in
876 temp_charset_work.
877 (load_charset): New argument control_flag.
878 (map_charset_for_dump): New function.
879 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
880 map_charset_for_dump.
881 (Fdefine_charset_internal): If the charset method is MAP, load
882 mapping tables by calling load_charset.
883 (Funify_charset): Don't load a mapping table but directly set
884 Vchar_unify_table.
885 (maybe_unify_char): New function.
886 (decode_char): Don't handle the deleted method MAP_DEFERRED.
887 Handle the case of inhibit_load_charset_map being nonzero.
888 (encode_char): Don't handle the deleted method MAP_DEFERRED.
889 Handle the case of inhibit_load_charset_map being nonzero.
890 (Fclear_charset_maps): Just free temp_charset_work.
891 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
892 variable.
893
894 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
895 change of char_table_ref_and_range.
896 (char_table_ref_and_range): Change the meaning of argument FROM
897 and TO. Now the caller must provide initial values for *FROM
898 and *TO.
899
900 * fontset.c (fontset_add): Adjusted for the change of
901 char_table_ref_and_range.
902 (fontset_get_font_group): Likewise.
903 (Ffontset_info): Likewise.
904
905 * keymap.c (describe_vector): Adjusted for the change of
906 char_table_ref_and_range. For char-table, put boundary between
907 non-ASCII and 8-bit characters.
908
909 * print.c (print_object): For bool-vector, delete unnecessary
910 check of ASCII_BYTE_P.
911
9196133b
JR
9122008-11-26 Jason Rumney <jasonr@gnu.org>
913
914 * w32font.c (w32font_open_internal): Don't include external
9acef61c 915 leading in font height. (Bug#879)
9196133b 916
9f688acf
GM
9172008-11-26 Glenn Morris <rgm@gnu.org>
918
919 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
920 redefinition with ifdef. (Bug#1383)
921
90d19aff
AR
9222008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
923
924 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
925
4ccfa1c0 9262008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
927
928 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
929 New EmacsView methods.
930 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
931 Fixes bug #1048,1357,1414.
932
9332008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
934
935 Fix bug #1362.
936 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
937 is not an indexed color.
938 * nsterm.m (free_indexed_color): Add argument checking.
939 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
940
e7d5ecb3
CY
9412008-11-24 Chong Yidong <cyd@stupidchicken.com>
942
943 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
944 Document confirm-after-completion value for
945 minibuffer-completion-confirm.
946
c285743c
JR
9472008-11-24 Jason Rumney <jasonr@gnu.org>
948
949 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
950 warning.
951
b0857706
JR
9522008-11-23 Jason Rumney <jasonr@gnu.org>
953
954 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
955 restored before returning.
956
957 * w32font.c (check_face_name): New function.
958 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 959 fonts. (Bug#642)
b0857706 960
ee50ff07
MR
9612008-11-22 Martin Rudalics <rudalics@gmx.at>
962
963 * buffer.c (Fswitch_to_buffer): Reword and mention new option
964 confirm-nonexistent-file-or-buffer in doc-string.
965
b8ff72fa
SM
9662008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
967
968 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
969 Fix copy/paste typo. Add checks.
970
cee53ed4
KH
9712008-11-21 Kenichi Handa <handa@m17n.org>
972
973 * coding.c (detect_coding_iso_2022): Reject invalid composition
974 sequence.
975 (DECODE_COMPOSITION_START): If the current source is the last
976 block, and the current composition doesn't end, regard this
977 sequence as invalid.
978 (decode_coding_iso_2022): Handle invalid composition sequence.
979
f6ef1e65
MR
9802008-11-20 Martin Rudalics <rudalics@gmx.at>
981
982 * window.c (coordinates_in_window): Don't return
983 ON_VERTICAL_BORDER for the rightmost position of a mode/header
984 line when the window is not the rightmost one. (Bug#1372)
985
e08b1705
MR
9862008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
987
988 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
989
ad98e89f
EZ
9902008-11-15 Eli Zaretskii <eliz@gnu.org>
991
992 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
993 and bright_bg if noninteractive is non-zero.
994
fb098a4b
CY
9952008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
996
997 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
998 x_draw_glyph_string_background.
999
1000 * w32term.c (x_draw_glyph_string): Likewise.
1001
ce952b6e
CY
10022008-11-15 Chong Yidong <cyd@stupidchicken.com>
1003
1004 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1005 the next glyph string once past the overhang width.
1006
1007 * nsterm.m (ns_draw_glyph_string): Likewise.
1008
1009 * w32term.c (x_draw_glyph_string): Likewise.
1010
26ea7079
CY
10112008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1012
1013 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1014 double file close.
1015
1c33c906
MR
10162008-11-14 Martin Rudalics <rudalics@gmx.at>
1017
1018 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1019 dedicated status of window before attempting to display another
1020 buffer in it.
1021
8fc29035
JB
10222008-11-14 Juanma Barranquero <lekktu@gmail.com>
1023
1024 * msdos.c (Fmsdos_long_file_names):
1025 (syms_of_msdos) <dos-unsupported-char-glyph>:
1026 * dosfns.c (Fint86): Fix typos in docstrings.
1027
55fb4286
EZ
10282008-11-14 Eli Zaretskii <eliz@gnu.org>
1029
1030 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1031
3fda0315
KY
10322008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1033
1034 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1035
7e849c17
CY
10362008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1037
1038 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1039
1040 * frame.h: Negative alpha means "don't touch".
1041
1042 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1043
1044 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1045
b9fd67bd
DN
10462008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1047
1048 * hftctl.c:
1049 * chpdef.h:
1050 * acldef.h: Remove files used only for systems no longer supported.
1051
1052 * Makefile.in: Fix .o alphabetical ordering.
1053 (hftctl.o): Remove dependency, file removed.
1054 (keymap.o, print.o): Depend on charset.h.
1055
d5998e03
KH
10562008-11-10 Kenichi Handa <handa@m17n.org>
1057
2ae37cf0 1058 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1059
be70e183
CY
10602008-11-08 Chong Yidong <cyd@stupidchicken.com>
1061
1062 * dired.c (file_name_completion): If completion_ignore_case is
1063 enabled, ignore case when checking completion-regexp-list.
1064
7cf94eac
EZ
10652008-11-08 Eli Zaretskii <eliz@gnu.org>
1066
1067 * vm-limit.c (get_lim_data): Fix last change.
1068
ee107a89
KH
10692008-11-08 Kenichi Handa <handa@m17n.org>
1070
1071 * character.c (Fget_byte): New function.
1072 (syms_of_character): Defsubr Fget_byte.
1073
5fd15622
CY
10742008-11-07 Chong Yidong <cyd@stupidchicken.com>
1075
1076 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1077 cursor position is valid after scrolling.
1078
13d62fad
JB
10792008-11-06 Juanma Barranquero <lekktu@gmail.com>
1080
1081 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1082
a1dd2936
GM
10832008-11-06 Glenn Morris <rgm@gnu.org>
1084
1085 * xterm.c (handle_one_xevent): Don't let popup menus cause
1086 mouse-autoselect-window related window switching. (Bug#1261)
1087
860cd236
CY
10882008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1089
1090 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1091
653a3150
AS
10922008-11-04 Andreas Schwab <schwab@suse.de>
1093
1094 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1095
870f5cac
CY
10962008-11-03 Chong Yidong <cyd@stupidchicken.com>
1097
1098 * xfns.c (Fx_wm_set_size_hint): New function.
1099
1e02f3cb
MR
11002008-11-03 Martin Rudalics <rudalics@gmx.at>
1101
1102 * textprop.c (Fprevious_single_char_property_change): Return 0
1103 when there's no change in a string. (Bug#1301)
1104
e630dfc6
MR
11052008-11-02 Martin Rudalics <rudalics@gmx.at>
1106
1107 * frame.c (do_switch_frame): New argument NORECORD passed to
1108 Fselect_window.
1109 (Fselect_frame): New argument NORECORD passed to
1110 do_switch_frame.
1111 (Fset_frame_selected_window): New argument NORECORD passed to
1112 Fselect_frame.
1113 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1114 in call of do_switch_frame.
1115 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1116 Handle NORECORD argument in call of Fselect_frame.
1117 * lisp.h (do_switch_frame, Fselect_frame)
1118 (Fset_frame_selected_window): Adjust declarations.
1119 * window.c (select_frame_norecord): New function.
1120 (run_window_configuration_change_hook): Use it and call
1121 Fselect_frame with NORECORD set.
1122 (Fselect_window): Pass NORECORD to Fselect_frame.
1123 (Fset_window_configuration): Handle NORECORD argument in call of
1124 do_switch_frame.
1125 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1126 Fset_frame_selected_window.
1127 * keyboard.c (command_loop_1): Handle NORECORD in call of
1128 Fselect_frame (currently ifdefd).
1129
9020b223
GM
11302008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1131
1132 * emacs.c (USAGE2): Untabify.
1133
793ffee8
SM
11342008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1135
1136 * composite.c (fill_gstring_header): Fix copy/paste typo.
1137
ab6d1131
MR
11382008-10-31 Martin Rudalics <rudalics@gmx.at>
1139
1140 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1141 (Fother_window): Rename argument and rewrite doc-string.
1142 (select_window_norecord): Fix return value. (Bug#1276)
1143
601a9cf1
JB
11442008-10-30 Juanma Barranquero <lekktu@gmail.com>
1145
1146 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1147 new frames overriding foreground for tooltips. Based on similar patch
1148 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1149
813b0652
CY
11502008-10-29 Chong Yidong <cyd@stupidchicken.com>
1151
1152 * emacs.c (Fdaemon_initialized): Initialize nfd.
1153
4414f58f
MR
11542008-10-29 Martin Rudalics <rudalics@gmx.at>
1155
1156 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1157 (Fwindow_text_height): Clarify doc-strings.
1158 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1159 doc-string of window-scroll-functions.
1160
ecdcaa09
RS
11612008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1162
1163 * category.c (syms_of_category): Fix typo in docstring.
1164
23fe745a
JB
11652008-10-28 Juanma Barranquero <lekktu@gmail.com>
1166
1167 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1168 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1169 Fix typos in docstrings.
1170
ff808935
DN
11712008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1172
1173 * emacs.c (daemon_pipe): Make non-static.
1174 (IS_DAEMON): Move definition ...
1175 * lisp.h (IS_DAEMON): ... here.
1176 (daemon_pipe): Declare.
1177 (is_daemon): Remove.
1178 * dispnew.c (init_display): Use IS_DAEMON.
1179
fc012771
SM
11802008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1181
1182 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1183 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1184
1185 * emacs.c (is_daemon): Remove.
1186 (main): Don't set is_daemon.
1187 (IS_DAEMON): New macro.
1188 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1189 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1190 parent exits.
1191 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1192
d8bdbe6f
CY
11932008-10-27 Chong Yidong <cyd@stupidchicken.com>
1194
d1a072bf
CY
1195 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1196 over-sized glyph, draw it with the default glyph width.
1197
e2e325aa
CY
1198 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1199 glyph, draw it with the default glyph width.
1200
1201 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1202 glyph, draw it with the default glyph width.
1203
d8bdbe6f
CY
1204 * xdisp.c (try_scrolling): When computing the distance from the
1205 scroll margin to PT, try moving some distance past the window
1206 bottom before giving up.
1207
7bfac547
MR
12082008-10-27 Martin Rudalics <rudalics@gmx.at>
1209
1210 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1211 (Fset_window_buffer): Explain in doc-string that a window can be
1212 "strongly" dedicated to its buffer.
1213
4ff029f6
DN
12142008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1215
1216 * emacs.c (daemon_name): New variable.
1217 (main): Deal with --daemon=SERVER_NAME.
1218 (Fdaemonp): Return a name if one was passed to --daemon.
1219
5790ef40
DN
12202008-10-26 Romain Francoise <romain@orebokech.com>
1221
f9bd0df9 1222 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1223 (main): Create a pipe before forking, make the parent exit only after
1224 the child has closed its end of the pipe. Move closing the
1225 descriptors ...
1226 (Fdaemon_initialized): ... here. New function.
1227
f5385255
SM
12282008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1229
4d632321
SM
1230 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1231 the previous unoptimized table.
1232
f5385255
SM
1233 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1234 the distinction between non-nil and non-t value of `dedicated'.
1235
6c56a0f3
CY
12362008-10-25 Chong Yidong <cyd@stupidchicken.com>
1237
1238 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1239 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1240
fec89261
MR
12412008-10-25 Martin Rudalics <rudalics@gmx.at>
1242
1243 * window.c (Fget_buffer_window, Fdelete_windows_on)
1244 (Freplace_buffer_in_windows): Make buffer argument optional and
1245 rename to buffer_or_name.
1246
34fcddd0
CY
12472008-10-24 Chong Yidong <cyd@stupidchicken.com>
1248
f5385255
SM
1249 * xdisp.c (handle_single_display_spec, handle_display_prop):
1250 Undo 2005-05-16 change.
34fcddd0
CY
1251 (handle_stop): Pop iterator if it's loaded with an empty string.
1252 (get_overlay_strings_1): Don't save iterator if it's loaded with
1253 an empty string (bug#1201).
1254
064766f2
KH
12552008-10-24 Kenichi Handa <handa@m17n.org>
1256
1257 * ftfont.c (ftfont_otf_features): Fix previous change.
1258 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1259 calling ftfont_otf_features.
1260
f9bd0df9 12612008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1262
1263 * font.c (font_match_p): Fix for the case that a vector of
1264 characters is in script-representative-chars.
1265
1dae9197
MA
12662008-10-24 Michael Albinus <michael.albinus@gmx.de>
1267
1268 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1269 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1270 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1271 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1272 macro. (Bug#1186).
1273
f9bd0df9 12742008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1275
1276 * s/sol2-10.h: New file.
1277
878a4584
JB
12782008-10-23 Juanma Barranquero <lekktu@gmail.com>
1279
1280 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1281 poor beast has survived 9+ years and the jump from xterm.c!).
1282
cd265ca6
MR
12832008-10-23 Martin Rudalics <rudalics@gmx.at>
1284
1285 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1286 Reword doc-string.
f5385255 1287 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1288
472a4dc9
JB
12892008-10-23 Juanma Barranquero <lekktu@gmail.com>
1290
1291 * character.c (syms_of_character) <script-representative-chars>:
1292 <unicode-category-table>: Doc fixes.
1293
159bd5a2
NF
12942008-10-23 Noah Friedman <friedman@splode.com>
1295
1296 * coding.c (make_conversion_work_buffer): Check that
1297 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1298 Fget_buffer_create.
1299
49f9c344
KH
13002008-10-23 Kenichi Handa <handa@m17n.org>
1301
1302 * font.c (font_add_log): Check the values of extra properties.
1303
12bb3111
MR
13042008-10-22 Martin Rudalics <rudalics@gmx.at>
1305
1306 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1307 Reword doc-string.
1308 (Fset_window_parameter): Use NILP.
1309 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1310 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1311
bbeb4e99
JB
13122008-10-22 Juanma Barranquero <lekktu@gmail.com>
1313
1314 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1315
13162008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1317
1318 * nsfns.m (ns_appkit_version): New function.
1319 (x-server-version): Use it.
1320 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1321 (x-server-vendor): Don't check_ns().
1322
1323 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1324
a9b555d3
JB
13252008-10-22 Juanma Barranquero <lekktu@gmail.com>
1326
1327 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1328 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1329
4626499f
KH
13302008-10-22 Kenichi Handa <handa@m17n.org>
1331
e3681952
KH
1332 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1333 scripts.
1334
4626499f
KH
1335 * category.c (word_boundary_p): Check scripts instead of charset.
1336 Handle nil value in word-separating-categories and
1337 word-combining-categories.
1338 (syms_of_category): Fix docstrings of word-separating-categories
1339 and word-combining-categories.
1340
1560f91a
EZ
13412008-10-21 Eli Zaretskii <eliz@gnu.org>
1342
1343 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1344 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1345
f4668441
MR
13462008-10-21 Martin Rudalics <rudalics@gmx.at>
1347
1348 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1349 Rename arg "buffer" to "buffer_or_name".
1350 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1351 it optional.
1352 (no_switch_window): Remove since the return value is not used.
a9b555d3 1353 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1354 Consider window as dedicated when Fwindow_dedicated_p returns a
1355 non-nil value.
1356 * lisp.h: Remove prototype for no_switch_window.
1357
fd75ddb2
JD
13582008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1359
1360 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1361 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1362
07295713
KH
13632008-10-21 Kenichi Handa <handa@m17n.org>
1364
1365 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1366 check Vlatin_extra_code_table.
1367
712adc82
EZ
13682008-10-20 Eli Zaretskii <eliz@gnu.org>
1369
1370 * fileio.c (Fset_file_modes): Doc fix.
1371
f549eb0b
MA
13722008-10-19 Michael Albinus <michael.albinus@gmx.de>
1373
1374 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1375 in arrays.
1376
aac0c6e3
MR
13772008-10-19 Martin Rudalics <rudalics@gmx.at>
1378
1379 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1380 Mention kill-buffer in doc-string.
1381 (Fset_window_buffer): Reinsert tem check removed in last commit.
1382 (Fenlarge_window, Fshrink_window): Have argument names and
1383 doc-string follow Elisp manual more closely.
1384
13852008-10-18 Eli Zaretskii <eliz@gnu.org>
1386
1387 * fileio.c (Fset_file_modes): Doc fix.
1388
13892008-10-18 Martin Rudalics <rudalics@gmx.at>
1390
1391 * window.c (Fwindow_width, Fset_window_start)
1392 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1393 (Fdelete_windows_on, Freplace_buffer_in_windows):
1394 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1395 (Fwindow_dedicated_p): Make window argument optional.
1396 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1397 (Fset_window_buffer): Respect any non-nil dedicated value for
1398 window. Rename "buffer" argument to "buffer_or_name".
1399
14002008-10-18 Ulrich Mueller <ulm@gentoo.org>
1401
1402 * m/sh3.h: New file, machine description for SuperH.
1403
14042008-10-17 Martin Rudalics <rudalics@gmx.at>
1405
1406 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1407
14082008-10-17 Kenichi Handa <handa@m17n.org>
1409
1410 * ftfont.c (ftfont_otf_features): Fix indexing
1411 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1412
14132008-10-16 Magnus Henoch <mange@freemail.hu>
1414
1415 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1416 (Fdbus_call_method_asynchronously): Ditto.
1417 This change makes C-h f display the argument list.
1418
14192008-10-16 Chong Yidong <cyd@stupidchicken.com>
1420
1421 * fileio.c (Fexpand_file_name): Doc fix.
1422
1423 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1424 of :foreground and :background equivalent to unspecified (20.x
1425 compatibility).
1426
14272008-10-15 Eli Zaretskii <eliz@gnu.org>
1428
1429 * buffer.c (syms_of_buffer): Doc fix.
1430
14312008-10-14 Kenichi Handa <handa@m17n.org>
1432
1433 * font.c (font_clear_prop): When clearing font width, clear the
1434 average width field too.
1435
14362008-10-12 Andreas Schwab <schwab@suse.de>
1437
1438 * ftfont.c (ftfont_shape_by_flt): Make static.
1439 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1440
1441 * font.c: Don't include <m17n-flt.h>.
1442
14432008-10-10 Eli Zaretskii <eliz@gnu.org>
1444
1445 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1446
14472008-10-09 Eli Zaretskii <eliz@gnu.org>
1448
1449 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1450 away code.
1451
14522008-10-09 Chong Yidong <cyd@stupidchicken.com>
1453
1454 * dispnew.c (update_text_area): Avoid looping due to large glyph
1455 overhangs (bug#1070).
1456
14572008-10-09 Kenichi Handa <handa@m17n.org>
1458
1459 * fontset.c (face_for_char): If face->fontset is negative, just
1460 return ascii_face.
1461
f5385255
SM
1462 * font.c (font_delete_unmatched): Fix previous change.
1463 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1464
14652008-10-09 Martin Rudalics <rudalics@gmx.at>
1466
1467 * frame.c (Fraise_frame): On text-only terminals select frame in
1468 order to make it visible. (Bug#1061)
1469
14702008-10-08 Chong Yidong <cyd@stupidchicken.com>
1471
1472 * fontset.c (fontset_find_font): Check frame validity.
1473
14742008-10-07 Chong Yidong <cyd@stupidchicken.com>
1475
a9b555d3 1476 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1477 (xg_display_close): Allow Emacs to close all displays (bug#985).
1478
14792008-10-06 Andreas Schwab <schwab@suse.de>
1480
f5385255 1481 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1482
14832008-10-06 Chong Yidong <cyd@stupidchicken.com>
1484
f5385255 1485 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1486
a9b555d3 1487 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1488
1489 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1490 during initialization.
1491
14922008-10-04 Eli Zaretskii <eliz@gnu.org>
1493
1494 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1495 whole thing on MSDOS frames as well as on a TTY.
1496
1497 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1498 well as for TTY.
1499 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1500 well as on a TTY.
1501
1502 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1503 as well as for TTY.
1504
1505 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1506
1507 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1508 MSDOS frames as well.
1509
15102008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1511
1512 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1513 correct arguments.
1514 * menu.c (find_and_return_menu_selection) Add cast.
1515
15162008-10-03 Glenn Morris <rgm@gnu.org>
1517
1518 * emacs.c (USAGE1): Add --daemon.
1519
15202008-10-02 Eli Zaretskii <eliz@gnu.org>
1521
1522 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1523 100, so it's in percents as advertised.
1524
15252008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1526
1527 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1528 (ns_output.current_cursor, ns_output.desired_cursor)
1529 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1530 (FRAME_NEW_CURSOR_COLOR): Remove.
1531
1532 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1533 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1534 enumeration (HOLLOW_BOX_CURSOR, etc.).
1535
1536 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1537 (draw_window_cursor): Simplify code.
f5385255
SM
1538 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1539 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1540 updates manually.
a9b555d3
JB
1541 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1542 Use core Emacs cursor types.
aac0c6e3 1543
b8ff72fa 1544 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1545
15462008-10-02 Martin Rudalics <rudalics@gmx.at>
1547
1548 * process.c (Faccept_process_output): Fix doc-string.
1549
15502008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1551
1552 * gmalloc.c (__sbrk): Also define for uClibc.
1553
1554 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1555 for uClibc.
1556
15572008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1558
1559 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1560 styles.
1561 (nsfont_open): Reenable the cache.
1562
15632008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1564
1565 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1566 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1567
15682008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1569
1570 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1571 a suspended terminal.
1572
15732008-09-30 Michael Albinus <michael.albinus@gmx.de>
1574
1575 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1576
15772008-09-30 Eli Zaretskii <eliz@gnu.org>
1578
1579 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1580
15812008-09-30 Chong Yidong <cyd@stupidchicken.com>
1582
1583 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1584 in a continued line coincides with a line beginning.
1585
15862008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1587
1588 * nsfont.m (nsfont_trait_distance): Fix bug.
1589 (nsfont_list): Return a list rather than a vector (syncs with Handa
1590 changes of 2008-05-14).
1591 (nsfont_open): Improve logging.
1592
15932008-09-29 Andreas Schwab <schwab@suse.de>
1594
1595 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1596
15972008-09-28 Martin Rudalics <rudalics@gmx.at>
1598
1599 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1600 name as char-resolve-modifiers.
1601 Reported by: Markus Triska <markus.triska@gmx.at>
1602
16032008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1604
1605 * dispnew.c (init_display): Return earlier when running as a daemon.
1606
16072008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1608
1609 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1610
16112008-09-27 Eli Zaretskii <eliz@gnu.org>
1612
1613 * composite.c (Fcomposition_get_gstring)
1614 (Fcompose_region_internal, Fcompose_string_internal)
1615 (Ffind_composition_internal): Doc fix.
1616 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1617 (syms_of_composite) <auto-composition-function>: Doc fix.
1618 (syms_of_composite) <composition-function-table>: Doc fix.
1619
16202008-09-25 Chong Yidong <cyd@stupidchicken.com>
1621
1622 * search.c (wordify): New argument for lax word-ends.
1623 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1624
16252008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1626
1627 * lisp.h (is_daemon): Declare.
1628 * dispnew.c (init_display): Do not try to initialize the terminal
1629 when running as a daemon.
1630
16312008-09-22 Chong Yidong <cyd@stupidchicken.com>
1632
1633 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1634 x_display_pixel_height.
1635
16362008-09-22 Martin Rudalics <rudalics@gmx.at>
1637
1638 * undo.c (record_point): Don't call Fundo_boundary for first
1639 change. (Bug#731)
1640
16412008-09-22 Juanma Barranquero <lekktu@gmail.com>
1642
1643 * emacs.c (Fdaemonp): Doc fix.
1644
16452008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1646
1647 * emacs.c (main): Place #ifdef in the proper place.
1648
16492008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1650
1651 * emacs.c (standard_args): Add --daemon.
1652 (main): Disconnect from the terminal when --daemon is passed.
1653 (is_daemon): New variable.
1654 (Fdaemonp): New function.
1655 (syms_of_emacs): Defsubr it.
1656
16572008-09-20 Chong Yidong <cyd@stupidchicken.com>
1658
1659 * xdisp.c (get_next_display_element): Handle string display
1660 correctly when checking for the end of a box run.
1661
16622008-09-20 Glenn Morris <rgm@gnu.org>
1663
1664 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1665 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1666 (Frename_file): Avoid copying to trash if a rename involves
1667 a delete. (Bug#964).
1668
16692008-09-20 Eli Zaretskii <eliz@gnu.org>
1670
1671 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1672 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1673 frames as well as termcap frames.
1674 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1675 get_named_tty.
1676
16772008-09-19 Eli Zaretskii <eliz@gnu.org>
1678
1679 * process.c (procfs_system_process_attributes): Fix cmdline in
1680 case /proc/PID/cmdline is empty.
1681
1682 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1683 x_display_pixel_height.
1684
16852008-09-19 Juanma Barranquero <lekktu@gmail.com>
1686
1687 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1688
1689 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1690 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1691
16922008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1693
1694 * dispextern.h (struct it): Move line_wrap away from the middle of
1695 bitfields. Move voffset in struct iterator_stack_entry after the
1696 bitfields. Move tab_width near after another short.
1697
16982008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1699
1700 * frame.h (struct frame): Move alpha from the middle of bitfields.
1701
1702 * window.h (struct window): Move frozen_window_start_p after the
1703 rest of the bitfields to reduce padding.
1704
17052008-09-18 Chong Yidong <cyd@stupidchicken.com>
1706
1707 * xterm.h (x_display_info): Remove `height' and `width' members.
1708
1709 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1710
1711 * w32term.h (w32_display_info): Remove `height', `width',
1712 `height_in', and `width_in' members.
1713
b8ff72fa
SM
1714 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1715 New functions.
aac0c6e3
MR
1716 (x_calc_absolute_position): Use them.
1717 (x_term_init): Omit removed `height' and `width' members.
1718
b8ff72fa
SM
1719 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1720 New functions.
aac0c6e3
MR
1721 (w32_read_socket, x_calc_absolute_position): Use them.
1722 (w32_initialize_display_info, w32_term_init): Omit removed members
1723 of w32_display_info.
1724
b8ff72fa
SM
1725 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1726 New functions.
1727 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1728
b8ff72fa
SM
1729 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1730 New functions.
aac0c6e3
MR
1731 (x_calc_absolute_position): Use them.
1732 (x_term_init): Omit removed `height' and `width' members.
1733
1734 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1735 (compute_tip_xy):
1736 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1737 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1738 x_display_pixel_width.
1739
17402008-09-18 Kenichi Handa <handa@m17n.org>
1741
1742 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1743 (composition_compute_stop_pos): Fix handling of static composition.
1744 (Fcomposition_get_gstring): Check FROM and TO at first.
1745
17462008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1747
1748 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1749 mixup (YAILOM).
1750
17512008-09-17 Chong Yidong <cyd@stupidchicken.com>
1752
1753 * indent.c (Fvertical_motion): Use position reported by iterator
1754 instead of PT for determining screen motion (bug#943).
1755
17562008-09-17 Romain Francoise <romain@orebokech.com>
1757
1758 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1759
17602008-09-17 Kenichi Handa <handa@m17n.org>
1761
1762 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1763
1764 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1765 if necessary.
1766
17672008-09-16 Kenichi Handa <handa@m17n.org>
1768
1769 * coding.c (make_conversion_work_buffer): Avoid calling
1770 Fget_buffer_create if it is not necessary.
1771
17722008-09-15 Martin Rudalics <rudalics@gmx.at>
1773
1774 * window.c (Fselect_window): Don't update window_select_count and
1775 use_time when norecord is not nil.
1776
17772008-09-14 Kenichi Handa <handa@m17n.org>
1778
1779 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1780 specpdl_ptr.
1781
17822008-09-12 Kenichi Handa <handa@m17n.org>
1783
1784 * indent.c (scan_for_column): Don't handle automatic composition
1785 if the current buffer is not associated with a window.
1786
1787 * composite.c (composition_reseat_it): If the current buffer is
1788 not associated with a window, ignore the automatic composition.
1789 (find_automatic_composition): Likewise.
1790
17912008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1792
1793 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1794 (Fgpm_mouse_stop): Use it.
1795 * termhooks.h (close_gpm): Declare.
1796 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1797 connection if Gpm_GetEvent fails.
1798
1799 * window.c (set_window_buffer): Always preserve current-buffer.
1800
18012008-09-12 Glenn Morris <rgm@gnu.org>
1802
1803 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1804
18052008-09-11 Glenn Morris <rgm@gnu.org>
1806
1807 * charset.c (charset-map-path): Doc fix.
1808
18092008-09-10 Kenichi Handa <handa@m17n.org>
1810
1811 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1812
1813 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1814 compose a grapheme cluster with the preceding base glyph.
1815
1816 * composite.c (composition_compute_stop_pos): Fix previous change.
1817 Reset cmp_it->id to -1 at first.
1818
18192008-09-10 Glenn Morris <rgm@gnu.org>
1820
1821 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1822
18232008-09-09 Chong Yidong <cyd@stupidchicken.com>
1824
1825 * keyboard.c (read_key_sequence): Reapply translation maps when
1826 switching keyboards.
1827
18282008-09-09 Kenichi Handa <handa@m17n.org>
1829
1830 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1831 characters.
1832
1833 * composite.c (FORWARD_CHAR): Fix calculation
1834 of (POSITION).pos_byte.
1835 (composition_compute_stop_pos): Limit the search of composition to
1836 at most 500 characters ahead. If we reach the limit or find a
1837 newline, set cmp_it->ch to -2 and return 0.
1838 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1839
18402008-09-08 Kenichi Handa <handa@m17n.org>
1841
1842 * indent.c (Fvertical_motion): Be sure to set
1843 it_overshoot_expected if it.cmp_it.id is non-negative.
1844
18452008-09-07 Andreas Schwab <schwab@suse.de>
1846
1847 * callproc.c (Fcall_process): Don't hold references to string data
1848 across garbage collection. Move initialisation of new_argv down
1849 to avoid compiler bug.
1850
18512008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1852
1853 * process.c (Fsystem_process_attributes): Doc fix.
1854
18552008-09-07 Chong Yidong <cyd@stupidchicken.com>
1856
1857 * callproc.c (Fcall_process): Canonicalize current directory name.
1858
1859 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1860 iterator advances to the next line if the current line ends in a
1861 continued tab.
1862
18632008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1864
1865 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1866 member to point to cmp_from.
1867
1868 * xdisp.c: Doc fix for references to gidx data member.
1869
18702008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1871
1872 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1873
18742008-09-07 Kenichi Handa <handa@m17n.org>
1875
1876 * composite.c (FORWARD_CHAR): Check STOP after
1877 incrementing (POSITION).pos.
1878
18792008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1880
1881 * process.c (Fsystem_process_attributes): Doc fix.
1882
18832008-09-06 Chong Yidong <cyd@stupidchicken.com>
1884
1885 * keyboard.c (Ftop_level): Doc fix.
1886
18872008-09-06 Eli Zaretskii <eliz@gnu.org>
1888
1889 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1890 minibuffer, don't let lower part of menu invade the echo area.
1891
1892 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1893 "char *q" to access menu text and advance through it. Revert the
1894 change that displayed ">" instead of ASCII character 0x10.
1895
18962008-09-05 Eli Zaretskii <eliz@gnu.org>
1897
1898 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1899 toggle boxes and radio buttons on MS-DOS as well.
1900
19012008-09-05 Kenichi Handa <handa@m17n.org>
1902
1903 * composite.c (autocmp_chars): Check lookback count.
1904 (composition_compute_stop_pos): Set cmp_it->lookback.
1905 (composition_reseat_it): Check lookback count.
1906 (struct position_record): New struct.
1907 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1908 (find_automatic_composition): New function.
1909 (composition_adjust_point): Use find_automatic_composition.
1910
1911 * dispextern.h (struct composition_it): New member lookback.
1912
19132008-09-02 Chong Yidong <cyd@stupidchicken.com>
1914
1915 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1916 if moving by a single line.
1917
19182008-09-02 Andreas Schwab <schwab@suse.de>
1919
1920 * xterm.c (x_delete_display): Fix merge error.
1921
1922 * fileio.c (Fexpand_file_name): Remove unused variables.
1923
19242008-09-02 Eli Zaretskii <eliz@gnu.org>
1925
1926 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1927 storage on all platforms, not just on DOS_NT.
1928
19292008-09-02 Jason Rumney <jasonr@gnu.org>
1930
b8ff72fa
SM
1931 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1932 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1933
19342008-09-01 Chong Yidong <cyd@stupidchicken.com>
1935
1936 * xfaces.c (Finternal_set_alternative_font_family_alist)
1937 (Finternal_set_alternative_font_registry_alist): Properly copy
1938 entire alist structure.
1939
19402008-09-01 Kenichi Handa <handa@m17n.org>
1941
d66c0241 1942 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1943 representative chars of the script is a vector.
d66c0241
JB
1944 (ftfont_list): Handle the case where the representative chars of
1945 the script is a vector.
aac0c6e3
MR
1946
1947 * character.c (syms_of_character): Docstring of
1948 script-representative-chars fixed.
1949
19502008-08-31 Eli Zaretskii <eliz@gnu.org>
1951
1952 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1953 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1954 the menu. Allocate larger buffer for `text', to account for
1955 possible ^C characters.
1956
19572008-08-31 Martin Rudalics <rudalics@gmx.at>
1958
1959 * xdisp.c (prepare_menu_bars): Don't call
1960 Vwindow_size_change_functions with arg Qt.
1961
19622008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1963
1964 * font.h (font_range):
1965 * fileio.c (report_file_error):
1966 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1967
19682008-08-30 Glenn Morris <rgm@gnu.org>
1969
1970 * data.c (Fmake_variable_frame_local): Doc fix.
1971
1972 * frame.c (Fmodify_frame_parameters): Doc fix.
1973
19742008-08-30 Eli Zaretskii <eliz@gnu.org>
1975
1976 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1977 needed by GetTokenInformation.
1978 (w32_system_process_attributes): Check return values of all system
1979 APIs.
1980
1981 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1982 only when the state changes.
1983 (IT_update_begin, IT_update_end): Add termscript trace.
1984
1985 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1986 clipboard is unavailable. Set dst to NULL if it doesn't point to
1987 malloc'ed data.
1988 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1989 passing random values to xfree.
1990
1991 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1992 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1993
19942008-08-29 Jason Rumney <jasonr@gnu.org>
1995
1996 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1997
19982008-08-29 Eli Zaretskii <eliz@gnu.org>
1999
2000 * composite.c (fill_gstring_body): Avoid compiler warnings.
2001
2002 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2003 LGLYPH_SET_CODE to avoid compiler warnings.
2004
2ae37cf0 2005 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2006
2007 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2008
2009 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2010 LGLYPH_SET_CODE.
2011
20122008-08-29 Kenichi Handa <handa@m17n.org>
2013
2014 * fileio.c (report_file_error): Don't downcase the first character
2015 of errstring if it is still unibyte.
2016
20172008-08-29 Kenichi Handa <handa@m17n.org>
2018
2019 These changes are to re-implement the automatic composition so
2020 that it doesn't use text properties.
2021
2022 * Makefile.in (ftfont.o): Depend on composite.h.
2023 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2024
2025 * character.h (Vunicode_category_table): Extern it.
2026
2027 * character.c (Vunicode_category_table): New variable.
2028 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2029
2030 * chartab.c (optimize_sub_char_table): Perform more greedy
2031 optimization.
2032
b8ff72fa
SM
2033 * composite.h (enum composition_method):
2034 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2035 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2036 (Vcomposition_function_table): Extern it.
2037 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2038 (composition_gstring_put_cache, composition_gstring_from_id)
2039 (composition_gstring_p, composition_gstring_width)
2040 (composition_compute_stop_pos, composition_reseat_it)
2041 (composition_update_it, composition_adjust_point): Extern them.
2042 (Fcomposition_get_gstring): EXFUN it.
2043
d66c0241 2044 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2045 (Vcomposition_function_table)
2046 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2047 (gstring_hash_table, gstring_work, gstring_work_headers):
2048 New variables.
aac0c6e3
MR
2049 (gstring_lookup_cache, composition_gstring_put_cache)
2050 (composition_gstring_from_id, composition_gstring_p)
2051 (composition_gstring_width, fill_gstring_header)
2052 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2053 (composition_reseat_it, composition_update_it)
b8ff72fa 2054 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2055 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2056 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2057 Defsubr compostion_get_gstring.
2058
2059 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2060 cmp_id.
2061 (struct glyph_string): Delete the member gidx. New members
2062 cmp_id, cmp_from, and cmp_to.
2063 (enum it_method): Delete GET_FROM_COMPOSITION.
2064 (struct composition_it): New struct.
2065 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2066 Delete c, len, cmp_id, cmp_len in u.comp.
2067
2068 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2069 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2070 (enum lglyph_indices): Likewise.
b8ff72fa 2071 (font_range): Adjust extern.
aac0c6e3
MR
2072 (font_fill_lglyph_metrics): Extern it.
2073
2074 * font.c (QCf): New variable.
2075 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2076 (font_prepare_composition): Delete this function.
2077 (font_range): Type and arguments changed.
2078 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2079 (font_fill_lglyph_metrics): New function.
b8ff72fa 2080 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2081 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2082 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2083 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2084
2085 * fontset.h (font_for_char): Extern it.
2086
2087 * fontset.c (font_for_char): New function.
2088
2089 * ftfont.c: Include composite.h.
2090 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2091 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2092
2093 * indent.c: Include composite.h and dispextern.h.
2094 (check_composition): Delete this function.
2095 (scan_for_column): Handle composition by
2096 composition_compute_stop_pos, composition_reseat_it, and
2097 composition_update_it.
2098 (compute_motion): Likewise.
2099 (Fvertical_motion): Fix checking of composition.
2100
2101 * keyboard.c (adjust_point_for_property): Check composition by
2102 composition_adjust_point.
2103
b8ff72fa 2104 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2105 struct glyph_string.
2106
b8ff72fa
SM
2107 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2108 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2109 struct glyph.
2110 (produce_composite_glyph): Likewise.
2111
b8ff72fa
SM
2112 * w32term.c (x_draw_composite_glyph_string_foreground):
2113 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2114 (x_draw_glyph_string): Likewise.
2115
2116 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2117 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2118
2119 * xdisp.c: Include font.h.
2120 (it_props): Delete the entry for Qauto_composed.
2121 (init_iterator): Initialize it->cmp_it.id to -1.
2122 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2123 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2124 (handle_auto_composed_prop): Delete it.
2125 (handle_composition_prop): Handle only static composition.
2126 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2127 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2128 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2129 (pop_it): Likewise.
2130 (get_next_element): Delete next_element_from_composition.
2131 (CHAR_COMPOSED_P): New macro.
2132 (get_next_display_element): For automatic composition, get a face
2133 from the font in the glyph-string.
2134 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2135 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2136 (next_element_from_string): Check if the character at the current
2137 position is composed by CHAR_COMPOSED_P.
2138 (next_element_from_buffer): Likewise.
d66c0241
JB
2139 (next_element_from_composition): Adjust for the change of struct it.
2140 Update it->cmp_it.
b8ff72fa
SM
2141 (dump_glyph): Adjust for the change of struct glyph.
2142 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2143 it and struct glyph. Don't handle automatic composition here.
2144 (fill_gstring_glyph_string): New function.
2145 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2146 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2147 (BUILD_GSTRING_GLYPH_STRING): New macro.
2148 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2149 automatic composition.
b8ff72fa 2150 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2151 struct glyph.
b8ff72fa 2152 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2153
b8ff72fa 2154 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2155 the change of struct glyph_string.
2156 (x_draw_glyph_string): Likewise.
2157
21582008-08-29 Glenn Morris <rgm@gnu.org>
2159
2160 * buffer.c (word-wrap): Doc fix.
2161 * xdisp.c (truncate-partial-width-windows): Doc fix.
2162 Increase default to 50.
2163
21642008-08-29 Chong Yidong <cyd@stupidchicken.com>
2165
2166 * xdisp.c (update_tool_bar_unwind): New function.
2167 (update_tool_bar): Temporarily set selected frame before building
2168 tool-bar items.
2169
21702008-08-28 Michael Albinus <michael.albinus@gmx.de>
2171
2172 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2173 snprintf, respectively.
2174 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2175
21762008-08-28 Chong Yidong <cyd@stupidchicken.com>
2177
2178 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2179 LDFLAGS to GNUstep CC invocation.
2180
21812008-08-27 Chong Yidong <cyd@stupidchicken.com>
2182
2183 * indent.c (Fvertical_motion): Revert last change. Handle the
2184 general case where we are moving forward, and PT spans multiple
2185 screen lines.
2186
2187 * eval.c (find_handler_clause): Temporarily increase
2188 max-lisp-eval-depth while printing the backtrace buffer, to
2189 guarantee that help-mode code can run.
2190
21912008-08-27 Eli Zaretskii <eliz@gnu.org>
2192
2193 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2194 colors under -rv.
2195 (IT_set_frame_parameters): Don't swap foreground and background
2196 colors if `(reverse . t)' is present in the frame properties.
2197 (internal_terminal_init): Call init_frame_faces only for the
2198 initial frame.
2199
22002008-08-27 Andreas Schwab <schwab@suse.de>
2201
2202 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2203
22042008-08-27 Andreas Schwab <schwab@suse.de>
2205
2206 * search.c (search_buffer): Set char_base to zero only at the end.
2207
22082008-08-27 Kenichi Handa <handa@m17n.org>
2209
b8ff72fa 2210 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2211
22122008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2213
2214 * xterm.c (x_term_init): Temporarily hide the partially
2215 initialized terminal while calling vendor-specific-keysyms.
2216
22172008-08-26 Eli Zaretskii <eliz@gnu.org>
2218
2219 * msdos.c (internal_terminal_init): Most initializations done only
2220 once, especially initial_screen_colors[] and termscript open.
2221
22222008-08-26 Chong Yidong <cyd@stupidchicken.com>
2223
2224 * eval.c (Fcondition_case): Doc fix.
2225
2226 * widgetprv.h (EmacsFramePart): Change font member to the new font
2227 struct.
2228
2229 * widget.c: Include character.h and font.h for XSETFONT.
2230 (setup_frame_gcs): Compute X font id from font struct, just once.
2231
22322008-08-26 Eli Zaretskii <eliz@gnu.org>
2233
2234 * term.c (get_named_tty): Fix last change.
2235
22362008-08-26 Chong Yidong <cyd@stupidchicken.com>
2237
2238 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2239 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2240
22412008-08-25 Eli Zaretskii <eliz@gnu.org>
2242
2243 * frame.c (do_switch_frame): Mark previously displayed frame as
2244 obscured for FRAME_MSDOS_P frames as well.
2245
22462008-08-24 Eli Zaretskii <eliz@gnu.org>
2247
2248 * frame.c (make_terminal_frame): Initialize f->terminal,
2249 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2250 Set the top frame to newly created frame.
2251 (Fmake_terminal_frame): Reuse the_only_display_info.
2252
2253 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2254 estimating available memory.
2255
b97439ce 22562008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2257
2258 * nsterm.m (ns_draw_window_cursor): Don't call
2259 NSDisableScreenUpdates and NSEnableScreenUpdates on
2260 non-NS_IMPL_COCOA systems.
2261
22622008-08-23 Andreas Schwab <schwab@suse.de>
2263
2264 * process.c (procfs_system_process_attributes): Fix use of
2265 uninitialized variables.
2266
22672008-08-23 Eli Zaretskii <eliz@gnu.org>
2268
2269 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2270
2271 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2272 calling tty-set-up-initial-frame-faces.
2273
b8ff72fa
SM
2274 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2275 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2276
2277 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2278 addition to output_termcap.
2279
2280 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2281
2282 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2283 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2284 highlight.
2285
2286 * process.c [!subprocesses]: Define QCname.
2287 (syms_of_process): Intern and staticpro it.
2288
2289 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2290 Adjust for changes in encoding/decoding routines.
2291 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2292 encode_coding and decode_coding.
2293
b8ff72fa 2294 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2295
2296 * dosfns.c: Include frame.h before termhooks.h.
2297 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2298 variable termscript.
2299
2300 * s/msdos.h (USER_FULL_NAME): Define.
2301 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2302
2303 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2304 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2305 pw->pw_gecos.
2306
2307 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2308 SELECTED_FRAME as additional (1st) argument.
2309 (tty_read_avail_input): Handle output_msdos_raw in
2310 addition to output_termcap.
2311
2312 * msdos.c: Include frame.h before termhooks.h.
2313 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2314 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2315 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2316 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2317 (IT_set_terminal_modes, IT_reset_terminal_modes)
2318 (IT_set_frame_parameters): Use tty->termscript instead of a global
2319 variable termscript.
2320 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2321 global variable terminal_coding. Don't refer to
2322 Vnonascii_translation_table.
2323 (internal_terminal_init): Set Vwindow_system in current_kboard.
2324 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2325 Announce date and time of session start, if termscript is open.
2326 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2327 term.c:init_tty). Open termscript only of not already open.
2328 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2329 here instead of dos_ttraw. Don't initialize display if this is an
2330 initial tty. Don't set FRAME_FONT.
2331 (Vwindow_system_version): Bump to 23.
2332 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2333 is available, set up mouse_position_hook.
2334 (dos_ttraw, IT_set_terminal_modes): If called with initial
2335 terminal, do nothing.
2336 (IT_set_frame_parameters): Handle the Qtty_type frame
2337 parameter by calling internal_terminal_init.
2338 (dos_set_window_size, show_mouse_face)
2339 (clear_mouse_face, IT_note_mode_line_highlight)
2340 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2341 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2342 (initialize_msdos_display): New function.
2343 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2344 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2345 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2346 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2347 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2348 (request_sigio, unrequest_sigio): Don't define, now defined on
2349 sysdep.c.
2350 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2351
2352 * term.c [MSDOS]: Include msdos.h.
2353 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2354 conditional to DOS_NT. Allow only one call to this function in a
2355 session. Don't allocate a new struct tty_display_info; instead,
2356 reuse the_only_display_info. Call get_tty_size to get screen
2357 dimensions. Call init_baud_rate to set bad_rate.
2358 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2359 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2360 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2361 (get_tty_terminal, get_named_tty, Ftty_type)
2362 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2363 output_termcap.
b8ff72fa
SM
2364 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2365 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2366 only when subprocesses are supported.
aac0c6e3
MR
2367
2368 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2369 f->output_data.x.
2370 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2371 terminal devices.
2372
5582fbc7 2373 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2374 x_output.
2375 (FRAME_FONT): Use output_data.tty.
2376 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2377 (struct x_display_info): Rename from display_info. Update all users in
2378 msdos.c.
aac0c6e3 2379 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2380 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2381 (dos_ttraw): Update prototype.
2382
2383 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2384 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2385
23862008-08-23 Jason Rumney <jasonr@gnu.org>
2387
2388 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2389 (fn_TIFFSetDirectory): New library function used.
2390 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2391 (tiff_load): Use :index to select among multiple images. Set count
2392 property when multiple images exist.
2393 (gif_format): Use :index, not :image.
2394
23952008-08-23 Chong Yidong <cyd@stupidchicken.com>
2396
2397 * xdisp.c (try_scrolling): Check INT_MAX instead of
2398 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2399 to obtain INT_MAX.
2400
24012008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2402
2403 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2404
24052008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2406
2407 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2408 GNUstep library location.
2409
24102008-08-21 Chong Yidong <cyd@stupidchicken.com>
2411
2412 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2413 before using it.
2414
2415 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2416
24172008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2418
2419 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2420 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2421 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2422 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2423 (EmacsApp-cursor_blink_handler): Remove declaration.
2424 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2425 match 01 Feb 2008 changes in xterm.c.
2426 (ns_read_socket): Add cast to avoid warning.
2427 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2428 GNUstep.
2429
24302008-08-20 Chong Yidong <cyd@stupidchicken.com>
2431
2432 * xselect.c (x_get_foreign_selection): Return nil if desired
2433 selection could not be obtained, instead of signalling an error.
2434
24352008-08-20 David Reitter <david.reitter@gmail.com>
2436
2437 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2438 * nsterm.m: Remove ns-specific code for cursor blinking.
2439 (ns_draw_window_cursor): Clear cursor properly rather than
2440 redrawing the area. Respect width of bar cursors.
2441 These changes enable the use of generic blink-cursor-mode and
2442 generic cursor types in NS and support smooth cursor movements (do
2443 not blink off after command).
2444 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2445 Nextstep, too.
2446
24472008-08-19 Kenichi Handa <handa@m17n.org>
2448
2449 * font.c (Vfont_log_deferred): New variable.
2450 (font_add_log): Check Vfont_log_deferred.
2451 (font_deferred_log): New function.
2452
2453 * font.h (font_deferred_log): Extern it.
2454
2455 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2456 for sorting.
2457 (face_for_char): Use deferred log.
2458
24592008-08-18 Kenichi Handa <handa@m17n.org>
2460
2461 * fontset.c (face_for_char): Add font log.
2462
2463 * font.c (font_add_log): Add the font properties :script, :lang,
2464 and :otf in the log.
2465
24662008-08-17 Chong Yidong <cyd@stupidchicken.com>
2467
2468 * xdisp.c: Remove dead code.
2469 (handle_invisible_prop, next_overlay_string): Defer call to
2470 setup_for_ellipsis.
2471 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2472
24732008-08-15 Chong Yidong <cyd@stupidchicken.com>
2474
2475 * xfaces.c (lookup_derived_face): Properly handle possible zero
2476 return value of get_lface_attributes.
2477 (merge_faces): Don't tell lookup_derived_face to signal an error
2478 if face is not found.
2479
2480 * dired.c (Fdirectory_files): Doc fix.
2481
2482 * process.c (make_process): Initialize kill_without_query struct
2483 member.
2484
24852008-08-15 Eli Zaretskii <eliz@gnu.org>
2486
2487 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2488 Alternative calculation of totphys for Visual Studio 6.
2489
2490 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2491
2492 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2493 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2494 All users changed.
2495 (stat): Only root directory passed to GetDriveType. Allow RAM
2496 disk as well as local fixed disk when w32-get-true-file-attributes
2497 is set to `local'.
2498 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2499 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2500 (w32_cached_id, w32_add_to_cache): New functions.
2501 (get_name_and_id): Look account names in the cache before calling
2502 lookup_account_sid.
2503 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2504 New initialization flags.
2505 (globals_of_w32): Initialize them to zero.
2506 (w32_system_process_attributes): Use w32_cached_id and
2507 w32_add_to_cache.
2508
25092008-08-14 Lawrence Mitchell <wence@gmx.li>
2510
2511 * lread.c (Fread_char, Fread_char_exclusive): If no character
2512 event is read before timeout is reached, return nil, rather than
2513 converting to a number.
2514
25152008-08-14 Chong Yidong <cyd@stupidchicken.com>
2516
2517 * fns.c (use_dialog_box): Doc fix.
2518
2519 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2520 on OS X.
2521
25222008-08-13 Chong Yidong <cyd@stupidchicken.com>
2523
2524 * frame.c (Qns_parse_geometry): New var.
2525 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2526
25272008-08-11 Chong Yidong <cyd@stupidchicken.com>
2528
2529 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2530 space character in calculating tabs.
2531
25322008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2533
2534 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2535
25362008-08-10 Glenn Morris <rgm@gnu.org>
2537
2538 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2539 silence gcc "limited range of data type" warnings in some
2540 make_fixnum_or_float calls.
2541
25422008-08-09 Eli Zaretskii <eliz@gnu.org>
2543
2544 * w32.c (w32_system_process_attributes): If the process does not
2545 exist, return nil.
2546
2547 * w32.c: Include thelp32.h, psapi.h and coding.h.
2548 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2549 declarations.
2550 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2551 (Process32Next_Proc): New typedefs.
2552 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2553 (g_b_init_process32_next, g_b_init_open_thread_token)
2554 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2555 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2556 (g_b_init_get_process_working_set_size)
2557 (g_b_init_global_memory_status_ex): New static variables.
2558 (globals_of_w32): Initialize them.
2559 (create_toolhelp32_snapshot, process32_first, process32_next)
2560 (open_thread_token, impersonate_self, revert_to_self)
2561 (get_process_memory_info, get_process_working_set_size)
2562 (global_memory_status, global_memory_status_ex): New wrapper
2563 functions.
2564 (w32_list_system_processes, w32_system_process_attributes)
2565 (enable_privilege, restore_privilege, ltime, process_times):
2566 New functions.
2567 (convert_time_raw): New function.
2568 (convert_time): Remove conversion of FILETIME into time in 100
2569 nsec units, call convert_time_raw instead.
2570
2571 * process.h (w32_list_system_processes, w32_system_process_attributes):
2572 Add prototypes.
2573 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2574 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2575 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2576 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2577
2578 * process.c (Fsystem_process_attributes): Doc fix.
2579
25802008-08-08 Chong Yidong <cyd@stupidchicken.com>
2581
2582 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2583 a continued multi-char glyph; if so, advance to the actual glyph.
2584
25852008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2586
2587 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2588
2589 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2590 (.m.o): Use it.
2591 * config.in: Regenerate.
2592
25932008-08-07 Chong Yidong <cyd@stupidchicken.com>
2594
2595 * xdisp.c (redisplay_window): Revert last change.
2596 (try_window): Check bottom scroll margin too.
2597
25982008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2599
2600 * config.in: Regenerate.
2601
2602 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2603 -list-load-path-shadows'.
2604 (nsgui.h): Reduce number of things depending on it.
2605
26062008-08-06 Chong Yidong <cyd@stupidchicken.com>
2607
2608 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2609 instead of window-end which does the wrong thing at eob.
2610 (try_cursor_movement): Minor optimization.
2611 (redisplay_window): If scroll margin is defined, don't assume
2612 window doesn't need scrolling.
2613
26142008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2615
2616 * config.in: Regenerate.
2617
2618 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2619 (mostlyclean): Don't delete *.d under NS.
2620
2621 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2622
26232008-08-06 Kenichi Handa <handa@m17n.org>
2624
2625 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2626
26272008-08-06 Andreas Schwab <schwab@suse.de>
2628
2629 * config.in: Regenerate.
2630
26312008-08-05 Chong Yidong <cyd@stupidchicken.com>
2632
2633 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2634 forcing a window start.
2635
2636 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2637 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2638
26392008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2640
2641 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2642 argument.
2643
26442008-08-05 Juanma Barranquero <lekktu@gmail.com>
2645
2646 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2647 <scroll-down-aggressively, before-change-functions>:
2648 <after-change-functions>: Reflow docstrings.
2649
26502008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2651 Ken Raeburn <raeburn@gnu.org>
2652
2653 Dock menu customization, based on a patch by Ken Raeburn, plus some
2654 other fixes.
2655 * nsmenu.m (dockMenu): New variable.
2656 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2657
2658 * nsterm.h (dockMenu): Declare.
2659
2660 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2661 (ns_term_init): Initialize dockMenu.
2662 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2663 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2664 left.
2665
2666 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2667
26682008-08-04 Chong Yidong <cyd@stupidchicken.com>
2669
2670 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2671
2672 * config.in: Regenerate.
2673
26742008-08-04 Seiji Zenitani <zenitani@mac.com>
2675
2676 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2677
26782008-08-04 Chong Yidong <cyd@stupidchicken.com>
2679
2680 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2681
26822008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2683
2684 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2685
2686 * keyboard.h: Comment an #endif.
2687
2688 * lisp.h (have_menus_p): Adjust comment.
2689
2690 * menu.c (find_and_return_menu_selection): Fix comparison with
2691 client_data.
2692
2693 * nsmenu.m (popup_activated_flag): New variable.
2694 (popup_activated): New function.
2695 (menu-or-popup-active-p): New exported lisp definition.
2696 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2697 when popup done.
2698 (ns_popup_dialog): Set popup_activated_flag.
2699
2700 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2701 version for GNUstep (handled by conditional typedef in nsterm.m).
2702 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2703 in rgb.txt).
2704
2705 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2706
2707 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2708
2709 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2710
2711 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2712 shortcircuit if popup_activated like GTK and X toolkit.
2713
2714 * m/inter386.h: Change DARWIN to DARWIN_OS.
2715
2716 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2717 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2718 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2719 comment on NO_SOCK_SIGIO.
2720
27212008-08-03 Chong Yidong <cyd@stupidchicken.com>
2722
2723 * nsterm.m (windowDidResize): Remove stopModal call.
2724
27252008-08-03 Andreas Schwab <schwab@suse.de>
2726
2727 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2728 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2729
27302008-08-02 Chong Yidong <cyd@stupidchicken.com>
2731
2732 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2733 Don't use uninitialized pointer variable when using getrlimit.
2734
27352008-08-02 Jason Rumney <jasonr@gnu.org>
2736
2737 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2738
27392008-08-02 Eli Zaretskii <eliz@gnu.org>
2740
2741 * alloc.c (NSTATICS): Bump to 0x640.
2742
2743 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2744
2745 * lisp.h: Add prototype for directory_files_internal.
2746
2747 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2748 New functions.
2749 (syms_of_process): Defsubr them. Add initializations for various
2750 Q* symbols used in procfs_system_process_attributes.
2751 (procfs_list_system_processes, procfs_system_process_attributes)
2752 [HAVE_PROCFS]: New functions.
2753 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2754 (procfs_get_total_memory): New functions.
2755
27562008-08-01 Juanma Barranquero <lekktu@gmail.com>
2757
2758 * xfaces.c (Fx_load_color_file): Fix previous change;
2759 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2760
27612008-08-01 Michael Albinus <michael.albinus@gmx.de>
2762
2763 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2764
27652008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2766
2767 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2768
27692008-08-01 Chong Yidong <cyd@stupidchicken.com>
2770
2771 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2772
2773 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2774 define NSApplicationDelegateReplySuccess.
2775 (EmacsView -converstationIdentifier): Use long instead of
2776 NSInteger for GNUstep, since it doesn't have NSInteger.
2777
2778 * xmenu.c: Revert last change.
2779
2780 * keyboard.h: Fix last change.
2781
27822008-08-01 Juanma Barranquero <lekktu@gmail.com>
2783
2784 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2785 on Windows.
2786
27872008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2788
2789 Warning clearing and clean-up in NS port.
2790 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2791 Add prototypes.
2792 * nsgui.h (FACE_DEFAULT): Remove, unused.
2793 (XGCValues): Change colors to unsigned long.
2794 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2795 nsterm.m.
2796 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2797 (ns_list_fonts): Remove, unused.
2798 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2799 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2800 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2801 (nsfont_draw): Compare face colors to 0, not nil.
2802 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2803 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2804 (-addSubmenuWithTitle:): Use NSMenuItem class.
2805 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2806 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2807 (ns_clip_to_row): Make gc arg a BOOL.
2808 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2809 ns_clip_to_row() call.
2810 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2811 used). Cast FRAME_FONT assignments.
2812 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2813 (ns_string_to_lispmod): Change arg to const char.
2814 (ns_term_init): Use NSMenuItem class.
2815 (EmacsApp -openFile:): Move to different section of file.
2816 (EmacsApp -application:openFiles:): Don't return a value, call
2817 -replyToOpenOrPrint:.
2818 (EmacsView -keyDown:): Fix up cast.
2819 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2820 (EmacsView -menuDown:): Cast tag in call to
2821 find_and_call_menu_selection().
2822 (ns_list_fonts): Remove, unused.
2823 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2824 (ns_fontname_to_xlfd): Make static.
2825 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2826 Remove prototypes (now in keyboard.h).
2827 (next_menubar_widget_id): Remove, unused.
2828 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2829 Remove prototypes (now in keyboard.h).
2830 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2831
28322008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2833
2834 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2835 (floatfns.o): Depend on syssignal.h.
2836 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2837
2838 * systty.h: Fix previous change that removed BSD_TERMIOS.
2839 Add comments to #ifdefs.
2840
28412008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2842
2843 * w32fns.c (w32-load-color-file): Remove.
2844 (x-open-connection): Use renamed Fx_load_color_file.
2845 * xfaces.c (x-load-color-file): Add.
2846 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2847 Emacs.clr.
2848 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2849
28502008-07-31 Michael Albinus <michael.albinus@gmx.de>
2851
2852 * dbusbind.c (Fdbus_call_method_asynchronously)
2853 (Fdbus_method_error_internal): New defuns.
2854 (xd_read_message): Handle also reply messages.
2855 (Vdbus_registered_functions_table): Extend docstring.
2856
28572008-07-31 Juanma Barranquero <lekktu@gmail.com>
2858
2859 * keyboard.c (gobble_input): Fix previous change.
2860
28612008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2862
2863 * bitmaps/README:
2864 * xfns.c:
2865 * termcap.c:
2866 * term.c:
2867 * syswait.h:
2868 * systty.h:
2869 * systime.h:
2870 * syssignal.h:
2871 * sysdep.c:
2872 * process.h:
2873 * process.c:
2874 * print.c:
2875 * ndir.h:
2876 * lread.c:
2877 * keyboard.c:
2878 * getpagesize.h:
2879 * floatfns.c:
2880 * fileio.c:
2881 * emacs.c:
2882 * doc.c:
2883 * dispnew.c:
2884 * dired.c:
2885 * data.c:
2886 * callproc.c:
2887 * buffer.c:
2888 * README:
2889 * Makefile.in:
2890 * s/template.h:
2891 * s/msdos.h:
2892 * m/vax.h: Remove VMS support.
2893 * s/vms.h:
2894 * vlimit.h:
2895 * uaf.h:
2896 * temacs.opt:
2897 * param.h:
2898 * ioctl.h: Remove file.
2899
29002008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2901
2902 * s/ms-w32.h (MULTI_KBOARD): Remove.
2903 * xterm.c:
2904 * xselect.c:
2905 * xfns.c:
2906 * window.c:
2907 * w32term.c:
2908 * w32fns.c:
2909 * terminal.c:
2910 * termhooks.h:
2911 * term.c:
2912 * sysdep.c:
2913 * keyboard.h:
2914 * keyboard.c:
2915 * frame.h:
2916 * frame.c:
2917 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2918 * config.in: Regenerate.
2919
29202008-07-30 Jason Rumney <jasonr@gnu.org>
2921
2922 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2923
2924 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2925 (w32font_open_internal): Get unicode version of textmetrics.
2926 Don't enable or disable glyph indices here.
2927 (w32font_open): Disable use of glyph indices.
2928
2929 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2930
29312008-07-30 Chong Yidong <cyd@stupidchicken.com>
2932
2933 * minibuf.c (Vread_buffer_function): Doc fix.
2934
29352008-07-30 John Paul Wallington <jpw@pobox.com>
2936
2937 * minibuf.c (read_buffer_completion_ignore_case): New var.
2938 (Fread_buffer): Use it.
2939
29402008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2941
2942 * systty.h (sensemode): Remove empty #if. Remove reference to
2943 BSD_TERMIOS, unused.
2944
2945 * sysdep.c: Remove reference to DGUX.
2946 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2947
2948 * config.in: Regenerate.
2949
29502008-07-30 Jason Rumney <jasonr@gnu.org>
2951
2952 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2953
29542008-07-29 Jason Rumney <jasonr@gnu.org>
2955
2956 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2957 is populated.
2958 (uniscribe_encode_char): Always use uniscribe.
2959 Avoid using context if cache is populated.
2960
29612008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2962
2963 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2964 open menu.
2965
2966 * gtkutil.c (menu_nav_ended): Remove.
2967 (create_menus): Remove signal connect for menu_nav_ended.
2968
29692008-07-28 Chong Yidong <cyd@stupidchicken.com>
2970
2971 * xdisp.c (redisplay_window): Check return value of
2972 compute_window_start_on_continuation_line before forcing a window
2973 start.
2974
29752008-07-28 Jason Rumney <jasonr@gnu.org>
2976
2977 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2978
2979 * w32term.c (w32_enable_unicode_output, cleartype_active):
2980 Remove obsolete display options.
2981 (x_draw_glyph_string_background): Don't use old cleartype_active
2982 workaround.
2983 (w32_initialize): Remove cleartype_active initialization.
2984 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2985
29862008-07-28 Andreas Schwab <schwab@suse.de>
2987
2988 * lisp.h (init_weak_hash_tables, syms_of_font)
2989 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2990 (remove_hash_entry): Don't declare.
2991 * eval.c (maybe_call_debugger): Make static and move before use.
2992 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2993 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2994 * xterm.h (x_set_frame_alpha): Declare.
2995
29962008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2997
2998 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2999 (create_menus): Connect selection-done to menu_nav_ended.
3000
30012008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3002
3003 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3004 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3005 parameter with read of 'alpha' one.
3006 (Qns_frame_parameter): Remove.
5582fbc7 3007 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3008 (next-selection-coding-system, Vselection_coding_system)
3009 (Vnext_selection_coding_system): Drop.
3010
30112008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3012
3013 * nsfns.m (do-applescript, do_applescript): Rename to
3014 ns-do-applescript, ns_do_applescript, and move within file.
3015
30162008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3017
3018 Remove support for Mac Carbon.
3019 * mactoolbox.c:
3020 * macterm.h:
3021 * macterm.c:
3022 * macselect.c:
3023 * macmenu.c:
3024 * macgui.h:
3025 * macfns.c:
3026 * mac.c: Remove file.
3027 * s/darwin.h:
3028 * m/intel386.h:
3029 * xfaces.c:
3030 * xdisp.c:
3031 * window.c:
3032 * tparam.c:
3033 * termhooks.h:
3034 * termcap.c:
3035 * term.c:
3036 * syssignal.h:
3037 * sysselect.h:
3038 * sysdep.c:
3039 * process.c:
3040 * lread.c:
3041 * lisp.h:
3042 * keyboard.c:
3043 * image.c:
3044 * fringe.c:
3045 * frame.h:
3046 * frame.c:
3047 * fontset.c:
3048 * font.h:
3049 * font.c:
3050 * fns.c:
3051 * fileio.c:
3052 * emacs.c:
3053 * dispnew.c:
3054 * dispextern.h:
3055 * config.in:
3056 * atimer.c:
2ae37cf0 3057 * Makefile.in: Remove code for Carbon.
aac0c6e3 3058
f0131492 30592008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3060
3061 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3062
30632008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3064
3065 * macterm.h (kCGBitmapByteOrder32Host): New define for
3066 non-universal SDKs.
3067
3068 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3069 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3070
3071 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3072 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3073
30742008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3075
3076 * w32inevt.c: Include dispextern.h.
3077
30782008-07-26 Andreas Schwab <schwab@suse.de>
3079
3080 * print.c (print_object): Fix off-by-one in last change.
3081
30822008-07-25 Juanma Barranquero <lekktu@gmail.com>
3083
3084 * term.c (syms_of_term): Don't initialize default_orig_pair,
3085 default_set_foreground and default_set_background on Windows.
3086
30872008-07-25 Jason Rumney <jasonr@gnu.org>
3088
3089 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3090 ScriptItemize. Clean up return value checking. Remove unused
3091 variables.
3092 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3093 shaping engine.
3094
3095 * w32font.c (w32font_has_char): Handle the case where we can't
3096 determine the script for a character.
3097
30982008-07-25 Chong Yidong <cyd@stupidchicken.com>
3099
3100 * term.c (syms_of_term): Initialize default_orig_pair,
3101 default_set_foreground, and default_set_background.
3102
3103 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3104 clash (bug#86).
3105 (getloadavg): Callers changed.
3106
3107 * image.c (svg_load_image): Fix last change.
3108 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3109 image size is valid. Use g_object_unref instead of deprecated
3110 rsvg_handle_free to free rsvg handle.
3111 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3112
31132008-07-25 Jason Rumney <jasonr@gnu.org>
3114
3115 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3116 surrogates before looking up glyph index.
3117 (w32font_text_extents): Encode as surrogates if falling back to
3118 functions that need UTF-16 wide chars.
3119
3120 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3121 BMP as surrogates before looking up glyph index.
3122
31232008-07-25 Chong Yidong <cyd@stupidchicken.com>
3124
3125 * image.c (svg_load_image): Check for failure in return value of
3126 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3127
31282008-07-25 Jason Rumney <jasonr@gnu.org>
3129
3130 * w32font.c (Fx_select_font): Reverse sense of second arg.
3131
31322008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3133
3134 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3135 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3136
3137 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3138 (PURESIZE): Use it.
3139
31402008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3141
3142 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3143 * m/alpha.h (TEXT_END):
3144 * m/ibmrs6000.h (TEXT_END):
3145 * m/macppc.h (TEXT_END):
3146 * s/darwin.h (TEXT_END):
3147 * s/msdos.h (TEXT_END): Remove, unused.
3148 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3149 * s/cygwin.h: Remove comment.
3150
3151 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3152 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3153 * m/intel386.h (DOT_GLOBAL_START):
3154 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3155 (USG): Remove, file not used on USG platforms.
3156
3157 * Makefile.in (HAVE_X11): Remove empty #else.
3158
31592008-07-24 Andreas Schwab <schwab@suse.de>
3160
3161 * fileio.c (Finsert_file_contents): Properly adjust undo list
3162 after format conversion.
3163
31642008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3165
3166 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3167 (menu_nav_ended): Remove.
3168 (create_menus): Remove signal connect for menu_nav_ended.
3169 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3170 create_menus.
3171 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3172
31732008-07-23 Jason Rumney <jasonr@gnu.org>
3174
3175 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3176 with opened font.
3177 (w32font_open): Set font type to gdi.
3178
3179 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3180
31812008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3182
3183 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3184 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3185 defines it.
3186 * unexec.c (ADDR_CORRECT): Define unconditionally.
3187
3188 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3189
3190 * unexec.c: Remove code depending on !COFF and USG, the file is
3191 not used for such systems.
3192
3193 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3194 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3195 (LD_SWITCH_SYSTEM_1): Remove, update users.
3196
3197 * s/darwin.h (DATA_END):
3198 * m/intel386.h (DATA_END):
3199 * m/ibmrs6000.h (DATA_END):
3200 * m/alpha.h (DATA_END): Remove, unused.
3201
3202 * config.in: Regenerate.
3203 * s/ms-w32.h (subprocesses): Define unconditionally.
3204 * s/template.h (subprocesses): Update comment.
3205 * s/vms.h (subprocesses):
3206 * s/usg5-4.h (subprocesses):
3207 * s/hpux10-20.h (subprocesses):
3208 * s/gnu-linux.h (subprocesses):
3209 * s/cygwin.h (subprocesses):
3210 * s/bsd-common.h (subprocesses):
3211 * s/aix4-2.h (subprocesses):
3212 * s/darwin.h (subprocesses): Do not define, defined by default now.
3213
3214 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3215 Remove all references.
3216 (temacs): Add GNUstep specific ld flags.
3217
3218 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3219 similarly to what X does.
3220
32212008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3222
3223 * nsfns.m (x-list-fonts): Remove.
3224 (syms_of_nsfns): Drop the x-list-fonts declaration.
3225 * nsterm.m: Get rid of remaining "//" comments.
3226
32272008-07-22 Chong Yidong <cyd@stupidchicken.com>
3228
3229 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3230
3231 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3232 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3233 (Fns_own_selection_internal, Fx_disown_selection_internal)
3234 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3235
3236 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3237 ... */' style of docstrings. Doc fixes.
3238
32392008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3240
3241 * terminfo.c (UP, BC, PC): Undo previous change.
3242
3243 * nsfns.m: Rename ns prefixed functions/variables to the
3244 corresponding x versions. Update references.
3245
32462008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3247
3248 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3249
32502008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3251
3252 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3253 Remove forwarding functions.
3254 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3255 non-static.
3256 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3257 non-static.
3258 (ns_frame_parm_handlers): Use the new names.
3259 (syms_of_nsfns): Move to the end of file.
3260
3261 * nsterm.m (syms_of_nsterm): Move to the end of file.
3262
3263 * dispnew.c (init_display): Remove code for X10.
3264
32652008-07-22 Jason Rumney <jasonr@gnu.org>
3266
3267 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3268 bare drive.
3269
32702008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3271
3272 * nsterm.m (syms_of_nsterm): Remove debugging println.
3273
32742008-07-22 David Reitter <david.reitter@gmail.com>
3275
3276 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3277 Carbon implementation of the same functionality: execute arbitrary
3278 AppleScript code.
3279
32802008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3281
3282 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3283 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3284 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3285 (Fx_display_mm_height, Fx_display_mm_width)
3286 (Fx_display_backing_store, Fx_display_visual_class)
3287 (Fx_display_save_under, Fx_open_connection)
3288 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3289 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3290 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3291 (Fx_display_pixel_width, Fx_display_pixel_height)
3292 (Fx_display_usable_bounds, Fx_display_planes)
3293 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3294 ... */' style of docstrings.
3295
32962008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3297
3298 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3299 on this platform.
3300 (mips):
3301 * m/iris4d.h (mips): Do not define.
3302 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3303
3304 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3305
3306 * image.c:
3307 * nsfns.m:
3308 * nsselect.m:
3309 * nsterm.h:
3310 * nsterm.m: Rename ns prefixed functions/variables to the
3311 corresponding x versions. Update references.
3312
3313 * m/ibms390x.h (NO_REMAP): Do not undefine.
3314
3315 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3316
33172008-07-21 Chong Yidong <cyd@stupidchicken.com>
3318
3319 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3320 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3321 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3322 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3323 (Fns_display_mm_height, Fns_display_mm_width)
3324 (Fns_display_backing_store, Fns_display_visual_class)
3325 (Fns_display_save_under, Fns_open_connection)
3326 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3327 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3328 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3329 (Fns_display_pixel_width, Fns_display_pixel_height)
3330 (Fns_display_usable_bounds, Fx_display_planes)
3331 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3332
33332008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3334
3335 * print.c (print_object): Check print_depth before searching for
3336 circularities.
3337
33382008-07-21 Michael Albinus <michael.albinus@gmx.de>
3339
3340 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3341 only sprintf.
3342
33432008-07-21 Kenichi Handa <handa@m17n.org>
3344
3345 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3346
33472008-07-20 Andreas Schwab <schwab@suse.de>
3348
3349 * syntax.c (find_start_pos, find_start_value)
3350 (find_start_value_byte, find_start_begv, find_defun_start)
3351 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3352
33532008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3354
3355 * s/sol2-3.h: Insert contents of s/sol2.h.
3356 (LD_SWITCH_SYSTEM): Remove redundant definition.
3357 * s/sol2.h: Remove, unused.
3358
33592008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3360
3361 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3362
33632008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3364
3365 * Makefile.in (ns_appdir): Fix typo in find command.
3366
33672008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3368
3369 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3370
3371 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3372 added not supported anymore.
3373
3374 * s/usg5-4-2.h (LIBS_SYSTEM):
3375 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3376
3377 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3378 * s/lynxos.h (GETPGRP_NO_ARG):
3379 * s/hpux10-20.h (NO_SIOCTL_H):
3380 * s/gnu.h (GETPGRP_NO_ARG):
3381 * s/gnu-linux.h (NO_SIOCTL_H):
3382 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3383 * s/cygwin.h (GETPGRP_NO_ARG):
3384 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3385 (C_DEBUG_SWITCH): Remove duplicate definition.
3386
3387 * m/ibms390.h: Remove boilerplate comments.
3388
3389 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3390
3391 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3392 (wait_reading_process_output): Remove code for SunOS, platform not
3393 supported anymore. Use SOLARIS2 instead of sun.
3394
33952008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3396
3397 * font.c (font_open_by_name): Under NS, default lface height to zero.
3398 (font_open_for_lface): Under NS, set size based on frame fontsize.
3399 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3400 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3401
34022008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3403
3404 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3405 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3406 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3407 YES/NO.
3408 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3409 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3410 * Makefile.in (clean): Clear out build destination dir.
3411
34122008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3413
3414 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3415 xterm, xselect.
3416 * lisp.h: Remove declaration of hash_remove.
3417 * nsgui.h: Remove redefinitions of hash_remove.
3418 * fns.c (hash_remove): Rename to hash_remove_from_table.
3419
34202008-07-19 Seiji Zenitani <zenitani@mac.com>
3421
3422 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3423 strdup() the family UTF8String before modifying it.
3424
34252008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3426
3427 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3428 NS_FACE_BACKGROUND with 0 instead of nil.
3429 * nsfont.m (nsfont_draw): Same.
3430
34312008-07-19 Chong Yidong <cyd@stupidchicken.com>
3432
3433 * nsfns.m (ns_set_background_color): Fix crash.
3434
34352008-07-18 Chong Yidong <cyd@stupidchicken.com>
3436
3437 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3438
34392008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3440
3441 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3442
34432008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3444
3445 * gtkutil.c: Include <config.h> instead of "config.h".
3446
3447 * lisp.h (Foverlay_buffer): Add EXFUN.
3448
3449 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3450 child process to complete child_setup. Undo 2005-09-21 change.
3451
3452 * s/darwin.h: Mention setsid after vfork.
3453
34542008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3455
3456 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3457 Depend on macgui.h.
3458
3459 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3460 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3461
3462 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3463 and f19.
3464 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3465
3466 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3467 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3468 Remove enumerators.
3469
3470 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3471 Check if FACE_FROM_ID returns NULL.
3472
34732008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3474
3475 * w32inevt.c (change_frame_size): Remove extern declaration.
3476 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3477 change_frame_size.
3478
34792008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3480
3481 * getloadavg.c: Revert last change (2008-07-15).
3482
34832008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3484
3485 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3486 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3487 from configure.
3488
34892008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3490
3491 * s/sol2.h:
3492 * s/sol2-4.h: Reorganize conditionals.
3493
3494 * ecrt0.c: Remove code depending on m68000, not used anymore.
3495
3496 * fns.c (hash_remove): Make static.
3497 * lisp.h (hash_remove): Don't prototype.
3498
3499 * m/ibmrs6000.h:
3500 * m/ibms390x.h:
3501 * m/macppc.h: Remove boilerplate comments.
3502
3503 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3504 Solaris, which does not need them.
3505
3506 * m/vax.h: Remove comments about unsupported systems.
3507
3508 * s/darwin.h: Reorganize ifdefs.
3509
35102008-07-17 Andreas Schwab <schwab@suse.de>
3511
3512 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3513
35142008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3515
3516 Use SDATA. Follow coding convention of placing operators at
3517 beginning of next line rather than end of previous line, and placing
3518 spaces around infix operators.
3519
3520 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3521 in case it was defined already.
3522 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3523 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3524 ns_default.
3525 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3526 Lisp_Objects.
3527 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3528 (ns_defined_color, ns_color_to_lisp): Declare.
3529 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3530 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3531 it's accepted even with USE_LISP_UNION_TYPE.
3532 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3533 (update_frame_tool_bar): Remove apparently obsolete tests for
3534 non-integerness of f->tool_bar_lines.
3535 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3536 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3537 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3538 (nsfont_open): Don't confuse NULL for Qnil.
3539 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3540 * menu.h (find_and_call_menu_selection):
3541 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3542 (find_and_return_menu_selection): Always return something.
3543 * frame.h: Include dispextern.h for Display_Info.
3544 (display_x_get_resource): Declare.
3545
35462008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3547
3548 * syntax.c: Remove stdio.h include accidentally introduced in
3549 Emacs.app commit.
3550 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3551 NS_IMPL_COCOA.
3552 * keyboard.c (handle_async_input, input_available_signal): Remove
3553 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3554
35552008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3556
3557 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3558 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3559 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3560 Use SDATA.
3561
3562 * keymap.c: Remove all NS-specific code.
3563 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3564 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3565 where_is_preferred_modifier, return a different value depending on how
3566 preferred is the binding.
3567 (where_is_internal): Adjust accordingly.
3568 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3569 Adjust to new preferred_sequence_p.
3570 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3571 * keyboard.c (parse_solitary_modifier): Not static any more.
3572 * keyboard.h (parse_solitary_modifier): Declare.
3573
35742008-07-16 Andreas Schwab <schwab@suse.de>
3575
3576 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3577 of easymenu.
3578
35792008-07-16 Chong Yidong <cyd@stupidchicken.com>
3580
3581 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3582 that we don't move off the line.
3583
35842008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3585
3586 * keyboard.c (Qsuper): Remove.
3587 (parse_menu_item): Don't call where_is_internal specially for NS.
3588
35892008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3590
3591 * s/gnu-linux.h: Remove boilerplate comments.
3592
3593 * m/alpha.h (__ELF__): Consolidate conditions.
3594
3595 * m/m68k.h (linux): Use GNU_LINUX instead.
3596 Remove boilerplate comments.
3597
3598 * m/intel386.h: Undo refactoring from previous change.
3599 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3600 too, remove dead code.
3601 (linux): Use GNU_LINUX instead.
3602
36032008-07-16 Jason Rumney <jasonr@gnu.org>
3604
3605 * w32gui.h: Repeat 26 June changes lost by last change.
3606
36072008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3608
3609 * systty.h: Remove code for Aix on 386, unsupported platform.
3610
3611 * s/ms-w32.h: Remove boilerplate comments.
3612 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3613
3614 * s/gnu-linux.h (TERM): Remove support.
3615 (HAVE_SYSVIPC): Remove, unused.
3616 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3617 for this system.
3618
3619 * process.c: Remove support for IRIS, unused.
3620 Remove support for TERM, not relevant anymore.
3621
3622 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3623 used with the definition.
3624
3625 * s/aix4-2.h (static): Do not undef.
3626
3627 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3628 only used on Aix.
3629 (HAVE_SYSVIPC): Remove, unused.
3630
3631 * m/hp800.h (CANNOT_DUMP): Do not undef.
3632
3633 * m/alpha.h: Fix comment.
3634
3635 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3636 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3637 used by this configuration.
3638 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3639 * unexec.c: Remove code depending on HPUX and
3640 USG_SHARED_LIBRARIES, not used with this file. Remove code
3641 depending on IRIS, unused. Remove if 0-ed code.
3642
3643 * s/template.h: Remove comments about static.
3644
3645 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3646 Remove if 0-ed code.
3647 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3648 were the same as the default.
3649 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3650 Remove boilerplate comments.
3651 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3652 (HAVE_SYSVIPC): Remove, unused.
3653 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3654
3655 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3656 Remove boilerplate comments.
3657 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3658 Remove boilerplate comments.
3659 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3660 Remove boilerplate comments.
3661 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3662
3663 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3664 USG systems which do not use DATA_SEG_BITS.
3665 Refactor code. Remove boilerplate comments.
3666
3667 * m/ibms390.h:
3668 * m/m68k.h:
3669 * s/bsd-common.h:
3670 * s/cygwin.h:
3671 * s/darwin.h:
3672 * s/freebsd.h:
3673 * s/gnu.h:
3674 * s/msdos.h: Remove boilerplate comments.
3675
3676 * m/iris4d.h: Remove boilerplate comments and code for systems that
3677 do not use this file.
3678 (IRIS_4D): Remove, unused.
3679
3680 * m/mips.h: Remove boilerplate comments and code for systems that
3681 do not use this file.
3682 (SIGN_EXTEND_CHAR):
3683 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3684 * unexmips.c: Remove file, unused.
3685
3686 * editfns.c (Fuser_full_name): Replace the only use of
3687 USER_FULL_NAME with its value.
3688 * config.in: Regenerate.
3689
36902008-07-16 David Reitter <david.reitter@gmail.com>
3691
3692 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3693 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3694
36952008-07-16 Glenn Morris <rgm@gnu.org>
3696
3697 * emacs.c (system-type): Doc fix.
3698
36992008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3700
3701 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3702 If the cache doesn't work, let's fix it, rather than work around it.
3703
37042008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3705
3706 * Makefile.in: Correct additions for nsfont.o in last commit.
3707 * nsfont.m: New file (forgot last commit).
3708
37092008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3710
3711 * callproc.c (set_initial_environment): Initialize
3712 Vprocess_environment under CANNOT_DUMP (fixes crash when
3713 batch-compiling for bootstrap).
3714
37152008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3716 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3717
3718 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3719 fix crash due to different init order.
3720
37212008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3722
3723 Changes and additions for NeXTstep windowing system (Cocoa and
3724 GNUstep) support.
3725
3726 * Makefile.in:
3727 * config.in: Support defines and build commands for NS port.
3728 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3729 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3730 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3731 windowing.
3732 (struct face): Add synth_ital field.
3733 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3734 (init_display): Initialize Vinitial_window_system to "ns" when so
3735 compiled.
3736 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3737 (display_arg): Use under NS.
3738 (main): Under NS, allocate autorelease pool and handle command line
3739 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3740 (standard_args): Add NS-specific args.
3741 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3742 * font.c (DEFAULT_ENCODING): New variable.
3743 (font_find_for_lface): Use it.
3744 (syms_of_font): Load syms_of_nsfont under NS.
3745 * font.h: Declare nsfont_driver when compiled under NS.
3746 * fontset.c: When compiling under NS, include nsterm.h.
3747 (fontset_from_font): Autoconstruct fontset under NS.
3748 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3749 symbol, document and use it.
3750 (do_switch_frame): When for_deletion under Cocoa, add
3751 Fraise_frame(Qnil).
3752 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3753 (x_get_arg): Allow "yes" and "no" as boolean values.
3754 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3755 Qright under Cocoa.
3756 (focus-follows-mouse): Default to 0 under NS.
3757 * frame.h (enum output_method): Add output_ns.
3758 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3759 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3760 (FRAME_WINDOW_P): NS-specific definition.
3761 * fringe.c (max_used_fringe_bitmap): Make public.
3762 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3763 (getloadavg): Use NeXT code under descendant OS's.
3764 * image.c (includes and header section, x_create_bitmap_from_data)
3765 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3766 (image_background_transparent, x_clear_image_1)
3767 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3768 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3769 (x_to_xcolors, x_from_xcolors, x_disable_image)
3770 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3771 other GUIs, including XPM support using code originally written for
3772 Carbon GUI.
3773 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3774 using NS API.
3775 (image_ascent): Use font metrics macros instead of direct struct field
3776 access.
3777 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3778 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3779 Also, handle NS as GTK for menu bar purposes.
3780 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3781 toolkit where they differ.
3782 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3783 use cachelist, still needed under NS.
3784 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3785 (struct widget_value): Define it here for menu.c.
3786 * keymap.c (includes): Include modifier internals.
3787 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3788 NS.
3789 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3790 support for preferring sequences using certain modifiers, specified by
3791 the FIRSTONLY argument.
3792 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3793 under NS GNUstep implementation.
3794 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3795 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3796 * menu.c: Include nsterm.h under NS.
3797 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3798 (free_menubar_widget_tree_value, update_submenu_strings)
3799 (find_and_call_menu_selection): Treat NS as X and NT.
3800 (find_and_return_menu_selection): New function, used for popup menus.
3801 * nsgui.h:
3802 * nsterm.h:
3803 * nsfns.m:
3804 * nsimage.m:
3805 * nsmenu.m:
3806 * nsselect.m:
3807 * nsterm.m: New files.
3808 * process.c (wait_reading_process_output): Under NS, call ns_select()
3809 instead of plain select().
3810 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3811 beginning of buffer.
3812 * sysselect.h (init_process): Rename when compiling under Cocoa to
3813 avoid name conflict.
3814 * termhooks.h (display_info): Add ns_display_info to union.
3815 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3816 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3817 COCOA environment.
3818 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3819 unexec() signature. (Note, this will dump, but the resulting file
3820 crashes; unexosx is used instead; keeping around for reference and
3821 possible aid in getting dump working under GNUstep.)
3822 * w32gui.h (button_type, widget_value): Remove definitions (now in
3823 keyboard.h).
3824 * window.c: Include nsterm.h when compiling under NS.
3825 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3826 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3827 other GUI windowing systems.
3828 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3829 GTK.
3830 (x_consider_frame_title): Under NS, set icon type and frame
3831 modified-state indicator; use ns_set_name_as_filename() when using
3832 formatted title.
3833 (update_window_cursor): Make public when compiling under NS.
3834 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3835 (hourglass_atimer, Vhourglass_delay
3836 * xfaces.c (header section, init_frame_faces, clear_font_table)
3837 (defined_color, unload_color, x_face_list_fonts)
3838 (prepare_face_for_display): Add NS support parallel to other GUIs.
3839 Emulate GCs like other non-X GUIs.
3840 (split_font_name): Don't lowercase font name under NS.
3841 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3842 under NS.
3843 * s/darwin.h: Add support for compilation under NS.
3844
38452008-07-15 Jason Rumney <jasonr@gnu.org>
3846
3847 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3848 (w32_show_hourglass): Rename from show_hourglass.
3849 (w32_hide_hourglass): Rename from hide_hourglass.
3850 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3851 (Vhourglass_delay): Declare extern.
3852 (hourglass_started): Remove.
3853
3854 * xdisp.c (Vhourglass_delay): Remove static.
3855 (hourglass_started, start_hourglass, cancel_hourglass):
3856 Don't include these versions on WINDOWSNT.
3857
38582008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3859
3860 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3861 variables (formerly in xfns.c).
3862 (show_hourglass, hide_hourglass): New prototypes (same).
3863 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3864 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3865 in xfns.c).
3866 (syms_of_xdisp): Declare/initialize display-hourglass,
3867 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3868 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3869 formerly in xfns.c.
3870 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3871 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3872 (start_hourglass, cancel_hourglass): Remove.
3873 (show_hourglass, hide_hourglass): Remove prototypes and static
3874 modifiers.
3875 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3876 hourglass_atimer, hourglass_shown_p declaration/initialization.
3877 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3878 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3879 (start_hourglass, cancel_hourglass): Remove.
3880 (show_hourglass, hide_hourglass): Remove prototypes and static
3881 modifiers.
3882 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3883 hourglass_atimer, hourglass_shown_p declaration/initialization.
3884 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3885 (DEFAULT_HOURGLASS_DELAY): Remove.
3886 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3887 hourglass_shown_p declaration/initialization.
3888
38892008-07-14 Jason Rumney <jasonr@gnu.org>
3890
3891 * w32fns.c (w32_get_arg): Remove wrapper function.
3892 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3893 directly.
3894 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3895
38962008-07-14 Kenichi Handa <handa@m17n.org>
3897
3898 * xfont.c (xfont_open): Add workaround for X's bug.
3899
39002008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3901
3902 * fontset.c: Include <stdio.h> unconditionally.
3903
39042008-07-13 Michael Albinus <michael.albinus@gmx.de>
3905
3906 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3907 for filtering.
3908
39092008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3910
3911 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3912
3913 * m/macppc.h:
3914 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3915
3916 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3917 (SPECIAL_EMACS_INT):
3918 * m/ia64.h (SPECIAL_EMACS_INT):
3919 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3920 * s/gnu.h (NLIST_STRUCT):
3921 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3922 * s/gnu-linux.h (LINUX):
3923 * s/msdos.h (HAVE_FACES):
3924 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3925
3926 * systty.h:
3927 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3928 anymore.
3929
39302008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3931
3932 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3933 always defined as int.
3934
3935 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3936 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3937 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3938 * s/freebsd.h (HAVE_WAIT_HEADER):
3939 * s/bsd-common.h (HAVE_UNION_WAIT):
3940 * s/aix4-2.h (HAVE_WAIT_HEADER):
3941 * m/mips.h (HAVE_UNION_WAIT):
3942 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3943 (COFF, static): Do not define, they are undefined later in the file.
3944
3945 * process.c (update_status): Don't use a union.
3946 (status_convert):
3947 (sigchld_handler): Use int instead of WAITTYPE.
3948
39492008-07-12 Chong Yidong <cyd@stupidchicken.com>
3950
3951 * indent.c (Fvertical_motion): Restore hscroll before moving to
3952 goal column.
3953
39542008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3955
3956 * lisp.h: Remove left over code.
3957
39582008-07-11 Andreas Schwab <schwab@suse.de>
3959
3960 * lisp.h: Fix logic in last change.
3961
3962 * menu.h: New file.
3963 * menu.c: Include it.
3964 * xmenu.c: Likewise.
3965 * Makefile.in: Update dependencies.
3966
39672008-07-11 Kenichi Handa <handa@m17n.org>
3968
3969 * fontset.c (fontset_from_font): Cancel the previous change.
3970
39712008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3972
3973 * lisp.h:
3974 * w32heap.c:
3975 * emacs.c:
3976 * alloc.c: Replace all references of NO_UNION_TYPE with
3977 USE_LISP_UNION_TYPE.
3978
3979 * m/xtensa.h (NO_UNION_TYPE):
3980 * m/vax.h (NO_UNION_TYPE):
3981 * m/template.h (NO_UNION_TYPE):
3982 * m/sparc.h (NO_UNION_TYPE):
3983 * m/mips.h (NO_UNION_TYPE):
3984 * m/macppc.h (NO_UNION_TYPE):
3985 * m/m68k.h (NO_UNION_TYPE):
3986 * m/iris4d.h (NO_UNION_TYPE):
3987 * m/intel386.h (NO_UNION_TYPE):
3988 * m/ibms390x.h (NO_UNION_TYPE):
3989 * m/ibms390.h (NO_UNION_TYPE):
3990 * m/ibmrs6000.h (NO_UNION_TYPE):
3991 * m/ia64.h (NO_UNION_TYPE):
3992 * m/hp800.h (NO_UNION_TYPE):
3993 * m/arm.h (NO_UNION_TYPE):
3994 * m/amdx86-64.h (NO_UNION_TYPE):
3995 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3996 defining it the same.
3997
39982008-07-10 Chong Yidong <cyd@stupidchicken.com>
3999
4000 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4001
40022008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4003
4004 * fileio.c:
4005 * sysdep.c
4006 * systty.h:
4007 * m/ibmrs6000.h:
4008 * m/iris4d.h:
4009 * s/aix4-2.h:
4010 * s/freebsd.h:
4011 * s/gnu-linux.h:
4012 * s/hpux10-20.h:
4013 * s/hpux11.h:
4014 * s/netbsd.h:
4015 * s/sol2-3.h:
4016 * s/sol2-4.h:
4017 * s/sol2.h:
4018 * s/usg5-4.h:
4019 * s/vms.h: Remove references to unused variables.
4020
40212008-07-10 Andreas Schwab <schwab@suse.de>
4022
4023 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4024 pattern before matching the generic family.
4025
40262008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4027
4028 * unexec.c:
4029 * s/vms.h:
4030 * s/usg5-4-2.h:
4031 * s/sol2-5.h:
4032 * s/freebsd.h:
4033 * s/darwin.h: Remove dead code.
4034
4035 * m/template.h:
4036 * m/sparc.h:
4037 * m/mips.h:
4038 * m/m68k.h:
4039 * m/iris4d.h:
4040 * m/intel386.h:
4041 * m/ibms390x.h:
4042 * m/ibms390.h:
4043 * m/ia64.h:
4044 * m/hp800.h:
4045 * m/arm.h:
4046 * m/amdx86-64.h: Remove dead code and references to unused
4047 and compiler defined symbols.
4048
4049 * unexmips.c:
4050 * unexelf.c: Remove references to desupported systems.
4051
4052 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4053
4054 * m/powermac.h: Remove boilerplate comments.
4055 (NO_REMAP): Remove unused definition.
4056
4057 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4058 define them.
4059
40602008-07-10 Kenichi Handa <handa@m17n.org>
4061
4062 * xfont.c (xfont_open): Log the reason of failure.
4063
40642008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4065
4066 * fontset.c (fontset_get_font_group):
4067 * font.c (font_check_otf): Specify argument types.
4068
40692008-07-09 Kenichi Handa <handa@m17n.org>
4070
4071 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4072 non-ASCII char is found.
4073
4074 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4075 (reorder_font_vector): Change the arg preferred_family to font.
4076 Prefer the spec matching with font.
4077 (fontset_get_font_group): New function.
4078 (fontset_find_font): Change the format of an element of a realized
4079 fontset. Use fontset_get_font_group.
4080 (fontset_font): Try the current fontset, the default fontset, the
4081 fallbacks of the current fontset, and the fallbacks of the default
4082 fontset in this order.
4083 (face_for_char): Delete the shortcut to use the current font.
4084 (fontset_from_font): Don't set fonts for Latin in the fontset.
4085
4086 * font.h (font_make_object, font_match_p): Adjust prototypes.
4087
4088 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4089
4090 * font.c (font_make_object): New arg entity and pixelsize.
4091 (font_check_otf_features, font_check_otf): New functions.
4092 (font_match_p): Check :lang, :script, and :otf properties.
4093
4094 * xfont.c (xfont_open): Adjust it for the change of
4095 font_make_object.
4096 (xfont_text_extents): Fix initial setting of metrics.
4097
4098 * ftfont.c (struct ftfont_info): New member index, delete member
4099 fc_charset_idx. Make the member order compatible with struct
4100 xftfont_info.
4101 (fc_charset_table): Change charset names to registry names.
4102 (ftfont_pattern_entity): Delete the args registry and
4103 fc_charset_idx. Change the value of :font-entity property
4104 to (FONTNAME . INDEX). Always set :registry property to
4105 `iso10646-1'.
4106 (struct ftfont_cache_data): New struct.
4107 (ftfont_lookup_cache): New arg for_face.
4108 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4109 (ftfont_driver): Set the member otf_capability.
4110 (ftfont_get_charset): Adjust it for the change of
4111 fc_charset_table.
4112 (OTF_TAG_SYM): New macro.
4113 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4114 for the change of fc_charset_table.
4115 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4116 ftfont_pattern_entity. Add FC_INDEX to objset.
4117 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4118 and ftfont_pattern_entity.
4119 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4120 font_make_object, struct ftfont_info.
4121 (ftfont_has_char): Use ftfont_get_fc_charset.
4122 (ftfont_otf_features, ftfont_otf_capability): New functions.
4123 (ftfont_shape): Use ftfont_get_otf.
4124 (ftfont_text_extents): Fix initial setting of metrics.
4125
4126 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4127 member order compatible with struct ftfont_info.
4128 (xftfont_open): Add FC_CHARSET to the pattern. Set
4129 xftfont_info->ft_size. Don't unlock the face. Check BDF
4130 properties if appropriate.
4131 (xftfont_close): Unlock the face.
4132 (xftfont_anchor_point, xftfont_shape): Deleted.
4133 (syms_of_xftfont): Don't set members anchor_point and shape of
4134 xftfont_driver.
4135
4136 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4137 font_make_object.
4138
4139 * w32font.c (w32font_open): Adjust it for the change of
4140 font_make_object.
4141 (w32font_open_internal): Don't set properties of font_object here.
4142
41432008-07-08 Chong Yidong <cyd@stupidchicken.com>
4144
4145 * macfns.c (x_create_tip_frame):
4146 * w32fns.c (x_create_tip_frame):
4147 * xfns.c (x_create_tip_frame): Pass parameter argument to
4148 face-set-after-frame-default.
4149
4150 * xfaces.c (Finternal_merge_in_global_face): Save merged
4151 attributes for the default face back into the face vector.
4152
41532008-07-08 Andreas Schwab <schwab@suse.de>
4154
4155 * fontset.h: Declare fontset_from_font. Don't declare
4156 new_fontset_from_font and fontset_from_font_name.
4157 * xterm.c: Include "fontset.h".
4158 * Makefile.in (xterm.o): Update dependencies.
4159
41602008-07-08 Glenn Morris <rgm@gnu.org>
4161
4162 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4163 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4164
41652008-07-07 Chong Yidong <cyd@stupidchicken.com>
4166
4167 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4168 (x_set_frame_parameters): Don't bind it.
4169
41702008-07-07 Juanma Barranquero <lekktu@gmail.com>
4171
4172 * w32fns.c (map_w32_filename): Declare extern.
4173
41742008-07-07 Jason Rumney <jasonr@gnu.org>
4175
4176 * w32term.c (WS_EX_LAYERED): Define if not already.
4177
41782008-07-06 Chong Yidong <cyd@stupidchicken.com>
4179
4180 * xfaces.c (set_font_frame_param): Don't try to set the font
4181 parameter if it is still unspecified in the lface.
4182
41832008-07-05 Chong Yidong <cyd@stupidchicken.com>
4184
4185 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4186 face if it didn't already exist.
4187
4188 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4189
41902008-07-05 Andreas Schwab <schwab@suse.de>
4191
4192 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4193
41942008-07-05 Chong Yidong <cyd@stupidchicken.com>
4195
4196 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4197 word-wrapping.
4198 (IT_DISPLAYING_WHITESPACE): New macro.
4199 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4200 when word-wrapping. Simplify word-wrapping logic. Use correct
4201 pixel positions when saving copies of the iterator.
4202 (display_line): Use proper wrap point if the last character on a
4203 line was preceded by whitespace.
4204
42052008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4206
4207 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4208
42092008-07-04 Kenichi Handa <handa@m17n.org>
4210
4211 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4212
4213 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4214
42152008-07-02 Jason Rumney <jasonr@gnu.org>
4216
4217 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4218 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4219
4220 * xdisp.c (next_element_from_display_vector): Move assignment out
4221 of if statement.
4222
42232008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4224
4225 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4226
4227 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4228 (syms_of_fileio): Initialize and export them.
4229 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4230
4231 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4232 (Fsystem_move_file_to_trash): New function.
4233 (syms_of_w32fns): Export it to lisp.
4234
42352008-07-01 Jason Rumney <jasonr@gnu.org>
4236
4237 * w32font.c (w32font_text_extents): Don't count overhang as part
4238 of width.
4239
42402008-06-30 Miles Bader <miles@gnu.org>
4241
4242 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4243 Add `avoid_cursor_p' field.
4244
4245 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4246 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4247 (append_glyph, append_composite_glyph, produce_image_glyph)
4248 (append_stretch_glyph): Initialize avoid_cursor_p.
4249 (get_it_property): Rename from `get_line_height_property'.
4250 (x_produce_glyphs): Use get_it_property.
4251 (handle_line_prefix, push_display_prop): New functions.
4252 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4253 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4254 New variables.
4255 (syms_of_xdisp): Initialize them.
4256
42572008-06-30 Kenichi Handa <handa@m17n.org>
4258
4259 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4260 XftDefaultSubstitute (they are called in XftFontMatch).
4261 (xftfont_open): Fix args to ftfont_font_format.
4262
4263 * ftfont.c (fc_charset_table): New member lang.
4264 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4265 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4266 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4267 (ftfont_open): Fix args to ftfont_font_format.
4268 (ftfont_font_format): New arg filename.
4269
42702008-06-30 Chong Yidong <cyd@stupidchicken.com>
4271
4272 * xfaces.c (Finternal_merge_in_global_face): If default face was
4273 modified, realize it again. Update the font face attribute.
4274
42752008-06-29 Jason Rumney <jasonr@gnu.org>
4276
4277 * w32term.c (x_set_frame_alpha): Fix logic.
4278
42792008-06-29 Kenichi Handa <handa@m17n.org>
4280
4281 * fontset.c (Finternal_char_font): Return font-object instead of
4282 font-name.
4283
4284 * composite.c (get_composition_id): Fix the width calculation for TAB.
4285
42862008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4287
4288 * indent.c (Fvertical_motion): Properly handle float column arg.
4289
42902008-06-28 Jason Rumney <jasonr@gnu.org>
4291
4292 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4293 (pfnSetLayeredWindowAttributes): New function pointer.
4294 (w32_initialize): Initialize it when supported.
4295 (x_set_frame_alpha): New function.
4296
4297 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4298 (w32_frame_parm_handlers): Set alpha handler.
4299
4300 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4301
43022008-06-27 Jason Rumney <jasonr@gnu.org>
4303
4304 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4305 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4306 (w32_to_x_charset, x_to_w32_charset)
4307 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4308 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4309 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4310 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4311 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4312 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4313 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4314 (Qw32_charset_unicode): Remove.
4315 (syms_of_w32fns): Update for above changes.
4316
4317 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4318 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4319 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4320 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4321 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4322 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4323 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4324 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4325 (syms_of_w32font): Update for above changes.
4326
43272008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4328
4329 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4330 removed #if.
4331 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4332
43332008-06-26 Juanma Barranquero <lekktu@gmail.com>
4334 Eli Zaretskii <eliz@gnu.org>
4335
4336 * makefile.w32-in (LOCAL_FLAGS):
4337 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4338
4339 * sysdep.c (_spawnlp, _getpid):
4340 Declare with explicit _cdecl instead of _CRTAPI1.
4341
4342 * editfns.c (Fget_internal_run_time):
4343 Check for WINDOWSNT with #ifdef, not #if.
4344
43452008-06-26 Jason Rumney <jasonr@gnu.org>
4346
4347 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4348
4349 * w32term.c (x_draw_glyph_string_foreground)
4350 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4351 Use FONT_HANDLE macro.
4352 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4353
4354 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4355 (uniscribe_encode_char): Use FONT_HANDLE macro.
4356
4357 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4358 (w32font_text_extents): Use precast w32_font.
4359 (w32font_close): Free cached metrics.
4360 (w32font_open_internal): Allocate space for name on stack.
4361
43622008-06-26 Chong Yidong <cyd@stupidchicken.com>
4363
4364 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4365
43662008-06-26 Jason Rumney <jasonr@gnu.org>
4367
4368 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4369 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4370
43712008-06-26 Juanma Barranquero <lekktu@gmail.com>
4372
4373 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4374
43752008-06-26 Jason Rumney <jasonr@gnu.org>
4376
4377 * w32bdf.c, w32bdf.h: Remove obsolete files.
4378
4379 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4380
4381 * w32gui.h: Don't include w32bdf.h.
4382 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4383 Remove obsolete font support.
4384
4385 * w32font.h (struct w32font_info): Remove compat_w32_font.
4386 Add hfont member.
4387 (FONT_COMPAT): Remove obsolete macro.
4388
4389 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4390 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4391 (w32font_open_internal): Remove compat code. Set new hfont member.
4392 (Fx_select_font): Use new hfont member.
4393
4394 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4395 (uniscribe_encode_char): Use new hfont member.
4396
4397 * w32term.c (x_draw_glyph_string_foreground)
4398 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4399 (x_draw_glyph_string): Use metrics in w32font_info.
4400
44012008-06-26 Kenichi Handa <handa@m17n.org>
4402
4403 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4404
44052008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4406
4407 * unexnext.c:
4408 * m/ews4800.h:
4409 * m/hp9000s300.h:
4410 * m/ibm370aix.h:
4411 * m/mips-siemens.h:
4412 * m/ncr386.h:
4413 * m/next.h:
4414 * m/pmax.h:
4415 * m/powerpcle.h:
4416 * m/tandem-s2.h:
4417 * s/386bsd.h:
4418 * s/bsd386.h:
4419 * s/bsd4-1.h:
4420 * s/bsd4-2.h:
4421 * s/bsdos2-1.h:
4422 * s/bsdos2.h:
4423 * s/bsdos3.h:
4424 * s/bsdos4.h:
4425 * s/nextstep.h:
4426 * s/ultrix4-3.h:
4427 * s/usg5-0.h:
4428 * s/usg5-2-2.h:
4429 * s/usg5-2.h:
4430 * s/usg5-4-3.h:
4431 * s/ux4800.h:
4432 * s/uxpds.h:
4433 * s/uxpv.h: Remove support for obsolete systems.
4434 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4435 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4436 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4437 Remove, insert contents in s/aix4-2.h.
4438 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4439 * s/bsd4-3.h: Rename to ...
4440 * s/bsd-common.h: ... this.
4441 * data.c:
4442 * doc.c:
4443 * ecrt0.c:
4444 * emacs.c:
4445 * fileio.c:
4446 * floatfns.c:
4447 * keyboard.c:
4448 * mem-limits.h:
4449 * print.c:
4450 * process.c:
4451 * sysdep.c:
4452 * syssignal.h:
4453 * systty.h:
4454 * syswait.h:
4455 * term.c:
4456 * unexec.c:
4457 * unexelf.c:
4458 * unexhp9k800.c:
4459 * m/hp800.h:
4460 * m/ibmrs6000.h:
4461 * m/mips.h:
4462 * m/vax.h:
4463 * s/darwin.h:
4464 * s/freebsd.h:
4465 * s/gnu.h:
4466 * s/ms-w32.h:
4467 * s/msdos.h:
4468 * s/netbsd.h:
4469 * s/template.h: Remove references to obsolete variables.
4470
4471 * Makefile.in: Add dependencies for all unexec files.
4472 (admindir): Remove unused variable.
4473 (UNEXEC_SRC): Remove references.
4474
44752008-06-25 Chong Yidong <cyd@stupidchicken.com>
4476
4477 * xfns.c (x_default_font_parameter): If Xft is available, first
4478 try Monospace-12 for the default font.
4479
44802008-06-25 Jason Rumney <jasonr@gnu.org>
4481
4482 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4483
44842008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4485
4486 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4487
4488 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4489
44902008-06-25 Juanma Barranquero <lekktu@gmail.com>
4491
4492 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4493 <scroll-conservatively>: Fix typo in docstring.
4494
4495 * xselect.c (Fx_send_client_event): Doc fix.
4496
44972008-06-25 Kenichi Handa <handa@m17n.org>
4498
4499 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4500
4501 * font.c (font_parse_fcname): Remove unused variables.
4502 (font_sort_entites): Delete the arg SPEC. Caller changed.
4503 Fix for the case of ! best_only.
4504 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4505
4506 * lisp.h (Fstring_to_unibyte): EXFUN it.
4507
4508 * character.h (str_to_unibyte): Extern it.
4509
4510 * character.c (str_to_unibyte): New function.
4511
4512 * fns.c (Fstring_to_unibyte): New function.
4513 (syms_of_fns): Defsubr it.
4514
45152008-06-24 Kenichi Handa <handa@m17n.org>
4516
4517 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4518 DPI too.
4519 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4520
45212008-06-24 Andreas Schwab <schwab@suse.de>
4522
4523 * Makefile.in (${lispsource}loaddefs.el): Rename from
4524 ../lisp/loaddefs.el.
4525 (bootstrap-clean): Do what distclean does but don't remove
4526 Makefile.
4527 (distclean): Depend on bootstrap-clean and remove Makefile.
4528
45292008-06-24 Chong Yidong <cyd@stupidchicken.com>
4530
4531 * buffer.h (struct buffer): New member word_wrap.
4532
4533 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4534 word-wrap.
4535 (init_buffer_once): Initialize them.
4536
4537 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4538 line_wrap enum possessing three possible values.
4539
4540 * termopts.h: Replace truncate_partial_width_windows with
4541 Vtruncate_partial_width_windows.
4542
4543 * dispnew.c (direct_output_for_insert): Avoid direct output when
4544 inserting a space with word wrap on.
4545
4546 * indent.c (compute_motion): Obey integer values of
4547 truncate-partial-width-windows.
4548
4549 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4550 replacing truncate_partial_width_windows.
4551 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4552 truncate only if the window width is below that integer.
4553 (start_display, resize_mini_window, produce_stretch_glyph)
4554 (display_string, move_it_in_display_line_to): Use line_wrap.
4555 (back_to_previous_visible_line_start, reseat_1): Reset
4556 string_from_display_prop_p.
4557 (display_line): Extend default face to end of line when wrapping.
4558
45592008-06-24 Kim F. Storm <storm@cua.dk>
4560
4561 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4562 to wrap continued lines at word boundaries.
4563
45642008-06-24 Jason Rumney <jasonr@gnu.org>
4565
4566 * font.c (Ffont_face_attributes): Multiply pixel size before point
4567 conversion to avoid multiplying rounding error.
4568
45692008-06-23 Jason Rumney <jasonr@gnu.org>
4570
4571 * w32term.c (x_draw_glyph_string_background)
4572 (x_draw_glyph_string): Remove old bdf font code.
4573
4574 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4575
45762008-06-22 Kenichi Handa <handa@m17n.org>
4577
4578 * font.c (font_find_for_lface): Try the adstyle specified in
4579 the property of LFACE_FONT of LFACE (if any).
4580
45812008-06-21 Seiji Zenitani <zenitani@mac.com>
4582 Ryo Yoshitake <ryo@shiftmode.net>
4583
4584 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4585
45862008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4587
4588 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4589 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4590 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4591 (witness-emacs): Remove.
4592 (lisp, shortlisp): Move loaddefs.el earlier.
4593 (mostlyclean): Forget about witness-emacs.
4594
45952008-06-22 Glenn Morris <rgm@gnu.org>
4596
4597 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4598 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4599
46002008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4601
4602 * Makefile.in (PRECOMP): Remove.
4603 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4604 (witness-emacs): Run `compile-first'.
4605 (.el.elc): Use the new compile-onefile target.
4606
46072008-06-21 Kenichi Handa <handa@m17n.org>
4608
4609 * xftfont.c (xftfont_open): Handle QCembolden only when
4610 FC_EMBOLDEN is defined.
4611
46122008-06-21 Andreas Schwab <schwab@suse.de>
4613
4614 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4615 (.el.elc): Likewise.
4616
46172008-06-21 Miles Bader <miles@gnu.org>
4618
4619 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4620 build dir, not the lisp source dir.
4621
46222008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4623
4624 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4625 (bootstrapclean): Remove.
4626 (.el.elc): New rule.
4627 (PRECOMP): New var.
4628 (../lisp/subdirs.el): Remove.
4629 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4630 (witness-emacs): New target.
4631 (mostlyclean): Remove witness-emacs as well.
4632 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4633 Add witness-emacs dependency.
4634
46352008-06-20 Chong Yidong <cyd@stupidchicken.com>
4636
4637 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4638 defined by the font.
4639
46402008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4641
4642 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4643 (bootstrap-clean): New target that keeps TAGS around.
4644 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4645 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4646
46472008-06-20 Jason Rumney <jasonr@gnu.org>
4648
4649 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4650 Remove obsolete font code.
4651
4652 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4653 to determine language support.
4654
46552008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4656
4657 * sysdep.c (cfsetspeed): New fun extracted from the code.
4658 (cfmakeraw): Move before first use.
4659
46602008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4661
4662 * sysdep.c (cfmakeraw): Provide fallback implementation.
4663 (serial_configure): Provide fallback implementation of cfsetspeed.
4664
46652008-06-20 Kenichi Handa <handa@m17n.org>
4666
4667 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4668 the pattern.
4669
4670 * fontset.c (fontset_from_font): Copy font_spec before changing
4671 the elements.
4672
4673 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4674
46752008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4676
4677 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4678 for explicit `font' parameters.
4679
4680 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4681
46822008-06-19 Kenichi Handa <handa@m17n.org>
4683
4684 * frame.c: Include <ctype.h>.
4685 (x_set_font_backend): Allow spacing characters in the X resource
4686 for FontBackend.
4687
46882008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4689
4690 * w32fns.c, xfns.c (Qfont_param): New var.
4691 (syms_of_w32fns): Initialize it.
4692 (x_default_font_parameter): Record explicit `font' into
4693 `font-parameter'.
4694
46952008-06-18 Kenichi Handa <handa@m17n.org>
4696
4697 * font.c (font_parse_xlfd): Fix previous change.
4698 (font_parse_fcname): Don't use :fc-unknown-spec.
4699 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4700 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4701 (font_add_log): Prepend the driver name to the resulting fonts.
4702
4703 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4704 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4705 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4706
4707 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4708 (QCembolden): New variables.
4709 (syms_of_xftfont): DEFSYM them.
4710 (xftfont_open): Call XftFontMatch. Don't trust the result of
4711 XftTextExtents8 if the pixel_size is less than 5.
4712
47132008-06-18 Andreas Schwab <schwab@suse.de>
4714
4715 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4716 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4717
47182008-06-18 Jason Rumney <jasonr@gnu.org>
4719
4720 * w32font.c (w32font_list, w32font_match): Add logging.
4721
4722 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4723
47242008-06-17 Chong Yidong <cyd@stupidchicken.com>
4725
4726 * font.c (font_parse_fcname): Store divider characters for
4727 unknown-spec list. For known key symbols, intern using correct
4728 symbol name.
4729
47302008-06-17 Kenichi Handa <handa@m17n.org>
4731
4732 * xfaces.c (realize_default_face): If the frame is not on window
4733 system, set the fontset of face to nil.
4734
47352008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4736
4737 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4738
47392008-06-16 Juanma Barranquero <lekktu@gmail.com>
4740
4741 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4742 (build_font_name_from_vector): Delete externs.
4743
4744 * xfaces.c (struct font_name): Don't declare.
4745
47462008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4747
4748 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4749
47502008-06-16 Chong Yidong <cyd@stupidchicken.com>
4751
4752 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4753
47542008-06-16 Juanma Barranquero <lekktu@gmail.com>
4755
4756 * font.c (Ffont_spec): Fix usage in docstring.
4757 (Ffont_face_attributes): Doc fix.
4758
47592008-06-16 Andreas Schwab <schwab@suse.de>
4760
4761 * font.c (Ffont_face_attributes): Fix definition.
4762
47632008-06-16 Jason Rumney <jasonr@gnu.org>
4764
4765 * font.h (font_style_symbolic_from_value): Remove.
4766
4767 * font.c (font_style_symbolic_from_value): Remove.
4768 (font_style_symbolic): Revert to pre 2008-06-13 version.
4769
4770 * w32font.c (w32_to_fc_weight): New function.
4771 (w32font_full_name, logfont_to_fcname): Use it.
4772
47732008-06-16 Kenichi Handa <handa@m17n.org>
4774
4775 * font.c (font_check_object): Delete it.
4776 (font_clear_cache): Check if a font-object is alive.
4777 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4778 font-object to nil.
4779 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4780 (font_at): Don't call font_check_object.
4781 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4782
47832008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4784
4785 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4786
47872008-06-16 Chong Yidong <cyd@stupidchicken.com>
4788
4789 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4790
47912008-06-15 Chong Yidong <cyd@stupidchicken.com>
4792
4793 * font.c (font_parse_fcname): Only one decimal point.
4794 (font_unparse_fcname): Handle data in family and foundry indices
4795 as symbols, not strings.
4796 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4797
4798 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4799
4800 * font.h (font_unparse_gtkname): Add prototype.
4801
48022008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4803
4804 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4805
48062008-06-15 Andreas Schwab <schwab@suse.de>
4807
4808 * font.c (font_update_drivers): Fix crash when no drivers match.
4809
48102008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4811
4812 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4813 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4814
48152008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4816
4817 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4818
48192008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4820
4821 * process.c (Fserial_process_configure, Fprocess_send_eof):
4822 Use EQ to compare Lisp_Objects.
4823
48242008-06-13 Jason Rumney <jasonr@gnu.org>
4825
4826 * w32fns.c (Fw32_select_font): Remove old font API function.
4827
4828 * w32font.c (logfont_to_fcname): New function.
4829 (Fx_select_font): New font dialog function compatible with
4830 GTK/fontconfig version.
4831
4832 * font.c (font_style_symbolic_from_value): New function.
4833 (font_style_symbolic): Use it.
4834
4835 * font.h (font_style_symbolic_from_value): Declare new function.
4836
48372008-06-13 Juanma Barranquero <lekktu@gmail.com>
4838
4839 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4840 <font-width-table>: Fix typos in docstrings.
4841
48422008-06-13 Daniel Engeler <engeler@gmail.com>
4843
4844 These changes add serial port access.
4845 * process.c: Add HAVE_SERIAL.
4846 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4847 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4848 (list_processes_1, select_wrapper, Fstop_process)
4849 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4850 (status_notify): Modify to handle serial processes.
4851 [HAVE_SERIAL] (Fserial_process_configure)
4852 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4853 New functions.
4854 * process.h (struct Lisp_Process): Add `type'.
4855 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4856 New functions.
4857 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4858 serial ports.
4859 (serial_open, serial_configure) New functions.
4860 * w32.h: Add FILE_SERIAL.
4861 (struct _child_process): Add ovl_read, ovl_write.
4862
48632008-06-13 Kenichi Handa <handa@m17n.org>
4864
4865 * dispextern.h (enum lface_attribute_index): New member
4866 LFACE_FOUNDRY_INDEX.
4867
4868 * font.c (font_score): Delete arg alternate_families. Check only
4869 weight, slant, width, and size. Ignore the difference of alias
4870 style symbols.
4871 (font_sort_entites): Adjust for the above change. Reflect the
4872 order of font-driver to scores.
4873 (font_list_entities): Don't check alternate_familes here.
4874 (font_clear_prop): Handle foundry.
4875 (font_update_lface): Don't parse "foundry-family" form here.
4876 Handle FONT_FOUNDRY_INDEX.
4877 (font_find_for_lface): Likewise. Handle alternate families here.
4878 If registry is nil, try iso8859-1 and ascii-0.
4879 (font_open_for_lface): Pay attention to size in ENTITY.
4880 (font_open_by_name): Simplify by calling font_load_for_lface.
4881 (free_font_driver_list): Delete it.
4882 (font_update_drivers): Preserve the order of backends.
4883 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4884 of font_score and font_sort_entites.
4885 (font_update_sort_order): Likewise.
4886
4887 * xfaces.c (LFACE_FOUNDRY): New macro.
4888 (check_lface_attrs): Check foundry.
4889 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4890 (merge_face_vectors): Check foundry.
4891 (merge_face_ref): Likewise.
4892 (Finternal_set_lisp_face_attribute): Likewise.
4893 (x_update_menu_appearance): Likewise.
4894 (Finternal_get_lisp_face_attribute): Likewise.
4895 (lface_hash): Likewise.
4896 (lface_same_font_attributes_p): Likewise.
4897 (x_supports_face_attributes_p): Likewise.
4898 (tty_supports_face_attributes_p): Likewise.
4899 (Finternal_set_alternative_font_family_alist): Intern strings.
4900 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4901 (realize_default_face): Set LFACE_FOUNDRY (lface).
4902
4903 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4904 font-driver at first.
4905
4906 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4907
49082008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4909
4910 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4911
49122008-06-12 Jim Meyering <meyering@redhat.com>
4913
4914 Make unexec_free handle NULL the same way free does.
4915 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4916
49172008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4918
4919 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4920 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4921 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4922 (WEAK_ALIAS): Simplify.
4923 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4924 when searching a unibyte buffer.
4925
49262008-06-12 Chong Yidong <cyd@stupidchicken.com>
4927
4928 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4929
49302008-06-12 Juanma Barranquero <lekktu@gmail.com>
4931
4932 * w32font.c: Include ctype.h.
4933
49342008-06-11 Jason Rumney <jasonr@gnu.org>
4935
4936 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4937 misreported as space.
4938 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4939 as aliases for registry iso10646-1.
4940
49412008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4942
4943 * buffer.c (clone_per_buffer_values): Skip `name'.
4944
49452008-06-11 Chong Yidong <cyd@stupidchicken.com>
4946
4947 * font.c (font_parse_fcname): Fix last change; accept decimal
4948 points in font size.
4949
49502008-06-10 Jason Rumney <jasonr@gnu.org>
4951
4952 * w32uniscribe.c (add_opentype_font_name_to_list):
4953 Skip non unicode fonts.
4954
49552008-06-10 Chong Yidong <cyd@stupidchicken.com>
4956
4957 * xfns.c (Fx_font_dialog): New function.
4958
4959 * gtkutil.c (xg_dialog_response_cb): Rename from
4960 xg_file_response_callback.
4961 (pop_down_dialog): Rename from pop_down_file_dialog.
4962 (xg_get_file_name): Callers changed.
4963 (xg_get_font_name): New function.
4964
4965 * gtkutil.h (xg_get_font_name): Insert prototype.
4966
49672008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4968
4969 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4970 x_underline_minimum_display_offset.
4971 (syms_of_xdisp): Declare it here rather than in xterm.c.
4972 * dispextern.h (underline_minimum_offset): Declare it.
4973 * w32term.c (x_draw_glyph_string): Use it.
4974 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4975 (syms_of_xterm): Don't declare it any more.
4976 (x_draw_glyph_string): Adjust to the new name.
4977
49782008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4979
4980 * xterm.c (x_underline_minimum_display_offset): New var.
4981 (x_draw_glyph_string): Use it.
4982 (syms_of_xterm): Declare it.
4983
49842008-06-10 Chong Yidong <cyd@stupidchicken.com>
4985
4986 * font.c (font_parse_fcname): Accept GTK-style font names too.
4987
49882008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4989
4990 * dired.c (file_name_completion): Don't return t if the match is exact
4991 but with different capitalization.
4992 * minibuf.c (Ftry_completion): Simplify.
4993
4994 * window.c (Vwindow_point_insertion_type): New var.
4995 (set_window_buffer): Use it.
4996 (syms_of_window): Init and export it to Lisp.
4997
49982008-06-10 Kenichi Handa <handa@m17n.org>
4999
5000 * font.h (font_intern_prop): Prototype adjusted.
5001
5002 * font.c (font_intern_prop): New arg force_symbol.
5003 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5004 Adjust for the change of font_intern_prop.
5005
5006 * ftfont.c (ftfont_pattern_entity):
5007 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5008 (w32_registry):
5009 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5010 the change of font_intern_prop.
5011
50122008-06-09 Juanma Barranquero <lekktu@gmail.com>
5013
5014 * w32menu.c (digest_single_submenu): Declare extern.
5015
50162008-06-09 Jason Rumney <jasonr@gnu.org>
5017
5018 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5019
5020 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5021 (parse_single_submenu): Remove.
5022 (digest_single_submenu): Remove.
5023 (syms_of_w32menu): Don't initialise variables that have moved
5024 to menu.c.
5025 (set_frame_menubar): Sync with version in xmenu.c.
5026 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5027
5028 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5029 Make static again.
5030
50312008-06-09 Jason Rumney <jasonr@gnu.org>
5032
5033 Changes to w32 files related to the move of common menu code
5034 to menu.c on 2008-06-08 by Chong Yidong.
5035
5036 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5037 defs to w32gui.h.
5038 (single_keymap_panes, push_menu_item, push_menu_pane):
5039 Make globally visible.
5040
5041 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5042 (local_free, malloc_widget_value, free_widget_value)
5043 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5044 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5045 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5046 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5047 (menu_items, menu_items_allocated, menu_items_used)
5048 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5049 (init_menu_items, finish_menu_items, discard_menu_items)
5050 (grow_menu_items, push_submenu_start, push_submenu_end)
5051 (push_left_right_boundary, push_menu_pane, push_menu_item)
5052 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5053 (free_menubar_widget_tree_value, parse_single_submenu)
5054 (update_submenu_strings): Remove functions.
5055 (xmalloc_widget_value): Remove and declare extern.
5056
5057 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5058 (OBJ1): Build it.
5059
5060 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5061 (local_heap, local_alloc, local_free, malloc_widget_value)
5062 (free_widget_value): Define here.
5063
50642008-06-09 Kenichi Handa <handa@m17n.org>
5065
5066 * font.h (Qascii_0): Extern it.
5067
5068 * font.c (Qascii_0): New variable.
5069 (syms_of_font): DEFSYM it.
5070 (font_open_by_name): If the registry "iso8859-1" fails, try also
5071 "ascii-0".
5072
5073 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5074
50752008-06-08 Kenichi Handa <handa@m17n.org>
5076
5077 * .gdbinit (xfont): New command.
5078
50792008-06-08 Andreas Schwab <schwab@suse.de>
5080
5081 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5082 * Makefile.in (menu.o): Update dependencies.
5083
5084 * Makefile.in (obj): Always add menu.o.
5085 * emacs.c (main): Always call syms_of_menu.
5086 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5087
50882008-06-08 Chong Yidong <cyd@stupidchicken.com>
5089
5090 * Makefile.in: Compile menu.c.
5091
5092 * lisp.h: Declare syms_of_menu.
5093
5094 * emacs.c (main): Call syms_of_menu.
5095
5096 * keyboard.h: Relocate platform-independent menu definitions from
5097 xmenu.c.
5098
5099 * menu.c: New file. Relocate platform-independent menu
5100 definitions from xmenu.c. Suggested by Adrian Robert.
5101
5102 * xmenu.c: Remove platform-independent menu definitions.
5103 (menu_items menu_items_inuse, menu_items_allocated)
5104 (menu_items_used, menu_items_n_panes)
5105 (menu_items_submenu_depth): Move to keyboard.h.
5106 (init_menu_items, finish_menu_items, unuse_menu_items)
5107 (discard_menu_items, restore_menu_items, save_menu_items)
5108 (grow_menu_items, push_submenu_start, push_submenu_end)
5109 (push_left_right_boundary, push_menu_pane, push_menu_item)
5110 (keymap_panes, single_keymap_panes, single_menu_item)
5111 (list_of_panes, list_of_items, find_and_call_menu_selection)
5112 (xmalloc_widget_value, free_menubar_widget_value_tree)
5113 (parse_single_submenu, digest_single_submenu)
5114 (update_submenu_strings): Move to menu.c.
5115
51162008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5117
5118 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5119
51202008-06-06 Miles Bader <miles@gnu.org>
5121
5122 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5123 face, not frame default.
5124
51252008-06-05 Martin Rudalics <rudalics@gmx.at>
5126
5127 * window.c (pop_up_windows, pop_up_frames)
5128 (display_buffer_reuse_frames, Vpop_up_frame_function)
5129 (Vdisplay_buffer_function, Veven_window_heights)
5130 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5131 (Vspecial_display_function, Vsame_window_buffer_names)
5132 (Vsame_window_regexps, split_height_threshold)
5133 (Vsplit_window_preferred_function): Move those vars to window.el.
5134 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5135 (Fdisplay_buffer): Move those functions to window.el.
5136 (syms_of_window): Remove corresponding declarations.
5137 (display_buffer): New function.
5138 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5139 * dispnew.c (Flast_nonminibuf_frame): New function.
5140 * buffer.c (Fpop_to_buffer): Move to window.el.
5141
51422008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5143
5144 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5145
51462008-06-05 Kenichi Handa <handa@m17n.org>
5147
5148 * coding.c (detect_coding): Fix previous change.
5149 (detect_coding_system): Likewise.
5150
51512008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5152
5153 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5154
5155 * keymap.c (Vminibuffer_local_filename_must_match_map):
5156 Rename from Vminibuffer_local_must_match_filename_map.
5157 (syms_of_keymap):
5158 * minibuf.c (Fcompleting_read): Adjust accordingly.
5159 * commands.h: Rename declaration as well.
5160
51612008-06-05 Kenichi Handa <handa@m17n.org>
5162
5163 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5164 family name.
5165 (Ffont_put): Likewise.
5166
5167 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5168 current font-spec.
5169
5170 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5171 is unspecified.
5172
5173 * xfaces.c (realize_x_face): If the font-related face attributes
5174 are the same as those of default face, realize a new fontset from
5175 default->fontset.
5176 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5177
51782008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5179
5180 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5181 (move_it_in_display_line): New wrapper.
5182
5183 * window.c (window_scroll_pixel_based_preserve_x)
5184 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5185 (window_scroll_pixel_based, window_scroll_line_based):
5186 Use them to preserve column positions.
5187 (syms_of_window): Initialize them.
5188
5189 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5190 (HPOS . VPOS) pair.
5191
5192 * dispextern.h (move_it_in_display_line): Declare.
5193
51942008-06-05 Juanma Barranquero <lekktu@gmail.com>
5195
5196 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5197 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5198 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5199
52002008-06-04 Juanma Barranquero <lekktu@gmail.com>
5201
5202 * window.c (Fset_window_parameter): Doc fix.
5203 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5204
52052008-06-04 Joakim Verona <joakim@verona.se>
5206
5207 * window.h (struct window): Add new member window_parameters.
5208
5209 * window.c (Fwindow_parameters, Fwindow_parameter)
5210 (Fset_window_parameter): New defuns.
5211 (syms_of_window): Defsubr the new defuns.
5212 (make_window): Initialize window_parameters to nil.
5213
52142008-06-04 John Paul Wallington <jpw@pobox.com>
5215
5216 * eval.c (Fdefmacro): Doc fix.
5217
52182008-06-04 Kenichi Handa <handa@m17n.org>
5219
5220 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5221 Be sure to call setup_coding_system when we find a proper coding system.
5222 (detect_coding_system): Fix handling of coding->head_ascii.
5223
52242008-06-03 Andreas Schwab <schwab@suse.de>
5225
5226 * font.c (font_prop_validate_spacing): Fix last change.
5227
52282008-06-03 Kenichi Handa <handa@m17n.org>
5229
5230 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5231 (font_parse_fcname): Fix handling of unknown key.
5232
5233 * xfont.c (xfont_list): Try an alias.
5234
5235 * charset.c (char_charset): Return NULL if the arg charset_list is
5236 specified and C doesn't belong to any of them.
5237
52382008-06-02 Chip Coldwell <coldwell@redhat.com>
5239
5240 * font.c (font_pixel_size): Don't take cdr of an integer.
5241
52422008-06-02 Jim Meyering <meyering@redhat.com>
5243
5244 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5245 * alloc.c (xfree): Return right away for a NULL arg.
5246 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5247 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5248 * mac.c (create_apple_event_from_event_ref): Likewise.
5249 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5250 Likewise.
5251 * doprnt.c (doprnt1): Likewise.
5252 * frame.c (frame): Likewise.
5253 * keyboard.c (wipe_kboard): Likewise.
5254 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5255 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5256 * term.c (tty_default_color_capabilities, maybe_fatal)
5257 (delete_tty): Likewise.
5258 * w16select.c (string): Likewise.
5259 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5260 * w32bdf.c (w32_free_bdf_font): Likewise.
5261 * w32fns.c (w32_unload_font): Likewise.
5262 * w32font.c (w32font_close): Likewise.
5263 * window.c (size_window): Likewise.
5264 * xselect.c (receive_incremental_selection): Likewise.
5265 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5266 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5267 * w32.c (stat): Likewise.
5268
5269 Remove useless if-before-free tests.
5270 * editfns.c (Fset_time_zone_rule): Likewise.
5271 * lread.c (nosuffix): Likewise.
5272 * ralloc.c (get_bloc): Likewise.
5273 * regex.c (reg_free): Likewise.
5274 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5275 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5276 * xsmfns.c (smc_save_yourself_CB): Likewise.
5277
52782008-06-02 Kenichi Handa <handa@m17n.org>
5279
5280 * font.c (font_find_for_lface): Handle float font size.
5281 (font_open_for_lface): Likewise.
5282
5283 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5284 comparing the properties.
5285
52862008-06-01 Jason Rumney <jasonr@gnu.org>
5287
5288 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5289 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5290 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5291 Don't add empty script list.
5292 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5293
52942008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5295
5296 * Makefile.in (dot, dotdot): Remove, update users.
5297 ".." has been used elsewhere in the file for a long time.
5298 (LIBXT_STATIC): Remove conditional based on unused variable.
5299
53002008-06-01 Miles Bader <miles@gnu.org>
5301
5302 * xfaces.c (Vface_remapping_alist): New variable.
5303 (syms_of_xfaces): Initialize it.
5304 (enum named_merge_point_kind): New type.
5305 (struct named_merge_point): Add `named_merge_point_kind' field.
5306 (push_named_merge_point): Make cycle detection respect different
5307 named-merge-point kinds.
5308 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5309 Remove face-name alias resolution.
5310 (lface_from_face_name): New definition using
5311 `lface_from_face_name_no_resolve'.
5312 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5313 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5314 (get_lface_attributes): New definition that layers face-remapping on
5315 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5316 (lookup_basic_face): New function.
5317 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5318 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5319 `get_lface_attributes'.
5320 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5321 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5322 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5323
5324 * xdisp.c (init_iterator): Pass base_face_id through
5325 `lookup_basic_face' when we actually use it as a face-id.
5326 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5327 DEFAULT_FACE_ID.
5328
5329 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5330 lookup the initial face-id.
5331
5332 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5333
53342008-06-01 Juanma Barranquero <lekktu@gmail.com>
5335
5336 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5337 (Fremove_text_properties): Fix typos in docstrings.
5338
53392008-05-31 Kenichi Handa <handa@m17n.org>
5340
5341 * font.c (font_list_entities): Fix the car part of data to be
5342 stored in the cache.
5343
5344 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5345
53462008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5347
5348 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5349 Add a `test' argument so another predicate than `equal' can be used.
5350 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5351 (map_char_table): Remove unused vars `c' and `i'.
5352 * lisp.h (Foptimize_char_table): Adjust declaration.
5353 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5354
53552008-05-30 Kenichi Handa <handa@m17n.org>
5356
5357 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5358 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5359 defined.
5360
53612008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5362
5363 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5364 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5365 frame-local settings for the same variable.
5366
53672008-05-30 Kenichi Handa <handa@m17n.org>
5368
5369 * fontset.c (Ffont_info): Move to font.c.
5370 (syms_of_fontset): Delete defsubr of Sfont_info.
5371
5372 * font.c (font_style_to_value, font_score): Delete casting of the
5373 args to xstcasecmp.
5374 (register_font_driver): Increment num_font_drivers only when
5375 registering the driver globally.
5376 (Ffont_info): Move from fontset.c. Handle a font object too.
5377 (syms_of_font): Defsubr Sfont_info.
5378
53792008-05-29 Kenichi Handa <handa@m17n.org>
5380
5381 * coding.h (enum define_coding_utf8_arg_index): New enum.
5382 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5383 coding_attr_utf_bom.
5384 (enum utf_bom_type): Rename from utf_16_bom_type.
5385 (struct utf_16_spec): Adjust for the above change.
5386 (struct coding_system): Add utf_8_bom in `spec' union.
5387
5388 * coding.c (CODING_UTF_8_BOM): New macro.
5389 (enum coding_category): Delete coding_category_utf_8, add
5390 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5391 coding_category_utf_8_sig.
5392 (CATEGORY_MASK_UTF_8): Delete it.
5393 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5394 (CATEGORY_MASK_UTF_8_SIG): New macros.
5395 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5396 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5397 CATEGORY_MASK_UTF_8_SIG.
5398 (CATEGORY_MASK_UTF_8): New macro.
5399 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5400 (detect_coding_utf_8): Check BOM.
5401 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5402 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5403 (encode_coding_utf_16): Likewise.
5404 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5405 (detect_coding, detect_coding_system): Handle utf-8-auto.
5406 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5407 (syms_of_coding): Fix setting up of Vcoding_category_table.
5408
54092008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5410
5411 * process.c (Faccept_process_output): If `millisec' is non-nil,
5412 `seconds' default to 0.
5413 (wait_reading_process_output): Also return non-nil if we read output
5414 from a non-running process.
5415
54162008-05-29 Jason Rumney <jasonr@gnu.org>
5417
5418 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5419 `raster' specified.
5420 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5421 in the uniscribe backend, but disallow any font that has no
5422 unicode subrange support.
5423
54242008-05-29 Juanma Barranquero <lekktu@gmail.com>
5425
5426 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5427 Fix typos in docstrings.
5428
54292008-05-29 Kenichi Handa <handa@m17n.org>
5430
5431 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5432 (Fx_family_fonts): Set frame correctly.
5433
54342008-05-28 Jason Rumney <jasonr@gnu.org>
5435
5436 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5437
54382008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5439
5440 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5441 calling build_annotations.
5442
54432008-05-28 Juanma Barranquero <lekktu@gmail.com>
5444
5445 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5446 (Fencode_coding_string):
5447 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5448 <latin-extra-code-table>: Fix typos in docstrings.
5449 (syms_of_coding) <coding-system-alist>: Doc fix.
5450 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5451
54522008-05-28 Kenichi Handa <handa@m17n.org>
5453
5454 * fontset.c (Ffont_info): Don't call font_close_object.
5455
5456 * font.c (font_parse_family_registry): Use Ffont_put to validate
5457 foundry and family.
5458 (font_delete_unmatched): Don't check spacing.
5459 (font_list_entities): Add spacing to the spec to list fonts.
5460
5461 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5462 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5463
5464 * coding.c (encode_coding_raw_text): Fix previous change.
5465 (encode_coding_object): When the dst_object is a buffer and is
5466 different from src_object, move gap to PT.
5467
54682008-05-27 Chong Yidong <cyd@stupidchicken.com>
5469
5470 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5471
54722008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5473
5474 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5475 all branches. Compute it differently.
5476
5477 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5478
54792008-05-27 Juanma Barranquero <lekktu@gmail.com>
5480
5481 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5482 into "else if () ... else ...".
5483
54842008-05-27 Jason Rumney <jasonr@gnu.org>
5485
5486 * w32font.c (w32font_open_internal): Determine if glyph indices
5487 are likely to work here.
5488
54892008-05-27 Chong Yidong <cyd@stupidchicken.com>
5490
5491 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5492 draw overlap glyphs with appropriate highlighting.
5493
54942008-05-27 Kenichi Handa <handa@m17n.org>
5495
5496 * xfont.c (xfont_open): Fix calculation of font->average_width.
5497
54982008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5499
5500 * casefiddle.c (casify_object): Try to guess better whether the
5501 argument is a byte or a char.
5502
55032008-05-26 Andreas Schwab <schwab@suse.de>
5504
5505 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5506 Always send multiples of format size.
5507
5508 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5509
55102008-05-26 Jason Rumney <jasonr@gnu.org>
5511
5512 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5513 (compute_metrics): Don't set failure if we just cleared the cache.
5514 (w32_weight_table): Remove unused variable.
5515 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5516 backwards compatibility.
5517
55182008-05-25 Kenichi Handa <handa@m17n.org>
5519
5520 * w32term.c (x_draw_glyph_string):
5521 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5522
5523 * xfaces.c: Delete unused function prototypes.
5524 (xstrlwr, font_frame): Delete them.
5525 (clear_face_cache): Delete unused variable.
5526
5527 * xftfont.c (xftfont_open): Delete unused variable.
5528 If underline_thickness is not 1, adjust underline_position.
5529
5530 * ftxfont.c (ftxfont_open): Delete unused variable.
5531
5532 * fontset.c (face_for_char): Optimize for the case of no charset
5533 property.
5534
5535 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5536 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5537 (otf_open, font_otf_capability, generate_otf_features)
5538 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5539 Comment out by surrounding "#if 0" and "#endif" for the moment.
5540 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5541 (syms_of_font): Codes for accessing above commented out.
5542
55432008-05-24 Eli Zaretskii <eliz@gnu.org>
5544
5545 * w32proc.c: Include dispextern.h.
5546
5547 * w32.c: Include dispextern.h.
5548
55492008-05-23 Juanma Barranquero <lekktu@gmail.com>
5550
5551 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5552 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5553 Fix typos in docstrings.
5554
55552008-05-23 Jason Rumney <jasonr@gnu.org>
5556
5557 * xsmfns.c: Remove includes that are already included by config.h.
5558
55592008-05-23 Kenichi Handa <handa@m17n.org>
5560
5561 * charset.c (Qemacs, charset_emacs): New variables.
5562 (char_charset): Fix for non-Unicode characters.
5563 (syms_of_charset): Define charset_emacs.
5564
5565 * w32term.c (x_draw_glyph_string): Be sure to update
5566 s->underline_thickness and s->underline_position. Be sure to draw
5567 underline within the current line area.
5568
5569 * xterm.c (x_draw_glyph_string): Be sure to update
5570 s->underline_thickness and s->underline_position. Be sure to draw
5571 underline within the current line area.
5572
5573 * fontset.c: Delete unused variables and add casting for char *
5574 throughout the file.
5575 (fontset_font): Try the fallback fonts of the current fontset
5576 before consulting the default fontset.
5577
5578 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5579
5580 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5581
55822008-05-22 Jason Rumney <jasonr@gnu.org>
5583
5584 * font.c: Don't include strings.h.
5585
5586 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5587
5588 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5589 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5590 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5591 to call xstrcasecmp.
5592
5593 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5594
5595 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5596
5597 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5598
5599 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5600
56012008-05-22 Kenichi Handa <handa@m17n.org>
5602
5603 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5604
5605 * font.c (font_prop_validate_style): Adjust for the format
5606 change of font_style_table.
5607
5608 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5609 two args.
5610
5611 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5612 two args.
5613
56142008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5615
5616 * minibuf.c (keys_of_minibuf): Delete.
5617 * lisp.h (keys_of_minibuf): Delete.
5618 * emacs.c (main): Don't call keys_of_minibuf.
5619
56202008-05-22 Kenichi Handa <handa@m17n.org>
5621
5622 * ftfont.c (ftfont_resolve_generic_family): Rename from
5623 ftfont_list_generic_family. Return a single family for each
5624 generic family.
5625 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5626 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5627 Call font_add_log.
5628 (ftfont_match): Call font_add_log.
5629
5630 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5631 (FONT_DEBUG): Define it.
5632 (font_add_log): Extern it.
5633 (font_assert): Rename from xassert.
5634
5635 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5636 (xfont_list_family): Call font_add_log.
5637 (xfont_match): Likewise.
5638 (memq_no_quit): Delete.
5639
5640 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5641 call of Ffont_xlfd_name.
5642
5643 * xfaces.c (struct table_entry, slant_table, weight_table)
5644 (swidth_table): Move to font.c.
5645
5646 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5647 xassert are changed to font_assert. Delete many unused variables.
5648 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5649 New variables.
5650 (struct table_entry): Move from xfaces.c and modified.
5651 (weight_table, slant_table, width_table): Move from xfaces.c and
5652 contents adjusted for the change of struct table_entry.
5653 (font_style_to_value, font_style_symbolic): Adjust for the
5654 format change of font_style_table.
5655 (font_parse_family_registry): Don't overwrite existing foundry and
5656 family of font_spec.
5657 (font_score): Fix calculation of diff for sizes.
5658 (font_sort_entites): Call font_add_log.
5659 (font_delete_unmatched): Return a newly created list.
5660 (font_list_entities): Fix previous change. Call font_add_log.
5661 (font_matching_entity, font_open_entity, font_close_entity):
5662 Call font_add_log.
5663 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5664 (Finternal_set_font_style_table): Delete.
5665 (BUILD_STYLE_TABLE): New macro.
5666 (build_style_table): New function.
5667 (Vfont_log, font_log_env_checked): New variables.
5668 (font_add_log): New function.
5669 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5670 Declare Lisp variables "font-weight-table", "font-slant-table",
5671 "font-width-table", and "font-log". Initialize font_style_table.
5672
56732008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5674
5675 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5676
56772008-05-21 Seiji Zenitani <zenitani@mac.com>
5678 Ryo Yoshitake <ryo@shiftmode.net>
5679
5680 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5681 (Vframe_alpha_lower_limit): New variable.
5682 (x_set_alpha): New function.
5683
5684 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5685
5686 * xfns.c (x-create-frame, Qalpha):
5687 Initialize the frame parameter `alpha'.
5688 * xterm.c (OPAQUE, OPACITY): New.
5689 (x_set_frame_alpha): New function.
5690 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5691
5692 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5693 * w32fns.c (w32_frame_parm_handlers): Likewise.
5694
56952008-05-20 Jason Rumney <jasonr@gnu.org>
5696
5697 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5698 truetype fonts to opentype list.
5699
57002008-05-20 Juanma Barranquero <lekktu@gmail.com>
5701
5702 * fontset.c (Ffontset_info): Doc fix.
5703 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5704 <ignore-relative-composition>: Fix typos in docstrings.
5705
5706 * font.c (syms-of-font) <font-encoding-alist>:
5707 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5708 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5709 (Ffont_otf_alternates): Doc fixes.
5710
57112008-05-20 Kenichi Handa <handa@m17n.org>
5712
5713 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5714 font.h through out the file.
5715 (FONT_DRIVERS): Rename from FONTOBJ.
5716 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5717 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5718
5719 * emacs.c (main): Call syms_of_font unconditionally.
5720
5721 * font.h (find_font_encoding): Extern it.
5722
5723 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5724 fontset.c.
5725 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5726 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5727 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5728 only when HAVE_WINDOW_SYSTEM is defined.
5729 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5730 when HAVE_WINDOW_SYSTEM is defined.
5731
5732 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5733 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5734
5735 * xfaces.c: Include font.h unconditionally.
5736 (merge_face_ref, merge_face_vectors)
5737 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5738
57392008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5740
5741 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5742 indirect_variable.
5743 * eval.c (lisp_indirect_variable): New fun.
5744 (Fuser_variable_p): Use it.
5745
57462008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5747
5748 * lisp.h (indirect_variable):
5749 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5750 Use Lisp_Symbol pointers rather than Lisp_Object.
5751 Adjust callers.
5752 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5753 To this end, change calling-convention.
5754
5755 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5756 if some non-hidden buffers are selected by string&pred.
5757
57582008-05-19 Chong Yidong <cyd@stupidchicken.com>
5759
5760 * process.c (wait_reading_process_output): Always check status
5761 when in batch mode.
5762
57632008-05-19 Kenichi Handa <handa@m17n.org>
5764
5765 * font.c (font_list_entities): Fix handling of cache.
5766 (font_matching_entity): Likewise.
5767
5768 * ftfont.c (cs_iso8859_1): Delete.
5769 (ft_face_cache): New variable.
5770 (struct ftfont_info): New member fc_charset_idx.
5771 (ftfont_build_basic_charsets): Delete.
5772 (fc_charset_table): New variable.
5773 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5774 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5775 Callers changed.
5776 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5777 (ftfont_spec_pattern): New argument fc_charset_idx.
5778 Check registry more rigidly. Change callers.
5779 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5780 change of :font-entity property of the font.
5781
5782 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5783 property of the font.
5784
57852008-05-18 Juanma Barranquero <lekktu@gmail.com>
5786
5787 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5788 (Funencodable_char_position, Fcheck_coding_systems_region)
5789 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5790 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5791 (Ffind_operation_coding_system, Fset_coding_system_priority)
5792 (Fcoding_system_eol_type): Doc fixes.
5793
57942008-05-17 Glenn Morris <rgm@gnu.org>
5795
5796 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5797
57982008-05-16 Eli Zaretskii <eliz@gnu.org>
5799
5800 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5801 and st_gid.
5802
5803 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5804 HAVE_WINDOW_SYSTEM is not defined.
5805
5806 * xfaces.c (merge_face_ref, merge_face_vectors)
5807 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5808 HAVE_WINDOW_SYSTEM is defined.
5809 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5810
58112008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5812
5813 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5814
58152008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5816
5817 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5818
58192008-05-15 Kenichi Handa <handa@m17n.org>
5820
5821 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5822 preference.
5823
58242008-05-15 Glenn Morris <rgm@gnu.org>
5825
5826 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5827
58282008-05-15 Chong Yidong <cyd@stupidchicken.com>
5829
5830 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5831 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5832
5833 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5834
58352008-05-15 Kenichi Handa <handa@m17n.org>
5836
5837 * ftfont.c (ftfont_list): Downcase family name to check generic
5838 families.
5839
5840 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5841 font-spec for QCfont value.
5842
5843 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5844 buffer. Check the return value of it.
5845
58462008-05-14 Jason Rumney <jasonr@gnu.org>
5847
5848 * w32term.c (w32_get_glyph_overhangs): Remove.
5849 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5850
58512008-05-14 Kenichi Handa <handa@m17n.org>
5852
5853 * font.c (font_prop_validate): Make nil a valid value.
5854 (font_clear_cache): Check if the cached vector of entities is nil
5855 or not.
5856
58572008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5858
5859 * emacs.c (main_thread): Conditionalize on
5860 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5861 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5862
5863 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5864 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5865 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5866
58672008-05-14 Kenichi Handa <handa@m17n.org>
5868
5869 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5870 has no corresponding coding system.
5871
58722008-05-14 Jason Rumney <jasonr@gnu.org>
5873
5874 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5875
5876 * w32font.h (w32font_open_internal): Update declaration.
5877
5878 * w32font.c (w32font_open_internal): Change last argument from
5879 w32font_info struct to font object. Fill in font object from
5880 font_entity. Get Outline metrics if possible. Use them to
5881 calculate underline position and thickness. Use xlfd name as name
5882 property. Don't set codepage.
5883 (w32font_open): Pass font_object to w32font_open_internal. Don't
5884 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5885 (w32font_draw): Use s->font.
5886 (clear_cached_metrics): Don't clear non-existent blocks.
5887
5888 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5889 font was not found.
5890 (x_draw_glyph_string): Use underline position and thickness from font.
5891
5892 * w32uniscribe.c (uniscribe_open): Pass font_object to
5893 w32font_open_internal.
5894
58952008-05-14 Kenichi Handa <handa@m17n.org>
5896
5897 These changes are to delete all legacy font-handling codes, and
5898 make Emacs use only font-backends.
5899
5900 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5901 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5902
5903 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5904
5905 * charset.h (Vcharset_non_preferred_head)
5906 (Vcurrent_iso639_language): Extern them.
5907
5908 * charset.c (Vcharset_non_preferred_head): New variable.
5909 (Vcurrent_iso639_language): New variable.
5910 (syms_of_charset): Declare it as a Lisp variable.
5911 (char_charset): Don't check non preferred charsets. As a last
5912 resort, return charset_unicode.
5913 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5914
5915 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5916 conditionals. Don't check enable_font_backend. Delete all codes
5917 used only when USE_FONT_BACKEND is not defined.
5918
5919 * dispextern.h (struct glyph_string): Change type of `font' to
5920 `struct font *'.
5921 (struct glyph_string): New member underline_position and
5922 underline_thickness.
5923 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5924 (struct face): Change type of `font' to `struct font *'. Remove
5925 members `font_name', `font_info_id'.
5926 (per_char_metric, encode_char): Delete externs.
5927 (calc_pixel_width_or_height): Adjust the prototype.
5928
5929 * emacs.c (enable_font_backend): Delete extern.
5930 (main): Don't set enable_font_backend. Don't check the command
5931 line argument "-disable-font-backend".
5932
5933 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5934 (enum font_property_index): New members FONT_DPI_INDEX,
5935 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5936 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5937 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5938 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5939 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5940 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5941 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5942 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5943 (struct font_spec, struct font_entity): New structs.
5944 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5945 (struct font): Many members from old "struct font_info" moved to
5946 here. Members font and entity deleted.
5947 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5948 the new font-related objects.
5949 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5950 (CHECK_FONT_GET_OBJECT): Likewise.
5951 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5952 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5953 (struct font_driver): New members case_sensitive anc check. Type
5954 of the member list and open changed.
5955 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5956 (font_symbolic_width, font_find_object, font_get_spec)
5957 (font_set_lface_from_name): Delete extern.
5958 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5959
5960 * font.c: Include <strings.h>.
5961 (enable_font_backend): Delete it.
5962 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5963 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5964 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5965 (null_string): Delete it.
5966 (null_vector): Make it static.
5967 (font_family_alist): Delete it.
5968 (Qnormal): Extern it.
5969 (QCextra, QClanguage): Delete it.
5970 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5971 (font_make_spec, font_make_entity, font_make_object)
5972 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5973 the string. Callers changed.
5974 (font_pixel_size): Adjusted for the format change of font-related
5975 objects.
5976 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5977 (font_style_to_value, font_style_symbolic): New function.
5978 (build_font_family_alist): Delete it.
5979 (font_registry_charsets): Use Fassoc_string instead of
5980 assq_no_quit.
5981 (font_prop_validate_symbol): Don't return null_string.
5982 (font_prop_validate_style): Adjusted for the change of
5983 style-related values in a font vector.
5984 (font_property_table): Delete entries for QClanguage and
5985 QCantialias, add entries for QCavgwidth.
5986 (get_font_prop_index): Delete the 2nd argument FROM.
5987 (font_prop_validate): Arguments changed.
5988 (font_put_extra): Adjusted for the change of font-related objects.
5989 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5990 (font_parse_fcname, font_unparse_fcname)
5991 (font_prepare_composition): Likewise.
5992 (font_parse_family_registry): Renamed from font_merge_old_spec.
5993 (otf_open): Delete the 1st arg entity.
5994 (font_otf_capability): Adjusted for the above change.
5995 (font_score): New arg alternate_families. Adjusted for the change
5996 of font-related objects.
5997 (font_sort_entites): New arg best_only.
5998 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5999 Delete them.
6000 (font_match_p): Check alternate families.
6001 (font_find_object): Delete it.
6002 (font_check_object): New function.
6003 (font_clear_cache): Adjusted for the change of font-related objects.
6004 (font_delete_unmatched): New arg.
6005 (font_list_entities): Call font_driver->list with a spec that
6006 doesn't specify style-related properties.
6007 (font_matching_entity): Arguments changed. Caller changed.
6008 (font_open_entity): Adjusted for the change of font-related objects.
6009 (font_close_object, font_has_char, font_encode_char)
6010 (font_get_name, font_get_spec): Likewise.
6011 (font_spec_from_name, font_clear_prop, font_update_lface):
6012 New functions.
6013 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6014 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6015 (font_at): Adjusted for the change of font-related objects.
6016 (font_range): New function.
6017 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6018 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6019 (Fcopy_font_spec, Fmerge_font_spec): New function.
6020 (Ffont_family_list): Renamed from list-families.
6021 (Finternal_set_font_style_table): Arguments changed.
6022 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6023 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6024 change of font-related objects.
6025 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6026
6027 * fontset.h (struct font_info): Delete it. Most members go to
6028 struct font.
6029 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6030 (enum FONT_SPEC_INDEX): Delete it.
6031 (font_info, list_fonts_func, load_font_func, query_font_func)
6032 (set_frame_fontset_func, find_ccl_program_func)
6033 (get_font_repertory_func, new_fontset_from_font_name): Delete
6034 externs.
6035 (fontset_from_font_name): Extern it.
6036 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6037 (FONT_INFO_FROM_FACE): Deleted.
6038 (face_for_font): Adjust prototype.
6039
6040 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6041 conditionals. Don't check enable_font_backend. Delete all codes
6042 used only when USE_FONT_BACKEND is not defined.
6043 (get_font_info_func, list_font_func, load_font_func)
6044 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6045 (get_font_repertory_func): Delete them.
6046 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6047 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6048 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6049 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6050 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6051 (fontset_compare_rfontdef): New function.
6052 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6053 rfont-defs by qsort. Adjusted for the change of font-group vector.
6054 (load_font_get_repertory): Deleted.
6055 (fontset_find_font): Use new macros to ref/set elements of
6056 font-def and rfont-def.
6057 (fontset_font): Fix the timing of remembering that no font for C.
6058 (free_face_fontset): Do nothing if the face has no fontset.
6059 (face_suitable_for_char_p): Use new macros to ref/set elements of
6060 rfont-def.
6061 (face_for_char): Likewise. Call face_for_char with font_object.
6062 (fs_load_font): Delete. Delete #pragma surrounding it.
6063 (fs_query_fontset): Use strcasecmp instead of strcmp.
6064 (generate_ascii_font_name): Adjusted for the format change of
6065 font-spec.
6066 (Fset_fontset_font): Likewise. Use new macros to set elements of
6067 font-def.
6068 (Fnew_fontset): Use font_unparse_xlfd to generate
6069 FONTSET_ASCII (fontset).
6070 (new_fontset_from_font_name): Deleted.
6071 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6072 a fontset is already created for the font. FIx updating of
6073 Vfontset_alias_alist.
6074 (fontset_ascii_font): Deleted.
6075 (Ffont_info): Adjusted for the format change of font-spec.
6076 (Finternal_char_font): Likewise.
6077 (Ffontset_info): Likewise.
6078 (syms_of_fontset): Don't check load_font_func.
6079
6080 * fns.c (internal_equal): Handle PREV_FONT.
6081
6082 * frame.h: Delete USE_FONT_BACKEND conditional.
6083
6084 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6085 conditionals. Don't check enable_font_backend. Delete all codes
6086 used only when USE_FONT_BACKEND is not defined.
6087 (x_set_font): Call x_new_font, not x_new_fontset2.
6088 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6089 already set for the frame.
6090
6091 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6092 a font-entity by font_make_entity. Use font_intern_prop instead
6093 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6094 font property. If a font is scalable, set avgwidth property to 0.
6095 Set font-entity property by font_put_extra.
6096 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6097 (ffont_driver): Adjusted for the change of struct font_driver.
6098 (ftfont_spec_pattern): New function.
6099 (ftfont_list): Return a list, not vector.
6100 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6101 (ftfont_list_family): Don't downcase names.
6102 (ftfont_free_entity): Deleted.
6103 (ftfont_open): Return a font-object. Adjusted for the change of
6104 struct font. Get underline_thickness and underline_position from
6105 font property. Don't update dpyinfo->smallest_font_height and
6106 dpyinfo->smallest_char_width.
6107 (ftfont_close): Don't free `struct font'.
6108 (ftfont_has_char): Adjusted for the format change of font-entity.
6109 (ftfont_encode_char, ftfont_text_extents): Likewise.
6110
6111 * ftxfont.c (ftxfont_list): Return a list, not vector.
6112 (ftxfont_open): Return a font-object. Adjusted for the change of
6113 struct font. Get underline_thickness and underline_position from
6114 font property. Don't update dpyinfo->smallest_font_height and
6115 dpyinfo->smallest_char_width.
6116 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6117 (ftxfont_draw): Adjusted for the change of struct font.
6118
6119 * image.c (image_ascent): Don't include "charset.h". Include
6120 "character.h" and "font.h".
6121
6122 * lisp.h (enum pvec_type): New member PREV_FONT.
6123 (Fassoc_string): EXFUN it.
6124
6125 * print.c: Include font.h.
6126 (print_object): Handle font-related objects.
6127
6128 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6129 conditionals. Don't check enable_font_backend. Delete all codes
6130 used only when USE_FONT_BACKEND is not defined.
6131 (handle_auto_composed_prop): Do nothing if it->f is not on a
6132 window system. Check how many following characters can be
6133 displayed by the same font.
6134 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6135 'struct font *'.
6136 (get_char_face_and_encoding): Assign the whole encoding task to
6137 the `encode-char' method of a font driver.
6138 (fill_composite_glyph_string): Adjusted for the change of `struct
6139 face' and `struct glyph_string'.
6140 (fill_glyph_string): Likewise.
6141 (get_per_char_metric): Arguments changed.
6142 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6143 and `struct glyph_string'.
6144 (produce_stretch_glyph, calc_line_height_property)
6145 (x_produce_glyphs): Likewise.
6146
6147 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6148 conditionals. Don't check enable_font_backend. Delete all codes
6149 used only when USE_FONT_BACKEND is not defined. Use
6150 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6151 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6152 (Qp): Extern them.
6153 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6154 Deleted.
6155 (struct font_name): Deleted.
6156 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6157 (compare_fonts_by_sort_order): New function.
6158 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6159 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6160 Deleted.
6161 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6162 compare_fonts_by_sort_order.
6163 (Fx_font_family_list): Call Ffont_family_list.
6164 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6165 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6166 (face_symbolic_slant, face_symbolic_swidth)
6167 (split_font_name_into_vector, build_font_name_from_vector)
6168 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6169 (font_rescale_ratio, split_font_name, build_font_name)
6170 (free_font_names, sort_fonts, x_face_list_fonts)
6171 (face_font_available_p, sorted_font_list, cmp_font_names)
6172 (font_list_1, concat_font_list, font_list, remove_duplicates):
6173 Deleted.
6174 (Fx_list_fonts): Use Ffont_list.
6175 (LFACE_AVGWIDTH): Deleted.
6176 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6177 by FONTP.
6178 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6179 (set_lface_from_font_name): Delete it.
6180 (set_lface_from_font): Renamed from
6181 set_lface_from_font_and_fontset. Caller changed. Don't set
6182 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6183 for face.
6184 (merge_face_vectors): Copy font-spec if necessary.
6185 Clear properties of the font-spec if necessary.
6186 (merge_face_ref): Clear properties of the font-spec if necessary.
6187 (Finternal_set_lisp_face_attribute): Likewise.
6188 (set_font_frame_param): Use font_load_for_lface to load a
6189 font-object, and call Fmodify_frame_parameters with it.
6190 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6191 font name by Ffont_xlfd_name.
6192 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6193 QCslant, and QCwidth.
6194 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6195 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6196 Compare fonts by EQ.
6197 (lookup_non_ascii_face): Deleted.
6198 (face_for_font): The 2nd argument changed.
6199 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6200 Check atomic font properties by case insensitive.
6201 (realize_non_ascii_face): Set face->overstrike correctly.
6202 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6203 (dump_realized_face): Get font name from
6204 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6205
6206 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6207 conditionals. Don't check enable_font_backend. Delete all codes
6208 used only when USE_FONT_BACKEND is not defined.
6209 (xic_create_xfontset): Original code deleted and renamed from
6210 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6211 (x_make_gc): Don't set GCFont in GCs.
6212 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6213 opened by "fixed".
6214 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6215 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6216 get_font_repertory_func.
6217
6218 * xfont.c: Include <stdlib.h> and "ccl.h".
6219 (struct xfont_info): New structure.
6220 (xfont_query_font): Deleted.
6221 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6222 moved from xterm.c.
6223 (xfont_driver): Adjusted for the change of struct font_driver.
6224 (compare_font_names): New function.
6225 (xfont_list_pattern): Sort font names case insensitively. Make
6226 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6227 (xfont_list): Return a list, not vector.
6228 (xfont_match): If the font doesn't have QCname property, generate
6229 a name from the other font properties.
6230 (xfont_open): Return a font-object. Adjusted for the change of
6231 struct font. Get underline_thickness and underline_position from
6232 font property. Don't update dpyinfo->smallest_font_height and
6233 dpyinfo->smallest_char_width.
6234 (xfont_close): Don't free struct font.
6235 (xfont_prepare_face): Adjusted for the change of struct font.
6236 (xfont_done_face): Deleted.
6237 (xfont_has_char): Adjusted for the change of struct font.
6238 (xfont_encode_char, xfont_draw): Likewise.
6239 (xfont_check): New function.
6240
6241 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6242 callback function.
6243 (xftfont_match): Adjusted for the format change of font-entity.
6244 (xftfont_open): Adjusted for the format change of font-entity and
6245 font-object. Adjusted for the change of struct font. Return a
6246 font-object. Don't update dpyinfo->smallest_font_height and
6247 dpyinfo->smallest_char_width.
6248 (xftfont_close): Block input while calling XftFontClose.
6249 (xftfont_prepare_face): Don't block input while calling
6250 xftfont_get_colors. Adjusted for the change of struct font.
6251 (xftfont_shape): Return value of error case fixed.
6252
6253 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6254
6255 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6256 conditionals.
6257 (FONT_WIDTH): Return (f)->max_width.
6258 (struct x_display_info): Delete member `font'.
6259 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6260 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6261 (struct x_output): Change type of `font' to `struct font *'.
6262
6263 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6264 conditionals. Don't check enable_font_backend. Delete all codes
6265 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6266 (x_per_char_metric, x_encode_char): Deleted.
6267 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6268 (x_compute_glyph_string_overhangs): Adjusted for the change of
6269 `struct face'.
6270 (x_draw_glyph_string_foreground)
6271 (x_draw_composite_glyph_string_foreground): Likewise.
6272 (x_draw_glyph_string): Likewise. Use font->underline_position and
6273 font->underline_thickness.
6274 (x_new_font): Renamed from x_new_fontset2.
6275 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6276 (x_check_font): Call `check' method of a font driver.
6277 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6278 (x_query_font, x_get_font_repertory): Deleted.
6279 (x_find_ccl_program): Renamed and moved to xfont.c.
6280 (x_redisplay_interface): Adjusted for the change of `struct
6281 redisplay_interface'.
6282
6283 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6284 conditionals. Don't check enable_font_backend. Delete all codes
6285 used only when USE_FONT_BACKEND is not defined. Surround non-used
6286 code by "#ifdef OLD_FONT" and "endif".
6287 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6288
6289 * w32font.h (struct w32font_info): New member.
6290 (FONT_COMPAT): New macro.
6291 (w32font_open_internal): Prototype adjusted.
6292
6293 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6294 OLD_FONT" and "endif".
6295
6296 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6297 conditionals. Don't check enable_font_backend. Delete all codes
6298 used only when USE_FONT_BACKEND is not defined.
6299 (w32font_open): Return a font-object. Make a font-object by
6300 font_make_object. Adjusted for the change of struct w32font_info.
6301 (w32font_close): Don't free struct font. Adjusted for the change
6302 of struct w32font_info.
6303 (w32font_encode_char, w32font_text_extents, w32font_draw):
6304 Adjusted for the change of struct w32font_info.
6305 (w32font_draw): Likewise.
6306 (w32font_list_internal): Return a list, not vector.
6307 (w32font_open_internal): Change the 4th arg to font-object.
6308 Adjusted for the change of struct w32font_info and font-object format.
6309 (add_font_name_to_list): Don't downcase names.
6310 (w32_enumfont_pattern_entity): Make a font-entity by
6311 font_make_entity. Adjusted for the format change of font-entity.
6312 Use FONT_SET_STYLE to set a style-related font property. If a
6313 font is scalable, set avgwidth property to 0. Set font-entity
6314 property by font_put_extra.
6315 (font_matches_spec): Adjusted for the format change of font-entity.
6316 (w32_weight_table, w32_decode_weight): New variables.
6317 (w32_encode_weight): New function.
6318 (fill_in_logfont): Adjusted for the format change of font-spec.
6319 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6320 weight value.
6321 (w32font_driver): Adjusted for the change of struct font_driver.
6322
6323 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6324 conditionals. Don't check enable_font_backend. Surround non-used
6325 code by "#ifdef OLD_FONT" and "endif".
6326 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6327 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6328
6329 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6330 conditionals. Don't check enable_font_backend. Delete all codes
6331 used only when USE_FONT_BACKEND is not defined. Surround non-used
6332 code by "#ifdef OLD_FONT" and "endif".
6333
6334 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6335 (uniscribe_open): Return value changed to font-object.
6336 Adjusted for the format change of font-object.
6337 (uniscribe_otf_capability): Adjusted for the change of struct font.
6338 (add_opentype_font_name_to_list): Don't downcase names.
6339 (uniscribe_font_driver): Adjusted for the change of struct
6340 font_driver.
6341
63422008-05-13 Chong Yidong <cyd@stupidchicken.com>
6343
6344 * dispnew.c (update_frame_1): Check if tty output is still valid
6345 before flushing it.
6346
63472008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6348
6349 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6350 to Gtk+ menus.
6351
63522008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6353
6354 * dired.c (file_name_completion): Tweak the code so as to always do it
6355 in a single pass. Tighten the scope of some variables.
6356
6357 * dired.c (Qdefault_directory): New var.
6358 (file_name_completion): Use it instead of Fexpand_file_name.
6359 (syms_of_dired): Initialize it.
6360
63612008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6362
6363 * fileio.c (double_dollars): Remove dead code.
6364
63652008-05-10 Eli Zaretskii <eliz@gnu.org>
6366
6367 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6368 Mention w32-get-true-file-attributes in doc string.
6369
6370 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6371
63722008-05-09 Glenn Morris <rgm@gnu.org>
6373
6374 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6375 2008-04-23.
6376
63772008-05-09 Eli Zaretskii <eliz@gnu.org>
6378
6379 Support for reporting owner and group of each file on MS-Windows:
6380 * dired.c (stat_uname, stat_gname): New functions, with special
6381 implementation for w32.
6382 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6383
6384 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6385 (dflt_group_name): New static variable.
6386 (dflt_group): Rename from the_group.
6387 (init_user_info): Init dflt_group fields. Get user's group name
6388 from LookupAccountSid.
6389 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6390 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6391 New initialization states.
6392 (globals_of_w32): Initialize them to zero. Initialize the default
6393 group name to "None".
6394 (GetFileSecurity_Name): New global var, the name of the function
6395 to call for GetFileSecurity.
6396 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6397 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6398 (get_file_security, get_security_descriptor_owner)
6399 (get_security_descriptor_group, is_valid_sid)
6400 (get_file_security_desc, get_rid, get_name_and_id)
6401 (get_file_owner_and_group): New functions.
6402 (stat): Use get_file_security_desc and get_file_owner_and_group to
6403 report the owner and primary group of each file. Don't ignore the
6404 high 32 bits of file's size, now that st_size is 64-bit wide.
6405 Fix test when to get true file attributes.
6406 (init_user_info): Use get_rid instead of equivalent inline code.
6407 (fstat): Don't ignore the high 32 bits of file's size.
6408
64092008-05-09 Chong Yidong <cyd@stupidchicken.com>
6410
6411 * image.c (png_load): Use correct bit-depth for setting background
6412 color.
6413
64142008-05-08 Eli Zaretskii <eliz@gnu.org>
6415
6416 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6417 epa-hook.elc.
6418
64192008-05-08 Juanma Barranquero <lekktu@gmail.com>
6420
6421 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6422
64232008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6424
6425 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6426 because the original parameters are in pure storage now.
6427 (mac_window): Remove unused params. Update callers.
6428
64292008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6430
6431 * lread.c (substitute_object_recurse): Use lower-level primitives.
6432 Don't signal errors when traversing sub-char-tables.
6433 Don't loop over all the possible characters when traversing char-tables.
6434
6435 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6436 just like we do in print.c.
6437
64382008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6439
6440 * minibuf.c (Ftry_completion): Remove code left over from when we used
6441 scmp instead of Fcompare_strings.
6442
64432008-05-04 Juanma Barranquero <lekktu@gmail.com>
6444
6445 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6446
64472008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6448
6449 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6450 Create bitmap context in native byte order.
6451
6452 * macterm.c (XDrawLine)
6453 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6454 context in native byte order.
6455
64562008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6457
6458 * config.in: Regenerate.
6459
6460 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6461 New definitions for Image I/O support.
6462 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6463 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6464 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6465 (mac_data_provider_release_data, image_load_image_io)
6466 [USE_MAC_IMAGE_IO]: New functions.
6467 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6468 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6469 (init_image_func_pointer) [MAC_OSX]: Remove function.
6470 (image_load_quartz2d) [MAC_OSX]: Check availability of
6471 CGImageCreateWithPNGDataProvider at compile time.
6472 Use lowercase `false' for boolean constant.
6473 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6474 Use image_load_image_io.
6475 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6476 Don't check MyCGImageCreateWithPNGDataProvider.
6477 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6478 Don't call init_image_func_pointer.
6479
6480 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6481
6482 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6483 Make variable non-static.
6484 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6485 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6486
6487 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6488 (RED_FROM_ULONG): Mask off higher bits.
6489 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6490
6491 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6492 Include AvailabilityMacros.h.
6493 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6494 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6495
64962008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6497
6498 * chartab.c (Fset_char_table_range): If range is t, really set all
6499 chars to that value.
6500
65012008-05-03 Eli Zaretskii <eliz@gnu.org>
6502
6503 * dired.c (Ffile_attributes): Don't allow the device number become
6504 negative.
6505
65062008-05-02 Daiki Ueno <ueno@unixuser.org>
6507
6508 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6509
65102008-05-02 Juri Linkov <juri@jurta.org>
6511
6512 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6513 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6514 DEFAULT argument as a list of default values in docstrings.
6515
65162008-05-01 Chong Yidong <cyd@stupidchicken.com>
6517
6518 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6519
65202008-05-01 Martin Rudalics <rudalics@gmx.at>
6521
6522 * dispnew.c (change_frame_size_1): Preserve small windows when
6523 shrinking frames by calling set_window_height|width with third
6524 arg 2.
6525
6526 * window.h (struct window): Replace field too_small_ok by field
6527 resize_proportionally.
6528
6529 * window.c (make_window): Initialize resize_proportionally.
6530 (enlarge_window): Temporarily set resize_proportionally to make
6531 sure that shrink_windows does scale the window proportionally.
6532 (shrink_windows): When window has resize_proportionally set try
6533 to shrink it proportionally by stealing from other windows.
6534 (struct saved_window, Fset_window_configuration)
6535 (compare_window_configurations): Handle resize_proportionally.
6536 (WINDOW_TOTAL_SIZE): New macro.
6537 (window_min_size, shrink_windows, size_window): Use it.
6538 (check_min_window_sizes): Remove. Invalid values of
6539 window-min-height|width are handled by window_min_size_2 now.
6540 (size_window, Fsplit_window, enlarge_window)
6541 (adjust_window_trailing_edge, grow_mini_window): Don't call
6542 check_min_window_sizes.
6543 (window_min_size_2, window_min_size_1, window_min_size):
6544 New argument safe_p for retrieving "safe" minimum sizes.
6545 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6546 (adjust_window_trailing_edge, grow_mini_window):
6547 Adjust arguments of window_min_size... functions.
6548 (shrink_windows): Argument min_size removed. New argument
6549 safe_p allows shrinking windows to their safe minimum sizes.
6550 Calculate minimum size and decide whether a window shall be
6551 deleted for each window individually.
6552 (size_window): When nodelete_p equals 2, tell shrink_windows to
6553 delete windows only if their new minimum size is no more safe.
6554 (shrink_window_lowest_first): Call window_min_size_1 to make
6555 sure to preserve modeline of bottom-most window when resizing
6556 the minibuffer.
6557 (Fset_window_configuration, Fcurrent_window_configuration)
6558 (compare_window_configurations): Do not handle
6559 window-min-height|width any more.
6560 (syms_of_window): Clarify window-min-height|width doc-strings.
6561
65622008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6563
6564 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6565 some more. Copy some of the code from Ftry_completions.
6566 Remove special case code that dates back to initial revision when the
6567 slash was only added when necessary and that can't trigger nowadays.
6568
65692008-04-27 Kenichi Handa <handa@m17n.org>
6570
6571 * font.c (font_prop_validate): Signal `error' instead of `font'.
6572
65732008-04-29 Jason Rumney <jasonr@gnu.org>
6574
6575 * w32fns.c (Fw32_battery_status): New defun.
6576 (syms_of_w32fns): Defsubr it.
6577
65782008-04-28 Andreas Schwab <schwab@suse.de>
6579
6580 * dired.c (file_name_completion): Fix another mixing of encoded
6581 and decoded names.
6582
65832008-04-28 Juanma Barranquero <lekktu@gmail.com>
6584
6585 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6586
65872008-04-27 Juanma Barranquero <lekktu@gmail.com>
6588
6589 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6590
65912008-04-27 Andreas Schwab <schwab@suse.de>
6592
6593 * dired.c (file_name_completion): Fix inappropriate mixing of
6594 encoded and decoded names.
6595
6596 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6597
6598 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6599
66002008-04-26 Eli Zaretskii <eliz@gnu.org>
6601
6602 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6603 2008-03-31, it's not needed anymore with `struct stat' definition
6604 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6605 for the same reasons.
6606
66072008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6608
6609 * m/sparc.h: Additional redefinitions for GNU/Linux.
6610
66112008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6612
6613 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6614 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6615 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6616 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6617 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6618 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6619 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6620 Likewise.
6621
6622 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6623 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6624 (mac_ax_number_of_characters): Add externs.
6625 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6626 [USE_MAC_TSM]: Likewise.
6627 (mac_handle_text_input_event) [MAC_OSX]:
6628 Handle kEventTextInputOffsetToPos for no active input area case.
6629 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6630 (mac_handle_document_access_event)
6631 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6632 (install_application_handler) [MAC_OSX]: Register handlers for
6633 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6634 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6635 Register mac_handle_document_access_event.
6636
6637 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6638 Make functions non-static.
6639
66402008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6641
6642 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6643 (read_file_name_completion_ignore_case, insert_default_directory)
6644 (Qdefault_directory): Move to minibuffer.el.
6645 (Fread_file_name): Call the new `read-file-name' instead.
6646
66472008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6648
6649 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6650 Make function non-static.
6651 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6652 Remove function.
6653 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6654 Move to mactoolbox.c.
6655 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6656
6657 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6658 (mac_rect_make): New macro.
6659
6660 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6661 instead of float.
6662 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6663 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6664 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6665 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6666 CGRectMake.
6667 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6668 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6669 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6670 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6671 instead of WindowRef in argument type.
6672 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6673 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6674 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6675 instead of DISPLAY. All uses changed.
6676 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6677 (x_calc_absolute_position): Simplify so as not to use
6678 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6679
6680 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6681 instead of WindowRef in argument type.
6682 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6683 [TARGET_API_MAC_CARBON]: Remove externs.
6684 (create_apple_event, mac_event_parameters_to_lisp)
6685 [TARGET_API_MAC_CARBON]: Add externs.
6686
6687 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6688 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6689 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6690 is clicked.
6691 (x_activate_menubar): Remove extern for saved_menu_event_location.
6692 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6693 Move from mac.c.
6694
66952008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6696
6697 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6698 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6699
67002008-04-23 Jason Rumney <jasonr@gnu.org>
6701
6702 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6703 attributes only for local files.
6704
6705 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6706 default to Qlocal.
6707
67082008-04-22 Juri Linkov <juri@jurta.org>
6709
6710 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6711 read-buffer-to-switch instead of using the letter "B".
6712
67132008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6714
6715 * fileio.c (Qdefault_directory): New variable.
6716 (Fread_file_name): Use it to pass `dir' to the completion functions.
6717
67182008-04-20 Chong Yidong <cyd@stupidchicken.com>
6719
6720 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6721
67222008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6723
6724 * keyboard.c (Vpre_help_message): Remove.
6725 (show_help_echo): Remove default C code.
6726
6727 * dired.c (directory_files_internal, file_name_completion):
6728 Only call ENCODE_FILE if the string is indeed decoded.
6729
67302008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6731
6732 * Makefile.in (TOOLKIT_DEFINES): Remove.
6733 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6734
67352008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6736
6737 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6738 (mactoolbox.o): New target.
6739
6740 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6741 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6742
6743 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6744 Use mac_set_frame_window_background instead of XSetWindowBackground.
6745 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6746 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6747 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6748 instead of SetWindowTitleWithCFString.
6749 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6750 Move function to mactoolbox.c.
6751 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6752 Use mac_set_window_modified instead of SetWindowModified.
6753 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6754 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6755 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6756 FrontNonFloatingWindow. Use mac_activate_window instead of
6757 ActivateWindow. Use mac_active_non_floating_window instead of
6758 ActiveNonFloatingWindow.
6759 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6760 Use mac_show_hourglass and mac_hide_hourglass.
6761 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6762 instead of GetGlobalMouse.
6763 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6764 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6765 Use mac_bring_window_to_front instead of BringToFront.
6766 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6767 mactoolbox.c.
6768 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6769 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6770 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6771 mactoolbox.c.
6772
6773 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6774 (XtPointer): Move typedef from macmenu.c.
6775 (enum button_type): Move enum from macmenu.c.
6776 (widget_value): Move typedef from macmenu.c.
6777 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6778 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6779 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6780 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6781 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6782 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6783 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6784 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6785 (Selection): Move typedef from macselect.c.
6786 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6787 macterm.c.
6788 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6789 (mac_is_window_collapsed, mac_bring_window_to_front)
6790 (mac_send_window_behind, mac_hide_window, mac_show_window)
6791 (mac_collapse_window, mac_front_non_floating_window)
6792 (mac_active_non_floating_window, mac_activate_window)
6793 (mac_move_window_structure, mac_move_window, mac_size_window)
6794 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6795
6796 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6797 (enum mac_menu_kind): Move enum to mactoolbox.c.
6798 (min_menu_id): Move variable to mactoolbox.c.
6799 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6800 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6801 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6802 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6803 [TARGET_API_MAC_CARBON]: Likewise.
6804 (XtPointer): Move typedef to macgui.h.
6805 (enum button_type): Move enum to macgui.h.
6806 (widget_value): Move typedef to macgui.h.
6807 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6808 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6809 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6810 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6811 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6812 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6813 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6814 (popup_activated_flag): Make variable non-static.
6815 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6816 (add_menu_item, fill_menu, dispose_menus):
6817 Move functions to mactoolbox.c.
6818 (restore_show_help_function, menu_target_item_handler)
6819 (install_menu_target_item_handler, mac_handle_dialog_event)
6820 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6821 [TARGET_API_MAC_CARBON]: Likewise.
6822 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6823 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6824 (find_and_call_menu_selection, name_is_separator): Make function
6825 non-static.
6826 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6827 to mactoolbox.c.
6828 (set_frame_menubar): Don't call install_menu_quit_handler.
6829 (menu_item_selection): New variable.
6830 (mac_menu_show): Use create_and_show_popup_menu.
6831 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6832 selection but set variable menu_item_selection. All uses changed.
6833 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6834 Call install_menu_quit_handler. Move to mactoolbox.c.
6835
6836 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6837 (Selection): Move typedef to macgui.h.
6838 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6839 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6840 Make variables non-static.
6841 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6842 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6843 Make functions non-static.
6844 (Vmac_service_selection) [MAC_OSX]: Likewise.
6845 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6846 (mac_valid_selection_target_p, mac_clear_selection)
6847 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6848 (mac_put_selection_value, mac_selection_has_target_p)
6849 (mac_get_selection_value, mac_get_selection_target_list)
6850 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6851 Move functions to mactoolbox.c.
6852 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6853 Likewise.
6854 (copy_scrap_flavor_data, mac_handle_service_event)
6855 (install_service_handler) [MAC_OSX]: Likewise.
6856 (syms_of_macselect) <Vmac_dnd_known_types>:
6857 Use mac_dnd_default_known_types.
6858
6859 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6860 Move to mactoolbox.c.
6861 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6862 (Fx_selection_owner_p): Add EXFUN.
6863 (install_window_handler, remove_window_handler, XSetWindowBackground):
6864 Remove externs.
6865 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6866 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6867 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6868 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6869 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6870 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6871 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6872 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6873 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6874 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6875 (mac_valid_selection_target_p, mac_clear_selection)
6876 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6877 (mac_put_selection_value, mac_selection_has_target_p)
6878 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6879 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6880 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6881 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6882 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6883 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6884 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6885 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6886 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6887
6888 * mactoolbox.c: New file.
6889
68902008-04-18 Jason Rumney <jasonr@gnu.org>
6891
6892 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6893
68942008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6895
6896 * character.c (Fmultibyte_char_to_unibyte):
6897 Return latin1 chars unchanged.
6898
6899 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6900 relocated if it points to `name'.
6901
69022008-04-17 Kenichi Handa <handa@m17n.org>
6903
6904 * data.c (Faset): Allow setting a multibyte character in an
6905 ASCII-only unibyte string.
6906
6907 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6908
69092008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6910
6911 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6912 done in config.h.
6913
69142008-04-16 Juanma Barranquero <lekktu@gmail.com>
6915
6916 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6917 (Fchar_direction): Add usage in the docstring.
6918
69192008-04-15 Chong Yidong <cyd@stupidchicken.com>
6920
6921 * keyboard.c (read_key_sequence): Remove always-true checks.
6922
69232008-04-14 Jason Rumney <jasonr@gnu.org>
6924
6925 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6926 compatibility struct, for better underline positioning.
6927
69282008-04-13 David Hansen <david.hansen@gmx.net>
6929
6930 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6931 string.
6932
69332008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6934
6935 * m/hp800.h (XUINT, XSET): Remove.
6936
69372008-04-12 Juanma Barranquero <lekktu@gmail.com>
6938
6939 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6940 previous change.
6941
69422008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6943
6944 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6945 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6946
69472008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6948
6949 * keymap.h (map_keymap_canonical): Declare.
6950 * xmenu.c (single_keymap_panes): Use it.
6951
69522008-04-11 Glenn Morris <rgm@gnu.org>
6953
6954 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6955 set the target's value to that of the alias.
6956
69572008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6958
6959 * term.c (set_tty_color_mode): Left over typo.
6960
69612008-04-10 Michael Albinus <michael.albinus@gmx.de>
6962
6963 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6964 only after check for file name handler functions. Signal, when
6965 native functionality is not supported.
6966 (syms_of_fileio): Declare it unconditionally.
6967
69682008-04-10 Jason Rumney <jasonr@gnu.org>
6969
6970 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6971 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6972
6973 * w32.c (logon_network_drive): Also logon to remote drives that
6974 are mapped to drive letters.
6975
69762008-04-10 Glenn Morris <rgm@gnu.org>
6977
6978 * xdisp.c (truncate-partial-width-windows): Doc fix.
6979
69802008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6981
6982 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6983 Move functions to minibuffer.el.
6984 (syms_of_fileio): Don't declare them.
6985
69862008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6987
6988 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6989 (syms_of_minibuf): Remove its initialization.
6990
6991 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6992
69932008-04-09 Juanma Barranquero <lekktu@gmail.com>
6994
6995 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6996
69972008-04-09 Jason Rumney <jasonr@gnu.org>
6998
6999 * makefile.w32-in (distclean): Delete makefile too.
7000 (maintainer-clean): New target.
7001
7002 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7003
7004 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7005 for new font backend and composite cases.
7006
70072008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7008
7009 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7010 Most of the code moved to run_timers.
7011 (do_pending_atimers): Call run_timers.
7012 (run_timers): New function.
7013
7014 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7015 run atimers.
7016
7017 * process.c (wait_reading_process_output): The same as above.
7018
70192008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7020
7021 * minibuf.c (last_exact_completion): Remove variable.
7022 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7023 (complete_and_exit_1, complete_and_exit_2)
7024 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7025 (Fdisplay_completion_list, display_completion_list_1)
7026 (Fminibuffer_completion_help, Fself_insert_and_exit)
7027 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7028 minibuffer.el.
7029 (syms_of_minibuf): Remove corresponding initializations.
7030
7031 * keyboard.c (Qdeactivate_mark): New var.
7032 (command_loop_1): Use it to call `deactivate-mark'.
7033 (syms_of_keyboard): Initialize it.
7034
7035 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7036 to another frame.
7037 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7038 Don't call set_tty_color_mode.
7039 (store_frame_param): Reset previous_frame rather than call
7040 set_tty_color_mode.
7041 * term.c (set_tty_color_mode): Rewrite.
7042 * dispextern.h (set_tty_color_mode): New type.
7043 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7044
70452008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7046
7047 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7048 for generic chars, which do not exist any more in emacs-unicode.
7049
70502008-04-08 Michael Albinus <michael.albinus@gmx.de>
7051
7052 * coding.c (detect_coding_emacs_mule)
7053 (Ffind_operation_coding_system): Fix typo.
7054
70552008-04-08 Jason Rumney <jasonr@gnu.org>
7056
7057 * w32uniscribe.c (SNAME): Extract only symbol name.
7058
7059 * w32font.h (struct w32_metric_cache): New struct.
7060 (w32font_info): Use it.
7061 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7062 (CACHE_BLOCKSIZE): New constants.
7063
7064 * w32font.c (Qja, Qko, Qzh): New symbols.
7065 (syms_of_w32font): Initialise them.
7066 (font_matches_spec): Use them to filter by language.
7067 (recompute_cached_metrics): Remove function.
7068 (compute_metrics, clear_cached_metrics): New functions.
7069 (w32font_encode_char): Use them to manage metric cache.
7070 (w32font_text_extents): Cache metrics for all glyphs on demand.
7071 Delay converting glyph indices to WORD until needed.
7072 (w32font_open_internal): Initialize metric cache to empty.
7073 (registry_to_w32_charset): Charset should always be a symbol.
7074 (fill_in_logfont, list_all_matching_fonts): Family should
7075 always be a symbol.
7076
70772008-04-06 Jason Rumney <jasonr@gnu.org>
7078
7079 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7080 Give up if glyph indices not supported. Use uniscribe obtained
7081 ABC widths for individual metrics. Map glyph clusters back to
7082 characters using fClusterStart flag. Return number of glyphs
7083 produced, not chars processed.
7084 (uniscribe_shape): Map char at FROM to current glyph.
7085
70862008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7087
7088 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7089 Use SetMenuItemHierarchicalMenu.
7090
70912008-04-05 Jason Rumney <jasonr@gnu.org>
7092
7093 * image.c (pbm_load): Allow color values up to 65535.
7094 Throw an error if max_color_idx is outside the supported range.
7095 Report an error when image size is invalid.
7096 Read two bytes at a time when raw images have max_color_idx above 255.
7097
70982008-04-05 Eli Zaretskii <eliz@gnu.org>
7099
7100 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7101 cFileName a file name that includes `?' characters, use the 8+3
7102 alias in cAlternateFileName instead.
7103
71042008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7105
7106 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7107 append "CCL: Quitted" when the CCL program is quitted.
7108 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7109
7110 * ccl.h (struct ccl_program): New member quit_silently.
7111
71122008-04-05 Chong Yidong <cyd@stupidchicken.com>
7113
7114 * search.c (compile_pattern_1): Treat non-nil and non-string of
7115 search-spaces-regexp as nil.
7116
7117 * minibuf.c (Fassoc_string): Tweak docstring.
7118
71192008-04-05 Eli Zaretskii <eliz@gnu.org>
7120
7121 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7122 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7123 2008-03-14 to force inode be positive.
7124
7125 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7126 _S_* ones, since we now use our own sys/stat.h.
7127 (stat, fstat): Don't mangle the inode number.
7128 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7129
71302008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7131
7132 * frame.h (struct frame): Give one more bit to `visible' since we use
7133 values larger than 1 to indicate obscured frames on ttys.
7134
7135 * keymap.c (Qkeymap_canonicalize): New var.
7136 (Fmap_keymap_internal): New fun.
7137 (describe_map): Use keymap-canonicalize.
7138
7139 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7140 (Fundo_boundary): Set them.
7141 (syms_of_undo): Initialize them.
7142 (record_point): Use them instead of last_point_position*.
7143 (last_undo_buffer): Change type.
7144
71452008-04-04 Jason Rumney <jasonr@gnu.org>
7146
7147 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7148 (recompute_cached_metrics): Don't set ascent and descent per char.
7149
7150 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7151 (uniscribe_check_otf): Add GC protection before consing.
7152 Rearrange loop for counting features.
7153
71542008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7155
7156 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7157 buffer with byte-size of source buffer.
7158
71592008-04-03 Chong Yidong <cyd@stupidchicken.com>
7160
7161 * callint.c (Fcall_interactively): Handle temporary region even
7162 when shift-select-mode is off.
7163
71642008-04-03 Jason Rumney <jasonr@gnu.org>
7165
7166 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7167
71682008-04-03 Kenichi Handa <handa@m17n.org>
7169
7170 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7171 (CATEGORY_MASK_UTF_16): Likewise.
7172 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7173 binary file.
7174 (detect_coding): Add null-byte detection for a binary file.
7175 (detect_coding_system): Likewise.
7176
71772008-04-03 Jason Rumney <jasonr@gnu.org>
7178
7179 * w32uniscribe.c: New file.
7180
7181 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7182
7183 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7184
7185 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7186 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7187 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7188 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7189 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7190 (Qphonetic): New symbols.
7191 (syms_of_w32font): Initialize them.
7192 (font_supported_scripts): Use them.
7193 (w32font_list_family): List all charsets.
7194 (w32font_text_extents, recompute_cached_metrics): Fix metric
7195 calculations.
7196 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7197 Give opentype fonts their own format.
7198 (font_matches_spec): New arguments backend and logfont.
7199 Handle :otf spec for uniscribe backend.
7200 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7201 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7202
7203 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7204 font backend.
7205 (globals_of_w32fns): Initialize uniscribe font backend.
7206
7207 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7208 dependencies.
7209 (w32uniscribe.$(O)): New file to build.
7210 (FONT_OBJ): Include w32uniscribe.$(O).
7211 (LIBS): Add uniscribe libraries.
7212
7213 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7214
72152008-04-02 Chong Yidong <cyd@stupidchicken.com>
7216
7217 * callint.c (Vshift_select_mode): New var.
7218 (Finteractive): Document new ^ spec.
7219 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7220 is present.
7221
7222 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7223 (command_loop_1): Avoid running the direct display versions of
7224 forward-char and backward-char if shift-selection may occur.
7225 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7226 shift-translation takes place.
7227
7228 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7229 avoid clobbering by define-minor-mode.
7230
7231 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7232 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7233
7234 * syntax.c (Fforward_word): Add ^ interactive spec.
7235
7236 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7237 (Fscroll_right): Add ^ interactive spec.
7238
72392008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7240
7241 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7242
7243 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7244
7245 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7246
72472008-03-31 Juri Linkov <juri@jurta.org>
7248
7249 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7250
72512008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7252
7253 * gtkutil.c (xg_set_geometry): Fix indentation.
7254 (xg_resize_outer_widget): Remove.
7255 (x_wm_size_hint_off): Fix indentation.
7256 (xg_frame_set_char_size): Call flush_and_sync after
7257 gtk_window_resize.
7258 (x_wm_set_size_hint): Pass NULL as geometry window to
7259 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7260 Add menu bar and tool bar height to base height.
7261 (xg_update_frame_menubar, free_frame_menubar)
7262 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7263 (update_frame_tool_bar, free_frame_tool_bar):
7264 Change xg_resize_outer_widget to xg_frame_set_char_size.
7265
72662008-03-30 Michael Albinus <michael.albinus@gmx.de>
7267
7268 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7269 (Fdbus_call_method): New parameter TIMEOUT.
7270 (dbus-send-signal): Optimize UNGCPRO call.
7271
72722008-03-29 Juri Linkov <juri@jurta.org>
7273
7274 * window.c (Fdisplay_buffer): Move call to
7275 Vsplit_window_preferred_function out of conditions that check
7276 if window is eligible for vertical splitting.
7277 When Vsplit_window_preferred_function is non-nil, call it and use
7278 its non-nil return value as window. Otherwise, continue doing
7279 vertical splitting using Fsplit_window with arg horflag=nil.
7280 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7281 default value from `split-window' to nil.
7282
72832008-03-29 Juri Linkov <juri@jurta.org>
7284
7285 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7286 for interactive code letters 'b' and 'B'.
7287
72882008-03-29 Eli Zaretskii <eliz@gnu.org>
7289
7290 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7291 multibyte string.
7292
72932008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7294
7295 * keyboard.c (pending_funcalls): New var.
7296 (timer_check): Run it.
7297 (syms_of_keyboard): Initialize it.
7298 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7299 (Vdelete_terminal_functions): New vars.
7300 (syms_of_terminal): Initialize them.
7301 (Fdelete_terminal): Run delete-terminal-functions.
7302 * xdisp.c (safe_eval): Rewrite.
7303 (safe_call2): New fun.
7304 * frame.c (Qdelete_frame_functions): New var.
7305 (syms_of_frame): Initialize it.
7306 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7307 * lisp.h (safe_call2, pending_funcalls): Declare.
7308
73092008-03-28 Andreas Schwab <schwab@suse.de>
7310
7311 * indent.c (Fmove_to_column): Move declaration before statements.
7312
73132008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7314
7315 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7316 (struct frame): Use bit fields for boolean vars.
7317
7318 * process.c (server_accept_connection): Simplify naming.
7319 (emacs_get_tty_pgrp): Use SDATA.
7320
7321 * coding.c (decode_coding_object): Fix last change.
7322
73232008-03-27 Jason Rumney <jasonr@gnu.org>
7324
7325 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7326
73272008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7328
7329 * charset.c (Fdefine_charset_internal): Change the way of
7330 registering charsets in Vcharset_order_list.
7331 (syms_of_charset): Make the charset `eight-bit' supplementary.
7332
73332008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7334
7335 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7336 operations, to avoid having the difference between pointers
7337 overflow.
7338
73392008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7340
7341 * indent.c (check_display_width): New fun.
7342 (scan_for_column): Use it.
7343
7344 * data.c (syms_of_data): Mark most-positive-fixnum and
7345 most-negative-fixnum as constants.
7346
7347 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7348
7349 * indent.c (scan_for_column): Extract from current_column_1.
7350 Merge with the same code from Fmove_to_column.
7351 (current_column_1, Fmove_to_column): Use it.
7352
73532008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7354
7355 * keymap.c (map_keymap_internal): New fun.
7356 (map_keymap): Use it.
7357 (Fmap_keymap_internal): New fun.
7358 (Fmap_keymap): Remove left-out test from before make_save_value.
7359
7360 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7361
7362 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7363 Use XCAR/XCDR.
7364
7365 * process.h (struct Lisp_Process): Remove filter_multibyte.
7366 * process.c (QCfilter_multibyte): Remove.
7367 (setup_process_coding_systems): Don't use filter_multibyte.
7368 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7369 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7370 (Fset_process_filter_multibyte): Change the coding-system to
7371 approximate the previous behavior.
7372 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7373 coding-system.
7374
7375 * coding.c (decode_coding_object): When not decoding into a buffer,
7376 obey the coding system's preference of (uni|multi)byte.
7377
73782008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7379
7380 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7381 every char is changed and has a different byte-length.
7382 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7383 Fix int -> EMACS_INT.
7384
73852008-03-23 David Hansen <david.hansen@gmx.net>
7386
7387 * dbusbind.c (xd_read_message): Remove extra copying of message
7388 strings. Check for NULL `interface' or `member'.
7389
73902008-03-22 Eli Zaretskii <eliz@gnu.org>
7391
7392 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7393 cFileName a file name that includes `?' characters, use the 8+3
7394 alias in cAlternateFileName instead.
7395
73962008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7397
7398 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7399
74002008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7401
7402 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7403 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7404 work on current_buffer only instead (that was already the case
7405 for some of the code anyway).
7406 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7407 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7408 (SET_PT, SET_PT_BOTH): Adjust.
7409 * intervals.h (set_point, temp_set_point, set_point_both)
7410 (temp_set_point_both): Remove redundant declarations.
7411
74122008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7413
7414 * fileio.c (Finsert_file_contents):
7415 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7416 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7417 when buffer != current_buffer anyway.
7418
74192008-03-20 Andreas Schwab <schwab@suse.de>
7420
7421 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7422 as default.
7423
74242008-03-19 Jason Rumney <jasonr@gnu.org>
7425
7426 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7427 (syms_of_w32fns): Initialize them.
7428 (HOURGLASS_ID): New constant.
7429 (x_window_to_frame): Don't check hourglass_window.
7430 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7431 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7432 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7433 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7434 Only change the cursor if hourglass is not active.
7435 (Fx_create_frame): Initialize frame's current_cursor.
7436 (hourglass_atimer): Remove.
7437 (hourglass_started): New function.
7438 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7439 (show_hourglass): Adapt to w32, changing argument to frame.
7440
7441 * w32term.h (struct w32_output): Remove hourglass_window.
7442 Add current_cursor.
7443
7444 * eval.c (call_debugger, Fsignal):
7445 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7446 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7447 (Fexecute_extended_command, cancel_hourglass_unwind):
7448 * minibuf.c (read_minibuf):
7449 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7450
74512008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7452
7453 * window.c (run_funs): New fun.
7454 (run_window_configuration_change_hook): Use it to run the buffer-local
7455 and the global part of the hook.
7456
7457 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7458 (unwind_format_mode_line): Restore selected window.
7459 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7460
74612008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7462
7463 * editfns.c (Fchar_equal): Check they are valid characters.
7464
7465 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7466
74672008-03-17 Andreas Schwab <schwab@suse.de>
7468
7469 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7470 against a charset.
7471
7472 * lisp.h (Fbuffer_list): Declare.
7473
74742008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7475
aac0c6e3
MR
7476 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7477 handlebox_widget is != 0.
7478
74792008-03-16 Juri Linkov <juri@jurta.org>
7480
7481 * callint.c (Fcall_interactively): For interactive code letters
7482 'b' and 'B' put the buffer list into the list of default "future"
7483 values of the minibuffer.
7484
74852008-03-16 Andreas Schwab <schwab@suse.de>
7486
7487 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7488 modifiers.
7489
7490 * regex.c (re_match_2_internal): Correct matching of a charset
7491 against latin-1 characters.
7492
74932008-03-16 Kenichi Handa <handa@m17n.org>
7494
7495 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7496 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7497 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7498 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7499 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7500 CHAR_STRING_ADVANCE.
7501 (produce_chars): Fix for the case that the source and the
7502 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7503 instead of CHAR_STRING_ADVANCE.
7504 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7505 STRING_CHAR_ADVANCE.
7506
75072008-03-15 Andreas Schwab <schwab@suse.de>
7508
7509 * regex.c (re_match_2_internal): Correct matching of eight bit
7510 characters in unibyte strings.
7511
75122008-03-15 Martin Rudalics <rudalics@gmx.at>
7513
7514 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7515 at end of range when it coincides with the end of the buffer.
7516
75172008-03-14 Eli Zaretskii <eliz@gnu.org>
7518
7519 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7520
7521 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7522
75232008-03-14 Jason Rumney <jasonr@gnu.org>
7524
7525 * editfns.c (initial_tz): New variable.
7526 (syms_of_editfns): Initialize it.
7527 (Fset_time_zone_rule): Set it when first called.
7528 Use it when TZSTRING is nil.
7529
7530 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7531 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7532 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7533 (globals_of_w32fns): Initialize them.
7534 (compute_tip_xy): Use them to position tooltips.
7535
75362008-03-14 Glenn Morris <rgm@gnu.org>
7537
7538 * emacs.c (main): Revert previous change.
7539 (standard_args): Revert -internal-script back to -scriptload,
7540 and remove the long-option form.
7541
75422008-03-13 Glenn Morris <rgm@gnu.org>
7543
7544 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7545 Remove option -enable-font-backend.
7546
75472008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7548
7549 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7550
75512008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7552
7553 * xterm.c (x_connection_closed): For GTK: If this is the last
7554 terminal just exit without closing the display.
7555
75562008-03-11 Jason Rumney <jasonr@gnu.org>
7557
7558 * w32font.c (w32font_full_name): Use floor to round.
7559
f0131492 75602008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7561
7562 * sound.c (alsa_configure): Declare vol at beginning of block.
7563
7564 * fontset.c (Ffontset_info): Remove extra semicolon.
7565
75662008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7567
7568 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7569 size of resulting string.
7570
75712008-03-10 Jason Rumney <jasonr@gnu.org>
7572
7573 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7574
75752008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7576
7577 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7578 Don't pretend as if characters with display property haven't been
7579 consumed for string-replacing-string case.
7580
75812008-03-08 Kim F. Storm <storm@cua.dk>
7582
7583 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7584 (get_next_display_element, next_element_from_string)
7585 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7586
75872008-03-08 Andreas Schwab <schwab@suse.de>
7588
7589 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7590
75912008-03-06 Jason Rumney <jasonr@gnu.org>
7592
7593 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7594 when charset not specified. Only translate ANSI to unicode when
7595 font_type is truetype.
7596 (w32font_coverage_ok): New function.
7597 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7598
75992008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7600
7601 * lread.c (Fread_char): Resolve modifiers.
7602 (Fread_char_exclusive): Likewise.
7603
7604 * character.c (char_resolve_modifier_mask): New function.
7605 (char_string): Use char_resolve_modifier_mask.
7606 (Fchar_resolve_modifiers): New function.
7607 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7608 function.
7609
76102008-03-04 Jason Rumney <jasonr@gnu.org>
7611
7612 * makefile.w32-in: Always include w32font.c in the build.
7613 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7614
76152008-03-04 Andreas Schwab <schwab@suse.de>
7616
7617 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7618 (versionclean): Likewise.
7619
76202008-03-04 Juanma Barranquero <lekktu@gmail.com>
7621
7622 * .cvsignore: Add oo.
7623
76242008-03-03 Andreas Schwab <schwab@suse.de>
7625
7626 * coding.c (decode_coding_object): Inhibit gap shrinking while
7627 decoding in place.
7628
76292008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7630
7631 * w32term.c: Remove unused include "gnu.h".
7632 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7633
7634 * gnu.h: Rename to ...
7635 * emacs-icon.h: ... this.
7636 * xterm.c: Use emacs-icon.h instead of gnu.h.
7637 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7638
76392008-03-03 Juanma Barranquero <lekktu@gmail.com>
7640
7641 * w32font.c: Include math.h.
7642
76432008-03-03 Jason Rumney <jasonr@gnu.org>
7644
7645 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7646 Compute options separately.
7647 (w32font_open_internal): Set glyph_idx before caching metrics.
7648
7649 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7650 Define if system headers don't.
7651 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7652 (w32font_encode_char): Don't declare here.
7653
7654 * w32font.c (Quniscribe, QCformat): New symbols.
7655 (syms_of_w32font): Define them.
7656 (w32font_has_char): Indicate uncertainty.
7657 (w32font_encode_char): Encode as glyph point. Make static.
7658 (recompute_cached_metrics): New function.
7659 (w32font_open_internal): Use it. Set font to use glyph points
7660 initially. Set format based on type of font.
7661 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7662 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7663 on it. Set format based on information available here.
7664 (add_font_entity_to_list): Identify backend based on opentype_only.
7665
76662008-03-02 Andreas Schwab <schwab@suse.de>
7667
7668 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7669
7670 * coding.c (decode_coding_big5, produce_chars):
7671 Fix typos in last change.
7672
76732008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7674
7675 * gnu.h: New icon.
7676
76772008-03-02 Kenichi Handa <handa@m17n.org>
7678
7679 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7680 `dos', don't decode '\r' if that is the last in the source.
7681 (decode_coding_utf_16, decode_coding_emacs_mule)
7682 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7683 (decode_coding_raw_text, decode_coding_charset): Likewise.
7684 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7685
76862008-03-01 Jason Rumney <jasonr@gnu.org>
7687
7688 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7689
76902008-03-01 Kim F. Storm <storm@cua.dk>
7691
7692 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7693
76942008-03-01 Jason Rumney <jasonr@gnu.org>
7695
7696 * w32font.c (w32font_full_name): New function.
7697 (w32font_open_internal): Use it.
7698
76992008-03-01 Kim F. Storm <storm@cua.dk>
7700
7701 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7702
77032008-03-01 Jason Rumney <jasonr@gnu.org>
7704
7705 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7706
77072008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7708
7709 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7710 xg_frame_resized when the event is for the edit widget.
7711
7712 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7713
7714 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7715 set_char_size.
7716 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7717 operations on widgets here. Just set frame size if needed.
7718 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7719 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7720 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7721 the whole frame.
7722 (xg_create_tool_bar): Move attachment of the tool bar to
7723 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7724 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7725
77262008-03-01 Jason Rumney <jasonr@gnu.org>
7727
7728 * w32fns.c (w32_msg_pump): Disable debug code.
7729
77302008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7731
7732 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7733
77342008-02-29 Chong Yidong <cyd@stupidchicken.com>
7735
7736 * xdisp.c (next_overlay_string): Don't set
7737 overlay_strings_at_end_processed_p if we're currently reading from
7738 a display string.
7739
77402008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7741
7742 * xdisp.c (get_overlay_strings_1): Fix typo.
7743
77442008-02-29 Chong Yidong <cyd@stupidchicken.com>
7745
7746 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7747
77482008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7749
7750 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7751
7752 * xdisp.c (display_mode_element): Cancel the previous change.
7753 (decode_mode_spec): Likewise.
7754 (handle_auto_composed_prop): Don't make composition if it->string
7755 is a string.
7756
77572008-02-27 Kim F. Storm <storm@cua.dk>
7758
7759 * lisp.h (GLYPH): Change type from int to struct with separate char
7760 and face_id members.
7761 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7762 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7763 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7764 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7765 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7766 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7767 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7768 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7769 handle new Lisp glyph code encoding, either an integer or a cons.
7770
7771 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7772 (GLYPH_ALIAS): Delete.
7773 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7774 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7775 (GLYPH_FROM_CHAR): Replace macro by ...
7776 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7777
7778 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7779 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7780 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7781 (GLYPH_INVALID_P): New macro.
7782 (spec_glyph_lookup_face): Update prototype.
7783
7784 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7785 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7786 new glyph code encoding.
7787 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7788 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7789
7790 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7791 Adapt to new glyph type and new glyph code encoding.
7792
7793 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7794
7795 * indent.c (current_column, current_column_1, Fmove_to_column)
7796 (compute_motion): Adapt to new glyph code encoding.
7797
7798 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7799
78002008-02-27 Chong Yidong <cyd@stupidchicken.com>
7801
7802 * process.c (wait_reading_process_output): Check for window
7803 changes caused by timers.
7804 Suggested by Johan Bockgård.
7805
78062008-02-27 Glenn Morris <rgm@gnu.org>
7807
7808 * emacs.c (USAGE1): Add `--disable-font-backend'.
7809
78102008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7811
7812 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7813 is made to the buffer.
7814
78152008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7816
7817 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7818 (face_at_string_position):
7819 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7820 (face_at_string_position):
7821 * xdisp.c (display_string, next_overlay_change):
7822 * buffer.h (overlays_at):
7823 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7824 Update callers.
7825
78262008-02-26 Chong Yidong <cyd@stupidchicken.com>
7827
7828 * editfns.c (Fformat): Doc fix.
7829
78302008-02-26 Juanma Barranquero <lekktu@gmail.com>
7831
7832 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7833 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7834 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7835
78362008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7837
7838 * buffer.c (Fbuffer_swap_text): New function.
7839 (syms_of_buffer): Defsubr it.
7840
78412008-02-25 Chong Yidong <cyd@stupidchicken.com>
7842
7843 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7844
78452008-02-25 Jason Rumney <jasonr@gnu.org>
7846
7847 * w32font.c (w32font_draw): Draw one character at a time when padding.
7848
78492008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7850
7851 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7852 Handle a nil arg. Use run_window_configuration_change_hook.
7853 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7854 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7855 Use run_window_configuration_change_hook.
7856
78572008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7858
7859 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7860 1-pixel width.
7861
78622008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7863
7864 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7865 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7866 if the glyph in the font is zero pixel with.
7867
7868 * dispextern.h (struct glyph_string): New member padding_p.
7869
7870 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7871
7872 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7873
7874 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7875
7876 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7877
7878 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7879
78802008-02-25 Jason Rumney <jasonr@gnu.org>
7881
7882 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7883
78842008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7885
7886 Allow fine-grained image-cache flushing.
7887 * dispextern.h (struct image): Add `dependencies' field.
7888 (clear_image_caches): Change arg to Lisp_Object.
7889 * image.c (make_image): Initialize `dependencies' field.
7890 (clear_image_cache): Change arg to allow fine-grained flushing.
7891 Perform the flush even if image-cache-eviction-delay is nil.
7892 (clear_image_caches): Change arg to Lisp_Object.
7893 (Fclear_image_cache): Expand meaning of the argument.
7894 (mark_image): Mark `dependencies' field.
7895 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7896 (lface_hash): Use XHASH rather than XFASTINT.
7897 (face_at_buffer_position): Fix int -> EMACS_INT position.
7898 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7899 (select_frame_for_redisplay): Remove code duplication.
7900 (redisplay_internal): Adapt arg to call to clear_image_caches.
7901
79022008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7903
7904 * s/vms4-0.h:
7905 * s/vms4-2.h:
7906 * s/vms4-4.h:
7907 * s/vms5-5.h: Remove, unused.
7908
7909 * s/irix5-2.h:
7910 * s/irix6-0.h:
7911 * s/riscos5.h:
7912 * s/mach-bsd4-3.h:
7913 * m/mips4.h: Remove files for obsolete systems.
7914
7915 * Makefile.in:
7916 * filelock.c:
7917 * unexmips.c:
7918 * m/hp9000s300.h:
7919 * m/iris4d.h:
7920 * s/aix3-1.h:
7921 * s/hpux.h:
7922 * s/msdos.h:
7923 * s/usg5-0.h:
7924 * s/usg5-2-2.h:
7925 * s/usg5-2.h:
7926 * s/usg5-3.h: Remove references to obsolete variables.
7927
7928 * s/irix5-0.h: Remove, move all the contents ...
7929 * s/irix6-5.h: ... here. Simplify.
7930 * config.in: Regenerate.
7931
79322008-02-24 Jason Rumney <jasonr@gnu.org>
7933
7934 * w32term.c (x_draw_glyph_string_background): Clear the background
7935 manually when cleartype is in use.
7936 (x_draw_glyph_string_foreground): Draw text transparently when
7937 cleartype is in use.
7938
7939 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7940 a font into it unless we have to.
7941
79422008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7943
7944 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7945 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7946
aac0c6e3
MR
79472008-02-18 Jason Rumney <jasonr@gnu.org>
7948
7949 * w32fns.c (Fw32_shell_execute): Encode parameters.
7950
79512008-02-09 Eli Zaretskii <eliz@gnu.org>
7952
7953 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7954
79552008-02-05 Juanma Barranquero <lekktu@gmail.com>
7956
7957 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7958
79592008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7960
7961 * xterm.c (x_set_offset): Don't change the gravity if
7962 CHANGE_GRAVITY is -1.
7963
79642008-02-23 Chong Yidong <cyd@stupidchicken.com>
7965
7966 * fileio.c (auto_save_error_occurred): New var.
7967 (auto_save_error): Set it.
7968 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7969 error occurred.
7970
79712008-02-23 Eli Zaretskii <eliz@gnu.org>
7972
7973 * w32.c (globals_of_w32): Add initializations for
7974 g_b_init_get_sid_sub_authority and
7975 g_b_init_get_sid_sub_authority_count.
7976
79772008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7978
7979 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7980 (font_parse_xlfd): Use them for sanity check.
7981 (Finternal_set_font_style_table): Make sure the table is bijective.
7982
7983 Consolidate the image_cache to the terminal struct.
7984 * termhooks.h (P_): Remove redundant def.
7985 (struct terminal): New field `image_cache'.
7986 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7987 of FRAME_X_IMAGE_CACHE.
7988 * xterm.h (struct x_display_info): Remove image_cache field.
7989 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7990 * w32term.h (struct w32_display_info): Remove image_cache field.
7991 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7992 * macterm.h (struct mac_display_info): Remove image_cache field.
7993 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7994 * xterm.c (x_term_init):
7995 * w32term.c (w32_term_init):
7996 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7997 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7998 Remove declarations.
7999 (clear_image_caches, mark_image_cache): New declarations.
8000 * xfaces.c (clear_face_cache):
8001 * xdisp.c (redisplay_internal): Use clear_image_caches.
8002 * image.c (clear_image_cache): Don't check that a frame is on
8003 a window-system before checking if it shares the same cache.
8004 (clear_image_caches): New function.
8005 (Fclear_image_cache): Use it.
8006 (mark_image): Move from allo.c.
8007 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8008 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8009 (mark_object): Don't call mark_image_cache for frames.
8010 (mark_terminals): Call mark_image_cache.
8011
8012 * lisp.h (Fdelete_terminal): Declare.
8013
8014 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8015 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8016 wrong_type_argument.
8017
80182008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8019
8020 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8021 malayalam.el, and tamil.el. Add sinhala.el.
8022
80232008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8024
8025 * xterm.c (x_connection_closed): Consolidate identical tests.
8026 (x_delete_terminal): Don't crash if called via x_connection_closed.
8027
80282008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8029
8030 * xdisp.c (decode_mode_spec): New arg string.
8031 (display_mode_element): Adjust for the above change.
8032
80332008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8034
8035 * callint.c (Fcall_interactively): Use AREF.
8036
80372008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8038
8039 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8040
80412008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8042
8043 * xfns.c (Fx_show_tip): Set string to " " if empty.
8044
80452008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8046
8047 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8048 with Qt.
8049
80502008-02-17 Kenichi Handa <handa@m17n.org>
8051
8052 * ftfont.c (ftfont_shape): Return Lispy number.
8053
8054 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8055 for GCs.
8056 (Finternal_set_font_selection_order): Call font_update_sort_order
8057 only when enable_font_backend is set.
8058 (realize_x_face): Set face->font_info to that of default face only
8059 when enable_font_backend is set.
8060
8061 * xdisp.c (handle_composition_prop): Set it->c to the fist
8062 character of the composed region.
8063 (fill_composite_glyph_string): Set base_face->font_info to
8064 s->font_info. Get a face for ascii from base_face->ascii_face.
8065 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8066 with a face already decided.
8067 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8068 non-negative.
8069 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8070 call font_prepare_composition unconditionally.
8071
8072 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8073
8074 * xterm.h (struct x_display_info): New member font.
8075
8076 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8077 (x_set_mouse_face_gc, x_new_font): Likewise.
8078 (x_term_init): Setup display_info->font.
8079 (x_delete_terminal): Free display_info->font.
8080
8081 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8082
8083 * ftxfont.c (ftxfont_default_fid): Delete it.
8084 (ftxfont_open): Set xfont->fid to 0.
8085 (ftxfont_end_for_frame): Clear data specific to the frame and the
8086 font-driver.
8087
8088 * xftfont.c (xftfont_default_fid): Delete it.
8089 (xftfont_open): Set xfont->fid to 0.
8090
8091 * fontset.c (FONTSET_OBJLIST): New macro.
8092 (fontset_find_font): Update font-object list of the fontset.
8093 (free_realized_fontset): New function.
8094 (free_face_fontset): Call free_realized_fontset.
8095 (Ffont_info): Call font_close_object only when enable_font_backend
8096 is set.
8097
8098 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8099 [HAVE_NTGUI]: Include w32term.h.
8100 [MAC_OS]: Include macterm.ch.
8101 (font_otf_ValueRecord): Use make_number.
8102 (font_finish_cache): Fix handling of reference count.
8103 (font_clear_cache): Update num_fonts.
8104 (font_open_entity): Update smallest_char_width and
8105 smallest_font_height of the frame.
8106 (font_close_object): Update num_fonts.
8107 (Fclear_font_cache): Fix finding the target cache data.
8108
81092008-02-16 Glenn Morris <rgm@gnu.org>
8110
8111 * fontset.c (Finternal_char_font): Fix compilation warning.
8112
81132008-02-16 Eli Zaretskii <eliz@gnu.org>
8114
8115 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8116 instead of char arrays. Enlarge the size of array passed to
8117 get_token_information.
8118
8119 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8120 warnings.
8121
81222008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8123
8124 * .gdbinit: Don't set `args', it breaks gdb --args.
8125
81262008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8127
8128 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8129 within a narrowed buffer.
8130
81312008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8132
8133 * coding.c (decode_coding_object, encode_coding_object):
8134 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8135
81362008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8137
8138 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8139 hardcoding 1.
8140 (detect_coding_system):
8141 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8142 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8143 * insdel.c (insert_from_gap):
8144 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8145 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8146 (string_to_multibyte):
8147 * character.c (chars_in_text, multibyte_chars_in_text):
8148 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8149
8150 * character.h (FETCH_STRING_CHAR_ADVANCE)
8151 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8152 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8153 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8154
8155 * casefiddle.c (casify_region): Only call after-change and composition
8156 functions on the part of the region that was changed.
8157
8158 * keyboard.c (read_avail_input):
8159 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8160
81612008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8162
8163 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8164 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8165
81662008-02-11 Juanma Barranquero <lekktu@gmail.com>
8167
8168 * w32menu.c (push_submenu_start, push_submenu_end)
8169 (push_left_right_boundary, push_menu_pane, push_menu_item):
8170 * keyboard.c (read_key_sequence): Don't pass args with side effects
8171 to AREF, it fails when compiling with -DENABLE_CHECKING.
8172
81732008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8174
8175 * Makefile.in (${lispsource}international/charprop.el):
8176 Delete this target.
8177
8178 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8179 emacs-unicode-2.
8180
81812008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8182
8183 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8184
81852008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8186
8187 * frame.c (Qnoelisp): New symbol.
8188 (syms_of_frame): Initialize it.
8189 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8190 harmless Elisp code, from a strong `force' from x_connection_closed.
8191 * frame.h (Qnoelisp): Declare.
8192 * xterm.c (x_connection_closed): Pass `noelisp'.
8193
8194 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8195 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8196 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8197 rather than `int' for the type of `type'.
8198
81992008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8200
8201 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8202
8203 * Makefile.in (GNUC): Remove support for gcc-1.x.
8204
82052008-02-10 Richard Stallman <rms@gnu.org>
8206
8207 * lisp.h (ASET): Use AREF, not ASLOT.
8208
82092008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8210
8211 * lisp.h (ASET): Check bounds.
8212
82132008-02-10 Glenn Morris <rgm@gnu.org>
8214
8215 * buffer.c (mode-name): Doc fix.
8216
82172008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8218
8219 * Makefile.in:
8220 * emacs.c:
8221 * gmalloc.c:
8222 * keyboard.c:
8223 * lisp.h:
8224 * m/ibm370aix.h:
8225 * process.c:
8226 * regex.c:
8227 * s/hpux.h:
8228 * sysdep.c:
8229 * sysselect.h:
8230 * systty.h:
8231 * unexec.c:
8232 * w32term.c:
8233 * xsmfns.c:
8234 * xterm.c: Remove code that deals with obsolete variables.
8235
8236 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8237
8238 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8239 nothing else needs it anymore.
8240
82412008-02-09 Eli Zaretskii <eliz@gnu.org>
8242
8243 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8244 instead of unibyte_char_to_multibyte.
8245
82462008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8247
8248 * s/gnu-linux.h: Remove commented out code.
8249
8250 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8251
8252 * Makefile.in: Update what RMS says about using autoconf.
8253 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8254 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8255 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8256 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8257
82582008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8259
8260 * keymap.c (Fkey_description): Move side effect outside of macro call.
8261
8262 * xfaces.c (Finternal_make_lisp_face):
8263 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8264
8265 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8266 (syms_of_fontset): Use ASET.
8267
8268 * fns.c (concat): Move side effect outside of macro call.
8269 (hash_clear): Use ASET.
8270
82712008-02-08 Richard Stallman <rms@gnu.org>
8272
8273 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8274 If FORCE, and frame has a surrogate minibuffer for another frame,
8275 delete the other frame first.
8276
82772008-02-07 Timo Savola <timo.savola@iki.fi>
8278
8279 * xterm.c (x_detect_focus_change): Handle embed client message.
8280 (handle_one_xevent): Ditto.
8281 (handle_one_xevent): If embedded and we get a button press/release,
8282 request focus.
8283 (xembed_set_info, xembed_send_message): New functions.
8284 (x_make_frame_visible): Call xembed_set_info if embedded.
8285 (x_make_frame_invisible): Call xembed_set_info if embedded.
8286 (x_term_init): Initialize Xatom_XEMBED.
8287 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8288 (x_iconify_frame): Ditto.
8289
8290 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8291 (enum xembed_info, enum xembed_message, enum xembed_focus)
8292 (enum xembed_modifier, enum xembed_accelerator): New.
8293 (xembed_set_info, xembed_send_message): Declare.
8294 (FRAME_X_EMBEDDED_P): New.
8295
8296 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8297 gtk_plug_new.
8298
8299 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8300 window ID of a frame.
8301 (x_window): Reparent frame if embedded.
8302 (Fx_create_frame): Don't set border width if embedded.
8303
8304 * emacs.c (USAGE3): Add --parent-id.
8305 (standard_args): Ditto.
8306
83072008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8308
8309 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8310
83112008-02-07 Jim Meyering <meyering@redhat.com>
8312
8313 Use "do...while (0)", not "if (1)...else" in macro definitions.
8314 The latter provokes a warning from gcc about the empty else, when
8315 followed by ";". Also, without that trailing semicolon, it would
8316 silently swallow up any following statement.
8317 * syntax.h (SETUP_SYNTAX_TABLE)
8318 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8319 * buffer.h (DECODE_POSITION): Likewise.
8320 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8321 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8322 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8323 (FETCH_CHAR_ADVANCE): Likewise.
8324 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8325
83262008-02-07 Jim Meyering <meyering@redhat.com>
8327
8328 * lread.c [lint]: Don't include <sys/inode.h>.
8329
83302008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8331
8332 * xselect.c (x_handle_dnd_message):
8333 * xmenu.c (digest_single_submenu, xmenu_show):
8334 * xdisp.c (with_echo_area_buffer_unwind_data)
8335 (format_mode_line_unwind_data, unwind_format_mode_line)
8336 (display_menu_bar):
8337 * eval.c (Ffetch_bytecode):
8338 * doc.c (store_function_docstring):
8339 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8340 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8341 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8342
83432008-02-07 Kenichi Handa <handa@m17n.org>
8344
8345 * ftxfont.c (ftxfont_open): Don't set
8346 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8347
8348 * ftfont.c (ftfont_open): Fix previous change.
8349
83502008-02-06 Jason Rumney <jasonr@gnu.org>
8351
8352 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8353 Use cached metrics for ASCII characters.
8354 (w32font_open_internal): Don't set font's owning_frame.
8355 Cache metrics for ASCII characters.
8356
8357 * w32font.h (struct w32font_info): Add ascii_metrics.
8358 Remove owning_frame.
8359
83602008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8361
8362 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8363 to negative value.
8364
8365 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8366
8367 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8368
8369 * charset.c (syms_of_charset): Set QCtest and Qeq.
8370
83712008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8372
8373 * process.c (Fstart_process):
8374 * callproc.c (Fcall_process): Handle the case where
8375 Funhandled_file_name_directory returns nil.
8376
8377 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8378 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8379 * font.c (check_gstring): Use them and AREF to access the vector before
8380 we know it's really a gstring.
8381 (Ffont_shape_text): Fix typo.
8382 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8383
8384 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8385 Declare.
8386
8387 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8388
83892008-02-05 Jason Rumney <jasonr@gnu.org>
8390
8391 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8392 Set smallest_font_height and smallest_char_width in display info.
8393
83942008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8395
8396 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8397
83982008-02-05 Miles Bader <miles@gnu.org>
8399
8400 * xfaces.c (get_lface_attributes, merge_named_face)
8401 (lookup_named_face, lookup_derived_face, realize_named_face):
8402 Revert 2008-02-01 change by cyd@stupidchicken.com.
8403
84042008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8405
8406 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8407 fallback fonts.
8408 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8409
84102008-02-04 Jason Rumney <jasonr@gnu.org>
8411
8412 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8413 set full_name.
8414 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8415
84162008-02-03 Jason Rumney <jasonr@gnu.org>
8417
8418 * makefile.w32-in (OBJ1): Include font.o here.
8419 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8420
84212008-02-02 Jason Rumney <jasonr@gnu.org>
8422
8423 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8424
84252008-02-01 Jason Rumney <jasonr@gnu.org>
8426
8427 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8428
8429 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8430
84312008-02-01 Andreas Schwab <schwab@suse.de>
8432
8433 * Makefile.in (shortlisp, lisp): Update for rename of
8434 ../lisp/language/myanmar.el.
8435
84362008-02-01 Chong Yidong <cyd@stupidchicken.com>
8437
8438 * xfaces.c (get_lface_attributes): Delete function.
8439 (merge_named_face, lookup_named_face, lookup_derived_face)
8440 (realize_named_face): Call lface_from_face_name directly, and use
8441 the fact that merge_face_vectors does not alter its FROM argument.
8442
84432008-02-01 Jason Rumney <jasonr@gnu.org>
8444
8445 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8446 input in the default locale. Handle non-Unicode multibyte input.
8447
84482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8449
8450 * fontset.c (reorder_font_vector): Exclude nil elements from the
8451 font group. Don't try multiple fonts.
8452 (fontset_font): Adjust for the above change.
8453 (Finternal_char_font): Return nil if the found font doesn't
8454 contain the character ch.
8455
8456 * Makefile.in (lisp, shortlisp): Add cham.el.
8457
84582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8459
8460 * font.h (FONTP): Make it return 1 also for a font-object.
8461
8462 * .gdbinit (xfontset): New function.
8463
8464 * font.c (font_find_for_lface): Check if the character C is
8465 supported or not only for the first font.
8466
8467 * fontset.c (reorder_font_vector): Fix typo.
8468 (fontset_find_font): Don't add a font-spec specifying a script.
8469 Use 0 (not Qt) for the indication of empty font-group. Change the
8470 format of RFONT-DEF. Return Qt if no font in the font-group
8471 support the character.
8472 (fontset_font): Adjust for the above change. If no font was
8473 found the character, remember that.
8474 (face_for_char): Adjust for the change of RFONT-DEF.
8475 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8476 no font for the target.
8477 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8478
84792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8480
8481 * font.c (font_load_for_face): Handle the case that the font in
8482 face->lface is a string.
8483
84842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8485
8486 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8487
84882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8489
8490 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8491 Fix previous change. If the frame is not on a window system,
8492 signal an error.
8493
84942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8495
8496 * coding.c (decode_coding_object, encode_coding_object): Adjust
8497 marker positions after conversion.
8498
8499 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8500
85012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8502
8503 * font.c (font_find_for_lface): Fix the handling of the return
8504 value of font_has_char.
8505 (Ffont_shape_text): Fix previous change.
8506
8507 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8508 (fontset_ref_and_range): Delete it.
8509 (fontset_find_font): Call char_table_ref_and_range instead of
8510 FONTSET_REF_AND_RANGE.
8511 (make_fontset): Don't setup font groups of Latin here.
8512 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8513 (new_fontset_from_font): Make the specified font the default for
8514 all Latin characters.
8515
85162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8517
8518 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8519 is on a window system before accessing the fontset of the frame.
8520
85212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8522
8523 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8524
8525 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8526 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8527
8528 * font.c (Ffont_shape_text): If the font driver doesn't have a
8529 shaper function, make zero-width glyphs to have at least one-pixel
8530 width. Fix setting of `to' field of glyphs.
8531
85322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8533
8534 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8535 glyphs.
8536
8537 * font.h (struct font_driver): Improve docstring of member `shape'.
8538
85392008-02-01 Kenichi Handa <handa@m17n.org>
8540
8541 * composite.c (syms_of_composite): Fix docstring of
8542 auto-composition-function.
8543
8544 * font.h (LGLYPH_SIZE): New macro.
8545
8546 * font.c (Ffont_fill_gstring): Stop filling when a character not
8547 supported by the font is found.
8548 (Ffont_shape_text): When a shape callback function returns nil,
8549 try at most two more times with larger gstring.
8550 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8551
8552 * xdisp.c (handle_auto_composed_prop): Change the argument to
8553 auto-composition-function.
8554
8555 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8556 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8557 Lispy glyph and store it in the lgstring.
8558
8559 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8560
8561 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8562
85632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8564
8565 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8566
8567 * fontset.c (Vfont_encoding_charset_alist): New variable.
8568 (syms_of_fontset): DEFVAR it.
8569 (reorder_font_vector, fontset_find_font): Optimize for the case of
8570 no need of reordering.
8571 (face_for_char): Map the charset property by
8572 Vfont_encoding_charset_alist.
8573
85742008-02-01 Jason Rumney <jasonr@gnu.org>
8575
8576 * w32font.c (logfonts_match): Don't check adstyle here.
8577 (font_matches_spec): Check here against physical font instead.
8578 (add_font_entity_to_list): Avoid some substitutions.
8579
8580 * font.c (font_parse_fcname): Default weight and slant to normal.
8581 (font_score): Prefer normal fonts if weight or slant unspecified.
8582 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8583 match freetype scores.
8584
85852008-02-01 Jason Rumney <jasonr@gnu.org>
8586
8587 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8588 font, as it may have been deleted.
8589 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8590 most common hyphenless variation.
8591 (logfonts_match): Check generic family.
8592 (font_matches_spec): Don't check generic family here.
8593 (fill_in_logfont): Set generic family based on adstyle.
8594
8595 * w32font.h (w32font_get_cache): Update declaration.
8596
85972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8598
8599 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8600
8601 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8602 If none of the new drivers are available, call font_update_drivers
8603 with the old drivers.
8604
8605 * w32font.c (w32font_get_cache): Adjust the argument type.
8606
8607 * xfont.c (xfont_get_cache): Adjust the argument type.
8608
8609 * font.h (struct font_driver): Change argument type of get_cache.
8610
8611 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8612
8613 * font.c (Ffont_get): Fix arguments to Fassoc.
8614 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8615 (font_clear_cache): New function.
8616 (font_list_entities, font_matching_entity): Use font_get_cache.
8617 (font_update_drivers): Call font_clear_cache when finishing a driver.
8618
8619 * fontset.c (fontset_find_font): Fix previous change.
8620
86212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8622
8623 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8624 dpyinfo->font_table.
8625 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8626 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8627
8628 * font.c (font_at): Handle the case that the arg C is negative.
8629 Handle the unibyte case.
8630 (Ffont_at): Call font_at with the arg C -1.
8631
8632 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8633 the position here, and call font_at with the arg C -1.
8634 Don't check the range of the existing composition at the point.
8635
86362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8637
8638 * fontset.c (fontset_add): New args charset_id and family.
8639 Change caller.
8640 (load_font_get_repertory, fontset_find_font): Assume that
8641 font_spec is always a font-spec object.
8642 (Fset_fontset_font): Always store a font-spec object in a fontset.
8643
8644 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8645 instead of get_property_and_range.
8646
86472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8648
8649 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8650 (xftfont_open): Don't keep locking face.
8651 (xftfont_close): Don't unlock face.
8652 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8653
8654 * fontset.c (fontset_find_font): Don't prefer a font of
8655 supplementary charset.
8656
86572008-02-01 Kenichi Handa <handa@m17n.org>
8658
8659 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8660 script, langsys_tag to langsys, new member script.
8661 (OTF_TAG_STR): Terminate by '\0'.
8662 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8663 listing to the script specified in that property. Fix arg to
8664 OTF_check_features.
8665
86662008-02-01 Jason Rumney <jasonr@gnu.org>
8667
8668 * w32font.h: New file.
8669
8670 * w32font.c: Include it.
8671 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8672 (w32font_open): Set owning_frame.
8673 (w32font_text_extents): Use owning_frame.
8674 (struct font_callback_data): Add opentype_only field.
8675 (add_font_entity_to_list): Use it to filter fonts.
8676 Don't check against full name.
8677 (w32font_list_internal): New function.
8678 (w32font_list): Use it.
8679 (w32font_match_internal): New function.
8680 (w32font_match): Use it.
8681 (w32font_open_internal): New function.
8682 (w32font_open): Use it.
8683 (w32font_get_cache, w32font_close, w32font_has_char)
8684 (w32font_encode_char, w32font_text_extents, w32font_draw):
8685 Make non-static.
8686
8687 * makefile.w32-in (w32font.o): Depend on w32font.h.
8688
86892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8690
8691 * charset.c (Fdefine_charset_internal): Record a supplementary
8692 charset at the tail of Vcharset_order_list.
8693
8694 * font.c (Ffont_shape_text): Fix the return value.
8695
8696 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8697
8698 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8699
87002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8701
8702 * ftfont.c (struct OpenTypeSpec): New struct.
8703 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8704 (ftfont_get_open_type_spec): New function.
8705 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8706
8707 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8708
87092008-02-01 Jason Rumney <jasonr@gnu.org>
8710
8711 * w32font.c (add_font_entity_to_list): Compare only the beginning
8712 of full name.
8713
87142008-02-01 Kenichi Handa <handa@m17n.org>
8715
8716 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8717 Never return HANDLED_RECOMPUTE_PROPS.
8718
87192008-02-01 Kenichi Handa <handa@m17n.org>
8720
8721 * font.c (font_gstring_produce): Delete it.
8722
8723 * composite.h (COMPOSITION_METHOD):
8724 Handle COMPOSITION_WITH_GLYPH_STRING.
8725
87262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8727
8728 * xfont.c (Qx): Delete.
8729 (syms_of_xfont): Don't initialize Qx.
8730
8731 * composite.h (enum composition_method):
8732 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8733
87342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8735
8736 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8737 (choose_face_font): Accept new form of font-spec.
8738
8739 * frame.h (font_driver_list): Declare it unconditionally.
8740 (struct frame): Define members font_driver_list and font_data_list
8741 unconditionally.
8742
8743 * fontset.c: Include "font.h" unconditionally.
8744 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8745 (Fset_fontset_font): Accept a font-spec object.
8746
8747 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8748 PIXEL_SIZE part a wild card.
8749
8750 * dispextern.h (struct glyph_string): Define members clip and
8751 num_clips unconditionally.
8752 (struct face): Define members font_info and extra unconditionally.
8753
8754 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8755 ftfont_info only when HAVE_LIBOTF is defined.
8756
87572008-02-01 Andreas Schwab <schwab@suse.de>
8758
8759 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8760 and end.
8761
87622008-02-01 Jason Rumney <jasonr@gnu.org>
8763
8764 * w32font.c (w32font_driver): Add new fields.
8765
87662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8767
8768 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8769 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8770 (LIBES): Add @M17N_FLT_CFLAGS@.
8771
8772 * composite.c (compose_text): Don't treat the new style
8773 composition specially.
8774
8775 * emacs.c (main): Call syms_of_font unconditionally.
8776
8777 * font.h (FONT_ENTITY_NOT_LOADABLE)
8778 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8779 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8780 (struct font_driver): New member shape.
8781 (font_registry_charsets): Extern it.
8782 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8783 (font_otf_capability, font_drive_otf): Delete their externs.
8784
8785 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8786 (font_charset_alist, font_registry_charsets): Move from xfont.c
8787 and rename.
8788 (font_prop_validate_otf): New function.
8789 (font_property_table): Register it for QCotf.
8790 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8791 (font_drive_otf): Delete.
8792 (font_prepare_composition): New arg F. Adjust for the change of
8793 lispy gstring.
8794 (font_find_for_lface): New arg C.
8795 (font_load_for_face): Adjust for the change of font_find_for_lface.
8796 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8797 lispy gstring.
8798 (Ffont_shape_text): New function.
8799 (Fopen_font): If the font size is not given, use 12-pixel.
8800 (Ffont_at): New arg STRING.
8801 (syms_of_font): Initalize font_charset_alist.
8802 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8803 conditionally.
8804
8805 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8806 fonts of the same font-spec. Change the format of RFONT-DEF.
8807 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8808 Adjust for the change of RFONT-DEF.
8809 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8810
8811 * ftfont.h: New file.
8812
8813 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8814 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8815 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8816 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8817 font_otf_capability and font_drive_otf, set ftfont_shape.
8818 (ftfont_list): Adjust for the change of :otf property value.
8819 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8820 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8821 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8822 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8823 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8824 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8825
8826 * w32term.c (x_draw_composite_glyph_string_foreground):
8827 Adjust for the change of lispy gstring.
8828
8829 * xdisp.c (handle_composition_prop): Adjust for the change of
8830 lispy gstring. Call a function for auto-composition with the
8831 third arg it->window.
8832 (fill_composite_glyph_string): Adjust for the change of lispy string.
8833 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8834
8835 * xfaces.c (set_font_frame_param): Adjust for the change of
8836 font_find_for_lface.
8837
8838 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8839 (xfont_registry_charsets): Likewise. Change caller.
8840 (syms_of_xfont): Don't handle x_font_charset_alist.
8841
8842 * xftfont.c: Include "ftfont.h".
8843 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8844 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8845 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8846 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8847 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8848 Set xftfont_driver.shape to xftfont_shape.
8849
8850 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8851 the change of lispy gstring.
8852
88532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8854
8855 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8856
88572008-02-01 Jason Rumney <jasonr@gnu.org>
8858
8859 * w32font.c (w32font_draw): Fill background manually.
8860
88612008-02-01 Jason Rumney <jasonr@gnu.org>
8862
8863 * font.c (Qfontp): Remove unused symbol.
8864 (QCantialias): New symbol.
8865 (syms_of_font): Define it.
8866 (font_property_table): Set a validator for QCantialias.
8867
8868 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8869 Define if not already.
8870 (QCfamily): Share with xfaces.c.
8871 (Qstandard, Qsubpixel, Qnatural): New symbols.
8872 (syms_of_w32font): Define them. Don't define QCfamily here.
8873 (w32_antialias_type, lispy_antialias_type): New functions.
8874 (w32_enumfont_pattern_entity): New arg requested_font.
8875 Set antialias parameter if non-default was requested.
8876 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8877
88782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8879
8880 * lread.c (read1): Undo the previous change.
8881
88822008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8883
8884 * frame.c (Fdelete_frame): Call font_update_drivers only when
8885 USE_FONT_BACKEND is defined.
8886
88872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8888
8889 * font.h (struct font_bitmap): New member bits_per_pixel.
8890 (struct font_driver): New members start_for_frame and end_for_frame.
8891 (struct font_data_list): New struct.
8892 (font_put_frame_data, font_get_frame_data): Extern them.
8893
8894 * frame.h (struct frame): New member font_data_list.
8895
8896 * font.c (font_update_drivers): Call driver->start_for_frame and
8897 driver->end_for_frame at proper timings.
8898 (font_put_frame_data, font_get_frame_data): New functions.
8899 (Ffont_spec): Add usage in the docstring.
8900
8901 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8902 (Fdelete_frame): Call font_update_drivers.
8903
8904 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8905 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8906 (xftfont_get_xft_draw): New function.
8907 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8908 (xftfont_end_for_frame): New function.
8909 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8910
8911 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8912 Change argument. Cache GCs in the per-frame data.
8913 (struct ftxfont_frame_data): New struct.
8914 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8915 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8916 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8917 (ftxfont_end_for_frame): New function.
8918 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8919
8920 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8921
89222008-02-01 Kenichi Handa <handa@m17n.org>
8923
8924 * xselect.c (Vselection_coding_system)
8925 (Vnext_selection_coding_system): Delete them.
8926 (syms_of_xselect): Don't declare selection-coding-system and
8927 next-selection-coding-system. They are declared in select.el.
8928
89292008-02-01 Jason Rumney <jasonr@gnu.org>
8930
8931 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8932
8933 * w32fns.c: Include imm.h.
8934 (get_composition_string_fn, get_ime_context_fn): New optional
8935 system functions.
8936 (globals_of_w32fns): Load them from imm32.dll.
8937 (ignore_ime_char): New flag.
8938 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8939 WM_IME_ENDCOMPOSITION messages.
8940
8941 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8942 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8943
89442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8945
8946 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8947 (READCHAR_REPORT_MULTIBYTE): New macro.
8948 (readchar): New 2nd arg MULTIBYTE.
8949 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8950 Make symbol's name multibyte according to the multibyteness of the
8951 source.
8952
89532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8954
8955 * xfaces.c (face_for_overlay_string): Call lookup_face with
8956 correct arguments (fix of synching with the trunk).
8957
89582008-02-01 Kenichi Handa <handa@m17n.org>
8959
8960 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8961 (font_prop_validate_non_neg, font_prop_validate_spacing):
8962 Delete argument prop_index.
8963 (font_property_table): Change arguments to validater. Change Callers.
8964 (font_lispy_object): Delete.
8965 (font_at): Use font_find_object instead fo font_lispy_object.
8966
89672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8968
8969 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8970 and file names.
8971
89722008-02-01 Jason Rumney <jasonr@gnu.org>
8973
8974 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8975 (font_matches_spec): Remove debug output.
8976 (add_font_entity_to_list): Avoid using substituted fonts.
8977
89782008-02-01 Jason Rumney <jasonr@gnu.org>
8979
8980 * doc.c (Fsnarf_documentation):
8981 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8982
89832008-02-01 Miles Bader <miles@gnu.org>
8984
8985 * dispextern.h (struct glyph_row): Only define "clip" field if
8986 HAVE_WINDOW_SYSTEM is defined.
8987
89882008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8989
8990 Fix up multi-tty merge.
8991
8992 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8993 and indentation.
8994
8995 * xfaces.c (free_realized_face, clear_face_gcs):
8996 Include font_done_for_face in the input_blocked section, just in case.
8997
8998 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8999 (get_char_face_and_encoding): Undo last change and remove the *other*
9000 duplicate definition (i.e. keep the one that's better scoped and that
9001 includes code for the font-backend).
9002
9003 * terminal.c (create_terminal): Default keyboard_coding to
9004 `no-conversion' and terminal_coding to `undecided'.
9005
9006 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9007
9008 * fontset.c (free_realized_fontsets): Check that the table entry does
9009 contain a fontset before trying to compare it to `base'.
9010
9011 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9012 syms_of_charset, and syms_of_coding earlier because init_window_once
9013 now needs Vcoding_system_hash_table to be setup.
9014
9015 * coding.h (default_buffer_file_coding): Remove.
9016
9017 * coding.c (default_buffer_file_coding): Remove.
9018 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9019 than ->symbol, and use the terminal-local coding system.
9020 (syms_of_coding): Don't setup the coding-systems that are not
9021 terminal-local.
9022 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9023
9024 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9025 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9026
9027 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9028 in chartab.c and were re-added here by mistake.
9029 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9030
9031 * doc.c (Fsnarf_documentation):
9032 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9033 src to etc.
9034
9035 * ChangeLog.10: Add mistakenly removed entry.
9036
90372008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9038
9039 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9040
90412008-02-01 Miles Bader <miles@gnu.org>
9042
9043 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9044 Add extra args to FACE_FOR_CHAR.
9045
90462008-02-01 Kenichi Handa <handa@m17n.org>
9047
9048 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9049 in sequence.
9050
9051 * chartab.c (map_sub_char_table, map_char_table): If the range
9052 contains just one character, call the function with that character
9053 even if the depth is not 3.
9054
90552008-02-01 Jason Rumney <jasonr@gnu.org>
9056
9057 * w32font.c (w32font_text_extents): Calculate metrics for the
9058 whole string.
9059
90602008-02-01 Jason Rumney <jasonr@gnu.org>
9061
9062 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9063
90642008-02-01 Jason Rumney <jasonr@gnu.org>
9065
9066 * w32term.c (x_set_glyph_string_clipping): Use
9067 get_glyph_string_clip_rects.
9068 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9069 Adjust for the change of struct glyph_string.
9070
9071 * w32font.c (w32font_draw): Do clipping here.
9072
90732008-02-01 Kenichi Handa <handa@m17n.org>
9074
9075 * xftfont.c (xftfont_draw): Adjust for the change of struct
9076 glyph_string.
9077
9078 * xterm.c (x_set_glyph_string_clipping): Use
9079 get_glyph_string_clip_rects.
9080 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9081 Adjust for the change of struct glyph_string.
9082
9083 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9084 the resulting clip(s}.
9085 (expose_overlaps): Add arg r. Change callers. Set it to
9086 row->clip temporarily.
9087 (expose_window): Redraw rows overlapping the exposed area.
9088
9089 * dispextern.h (struct glyph_row): New member clip.
9090 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9091 clip_height, new member clip, and num_clips.
9092
90932008-02-01 Kenichi Handa <handa@m17n.org>
9094
9095 * data.c (Fchar_or_string_p): Fix docstring.
9096
90972008-02-01 Kenichi Handa <handa@m17n.org>
9098
9099 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9100 create a temporary XftDraw object.
9101
91022008-02-01 Kenichi Handa <handa@m17n.org>
9103
9104 * font.c (Ffontp): Fix docstring.
9105
9106 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9107 strong evidence of ISO-2022.
9108
91092008-02-01 Kenichi Handa <handa@m17n.org>
9110
9111 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9112 SYNTAX_ENTRY_FOLLOW_PARENT.
9113
91142008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9115
9116 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9117 its type.
9118 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9119 Update to the new type of weak_hash_tables and next_weak.
9120
9121 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9122 a plain C pointer to Lisp_Hash_Table.
9123
9124 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9125 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9126 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9127 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9128 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9129 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9130 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9131 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9132 (GC_EQ): Remove since they've been identical to their non-GC_
9133 alter-egos ever since the markbit was eradicated.
9134
9135 * alloc.c:
9136 * buffer.c:
9137 * buffer.h:
9138 * data.c:
9139 * fileio.c:
9140 * filelock.c:
9141 * fns.c:
9142 * frame.h:
9143 * lisp.h:
9144 * macterm.c:
9145 * print.c:
9146 * process.c:
9147 * w32fns.c:
9148 * w32menu.c:
9149 * w32term.c:
9150 * xfns.c:
9151 * xmenu.c:
9152 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9153
91542008-02-01 Kenichi Handa <handa@m17n.org>
9155
9156 * chartab.c (map_sub_char_table): Make it work for the top-level
9157 char-table. Fix handling of parent char-table.
9158 (map_char_table): Adjust for the above change.
9159
91602008-02-01 Jason Rumney <jasonr@gnu.org>
9161
9162 * w32font.c (Qgdi): Rename from Qw32.
9163
91642008-02-01 Jason Rumney <jasonr@gnu.org>
9165
9166 * w32bdf.c (get_quoted_string): Make function static.
9167
91682008-02-01 Kenichi Handa <handa@m17n.org>
9169
9170 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9171 bigger ascent and descent than those of the font, use them as
9172 font's ascent and descent.
9173
91742008-02-01 Kenichi Handa <handa@m17n.org>
9175
9176 * Makefile.in (${lispsource}international/charprop.el): Move this
9177 target within "#ifdef HAVE_UNIDATA" and "#endif".
9178
91792008-02-01 Kenichi Handa <handa@m17n.org>
9180
9181 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9182 (shortlisp): Add ../lisp/language/tai-viet.el.
9183
91842008-02-01 Ulrich Mueller <ulm@gentoo.org>
9185
9186 * Makefile.in (${lispsource}international/charprop.el): Depend on
9187 temacs${EXEEXT}.
9188
91892008-02-01 Jason Rumney <jasonr@gnu.org>
9190
9191 * w32font.c (w32font_close): Delete the GDI font object.
9192
9193 * w32menu.c: Include character.h.
9194
9195 * w32proc.c: Likewise.
9196
9197 * w32select.c: Likewise.
9198
9199 * makefile.w32-in (w32proc.o): Depend on character.h.
9200
92012008-02-01 Jason Rumney <jasonr@gnu.org>
9202
9203 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9204
9205 * w32menu.c (syms_of_w32menu): Likewise.
9206
9207 * w32proc.c (syms_of_ntproc): Likewise.
9208
9209 * w32select.c (syms_of_w32select): Likewise.
9210
9211 * w32term.c (syms_of_w32term): Likewise.
9212
92132008-02-01 Jason Rumney <jasonr@gnu.org>
9214
9215 * w32font.c (w32font_draw): Delete brush after using it.
9216
92172008-02-01 Jason Rumney <jasonr@gnu.org>
9218
9219 * w32font.c (w32font_open): Don't set font_idx.
9220 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9221 to font settings.
9222 (w32font_draw): Fill background explicitly.
9223
92242008-02-01 Jason Rumney <jasonr@gnu.org>
9225
9226 * w32term.c (w32_initialize): Don't call w32font_initialize.
9227
9228 * w32font.c (w32font_info): Remove subranges.
9229 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9230 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9231 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9232 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9233 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9234 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9235 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9236 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9237 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9238 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9239 New symbols.
9240 (font_callback_data): New struct.
9241 (w32font_list, w32font_match): Use it.
9242 (w32font_open): Don't populate subranges.
9243 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9244 (w32font_encode_char): Always return unicode code-point as-is.
9245 (w32font_text_extents): Supply a transformation matrix to
9246 GetGlyphOutline. Never look up by glyph index. Avoid looping
9247 twice. Use unicode version of GetTexExtentPoint32 instead of
9248 glyph index version.
9249 (set_fonts_frame): Remove.
9250 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9251 set frame parameter. Use backward compatible fake foundries.
9252 Save generic family in extra slot under QCfamily. Make width slot
9253 constant. Save QCspacing value. Save list of scripts instead of
9254 binary subranges.
9255 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9256 (add_font_entity_to_list): Use font_callback_data struct. Filter
9257 unwanted fonts.
9258 (add_one_font_entity_to_list): Use font_callback_data struct.
9259 (w32_registry): Default to iso10646_1.
9260 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9261 string font registries. Don't fill in font name if it is a generic
9262 family name, fill family instead. Use spacing, family and script
9263 extra info to fill pitch, family and charset fields.
9264 (list_all_matching_fonts): Use font_callback_data struct.
9265 (unicode_range_for_char): Remove.
9266 (font_supported_scripts): New function.
9267 (w32font_initialize): Remove.
9268 (syms_of_w32font): Update which symbols are defined.
9269
92702008-02-01 Jason Rumney <jasonr@gnu.org>
9271
9272 * font.c (font_pixel_size): Reverse assq_no_quit args.
9273
9274 * w32term.h (FONT_WIDTH): Report max width, not average.
9275 (FONT_MAX_WIDTH): Remove.
9276 (FONT_AVG_WIDTH): New macro.
9277
9278 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9279 redefinition of FONT_WIDTH.
9280
9281 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9282 (w32_cache_char_metrics): Use FONT_WIDTH.
9283
9284 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9285
92862008-02-01 Jason Rumney <jasonr@gnu.org>
9287
9288 * w32font.c (w32font_open): Make lfHeight negative.
9289
9290 * w32fns.c (x_default_font_parameter): Use new style font name.
9291 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9292
92932008-02-01 Jason Rumney <jasonr@gnu.org>
9294
9295 * w32font.c (QCsubranges): New symbol.
9296 (w32font_open, w32font_has_char): Get subranges from subproperty
9297 of extra.
9298 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9299 (syms_of_w32font): Define :subranges symbol.
9300
9301 * font.c (font_put_extra): Expose externally.
9302
9303 * font.h (font_put_extra): Move declaration from font.c.
9304
9305 * font.c (Ffont_get): Use font driver to determine otf capability.
9306 (adjust_anchor): Check if driver defines anchor_point before using.
9307
9308 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9309 (w32font_draw): Use options.
9310 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9311 Fix detection of truetype fonts.
9312 (registry_to_w32_charset): Handle charsets other than iso8859-1
9313 expressed as lisp symbols.
9314 (w32_registry): Express charset as lisp symbol.
9315 (fill_in_logfont): Reverse pixel and point height logic.
9316 Don't set width here. Set quality to default.
9317
9318 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9319 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9320
9321 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9322 Remove redundant loop and allocation.
9323
9324 * makefile.w32-in (font.o, w32font.o): New objects.
9325 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9326 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9327
9328 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9329 STORE_XCHARB a valid l-value.
9330
9331 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9332 calculations for non-Truetype fonts.
9333 (x_draw_glyph_string): Sync with xterm.c.
9334 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9335 Remove redundant code.
9336 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9337
9338 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9339 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9340
9341 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9342 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9343
9344 * w32font.c: New file for w32 font backend.
9345
93462008-02-01 Kenichi Handa <handa@m17n.org>
9347
9348 * term.c: Don't include "buffer.h" twice.
9349
93502008-02-01 Kenichi Handa <handa@m17n.org>
9351
9352 * character.c (Funibyte_string): New function.
9353 (syms_of_character): Defsubr it.
9354
93552008-02-01 Jason Rumney <jasonr@gnu.org>
9356
9357 * w32term.c [USE_FONT_BACKEND]:
9358 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9359 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9360 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9361 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9362 (x_free_frame_resources): Sync with xterm.c.
9363
93642008-02-01 Andreas Schwab <schwab@suse.de>
9365
9366 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9367 char-table size.
9368
93692008-02-01 Kenichi Handa <handa@m17n.org>
9370
9371 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9372
93732008-02-01 Kenichi Handa <handa@m17n.org>
9374
9375 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9376 font_otf_gpos, add font_drive_otf.
9377
9378 * fontset.c (fontset_find_font): Pay attention to font size
9379 specified for a font.
9380 (reorder_font_vector): Check contents of font_def.
9381
9382 * font.c (struct otf_list): Delete it.
9383 (otf_list): Make it a lisp variable.
9384 (otf_open): Use lispy otf_list.
9385 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9386 (check_otf_features): New function.
9387 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9388 New functions.
9389 (font_drive_otf): New function merging font_otf_gsub and
9390 font_otf_gpos.
9391 (font_open_for_lface): New arg spec. Change argument order.
9392 (font_load_for_face): Adjust for the change of font_open_for_lface.
9393 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9394 Ffont_otf_gpos.
9395 (syms_of_font): Staticpro otf_list. Delete defsubr of
9396 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9397
9398 * xfaces.c (set_font_frame_param): Adjust for the change of
9399 font_open_for_lface.
9400
9401 * font.h (font_open_for_lface): Adjust prototype.
9402 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9403 member otf_drive.
9404 (font_otf_gsub, font_otf_gpos): Delete externs.
9405 (font_drive_otf): Extern it.
9406
94072008-02-01 Kenichi Handa <handa@m17n.org>
9408
9409 * font.c (font_at): If the window W is not on a window system,
9410 return Qnil.
9411
9412 * coding.c (produce_chars, encode_coding): Don't call
9413 insert_from_gap if no characters to produce.
9414
94152008-02-01 Kenichi Handa <handa@m17n.org>
9416
9417 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9418 Fclear_face_cache.
9419
9420 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9421
94222008-02-01 Miles Bader <miles@gnu.org>
9423
9424 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9425 Parse "--disable-font-backend" option.
9426 (standard_args): Add "--disable-font-backend" option.
9427
94282008-02-01 Kenichi Handa <handa@m17n.org>
9429
9430 * fontset.c (fontset_find_font): New function.
9431 (fontset_font): Use fontset_find_font.
9432 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9433 Register the specified font for all Latin characters.
9434 (new_fontset_from_font): Register the specified font for all Latin
9435 characters.
9436 (dump_fontset): For a realized fontset, include the base fontset
9437 name in the returned vector.
9438
94392008-02-01 Kenichi Handa <handa@m17n.org>
9440
9441 * character.h (CHAR_STRING): Cast C to unsigned on calling
9442 char_string.
9443
9444 * character.c (char_string): Type of arg C changed to unsigned.
9445 Signal an error if C is an invalid character code.
9446
9447 * editfns.c (general_insert_function, Fchar_to_string):
9448 Use CHARACTERP, not INTEGERP.
9449
94502008-02-01 Kenichi Handa <handa@m17n.org>
9451
9452 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9453 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9454
9455 * regex.c (analyse_first): Fix for multibyte characters in "case
9456 charset:" and "case categoryspec:".
9457
94582008-02-01 Andreas Schwab <schwab@suse.de>
9459
9460 * Makefile.in (LIBES): Move standard libraries to the end.
9461
94622008-02-01 Kenichi Handa <handa@m17n.org>
9463
9464 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9465 nonzero, don't shrink the buffer nextb.
9466
9467 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9468
9469 * coding.c (coding_alloc_by_making_gap): New arg offset.
9470 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9471 offset.
9472 (decode_coding_iso_2022): Update coding->safe_charsets.
9473 (decode_coding_gap): Temporarily set
9474 current_buffer->text->inhibit_shrinking to 1.
9475
94762008-02-01 Kenichi Handa <handa@m17n.org>
9477
9478 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9479 indexing into elements of s->cmp and s->char2b.
9480
94812008-02-01 Juanma Barranquero <lekktu@gmail.com>
9482
9483 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9484
94852008-02-01 Kenichi Handa <handa@m17n.org>
9486
9487 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9488 target_multibyte instead of multibyte.
9489 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9490 (bcmp_translate): Change the argument name from multibyte to
9491 target_multibyte.
9492
94932008-02-01 Kenichi Handa <handa@m17n.org>
9494
9495 These changes are to compile a regexp into a pattern that can be
9496 used both for multibyte and unibyte targets.
9497
9498 * Makefile.in (search.o): Depend on charset.h.
9499
9500 * character.c (multibyte_char_to_unibyte_safe): New function.
9501
9502 * search.c: Include "charset.h".
9503 (compile_pattern_1): Delete argument multibyte. Don't set
9504 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9505 (compile_pattern): Don't compare cp->buf.target_multibyte.
9506 Compare cp->buf.charset_unibyte.
9507 (compile_pattern): Set cp->buf.target_multibyte.
9508
9509 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9510
9511 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9512
9513 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9514 multibyte. Change callers.
9515 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9516 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9517 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9518 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9519 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9520 (regex_compile): Make the compiled pattern usable both for
9521 multibyte and unibyte targets.
9522 (analyse_first): Make the fastmap usable both for multibyte and
9523 unibyte targets.
9524 (TRANSLATE_VIA_MULTIBYTE): Delete.
9525 (re_match_2_internal): Pay attention to the case that the
9526 multibyteness of bufp and target may be different.
9527
95282008-02-01 Kenichi Handa <handa@m17n.org>
9529
9530 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9531 empty box occupy at least one column width.
9532
95332008-02-01 Miles Bader <miles@gnu.org>
9534
9535 * Makefile.in: Remove redundant HAVE_XFT clause.
9536
95372008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9540
95412008-02-01 Kenichi Handa <handa@m17n.org>
9542
9543 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9544 being nil.
9545
95462008-02-01 Kenichi Handa <handa@m17n.org>
9547
9548 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9549
95502008-02-01 Kenichi Handa <handa@m17n.org>
9551
9552 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9553
95542008-02-01 Kenichi Handa <handa@m17n.org>
9555
9556 * search.c (simple_search): Fix previous change.
9557
95582008-02-01 Kenichi Handa <handa@m17n.org>
9559
9560 * xftfont.c (ftfont_font_format): Extern declaration.
9561
9562 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9563
9564 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9565 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9566
9567 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9568 (ftfont_font_format): Fix previous change.
9569
9570 * font.h (Ffont_xlfd_name): EXFUN it.
9571
9572 * font.c (font_parse_xlfd): Fix the array size of `f'.
9573 (register_font_driver): Use EQ to compare driver->type.
9574
9575 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9576 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9577 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9578
95792008-02-01 Kenichi Handa <handa@m17n.org>
9580
9581 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9582 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9583
95842008-02-01 Kenichi Handa <handa@m17n.org>
9585
9586 * xfont.c (xfont_open): Set font->format.
9587
9588 * xftfont.c (xftfont_open): Set font->format.
9589
9590 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9591 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9592 (ftfont_open): Set font->format.
9593 (ftfont_font_format): New function.
9594
9595 * font.h (struct font): New member format.
9596
9597 * font.c (Qopentype): New variable.
9598 (syms_of_font): Defsym it.
9599 (Fquery_font): Change the format of the last element of the return
9600 value.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9605 last resort.
9606
96072008-02-01 Kenichi Handa <handa@m17n.org>
9608
9609 * coding.c (detect_coding_charset): Fix detection of multi-byte
9610 charset.
9611
96122008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9613
9614 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9615
96162008-02-01 Kenichi Handa <handa@m17n.org>
9617
9618 * xdisp.c (get_next_display_element): Set it->face_id for the
9619 first component of a composition.
9620 (x_produce_glyphs): Check if the font is changed or not for composition.
9621
96222008-02-01 Kenichi Handa <handa@m17n.org>
9623
9624 * fontset.c (Qlatin): New variable.
9625 (syms_of_fontset): Define it as a lisp symbol.
9626 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * font.c (font_unparse_fcname): Pay attention to the case that
9631 some of font property is a null string.
9632
96332008-02-01 Kenichi Handa <handa@m17n.org>
9634
9635 * term.c: Include "composite.h".
9636 (encode_terminal_code): Output all components of composition.
9637 Check the size of encode_terminal_src.
9638 (produce_glyphs): For composition, call produce_composite_glyph.
9639 (append_composite_glyph, produce_composite_glyph): New functions.
9640
9641 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9642 is not found, get font_info from the current ascii face.
9643
96442008-02-01 Kenichi Handa <handa@m17n.org>
9645
9646 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9647 buffer-file-name to Qnil before calling insert_from_buffer.
9648
9649 * font.c (font_unparse_fcname): Pay attention to the case that
9650 foundry is a null string.
9651
96522008-02-01 Kenichi Handa <handa@m17n.org>
9653
9654 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9655
9656 * font.c (Qunicode_sip): New variable.
9657 (syms_of_font): Declare it as a Lisp symbol.
9658
9659 * font.h (Qunicode_sip): Extern it.
9660
96612008-02-01 Kenichi Handa <handa@m17n.org>
9662
9663 * composite.c (get_composition_id): Pay attention to TAB component.
9664
9665 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9666 TAB. Adjust for the change of s->char2b which always points to
9667 the first element of allocated memory.
9668
9669 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9670
9671 * xdisp.c (handle_composition_prop): Set it->c to the first
9672 non-TAB component.
9673 (fill_composite_glyph_string): Change argument.
9674 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9675 (x_produce_glyphs): Fix handling of left/right padding.
9676
96772008-02-01 Kenichi Handa <handa@m17n.org>
9678
9679 * coding.c (detect_coding_system): Fix for handling off
9680 inhibit_iso_escape_detection. Fix for the case that no coding
9681 system is defined for a specific coding category.
9682
96832008-02-01 Kenichi Handa <handa@m17n.org>
9684
9685 * font.c (font_matching_entity): Delete unused local var.
9686
9687 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9688 opening a font.
9689
9690 * fileio.c (Finsert_file_contents): On recovering a file, assume
9691 Unix-like eol.
9692 (choose_write_coding_system): On auto-saving a file, force
9693 Unix-like eol.
9694
9695 * coding.c (setup_coding_system): Fix setting of
9696 coding->common_flags based on eol_type.
9697 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9698 inherit from it.
9699
97002008-02-01 Kenichi Handa <handa@m17n.org>
9701
9702 * alloc.c (NSTATICS): Increas to 0x600.
9703
97042008-02-01 Kenichi Handa <handa@m17n.org>
9705
9706 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9707 (ftfont_list): Don't check :name property.
9708 (ftfont_match): New function.
9709 (ftfont_pattern_entity): If the pattern doesn't contain
9710 FC_SPACING, don't assume FC_MONO.
9711
9712 * font.h (struct font_driver): New member `match'.
9713 (font_update_drivers): Adjust prototype.
9714
9715 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9716 property of FONT.
9717 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9718 them unconditionally.
9719 (font_matching_entity): New function.
9720 (font_open_by_name): Try font_matching_entity if exact match is
9721 not found.
9722 (font_update_drivers): Delete the arg FONT. Return a list of
9723 actually used backends. Don't free faces, font caches here.
9724 Don't store data in frame parameters. Don't call x_set_font.
9725 (Ffont_spec): Store :name property as is.
9726 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9727 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9728 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9729 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9730 Call font->driver->otf_gsub instead of font_otf_gsub.
9731
9732 * frame.c (x_set_font_backend): Do more works that were done in
9733 font_update_drivers before.
9734
9735 * xfont.c (xfont_match): New function.
9736 (xfont_driver): Set xfont_driver.match to xfont_match.
9737 (xfont_draw): Set font in GC if necessary.
9738
9739 * ftxfont.c (ftxfont_match): New function.
9740 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9741
9742 * xftfont.c (xftfont_match): New function.
9743 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9744
97452008-02-01 Kenichi Handa <handa@m17n.org>
9746
9747 * font.h (struct font): New member scalable.
9748 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9749 (font_otf_gsub): Adjust prototype.
9750
9751 * font.c (font_otf_capability): Fix handling of the default langsys.
9752 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9753 Check the contents of SPEC.
9754 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9755 (check_gstring): New function.
9756 (REPLACEMENT_CHARACTER): New macro.
9757 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9758 glyph codes of GSTRING.
9759 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9760 (font_prepare_composition): Set cmp->glyph_len.
9761 (font_open_entity): Set font->scalable.
9762 (Ffont_get): Handle :otf property.
9763 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9764 functions.
9765 (Fquery_font): Use font->font.full_name.
9766 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9767 Sfont_otf_alternates.
9768
9769 * ftfont.c (ftfont_open): Set font->font.full_name and
9770 font->font.name properly. Fix calculation of font->font.height
9771 and font->min_width.
9772
9773 * ftxfont.c (ftxfont_create_gcs): New function.
9774 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9775 (ftxfont_draw_backgrond): Fix filling region.
9776 (ftxfont_default_fid): New function.
9777 (ftxfont_open): Set xfont->fid to the return value of
9778 ftxfont_default_fid.
9779 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9780 (ftxfont_done_face): Free only GCs that are created by
9781 ftxfont_create_gcs.
9782 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9783
9784 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9785 Clip to src->width, etc (not src->clip_XXX).
9786
9787 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9788 FontBackend frame parameter.
9789
97902008-02-01 Kenichi Handa <handa@m17n.org>
9791
9792 * font.h (struct font_driver_list): New member `on'.
9793 (Fclear_font_cache): EXFUN it.
9794 (font_update_drivers): Extern it.
9795
9796 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9797 (font_list_entities): Check driver_list->on.
9798 (register_font_driver): Initalize `on' member to 0.
9799 (font_update_drivers): New function.
9800 (Fclear_font_cache): Check driver_list->on.
9801
9802 * frame.h (Qfont_backend): Extern it.
9803 (x_set_font_backend): Extern it.
9804
9805 * frame.c (Qfont_backend): New variable.
9806 (frame_parms): New element for font-backend.
9807 (x_set_font_backend): New function.
9808
9809 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9810 FontBackend frame parameter.
9811 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9812 x_set_font_backend.
9813
9814 * xfont.c (xfont_list): Don't try listing by :name property if the
9815 name is not for XLFD.
9816
98172008-02-01 Kenichi Handa <handa@m17n.org>
9818
9819 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9820 (LGLYPH_SET_TO): New macros.
9821 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9822 element of G is vector or not.
9823 (font_at): Extern it.
9824
9825 * font.c: Include window.h.
9826 (font_lispy_object): New function.
9827 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9828 end of valid glyph.
9829 (font_close_object): Fix getting (struct font *).
9830 (font_at): New function.
9831 (Ffont_get): If FONT is a font-object, get entity from it.
9832 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9833 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9834 range check.
9835 (Ffont_at): New function.
9836 (syms_of_font): Defsubr Sfont_at.
9837
9838 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9839 before the entry for Qcomposition.
9840 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9841 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9842 the font in gstring.
9843 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9844 LGLYPH_FORM (g) to detect the end of valid glyph.
9845 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9846 we are composing with gstring.
9847
9848 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9849 Check if adjustment is vector or not.
9850
9851 * Makefile.in (font.o): Make it depends on window.h.
9852
98532008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9856 adjustment is vector or not.
9857
98582008-02-01 Miles Bader <miles@gnu.org>
9859
9860 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9861
98622008-02-01 Kenichi Handa <handa@m17n.org>
9863
9864 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9865 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9866 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9867
9868 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9869 (DEVICE_DELTA): Fix typo.
9870 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9871 LGLYPH format.
9872
9873 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9874 the change of LGLYPH format.
9875
98762008-02-01 Kenichi Handa <handa@m17n.org>
9877
9878 * ftfont.c (ftfont_list): Fix typo.
9879 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9880
98812008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9882
9883 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9884
9885 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9886 xftface_info is non-NULL.
9887
98882008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9889
9890 * ftfont.c (ftfont_list): Move misplaced #endif.
9891
98922008-02-01 Kenichi Handa <handa@m17n.org>
9893
9894 * ftfont.c (ftfont_list): Pay attention to the case that
9895 FC_CAPABILITY is not defined.
9896
98972008-02-01 Kenichi Handa <handa@m17n.org>
9898
9899 * xftfont.c (xftfont_open): Set charset related members to -1.
9900
9901 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9902 QCname.
9903 (ftfont_open): Set charset related members to -1.
9904
9905 * fontset.c (Votf_script_alist): New variable.
9906 (syms_of_fontset): Initialize it.
9907 (fontset_font): Delete unused variable.
9908
9909 * fontset.h (Votf_script_alist): Extern it.
9910
9911 * font.c (font_find_for_lface): Optimize code.
9912
9913 * font.h (font_close_object, font_merge_old_spec): Extern them.
9914
99152008-02-01 Kenichi Handa <handa@m17n.org>
9916
9917 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9918 (syms_of_font): Initialize them.
9919 (font_pixel_size): Allow float value in dpi.
9920 (font_prop_validate_type): Delete.
9921 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9922 Change caller.
9923 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9924 (font_prop_validate_extra): Delete.
9925 (font_prop_validate_spacing): New function.
9926 (font_property_table): Add elements for all known properties.
9927 (get_font_prop_index): Rename from check_font_prop_name. New
9928 argument FROM. Change caller.
9929 (font_prop_validate): Validate all known properties.
9930 (font_put_extra): Delete argument force. Change caller.
9931 (font_expand_wildcards): Make it static. Fix the way of shrinking
9932 the possible range.
9933 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9934 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9935 Change caller.
9936 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9937 (font_parse_fcname): Delete argument merge. Fix parsing of point
9938 size. Don't validate properties values here. Change caller.
9939 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9940 (font_open_by_name): Delete unused variable.
9941 (Ffont_spec): Likewise. Validate property values.
9942 (Ffont_match_p): New function.
9943
9944 * font.h (QCscalable): Extern it.
9945 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9946
9947 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9948
9949 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9950 (xfont_list_pattern): New function.
9951 (xfont_list): Use xfont_list_pattern.
9952
99532008-02-01 Kenichi Handa <handa@m17n.org>
9954
9955 * font.h (Flist_fonts): EXFUN it.
9956
99572008-02-01 Jason Rumney <jasonr@gnu.org>
9958
9959 * w32term.c (w32_initialize): Add back smoothing_type and
9960 smoothing_enabled definitions.
9961
99622008-02-01 Kenichi Handa <handa@m17n.org>
9963
9964 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9965 s->face->font on determining underline position.
9966
99672008-02-01 Kenichi Handa <handa@m17n.org>
9968
9969 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9970 (font_has_char): Accept font-object too.
9971 (font_find_for_lface): Try at first with a size specified in face.
9972
99732008-02-01 Kenichi Handa <handa@m17n.org>
9974
9975 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9976 font_open_by_name.
9977
99782008-02-01 Kenichi Handa <handa@m17n.org>
9979
9980 * font.h (QCspacing, QCdpi): Extern them.
9981 (enum font_spacing): New enum.
9982 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9983
9984 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9985 (QCspacing, QCdpi): New variables.
9986 (syms_of_font): Initialize them.
9987 (font_pixel_size): New function.
9988 (font_put_extra): New function.
9989 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9990 in FONT_EXTRA.
9991 (font_parse_fcname): Handle enumerated values (e.g. bold).
9992 Fix handling font size. Add QCname property that contains only
9993 unknown properties.
9994 (font_score): Change argument. Change caller. Pay attention to
9995 FONT_PIXEL_SIZE_QUANTUM.
9996 (font_sort_entites, font_list_entities, font_find_for_lface)
9997 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9998 (Ffont_spec): Add QCname property that contains only unknown properties.
9999
10000 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10001 include weight in listing pattern, instead check weight of each
10002 listed font. Don't include scalable in pattern. Pay attention to
10003 FONT_PIXEL_SIZE_QUANTUM.
10004
100052008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * font.c (font_parse_fcname): Fix parsing of point-size.
10008 (font_unparse_fcname): Produce symbolic names for style properties.
10009 (font_list_entities): Handle float size correctly.
10010 (font_open_by_name): Prefer `normal' property values if the name
10011 doesn't specify them.
10012
10013 * fontset.c (Finternal_char_font): Use font_get_name, not
10014 Ffont_xlfd_name.
10015
10016 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10017 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10018 pattern. Don't force scalable.
10019
10020 * xftfont.c (xftfont_open): For generating a name, start from
10021 96-byte buffer.
10022
100232008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10024
10025 * frame.h (x_new_fontset2): Fix prototype.
10026
100272008-02-01 Kenichi Handa <handa@m17n.org>
10028
10029 * font.h (struct font_driver): Delete member parse_name.
10030 (font_match_p, font_get_spec, font_parse_fcname)
10031 (font_unparse_fcname): Extern them.
10032 (font_get_name): Adjust prototype.
10033
10034 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10035 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10036 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10037 unnecessary checks for weight, slant, and swidth.
10038 (font_parse_fcname): New function.
10039 (font_unparse_fcname): New function.
10040 (font_parse_name): New function.
10041 (font_match_p): New function.
10042 (font_get_name): Change return value to Lisp string.
10043 (font_get_spec): New function.
10044 (Qunspecified, Qignore_defface): Don't extern them.
10045 (font_find_for_lface): Assume that LFACE is fully specified.
10046 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10047 object, use it for FACE.
10048 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10049 driver->parse_name.
10050 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10051
10052 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10053 prototype.
10054
10055 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10056 argument F. Don't call Fnew_fontset. Instead, directly call
10057 make_fontset.
10058
10059 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10060
10061 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10062 of x_new_fontset2.
10063
10064 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10065 (Qsans__serif): New variables.
10066 (ftfont_generic_family_list): New variable.
10067 (syms_of_ftfont): Initialize the above variables.
10068 (ftfont_pattern_entity): Delete argument NAME.
10069 (ftfont_list_generic_family): New function.
10070 (ftfont_parse_name): Delete this function.
10071 (ftfont_list): Try generic family only when FcFontList found no font.
10072 (ftfont_list_family): Fix args to FcObjectSetBuild.
10073
10074 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10075 object in attrs[LFACE_FONT_INDEX].
10076 (set_lface_from_font_name): Cancel all changes for font-backend.
10077 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10078 function.
10079 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10080 font object in QCfont attribute.
10081 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10082 (realize_default_face) [USE_FONT_BACKEND]: Call
10083 set_lface_from_font_and_fontset.
10084
10085 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10086 "fixed", and signal error here if no suitable font was found.
10087
10088 * xfont.c (xfont_parse_name): Delete this function.
10089
10090 * xftfont.c (xftfont_open): Change coding style of error
10091 handling. Generate fontconfig's fontname pattern.
10092
10093 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10094 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10095
10096 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10097 Both args FONTSET and FONT_OBJECT must be existing ones.
10098
100992008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10100
10101 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10106
10107 * font.h (struct font): Fix typo.
10108
10109 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10110 XLFD_XXX_INDEX.
10111 (enum xlfd_field_mask): New enum.
10112 (intern_font_field): Changed argument. Change caller. If digits
10113 are followed by non-digits, return a symbol.
10114 (font_expand_wildcards): New function.
10115 (font_parse_xlfd): Fix wildcard handling.
10116 (Ffont_spec): If :name is specified, reflect the info in the other
10117 properties.
10118
10119 * ftfont.c (ftfont_pattern_entity): Fix typo.
10120 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10121 locale.
10122
101232008-02-01 Kenichi Handa <handa@m17n.org>
10124
10125 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10126
10127 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10128 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10129 registry doesn't specify encoding part.
10130 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10131 (font_open_by_name): At first try parsing the name.
10132 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10133 as Lisp symbols.
10134
10135 * fontset.c (reorder_font_vector): Pay attention to the case that
10136 the 3rd element of font_def is nil.
10137 (fontset_font): For the default fontset, append one more fontset
10138 elements for a script-based font specification. Don't add script
10139 attribute on finding a font.
10140 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10141 font name.
10142 (fontset_ascii_font): If a font can't be opened, return nil.
10143
10144 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10145 (ftfont_pattern_entity): New function.
10146 (ftfont_get_cache): Assume that freetype_font_cache is already
10147 initialized.
10148 (ftfont_list): Handle the case that a file is specified in font
10149 name. Use ftfont_pattern_entity to generate entities.
10150 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10151 (syms_of_ftfont): Initialize freetype_font_cache.
10152
10153 * xftfont.c (xftfont_open): Make the font name fontconfig's
10154 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10155 (xftfont_close): Free font->font.name if not NULL.
10156
10157 * xfont.c (xfont_list): If script is specified for a font, return
10158 null_vector.
10159 (xfont_list_family): Declare argument type.
10160
10161 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10162 name, set LFACE_FONT (lface) to nil.
10163
10164 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10165 return Qnil.
10166
101672008-02-01 Kenichi Handa <handa@m17n.org>
10168
10169 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10170 (standard_args): Add "-enable-font-backend".
10171
101722008-02-01 Kenichi Handa <handa@m17n.org>
10173
10174 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10175 (struct xftdraw_list, xftdraw_list): Delete them.
10176 (register_xftdraw, check_xftdraw): Delete them.
10177 (xftfont_prepare_face): Don't call register_xftdraw.
10178 (xftfont_done_face): Don't call check_xftdraw.
10179 (xftfont_draw): Get background color only when with_background is
10180 nonzero.
10181
10182 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10183
101842008-02-01 Kenichi Handa <handa@m17n.org>
10185
10186 These changes are for the new font handling codes.
10187
10188 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10189 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10190 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10191 (FONTSRC, FONTOBJ): New variables.
10192 (obj): Add $(FONTOBJ).
10193 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10194 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10195 @LIBOTF_LIBS@.
10196 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10197 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10198
10199 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10200
10201 * character.h (Vscript_representative_chars): Extern it.
10202
10203 * character.c (Vscript_representative_chars): New variable.
10204 (syms_of_character): Declare it as a Lisp variable.
10205
10206 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10207 enable_font_backend is nonzero, accept the composition method
10208 COMPOSITION_WITH_GLYPH_STRING.
10209
10210 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10211 enumeration COMPOSITION_WITH_GLYPH_STRING.
10212
10213 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10214 members clip_x, clip_y, clip_width, and clip_height.
10215 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10216
10217 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10218 --enable-font-backend. Call syms_of_font.
10219
10220 * fns.c (assoc_no_quit): New function.
10221
10222 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10223 (face_for_font, new_fontset_from_font)
10224 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10225
10226 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10227 (fontset_font, fontset_ascii, face_for_char)
10228 (make_fontset_for_ascii_face, Ffont_info)
10229 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10230 is nonzero, use font-backend mechanism.
10231 (find_font_encoding): Make it non-static.
10232 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10233 New functions.
10234
10235 * frame.h (struct frame): New members resx and resy.
10236 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10237 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10238
10239 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10240 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10241
10242 * lisp.h (assoc_no_quit): Extern it.
10243
10244 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10245 Through out the file, use FONT_INFO_FROM_FACE instead of
10246 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10247 rif->per_char_metric.
10248 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10249 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10250 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10251 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10252 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10253 nonzero, use font-backend mechanism.
10254 (get_per_char_metric): New function.
10255
10256 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10257 (set_lface_from_font_name)
10258 (set_font_frame_param, free_realized_face)
10259 (prepare_face_for_display, clear_face_gcs)
10260 (Finternal_set_font_selection_order, realize_x_face)
10261 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10262 font-backend mechanism.
10263 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10264 (load_face_font) [USE_FONT_BACKEND]: Abort.
10265 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10266 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10267
10268 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10269 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10270 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10271 nonzero, register all available font drivers. Call
10272 x_default_font_parameter for deciding a font.
10273 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10274
10275 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10276 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10277 (x_set_glyph_string_clipping_exactly)
10278 (x_compute_glyph_string_overhangs)
10279 (x_draw_glyph_string_foreground)
10280 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10281 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10282 enable_font_backend is nonzero, use font-backend mechanism.
10283 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10284
102852008-02-01 Kenichi Handa <handa@m17n.org>
10286
10287 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10288 system_eol_type.
10289 (syms_of_coding): Initialize system_eol_type.
10290
10291 * process.c (Fset_process_coding_system): Inherit system's eol
10292 format if necessary.
10293
102942008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10295
10296 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10297
102982008-02-01 Kenichi Handa <handa@m17n.org>
10299
10300 * coding.c (decode_eol): Pay attention to buffer relocation in
10301 del_range_2.
10302 (decode_coding): Call decode_eol before restoring undo_list.
10303
103042008-02-01 Kenichi Handa <handa@m17n.org>
10305
10306 * charset.c (Fdefine_charset_internal): Fix setting of
10307 emacs_mule_bytes.
10308
103092008-02-01 Kenichi Handa <handa@m17n.org>
10310
10311 * keyboard.c (read_char): Check if C is a character or not before
10312 looking up Vkeyboard_translate_table.
10313
103142008-02-01 Kenichi Handa <handa@m17n.org>
10315
10316 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10317 condition to terminate the loop.
10318
103192008-02-01 Kenichi Handa <handa@m17n.org>
10320
10321 * coding.c (produce_composition): Compare charbuf[i] instead of
10322 args[i] against 0.
10323 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10324
103252008-02-01 Kenichi Handa <handa@m17n.org>
10326
10327 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10328 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10329 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10330 detect_coding.
10331 (emacs_mule_char): Handle old style (Emacs 20) component character
10332 of a composition.
10333 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10334 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10335 composition rule.
10336 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10337
103382008-02-01 Kenichi Handa <handa@m17n.org>
10339
10340 * coding.c (encode_coding_ccl): Allocate destination dynamically
10341 when necessary.
10342
103432008-02-01 Kenichi Handa <handa@m17n.org>
10344
10345 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10346 the loop. When quitted, show a proper error message.
10347
103482008-02-01 Kenichi Handa <handa@m17n.org>
10349
10350 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10351 src->clip_head and src->clip_tail temporarily instead of src->hl.
10352
10353 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10354 character sequence.
10355 (Fccl_execute_on_string): Use ASET, not XSET.
10356
103572008-02-01 Kenichi Handa <handa@m17n.org>
10358
10359 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10360
103612008-02-01 Kenichi Handa <handa@m17n.org>
10362
10363 * coding.c (decode_coding): Fix the condition of terminating the
10364 decoding loop.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * data.c (Faset): On setting a character bigger than 255 in a
10369 unibyte string, signal an error instead of make the string multibyte.
10370
103712008-02-01 Kenichi Handa <handa@m17n.org>
10372
10373 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10374 made by a mapping table.
10375
103762008-02-01 Kenichi Handa <handa@m17n.org>
10377
10378 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10379 not.
10380 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10381 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10382
10383 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10384 s->face is NULL or not.
10385
103862008-02-01 Kenichi Handa <handa@m17n.org>
10387
10388 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10389 (x_draw_glyph_string): Fix drawing of right_overhang and
10390 left_overhang around/on cursor.
10391
10392 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10393
103942008-02-01 Kenichi Handa <handa@m17n.org>
10395
10396 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10397
103982008-02-01 Kenichi Handa <handa@m17n.org>
10399
10400 * coding.c (Fdefine_coding_system_internal)
10401 (Fdefine_coding_system_alias): Avoid a duplicated element in
10402 Vcoding_system_alist.
10403
104042008-02-01 Kenichi Handa <handa@m17n.org>
10405
10406 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10407
10408 * coding.c (Qcoding_system_define_form): New variable.
10409 (syms_of_coding): Intern and staticpro it.
10410 (Fcoding_system_p): Check Qcoding_system_define_form.
10411 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10412
10413 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10414 Fcoding_system_p.
10415 (CHECK_CODING_SYSTEM): If ID is not available, call
10416 Fcheck_coding_system.
10417 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10418 Try also Fcheck_coding_system.
10419
104202008-02-01 Kenichi Handa <handa@m17n.org>
10421
10422 * coding.c (code_conversion_restore): GCPRO arg.
10423
104242008-02-01 Kenichi Handa <handa@m17n.org>
10425
10426 * character.c (lisp_string_width): Check multibyteness of STRING.
10427
104282008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10429
10430 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10431 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10432 (decode_mac_font_name): Use decode_coding_c_string instead of
10433 decode_coding.
10434 (x_load_font): Initialize fontp->fontset to -1. Set
10435 fontp->encoding_type.
10436
104372008-02-01 Kenichi Handa <handa@m17n.org>
10438
10439 * search.c (search_buffer): Give up BM search on case-fold-search
10440 if one of a target character has a case-equivalence of different
10441 byte length even if that target charcter is an ASCII.
10442 (simple_search): Fix calculation of byte length of matched text.
10443 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10444
104452008-02-01 Kenichi Handa <handa@m17n.org>
10446
10447 * coding.c (decode_coding): Fix handling of invalid bytes.
10448
104492008-02-01 Kenichi Handa <handa@m17n.org>
10450
10451 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10452 Unicode characters.
10453
104542008-02-01 Kenichi Handa <handa@m17n.org>
10455
10456 * coding.c (encode_coding_object): If a pre-write-conversion
10457 function makes a new buffer, kill it.
10458
104592008-02-01 Kenichi Handa <handa@m17n.org>
10460
10461 * coding.c (QCascii_compatible_p): New variable.
10462 (syms_of_coding): Initialize it.
10463 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10464 calling string_char.
10465 (record_conversion_result): Add `default:' case.
10466 (coding_charset_list): Delete unused variable `coding_type'.
10467 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10468 property in the plist of the coding system.
10469 (Fcoding_system_put): Check QCascii_compatible_p.
10470
104712008-02-01 Miles Bader <miles@gnu.org>
10472
10473 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10474 removed calculation of frame `f', as it's now used.
10475
104762008-02-01 Kenichi Handa <handa@m17n.org>
10477
10478 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10479 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10480 (UNIDATA): New variable.
10481 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10482 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10483 $(RUN_TEMACS) unconditionally.
10484
104852008-02-01 Kenichi Handa <handa@m17n.org>
10486
10487 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10488 (admindir): New variable.
10489 ($(lispsource)international/charprop.el): New target.
10490
104912008-02-01 Miles Bader <miles@gnu.org>
10492
10493 * character.c (chars-in-region): Remove obsolete function.
10494 (syms_of_character): Remove its initialization.
10495
104962008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10497
10498 * w32select.c (validate_coding_system)
10499 (setup_windows_coding_system): New functions.
10500 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10501 setup_windows_coding_system.
10502 (setup_config, Fw32_get_clipboard_data): Use
10503 validate_coding_system.
10504 (Fx_selection_exists): Move call to setup_config to a place
10505 where signals are allowed.
10506
10507 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10508 (Fcheck_coding_system): Add declarations.
10509
105102008-02-01 Kenichi Handa <handa@m17n.org>
10511
10512 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10513
105142008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10515
10516 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10517 string as the second argument for x_new_fontset.
10518
105192008-02-01 Kenichi Handa <handa@m17n.org>
10520
10521 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10522 (encode_coding_object): Use safe_call instead of call2.
10523
105242008-02-01 Kenichi Handa <handa@m17n.org>
10525
10526 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10527
10528 * Makefile.in (lisp): Include charprop.el.
10529
105302008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10531
10532 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10533 Not sure if it's unnecessary.
10534
105352008-02-01 Steven Tamm <steventamm@mac.com>
10536
10537 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10538 some possibly unnecessary fontset checking code that crashed
10539 when creating a new frame.
10540
105412008-02-01 Kenichi Handa <handa@m17n.org>
10542
10543 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10544 lookup_face.
10545
10546 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10547
10548 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10549
105502008-02-01 Kenichi Handa <handa@m17n.org>
10551
10552 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10553 (coding_charset_list): New function.
10554
10555 * coding.h (coding_charset_list): Extern it.
10556
105572008-02-01 Kenichi Handa <handa@m17n.org>
10558
10559 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10560 concatenation of family and registry.
10561
105622008-02-01 Kenichi Handa <handa@m17n.org>
10563
10564 * character.h (BYTE8_STRING): Fix typo.
10565
10566 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10567 string to multibyte (sync to HEAD).
10568
10569 * casefiddle.c (casify_region): Handle changes in byte-length
10570 using replace_range_2 (sync to HEAD).
10571
105722008-02-01 Andreas Schwab <schwab@suse.de>
10573
10574 * chartab.c (map_char_table): GCPRO table and arg.
10575
105762008-02-01 Kenichi Handa <handa@m17n.org>
10577
10578 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10579 already at limit.
10580
105812008-02-01 Kenichi Handa <handa@m17n.org>
10582
10583 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10584 instead of fast_c_string_match_ignore_case.
10585 (find_font_encoding): Change argument to Lisp_Object. Use
10586 fast_string_match_ignore_case instead of
10587 fast_c_string_match_ignore_case. Change caller.
10588
105892008-02-01 Kenichi Handa <handa@m17n.org>
10590
10591 * xdisp.c (get_next_display_element): In unibyte case, decide to
10592 display in octal form by checking a character by
10593 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10594
10595 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10596
10597 * character.c (unibyte_has_multibyte_table): New variable.
10598
10599 * character.h (unibyte_has_multibyte_table): Extern it.
10600 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10601
106022008-02-01 Kenichi Handa <handa@m17n.org>
10603
10604 * coding.c (encode_coding_iso_2022): Fix handling of charset
10605 annotation.
10606
106072008-02-01 Kenichi Handa <handa@m17n.org>
10608
10609 * coding.c (setup_coding_system): If coding_system is nil, use
10610 Qundecided.
10611 (Fterminal_coding_system): Return nil if terminal coding system is
10612 `undecided'.
10613 (syms_of_coding): Define coding-system `undecided' here. Setup
10614 terminal_coding as `undecided'.
10615
106162008-02-01 Kenichi Handa <handa@m17n.org>
10617
10618 * xdisp.c (message_dolog, set_message_1): Call
10619 unibyte_char_to_multibyte with arg type int.
10620
10621 * lread.c (read1): Fix reading of a char-table.
10622
10623 * print.c (print_object): Include sub char-table in circularities
10624 detection.
10625
106262008-02-01 Kenichi Handa <handa@m17n.org>
10627
10628 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10629 Append the found sequences in car of ARGS instead of prepending.
10630
106312008-02-01 Kenichi Handa <handa@m17n.org>
10632
10633 * fileio.c (report_file_error): Make a unibyte string from
10634 strerror (errorno).
10635 (Fsubstitute_in_file_name): Fix the arg to
10636 unibyte_char_to_multibyte. It is evaluated twice.
10637
106382008-02-01 Kenichi Handa <handa@m17n.org>
10639
10640 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10641
106422008-02-01 Kenichi Handa <handa@m17n.org>
10643
10644 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10645 BOM is not found.
10646 (detect_coding, detect_coding_system): Optimization for ISO-2022
10647 when no 8-bit data is found.
10648
106492008-02-01 Jason Rumney <jasonr@gnu.org>
10650
10651 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10652
106532008-02-01 Kenichi Handa <handa@m17n.org>
10654
10655 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10656 CHARS.
10657
106582008-02-01 Steven Tamm <steventamm@mac.com>
10659
10660 * macterm.c (mac_encode_char): Add charset argument and update
10661 to use encoding_type.
10662 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10663 switch to pure fontset.
10664 (decode_mac_font_name): Temporarily remove decoding.
10665 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10666 (x_load_font): Temporarily remove encoding.
10667
106682008-02-01 Kenichi Handa <handa@m17n.org>
10669
10670 * xfaces.c (Fface_font): If frame is not on a window system,
10671 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10672 refer to face->font.
10673 (split_font_name_into_vector, build_font_name_from_vector)
10674 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10675 when HAVE_WINDOW_SYSTEM is defined.
10676
106772008-02-01 Kenichi Handa <handa@m17n.org>
10678
10679 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10680 (x_produce_glyphs): Fix setting of members of cmp in case
10681 cmp->glyph_len is zero.
10682
10683 * fontset.c (Fset_fontset_font): Fix docstring.
10684 (Ffontset_info): Make it backward compatible. New arg ALL.
10685
106862008-02-01 Kim F. Storm <storm@cua.dk>
10687
10688 * process.c (read_process_output): Grow decoding_buf when needed;
10689 this could cause a crash in allocate_string and compact_small_strings.
10690
106912008-02-01 Kenichi Handa <handa@m17n.org>
10692
10693 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10694
106952008-02-01 Kenichi Handa <handa@m17n.org>
10696
10697 * coding.c (setup_coding_system): Set coding->common_flags
10698 correctly for raw-text.
10699 (consume_chars): On encoding unibyte text by raw-text, don't check
10700 multibyte form.
10701 (encode_coding): On encoding by raw-text, never use translation tables.
10702
10703 * fileio.c (e_write): Short cut for the case of no encoding.
10704
107052008-02-01 Kenichi Handa <handa@m17n.org>
10706
10707 * coding.c (detect_coding, detect_coding_system): Delete unused
10708 variables.
10709
107102008-02-01 Kenichi Handa <handa@m17n.org>
10711
10712 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10713 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10714
107152008-02-01 Kenichi Handa <handa@m17n.org>
10716
10717 * coding.c (Ffind_coding_systems_region_internal): Include
10718 raw-text and no-conversion in the result.
10719
107202008-02-01 Kenichi Handa <handa@m17n.org>
10721
10722 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10723 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10724 FONT_DEF.
10725 (font_def_arg, add_arg, from_arg, to_arg): New args.
10726 (set_fontset_font): Change argument.
10727 (Fset_fontset_font): Fix for the case that TARGET is a script
10728 name and charset name.
10729 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10730
107312008-02-01 Kenichi Handa <handa@m17n.org>
10732
10733 * fontset.c (fontset_font): Rename from fontset_face. Change return
10734 value.
10735 (face_suitable_for_char_p, face_for_char): Adjust for the change
10736 of fontset_font.
10737 (make_fontset_for_ascii_face): Fix setting of the fontset element
10738 for ASCII.
10739 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10740 to get a font name.
10741 (Ffontset_info): Adjust for the change of fontset_font.
10742
10743 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10744
10745 * character.h (LEADING_CODE_LATIN_1_MIN)
10746 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10747
107482008-02-01 Kenichi Handa <handa@m17n.org>
10749
10750 * editfns.c (check_translation): New function.
10751 (Ftranslate_region_internal): Handle M:N mapping.
10752
107532008-02-01 Kenichi Handa <handa@m17n.org>
10754
10755 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10756
107572008-02-01 Kenichi Handa <handa@m17n.org>
10758
10759 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10760 goto invalid_code.
10761 (decode_coding_iso_2022): Fix handling of invalid designation.
10762
10763 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10764 after calling code_conversion_save.
10765
107662008-02-01 Kenichi Handa <handa@m17n.org>
10767
10768 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10769
10770 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10771
10772 * fontset.c: Include "intervals.h".
10773 (fontset_face): Fix comparing of Lisp_Objects.
10774 (free_face_fontset, new_fontset_from_font_name): Fix
10775 Lisp_Object/int mixup.
10776
10777 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10778
10779 * coding.c: Add many prototypes for static functions.
10780 (get_translation_table): Allow max_lookup to be NULL.
10781 (decode_coding, Ffind_coding_systems_region_internal)
10782 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10783 get_translation_table with max_lookup NULL.
10784
107852008-02-01 Kenichi Handa <handa@m17n.org>
10786
10787 * coding.c (get_translation_table): Declare it as Lisp_Object.
10788 (LOOKUP_TRANSLATION_TABLE): New macro.
10789 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10790 instead of CHAR_TABLE_REF.
10791
107922008-02-01 Kenichi Handa <handa@m17n.org>
10793
10794 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10795 annotation data format.
10796 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10797 Change arguments FROM and TO to single argument NCHARS. Change caller.
10798 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10799 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10800 (decode_coding_ccl, decode_coding_charset): Pay attention to
10801 coding->charbuf_used.
10802 (get_translation): New function.
10803 (produce_chars): New arguments translation_table and last_block.
10804 Translate characters here. Return number of carryover chars.
10805 Change caller.
10806 (produce_composition): New argument pos. Change caller.
10807 Adjust for the change of annotation data format.
10808 (produce_charset, produce_annotation): Likewise.
10809 (decode_coding, encode_coding): Don't call translate_chars.
10810 (consume_chars): New arg translation_table. Change caller.
10811 (translate_chars): Delete.
10812 (syms_of_coding): Make translation-table's number of extra slots 2.
10813
108142008-02-01 Kenichi Handa <handa@m17n.org>
10815
10816 * search.c (simple_search): Fix setting this_pos_byte in backward
10817 search.
10818
10819 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10820 byte sequence.
10821 (detect_coding_ccl): Fix setting of the variable valids.
10822
108232008-02-01 Kenichi Handa <handa@m17n.org>
10824
10825 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10826
10827 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10828
10829 * editfns.c (Ftranslate_region_internal): Rename from
10830 Ftranslate_region. Accept a char-table in TABLE.
10831 (syms_of_editfns): Defsubr Stranslate_region_internal.
10832
10833 * xfaces.c (set_lface_from_font_name): If a font is specified for
10834 a frame, generate a fontset from the font.
10835 (build_scalable_font_name): If the scalable font is requested for
10836 a specific size, don't change that size.
10837 (try_font_list): Try a scalable font also in the case that a
10838 pattern string is specified.
10839
108402008-02-01 Kenichi Handa <handa@m17n.org>
10841
10842 * xfaces.c (Fface_font): New optional arg CHARACTER.
10843
108442008-02-01 Kenichi Handa <handa@m17n.org>
10845
10846 * charset.h (CHARSET_OFFSET): New macro.
10847
108482008-02-01 Kenichi Handa <handa@m17n.org>
10849
10850 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10851
10852 * fontset.c (fontset_face): Handle the case that repertory is a
10853 char-table.
10854 (find_font_encoding): Return nil for unknown encoding.
10855 (Fset_fontset_font): Ignore a font of unknown encoding.
10856
108572008-02-01 Kenichi Handa <handa@m17n.org>
10858
10859 * keymap.c (describe_vector): Handle default value of a char table.
10860
10861 * fontset.c (fontset_face): Handle fallback fonts correctly.
10862 (Ffontset_info): Return infomation about fallback fonts.
10863
108642008-02-01 Kenichi Handa <handa@m17n.org>
10865
10866 * fontset.c (FONTSET_DEFAULT): New macro.
10867 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10868 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10869 the case that it is nil.
10870 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10871 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10872
10873 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10874 subset or superset.
10875
108762008-02-01 Kenichi Handa <handa@m17n.org>
10877
10878 * emacs.c (main): Call init_charset after syms_of_XXX.
10879
10880 * charset.c (Vcharset_map_directory): Delete.
10881 (Vcharset_map_path): New variable.
10882 (load_charset_map_from_file): Use Vcharset_map_path instead.
10883 (init_charset): Initialize Vcharset_map_path.
10884 (syms_of_charset): Delete declaration of "charset-map-directory",
10885 add declaration of "charset-map-path".
10886
108872008-02-01 Kenichi Handa <handa@m17n.org>
10888
10889 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10890 ASCII only string.
10891
10892 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10893
10894 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10895 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10896
108972008-02-01 Kenichi Handa <handa@m17n.org>
10898
10899 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10900
10901 * coding.c (QCmnemonic, QCdefalut_char)
10902 (QCdecode_translation_table, QCencode_translation_table)
10903 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10904 (get_translation_table): Return a list of translation tables if
10905 necessary.
10906 (decode_coding): Call get_translation_table with ENCODEP 0.
10907 (char_encodable_p): If translation_table is non-nil, always call
10908 translate_char.
10909 (Fdefine_coding_system_internal): Accept list of translation
10910 tables as :encode-translation-table and :decode-translation-table.
10911 (Fcoding_system_put): New function.
10912 (syms_of_coding): Declare new symbols. Defsubr
10913 Scoding_system_put.
10914 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10915 typically JISX0212.
10916
10917 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10918 when the charset is superset type.
10919
10920 * character.c (translate_char): Accept list of translation tables.
10921
109222008-02-01 Kenichi Handa <handa@m17n.org>
10923
10924 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10925 (CODING_ATTR_TRANS_TBL): New macro.
10926
10927 * coding.c (get_translation_table): New function.
10928 (translate_chars): Fix the bug of skipping annotation data.
10929 (decode_coding, encode_coding): Utilize get_translation_table.
10930 (char_encodable_p, Funencodable_char_position): Translate char if
10931 necessary.
10932 (Ffind_coding_systems_region_internal)
10933 (Fcheck_coding_systems_region): Setup translation table for encode
10934 in a coding system attribute vector in advance.
10935 (Fdefine_coding_system_internal): Allow a symbol as translation
10936 table. For shift-jis type coding system, allow 4th charset.
10937
109382008-02-01 Kenichi Handa <handa@m17n.org>
10939
10940 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10941
10942 * xdisp.c (get_next_display_element): Pass -1 as POS to
10943 FACE_FOR_CHAR if displaying a C-string.
10944
109452008-02-01 Kenichi Handa <handa@m17n.org>
10946
10947 * composite.c (get_composition_id): Handle xoff and yoff in a
10948 composition rule.
10949
10950 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10951 (struct composition): New member lbearing and rbearing.
10952
10953 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10954 (x_get_glyph_overhangs): Handle a composition glyph.
10955 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10956
10957 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10958 composition glyph.
10959
109602008-02-01 Kenichi Handa <handa@m17n.org>
10961
10962 * print.c: Include charset.h.
10963 (Vprint_charset_text_property): New variable.
10964 (Qdefault): Extern it.
10965 (PRINT_STRING_NON_CHARSET_FOUND)
10966 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10967 (print_check_string_result): New variable.
10968 (print_check_string_charset_prop): New function.
10969 (print_prune_charset_plist): New variable.
10970 (print_prune_string_charset): New function.
10971 (print_object): Call print_prune_string_charset if
10972 Vprint_charset_text_property is not t.
10973 (print_interval): Print nothing if interval->plist is nil.
10974 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10975 variable. Init and staticpro print_prune_charset_plist.
10976
109772008-02-01 Kenichi Handa <handa@m17n.org>
10978
10979 * fontset.c (new_fontset_from_font_name): Use the specified font
10980 for all characters in the new fontset.
10981
10982 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10983 OBJECT args.
10984
10985 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10986 OBJECT args for composition too.
10987
10988 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10989 OBJECT args.
10990
109912008-02-01 Kenichi Handa <handa@m17n.org>
10992
10993 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10994
10995 * fontset.c (reorder_font_vector): Adjust for the change of
10996 FONT_DEF format.
10997 (fontset_face): New arg id. Change caller.
10998 (face_for_char): New args pos and object.
10999 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11000 (fs_query_fontset): Check NAME by Fassoc too.
11001 (Fset_fontset_font): Allow non-XLFD font name.
11002 (Ffontset_info): Adjust for the change of FONT_DEF format.
11003
11004 * fontset.h (face_for_char): Adjust prototype.
11005
11006 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11007 (append_space, extend_face_to_end_of_line)
11008 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11009 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11010
11011 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11012 POS and OBJECT args.
11013
11014 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11015 POS and OBJECT args.
11016
110172008-02-01 Jason Rumney <jasonr@gnu.org>
11018
11019 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11020 of GlobalAlloc'ed memory.
11021
110222008-02-01 Kenichi Handa <handa@m17n.org>
11023
11024 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11025
11026 * charset.h (charset_table_used): Delete extern.
11027
11028 * charset.c (charset_table_used): Make it static.
11029 (map_charset_chars): Fix args to c_function with.
11030
11031 * chartab.c (map_sub_char_table_for_charset): Fix args to
11032 c_function with.
11033
11034 * coding.h (enum coding_result_code): Delete
11035 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11036
11037 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11038 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11039 (Vlast_code_conversion_error): New variables.
11040 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11041 (ONE_MORE_BYTE): Record error if any instead of signaling an
11042 error. If non-ASCII multibyte char is found, return the negative
11043 value of the code. All callers changed to check it.
11044 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11045 (record_conversion_result): New function. Change all codes setting
11046 coding->result to call this function.
11047 (detect_coding_utf_8, decode_coding_utf_8)
11048 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11049 Don't use the local variable incomplete.
11050 (emacs_mule_char): Change the second arg to `const'.
11051 (decode_coding): Fix of flushing out unprocessed data.
11052 (make_conversion_work_buffer): Fix making of a work buffer.
11053 (decode_coding_object): Return coding->dst_object.
11054
11055 * fontset.c (set_fontset_font): Fix args.
11056
11057 * lisp.h (CHARACTERBITS): Define as 22.
11058
11059 * process.c (send_process): Be sure to set coding->src_multibyte.
11060
11061 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11062
110632008-02-01 Kenichi Handa <handa@m17n.org>
11064
11065 * xdisp.c (handle_auto_composed_prop): Give limit to
11066 Fnext_single_char_property_change.
11067
110682008-02-01 Kenichi Handa <handa@m17n.org>
11069
11070 * composite.c (syms_of_composite): Don't make the composition hash
11071 table weak.
11072
11073 * fontset.c (Fset_fontset_font): Fix docstring.
11074
11075 * lisp.h (detect_coding_system): Adjust prototype.
11076
11077 * fileio.c (kill_workbuf_unwind): Delete this function.
11078 (Finsert_file_contents): Adjust the call of detect_coding_system.
11079 Get conversion_buffer by code_conversion_save. Use the macro
11080 CODING_MAY_REQUIRE_DECODING. After decoding, update
11081 coding_system.
11082
11083 * coding.h (make_conversion_work_buffer): Delete extern.
11084 (code_conversion_save): Extern it.
11085
11086 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11087 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11088 (decode_coding_utf_8): Don't do eol converion.
11089 (detect_coding_utf_16): Check coding->src_chars, not
11090 coding->src_bytes. Add heuristics for those that have no signature.
11091 (decode_coding_emacs_mule, decode_coding_iso_2022)
11092 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11093 Don't do eol converion.
11094 (adjust_coding_eol_type): Return a new coding system.
11095 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11096 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11097 each change.
11098 (decode_coding): Pay attention to undo_list. Do eol conversion for
11099 all types of coding-systems (if necessary).
11100 (Vcode_conversion_work_buf_list): Delete it.
11101 (Vcode_conversion_reused_workbuf): Rename from
11102 Vcode_conversion_reused_work_buf.
11103 (Vcode_conversion_workbuf_name): New variable.
11104 (reused_workbuf_in_use): New variable.
11105 (make_conversion_work_buffer): Delete the arg DEPTH.
11106 (code_conversion_restore): Change argument to cons.
11107 (code_conversion_save): Delete the argument BUFFER. Change callers.
11108 (detect_coding_system): New argument src_chars. Change callers.
11109 Fix for utf-16 detection.
11110 (init_coding_once): Don't use ISO_carriage_return.
11111 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11112 reused_workbuf_in_use.
11113
111142008-02-01 Kenichi Handa <handa@m17n.org>
11115
11116 * keymap.c (store_in_keymap): Pay attention to the case that idx
11117 is a cons specifying a character range.
11118
111192008-02-01 Kenichi Handa <handa@m17n.org>
11120
11121 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11122 HANDLED_RECOMPUTE_PROPS.
11123
11124 * coding.c (Fdefine_coding_system_internal): Fix checking of
11125 ascii compatibility.
11126
111272008-02-01 Kenichi Handa <handa@m17n.org>
11128
11129 * charset.c (find_charsets_in_text): Delete unused locale variable.
11130 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11131
11132 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11133 Resync charset_list to Vemacs_mule_charset_list.
11134
11135 * keymap.c (store_in_keymap): Pay attention to the case that idx
11136 is a cons specifying a character range.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * composite.c (update_compositions): Bind inhibit-read-only, etc
11141 to t before calling remove-list-of-text-properties.
11142
11143 * print.c (print_object): Always print ASCII chars as is.
11144
111452008-02-01 Kenichi Handa <handa@m17n.org>
11146
11147 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11148
11149 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11150 is a char table.
11151
111522008-02-01 Kenichi Handa <handa@m17n.org>
11153
11154 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11155
111562008-02-01 Kenichi Handa <handa@m17n.org>
11157
11158 * xfaces.c (set_lface_from_font_name): Fix for the case that
11159 FONTNAME is not fontset name.
11160
111612008-02-01 Kenichi Handa <handa@m17n.org>
11162
11163 * fns.c (base64_encode_1): Fix previous change.
11164
111652008-02-01 Kenichi Handa <handa@m17n.org>
11166
11167 * fontset.c (set_fontset_font): New function.
11168 (Fset_fontset_font): If a font is specified for a charset, use
11169 map_charset_chars to store the font spec in a fontset.
11170
111712008-02-01 Kenichi Handa <handa@m17n.org>
11172
11173 * fontset.c (fontset_face): Create a fallback fontset on demand.
11174 (make_fontset): Don't create a fallback fontset here.
11175 (free_face_fontset): Free a fallback fontset (if any) too.
11176 (n_auto_fontsets): Delete this variable.
11177 (auto_fontset_alist): New variable.
11178 (new_fontset_from_font_name): Check auto_fontset_alist.
11179 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11180 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11181 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11182 Defsubr Sfontset_list_all.
11183
111842008-02-01 Kenichi Handa <handa@m17n.org>
11185
11186 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11187
111882008-02-01 Kenichi Handa <handa@m17n.org>
11189
11190 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11191
111922008-02-01 Kenichi Handa <handa@m17n.org>
11193
11194 * editfns.c (Fgoto_char): Fix docstring.
11195
111962008-02-01 Kenichi Handa <handa@m17n.org>
11197
11198 * insdel.c (insert_from_gap): Adjust intervals correctly.
11199
112002008-02-01 Jason Rumney <jasonr@gnu.org>
11201
11202 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11203 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11204 (w32_initialize): Try to load it.
11205 (x_get_font_repertory): Use it if available.
11206 (w32_encode_char): Add shortcut for unicode output.
11207
11208 * w32fns.c (w32_load_system_font): Default charset to -1.
11209 (x_to_w32_charset): Match all fonts for unicode.
11210 (w32_to_x_charset): New parameter matching. Don't return partial
11211 or wildcard charsets.
11212 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11213 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11214 (w32_to_x_font): Match charset to real charset.
11215 (enum_font_cb2): Always list unicode versions.
11216
11217 * makefile.w32-in (temacs): Increase EMHEAP.
11218
112192008-02-01 Jason Rumney <jasonr@gnu.org>
11220
11221 * w32term.c (w32_encode_char): New charset parameter.
11222 font_info.encoding becomes encoding_type.
11223 (x_get_font_repertory): New function. Warning: stub only!
11224 (x_new_font): Return quickly if font already set.
11225 (x_new_fontset): fontsetname parameter is Lisp_Object.
11226 Use new fs_query_fontset. Try new_fontset_from_font_name.
11227 Use fontset_name for return value.
11228
11229 * w32term.h: Declare x_get_font_repertory.
11230
11231 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11232 place of find_charset_in_text. Use encode_coding_object in place
11233 of encode_coding.
11234 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11235 decode_coding.
11236
11237 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11238 of x_new_fontset.
11239 (w32_load_system_font): Initialize charset as unicode.
11240 font_info.encoding becomes encoding_type.
11241 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11242 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11243 (syms_of_w32fns): Set get_font_repertory_func.
11244
11245 * w32console.c: Include character.h. Use terminal_encode_buffer
11246 from term.c.
11247 (write_glyphs): Use new version of encode_terminal_code. Use
11248 encode_coding_object in place of encode_coding.
11249
11250 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11251 encoding becomes encoding_type.
11252
11253 * term.c (terminal_encode_buffer): Make externally visible.
11254
11255 * makefile.w32-in: Add character.h dependancies.
11256 (character.o, chartab.o): New targets.
11257
112582008-02-01 Kenichi Handa <handa@m17n.org>
11259
11260 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11261 CODING_ID_EOL_TYPE.
11262
112632008-02-01 Andreas Schwab <schwab@suse.de>
11264
11265 * coding.c (produce_chars): Revert last change.
11266
112672008-02-01 Kenichi Handa <handa@m17n.org>
11268
11269 * charset.h (charset_unicode): Extern it.
11270
11271 * charset.c (string_xstring_p): Check by (C >= 0x100).
11272 (find_charsets_in_text): Change format of the arc CHARSETS. New
11273 arg MULTIBYTE.
11274 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11275 change of find_charsets_in_text.
11276 (Fsplit_char): Fix doc. Never return unknown.
11277
11278 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11279
11280 * coding.c (Fdefine_coding_system_alias): Update
11281 Vcoding_system_list.
11282
11283 * fontset.c (load_font_get_repertory): Pay attention to the case
11284 that ENCODING of a font is specified by a char-table.
11285
11286 * xterm.c (x_get_font_repertory): Handle the case that the
11287 encoding of font is other than Unicode.
11288
112892008-02-01 Kenichi Handa <handa@m17n.org>
11290
11291 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11292 if a character is encodable by the terminal coding system. If
11293 not, produces proper number of `?'s. Update
11294 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11295 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11296
112972008-02-01 Kenichi Handa <handa@m17n.org>
11298
11299 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11300 variables.
11301 (encode_terminal_code): Change argument. Encode multiple
11302 characters at once. Store the result of encoding in
11303 terminal_encode_buffer.
11304 (write_glyphs, insert_glyphs): Adjust for the change of
11305 encode_terminal_code.
11306 (term_init): Initialize terminal_encode_buffer and
11307 terminal_encode_buf_size.
11308
11309 * coding.c (consume_chars): If coding->src_object is nil, don't
11310 check annotation.
11311
113122008-02-01 Kenichi Handa <handa@m17n.org>
11313
11314 * character.c (char_string): Use ASCII_CHAR_P instead of
11315 SINGLE_BYTE_CHAR_P.
11316
113172008-02-01 Kenichi Handa <handa@m17n.org>
11318
11319 * xdisp.c (handle_auto_composed_prop): Check if the last
11320 characters of auto-composed region is newly composed with the
11321 following characters.
11322 (handle_composition_prop): Fix checking of point being inside
11323 composition.
11324
113252008-02-01 Kenichi Handa <handa@m17n.org>
11326
11327 * fns.c (concat): Don't change multibyteness of the result by
11328 concatenating an 8-bit character.
11329
11330 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11331 multibyteness of the result when newelt is an 8-bit character.
11332
113332008-02-01 Dave Love <fx@gnu.org>
11334
11335 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11336 EMACS_INT.
11337
11338 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11339
11340 * xfaces.c (face_numeric_value): Declare dim size_t.
11341 (Finternal_lisp_face_equal_p): Remove unused f.
11342
11343 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11344 (MATRIX_ROW): Remove unused vars.
11345 (draw_glyphs, x_insert_glyphs, fast_find_position)
11346 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11347 byte/char counts.
11348
11349 * regex.c (regex_compile): Remove unused var.
11350
11351 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11352
11353 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11354 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11355
11356 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11357
11358 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11359
11360 * fileio.c (Fwrite_region): Remove unused var.
11361
11362 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11363 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11364
11365 * composite.c (Fremove_list_of_text_properties): Declare.
11366
11367 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11368 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11369 (coding_inherit_eol_type): Remove unused attrs.
11370 (detect_coding): Cast arg of detect_eol.
11371
11372 * charset.c (syms_of_charset): Remove unused var p.
11373 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11374 byte/char counts.
11375
11376 * casetab.c (set_case_table): Remove unused var.
11377
11378 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11379 unused vars.
11380
113812008-02-01 Dave Love <fx@gnu.org>
11382
11383 * xterm.c (x_bitmap_mask): Declare.
11384
113852008-02-01 Dave Love <fx@gnu.org>
11386
11387 * xterm.c (x_term_init): Fix type error.
11388
11389 * lisp.h: Add Funibyte_char_to_multibyte.
11390
11391 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11392 (Fset_coding_system_priority): Doc fix.
11393
11394 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11395
11396 * indent.c (check_composition): Make start and end EMACS_INT.
11397
11398 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11399
11400 * xdisp.c (handle_composition_prop, check_point_in_composition):
11401 Make buffer positions EMACS_INT.
11402
11403 * composite.c (find_composition, run_composition_function)
11404 (update_compositions, Ffind_composition_internal): Make buffer
11405 positions EMACS_INT.
11406
11407 * composite.h (find_composition, update_compositions): Make
11408 position args EMACS_INT.
11409
11410 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11411
11412 * intervals.c (get_property_and_range):
11413 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11414
11415 * unexalpha.c: Don't include varargs.h.
11416
114172008-02-01 Dave Love <fx@gnu.org>
11418
11419 * coding.h (ENCODE_UTF_8): New.
11420
11421 * Makefile.in (gtkutil.o): Depend on coding.h.
11422
11423 * coding.c (Fset_coding_system_priority): Doc fix.
11424
114252008-02-01 Kenichi Handa <handa@m17n.org>
11426
11427 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11428 the case of auto saving.
11429
114302008-02-01 Andreas Schwab <schwab@suse.de>
11431
11432 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11433 `range' from GC.
11434
114352008-02-01 Kenichi Handa <handa@m17n.org>
11436
11437 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11438
114392008-02-01 Kenichi Handa <handa@m17n.org>
11440
11441 * fileio.c (choose_write_coding_system): Return a decided coding system.
11442 (Fwrite_region): Set Vlast_coding_system_used to the return value
11443 of choose_write_coding_system.
11444
114452008-02-01 Kenichi Handa <handa@m17n.org>
11446
11447 * charset.c (Fset_charset_priority): Pay attention to duplicated
11448 arguments.
11449
11450 * coding.c (QCcategory): New variable.
11451 (syms_of_coding): Defsym it. Set all elements of
11452 Vcoding_category_table and their symbol values.
11453 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11454 coding-category-XXX, and coding-category-list.
11455 (Fdefine_coding_system_internal): Add category in the plist.
11456
114572008-02-01 Kenichi Handa <handa@m17n.org>
11458
11459 * callproc.c (Fcall_process): Handle carryover correctly.
11460
11461 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11462 (raw_text_coding_system): Check NILP (coding_system).
11463 (coding_inherit_eol_type): Check NILP (coding_system) and
11464 NILP (parent).
11465 (consume_chars): Fix for the case of raw-text.
11466
11467 * process.c (read_process_output): Handle carryover correctly.
11468
114692008-02-01 Dave Love <fx@gnu.org>
11470
11471 * regex.c (re_search_2): Fix last change.
11472
114732008-02-01 Kenichi Handa <handa@m17n.org>
11474
11475 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11476 target_multibyte. Even in a unibyte case, return a converted
11477 multibyte char.
11478 (GET_CHAR_AFTER): New macro.
11479 (PATFETCH): Translate via multibyte char.
11480 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11481 (SETUP_MULTIBYTE_RANGE): New macro.
11482 (regex_compile): Setup compiled code so that its multibyteness
11483 matches that of a target. Fix the handling of "[X-YZ]" using
11484 SETUP_MULTIBYTE_RANGE.
11485 (analyse_first) <charset>: For filling fastmap for all multibyte
11486 characters, don't check by BASE_LEADING_CODE_P.
11487 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11488 the same as RE_MULTIBYTE_P (bufp) now.
11489 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11490 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11491 (TRANSLATE_VIA_MULTIBYTE): New macro.
11492 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11493 It is the same as RE_MULTIBYTE_P (bufp) now.
11494 <exactn>: Translate via multibyte.
11495 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11496 translate it.
11497 <charset, charset_not>: Fetch a character by
11498 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11499 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11500 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11501 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11502 by GET_CHAR_AFTER.
11503 (bcmp_translate): Likewise.
11504
11505 * search.c (compile_pattern): Check the member target_multibyte,
11506 not the member multibyte of buf.
11507
11508 * lread.c (read1): While reading a string, set force_singlebyte
11509 and force_multibyte correctly.
11510
11511 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11512 up of unibyte_to_multibyte_table.
11513
115142008-02-01 Kenichi Handa <handa@m17n.org>
11515
11516 * coding.c (setup_coding_system): If coding has
11517 post-read-conversion or pre-write-conversion, set
11518 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11519 respectively.
11520 (decode_coding_gap): Run post-read-conversion if any.
11521
11522 * fileio.c (Finsert_file_contents): Even if we read into a
11523 unibyte buffer, check if we must decode the result or not.
11524
115252008-02-01 Kenichi Handa <handa@m17n.org>
11526
11527 * coding.c (make_conversion_work_buffer): Change the work buffer
11528 name to the same one as that of Emacs 21.
11529
115302008-02-01 Kenichi Handa <handa@m17n.org>
11531
11532 * coding.h (make_conversion_work_buffer): Adjust prototype.
11533 (code_conversion_restore): Don't extern it.
11534
11535 * coding.c (detected_mask): Delete unused variable.
11536 (decode_coding_iso_2022): Pay attention to the byte sequence of
11537 CTEXT extended segment, and retain those bytes as is.
11538 (decode_coding_ccl): Delete unused variable `valids'.
11539 (setup_coding_system): Delete unused variable `category'.
11540 (consume_chars): Delete unused variable `category'. Make it work
11541 for non-multibyte case.
11542 (make_conversion_work_buffer): Change argument.
11543 (saved_coding): Delete unused variable.
11544 (code_conversion_restore): Don't check saved_coding->destination.
11545 (code_conversion_save): New function.
11546 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11547 instead of record_unwind_protect.
11548 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11549 (detect_coding_system): Delete unused variable `mask'.
11550 (Fdefine_coding_system_internal): Delete unused variable id.
11551
11552 * fileio.c (kill_workbuf_unwind): New function.
11553 (Finsert_file_contents): On replacing, call
11554 make_conversion_work_buffer with correct args, and call
11555 record_unwind_protect with the first arg kill_workbuf_unwind.
11556
11557 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11558
115592008-02-01 Kenichi Handa <handa@m17n.org>
11560
11561 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11562 (fontset_add): Fix for the case that TO is less than TO1.
11563 (Ffontset_info): Don't use fallback fontset on checking the
11564 default fontset.
11565 (dump_fontset): New function for debugging.
11566
11567 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11568 coding_type is Qcharset.
11569
115702008-02-01 Kenichi Handa <handa@m17n.org>
11571
11572 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11573 (map_char_table): Don't inherit the value from the parent on
11574 initializing VAL. Adjust for the above change.
11575
115762008-02-01 Kenichi Handa <handa@m17n.org>
11577
11578 * coding.c (Qsignature, Qendian): Delete these variables.
11579 (syms_of_coding): Don't initialize them.
11580 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11581 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11582 detect_info->found.
11583 (decode_coding_utf_16): Don't detect BOM here.
11584 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11585 is NOT utf_16_without_bom.
11586 (setup_coding_system): For a coding system of type utf-16, check
11587 if the attribute :endian is Qbig or not (not nil or not), and set
11588 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11589 (detect_coding): If coding type is utf-16 and BOM detection is
11590 required, detect it.
11591 (Fdefine_coding_system_internal): For a coding system of type
11592 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11593
115942008-02-01 Kenichi Handa <handa@m17n.org>
11595
11596 * coding.c (coding_set_source): Fix for the case that the current
11597 buffer is different from coding->src_object.
11598 (decode_coding_object): Don't use the conversion work buffer if
11599 DST_OBJECT is a buffer.
11600
116012008-02-01 Dave Love <fx@gnu.org>
11602
11603 * lread.c (read_emacs_mule_char) [len==2]: Index
11604 emacs_mule_charset correctly.
11605
116062008-02-01 Dave Love <fx@gnu.org>
11607
11608 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11609 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11610 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11611 treated specially.)
11612 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11613 (detected_mask): Remove Big5 bits.
11614
116152008-02-01 Kenichi Handa <handa@m17n.org>
11616
11617 The following changes are to make the font rescaling facility
11618 compatible with Emacs 21.
11619
11620 * xfaces.c (Vface_font_rescale_alist): Rename from
11621 Vface_resizing_fonts.
11622 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11623 (font_rescale_ratio): Rename from font_resizing_ratio.
11624 (split_font_name): Set font->rescale_ratio.
11625 (better_font_p): Pay attention to font->rescale_ratio.
11626 (build_scalable_font_name): Likewise. Change RESX, and RESY
11627 fields.
11628 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11629
116302008-02-01 Kenichi Handa <handa@m17n.org>
11631
11632 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11633 (Qutf_16_le): Remove these variables.
11634 (syms_of_coding): Don't DEFSYM them.
11635 (decode_coding_utf_16): Fix handling of BOM.
11636 (encode_coding_utf_16): Fix handling of BOM.
11637
116382008-02-01 Kenichi Handa <handa@m17n.org>
11639
11640 * fileio.c (Finsert_file_contents): On replacing, before decoding
11641 the file into the work buffer, set point of the work buffer to the end.
11642
116432008-02-01 Dave Love <fx@gnu.org>
11644
11645 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11646
116472008-02-01 Dave Love <fx@gnu.org>
11648
11649 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11650 and fix C types.
11651
116522008-02-01 Kenichi Handa <handa@m17n.org>
11653
11654 * xdisp.c (SKIP_GLYPHS): New macro.
11655 (set_cursor_from_row): Pay attention to string display properties.
11656
11657 * category.c (copy_category_entry): Fix for the case that RANGE
11658 is an integer.
11659
11660 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11661
11662 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11663
116642008-02-01 Kenichi Handa <handa@m17n.org>
11665
11666 * charset.c (Fcharset_id_internal): New function.
11667 (syms_of_charset): Defsubr it.
11668
11669 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11670 with the last arg charset_list acquired from coding.
11671 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11672 the attribute coding_attr_ccl_valids.
11673
11674 * coding.h (enum define_coding_ccl_arg_index): Set the first
11675 member coding_arg_ccl_decoder to coding_arg_max.
11676
11677 * ccl.h (ccl_driver): Adjust prototype.
11678
11679 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11680 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11681 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11682 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11683 last arg Qnil.
11684
116852008-02-01 Kenichi Handa <handa@m17n.org>
11686
11687 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11688 call encode_char.
11689
11690 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11691
116922008-02-01 Dave Love <fx@gnu.org>
11693
11694 * composite.c (syms_of_composite): Make composition_hash_table weak.
11695
116962008-02-01 Kenichi Handa <handa@m17n.org>
11697
11698 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11699 (font_name_registry): Don't extern them.
11700 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11701
11702 * fontset.h (Qfontset): Don't extern it.
11703 (new_fontset_from_font_name): Extern it.
11704
11705 * fontset.c: Give 8 extra slots to fontset objects.
11706 (Qfontset_info): New variable.
11707 (syms_of_fontset): Defsym it.
11708 (FONTSET_FALLBACK): New macro.
11709 (fontset_face): Try also the default fontset.
11710 (make_fontset): Realize a fallback fontset from the default fontset.
11711 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11712 using split_font_name_into_vector and build_font_name_from_vector.
11713 (Fset_fontset_font): Access the elements of font_spec by enum
11714 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11715 name by using split_font_name_into_vector.
11716 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11717 generate a proper font name from the fontset name. Update
11718 Vfontset_alias_alist.
11719 (n_auto_fontsets): New variable.
11720 (new_fontset_from_font_name): New function.
11721 (Ffont_info): Store the information about fonts generated from the
11722 default fontset in the first extra slot of the returned char-table.
11723
11724 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11725 (font_name_registry): Delete function.
11726 (split_font_name_into_vector): New function.
11727 (build_font_name_from_vector): New function.
11728 (font_list): The argument REGISTRY is now a list of registry names.
11729 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11730 specifies an explicit font name, return the name as is. Make a
11731 list of registy names.
11732
11733 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11734 of x_new_fontset.
11735 (Fx_create_frame): Don't call x_new_fontset here. Just use
11736 x_list_fonts to check the existence of fonts.
11737
11738 * xterm.h (x_new_fontset): Adjust prototype.
11739
11740 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11741 string. Use new_fontset_from_font_name to create a fontset from a
11742 font name.
11743
117442008-02-01 Kenichi Handa <handa@m17n.org>
11745
11746 * syntax.c (Vfind_word_boundary_function_table): New name for
11747 Vnext_word_boundary_function_table.
11748 (find-word-boundary-function-table): New name for
11749 next-word-boundary-function-table.
11750
117512008-02-01 Dave Love <fx@gnu.org>
11752
11753 * Makefile.in: Fix some dependencies.
11754
11755 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11756 set it to nil before returning.
11757
11758 * composite.c (update_compositions): Fix type error.
11759
11760 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11761
117622008-02-01 Kenichi Handa <handa@m17n.org>
11763
11764 * xterm.c (x_new_font): Optimize for the case that the font is
11765 already set for the frame.
11766
117672008-02-01 Kenichi Handa <handa@m17n.org>
11768
11769 * chartab.c (char_table_ascii): Check if the char table contents
11770 is sub-char-table or not.
11771 (char_table_set, char_table_set_range): Fix argument to
11772 char_table_ascii.
11773
11774 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11775 (detect_coding_utf_8, detect_coding_utf_16)
11776 (detect_coding_emacs_mule, detect_coding_iso_2022)
11777 (detect_coding_sjis, detect_coding_big5)
11778 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11779 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11780 sequence is valid in this coding system. Change callers.
11781 (MAX_ANNOTATION_LENGTH): New macro.
11782 (ADD_ANNOTATION_DATA): New macro.
11783 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11784 ADD_ANNOTATION_DATA. Change the format of annotation data.
11785 (ADD_CHARSET_DATA): New macro.
11786 (emacs_mule_char): New argument ID. Change callers.
11787 (decode_coding_emacs_mule, decode_coding_iso_2022)
11788 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11789 Produce charset annotation data in coding->charbuf.
11790 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11791 to charset annotation data in coding->charbuf.
11792 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11793 coding->common_flags if the coding system is iso-2022 based and
11794 uses designation.
11795 (produce_composition): Adjust for the new annotation data format.
11796 (produce_charset): New function.
11797 (produce_annotation): Handle charset annotation.
11798 (handle_composition_annotation, handle_charset_annotation): New
11799 functions.
11800 (consume_chars): Handle charset annotation. Utilize the above two
11801 functions.
11802 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11803 buffer, get the deleted text as a string and set
11804 coding->src_object to that string.
11805 (detect_coding, detect_coding_system): Use the new struct
11806 coding_detection_info.
11807
11808 * coding.h (struct coding_detection_info): New structure.
11809 (struct coding_system): Adjust prototype of the member `detector'.
11810 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11811
118122008-02-01 Kenichi Handa <handa@m17n.org>
11813
11814 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11815
118162008-02-01 Dave Love <fx@gnu.org>
11817
11818 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11819 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11820 to new local and nullify apropos_accumulate before returning.
11821 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11822
118232008-02-01 Kenichi Handa <handa@m17n.org>
11824
11825 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11826 correctly.
e3eea1fc 11827
aac0c6e3
MR
118282008-02-01 Dave Love <fx@gnu.org>
11829
11830 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11831
118322008-02-01 Kenichi Handa <handa@m17n.org>
11833
11834 The following changes are to make character composition happen
11835 automatically on displaying.
11836
11837 * Makefile.in (lisp, shortlisp): Add composite.elc.
11838
11839 * composite.h (Qauto_composed, Vauto_composition_function)
11840 (Qauto_composition_function): Extern them.
11841
11842 * composite.c (Vcomposition_function_table)
11843 (Qcomposition_function_table): Delete variables.
11844 (Qauto_composed, Vauto_composition_function)
11845 (Qauto_composition_function): New variables.
11846 (run_composition_function): Don't call
11847 compose-chars-after-function.
11848 (update_compositions): Clear `auto-composed' text property.
11849 (compose_chars_in_text): Delete this function.
11850 (syms_of_composite): Staticpro Qauto_composed and
11851 Qauto_composition_function. Declare Vauto_composition_function as
11852 a Lisp variable.
11853
11854 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11855
11856 * xdisp.c (it_props): Add an entry for Qauto_composed.
11857 (handle_auto_composed_prop): New function.
11858
11859 * xselect.c (selection_data_to_lisp_data): Don't call
11860 compose_chars_in_text.
11861
118622008-02-01 Dave Love <fx@gnu.org>
11863
11864 * keyboard.c (read_char): Modify checking around use of
11865 Vkeyboard_translate_table.
11866
11867 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11868 and fix C types.
11869
118702008-02-01 Kenichi Handa <handa@m17n.org>
11871
11872 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11873 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11874 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11875 the case that the last byte is '\r' correctly.
11876 (decode_coding): Flush out the unprocessed data correctly.
11877 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11878
118792008-02-01 Dave Love <fx@gnu.org>
11880
11881 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11882 Add XK_ISO... case.
11883 (xaw_scroll_callback): Revert last change.
11884
118852008-02-01 Kenichi Handa <handa@m17n.org>
11886
11887 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11888
118892008-02-01 Kenichi Handa <handa@m17n.org>
11890
11891 * xfaces.c (Vface_resizing_fonts): New variable.
11892 (struct font_name): New member `resizing_ratio'.
11893 (font_resizing_ratio): New function.
11894 (split_font_name): Set font->resizing_ratio.
11895 (better_font_p): Pay attention to font->resizing_ratio.
11896 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11897 RESX, and RESY fields.
11898 (try_alternative_families): Try scalable fonts if
11899 Vscalable_fonts_allowed is not Qt.
11900 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11901
119022008-02-01 Dave Love <fx@gnu.org>
11903
11904 * xterm.c (xaw_scroll_callback): Cast correctly.
11905
119062008-02-01 Dave Love <fx@gnu.org>
11907
11908 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11909 (lispy_kana_keys): Comment out.
11910 (make_lispy_event) [XK_kana_A]: Comment out.
11911
11912 * xterm.c (xaw_scroll_callback): Cast call_data.
11913 (XTread_socket): Deal with ASCII keysyms.
11914 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11915
119162008-02-01 Dave Love <fx@gnu.org>
11917
11918 * xterm.c (Vx_keysym_table): New.
11919 (syms_of_xterm): Initialize it.
11920 (XTread_socket): Use it.
11921 From head: Eliminate incorrect optimization that tried to avoid
11922 decoding the output of X*LookupString.
11923 (x_get_font_repertory): Delete charset declaration.
11924
119252008-02-01 Kenichi Handa <handa@m17n.org>
11926
11927 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11928 return 0.
11929 (Fdefine_coding_system_internal): Setup
11930 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11931
119322008-02-01 Dave Love <fx@gnu.org>
11933
11934 * coding.c (Fcheck_coding_system): Doc fix.
11935
11936 * editfns.c (Finsert_byte): Return a proper value.
11937
119382008-02-01 Kenichi Handa <handa@m17n.org>
11939
11940 * coding.c (decode_coding): Fix args to translate_chars. Pay
11941 attention to Vstandard_translation_table_for_decode.
11942 (encode_coding): Fix args to translate_chars. Pay attention to
11943 Vstandard_translation_table_for_encode.
11944
11945 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11946 SINGLE_BYTE_CHAR_P.
11947
11948 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11949 not by SINGLE_BYTE_CHAR_P.
11950
11951 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11952 SINGLE_BYTE_CHAR_P.
11953
11954 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11955 SINGLE_BYTE_CHAR_P.
11956
11957 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11958 by SINGLE_BYTE_CHAR_P.
11959
11960 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11961 SINGLE_BYTE_CHAR_P.
11962
119632008-02-01 Dave Love <fx@gnu.org>
11964
11965 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11966
119672008-02-01 Dave Love <fx@gnu.org>
11968
11969 * fns.c (Flanginfo): Fix typo.
11970
11971 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11972
119732008-02-01 Kenichi Handa <handa@m17n.org>
11974
11975 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11976 (detect_coding_emacs_mule, detect_coding_iso_2022)
11977 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11978 incomplete byte sequence. Don't update *mask when correctly detected.
11979 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11980 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11981 (detect_coding, detect_coding_system): Adjust for the changes above.
11982
119832008-02-01 Kenichi Handa <handa@m17n.org>
11984
11985 * character.c (char_string): Rename from
11986 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11987 (string_char): Rename from string_char.
11988
11989 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11990 if C is greater than MAX_3_BYTE_CHAR.
11991 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11992 string_char instead of string_char_with_unification.
11993
119942008-02-01 Dave Love <fx@gnu.org>
11995
11996 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11997
119982008-02-01 Kenichi Handa <handa@m17n.org>
11999
12000 * keymap.c (push_key_description): Pay attention to force_multibyte.
12001
12002 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12003
120042008-02-01 Dave Love <fx@gnu.org>
12005
12006 * charset.c (define_charset_internal): Rename `supprementary'.
12007
12008 * Makefile.in (lisp, shortlisp): Remove latin-N.
12009
120102008-02-01 Dave Love <fx@gnu.org>
12011
12012 * xfns.c (x_window, x_window): Use use_xim.
12013
12014 * xterm.c (use_xim): Initialize.
12015 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12016 (x_term_init): Maybe set use_xim.
12017
12018 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12019
120202008-02-01 Kenichi Handa <handa@m17n.org>
12021
12022 * search.c (search_buffer): Fix case-fold-search of multibyte
12023 characters.
12024 (boyer_moore): Rename the last argument to char_high_bits.
12025
120262008-02-01 Kenichi Handa <handa@m17n.org>
12027
12028 * xdisp.c (display_string): Fix for the case of zero width glyph.
12029
12030 * xfns.c (x_set_font): Change the error message of the case that
12031 x_new_fontset returns Qt.
12032
12033 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12034 (Finternal_set_lisp_face_attribute): Use signal_error for the
12035 error of invalid fontset.
12036
12037 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12038 fontset, return Qt.
12039
120402008-02-01 Dave Love <fx@gnu.org>
12041
12042 * unexelf.c (unexec): Make .got handling not SGI-specific.
12043
12044 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12045
12046 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12047
12048 * keyboard.c (read_key_sequence): Fix type error.
12049
12050 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12051 type error.
12052
12053 * fontset.c (fontset_add): Return Lisp_Object.
12054
120552008-02-01 Dave Love <fx@gnu.org>
12056
12057 * charset.h (charset_ordered_list_tick): Declare extern.
12058
120592008-02-01 Kenichi Handa <handa@m17n.org>
12060
12061 The following changes (and some of 2008-02-01 changes of mine) are
12062 for handling syntax, category, and case conversion for unibyte
12063 characters by converting them to multibyte on the fly. With these
12064 changes, we don't have to setup syntax and case tables for unibyte
12065 characters in each language environment.
12066
12067 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12068 multibyte if necessary.
12069
12070 * bytecode.c (Fbyte_code): Likewise.
12071
12072 * character.h (LEADING_CODE_LATIN_1_MIN)
12073 (LEADING_CODE_LATIN_1_MAX): New macros.
12074 (unibyte_to_multibyte_table): Extern it.
12075 (unibyte_char_to_multibyte): New macro.
12076 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12077 (CHAR_LEADING_CODE): New macro.
12078 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12079
12080 * character.c (unibyte_to_multibyte_table): New variable.
12081 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12082 (multibyte_char_to_unibyte): If C is an eight-bit character,
12083 convert it to the corresponding byte value.
12084
12085 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12086 not 1, signals an error. Update the elements of
12087 unibyte_to_multibyte_table.
12088 (init_charset_once): Initialize unibyte_to_multibyte_table.
12089 (syms_of_charset): Define the charset `iso-8859-1'.
12090
12091 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12092 as is without converting it to unibyte. In a unibyte buffer,
12093 convert C to multibyte before checking the syntax.
12094
12095 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12096
12097 * minibuf.c (Fminibuffer_complete_word): Use the macro
12098 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12099
12100 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12101
12102 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12103 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12104 that is zero, convert an eight-bit char to multibyte.
12105 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12106 non-emacs case.
12107 (PATFETCH): Convert an eight-bit char to multibyte.
12108 (HANDLE_UNIBYTE_RANGE): New macro.
12109 (regex_compile): Setup the compiled pattern for multibyte chars
12110 even if the given regex string is unibyte. Use PATFETCH_RAW
12111 instead of PATFETCH in many places. To handle `charset'
12112 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12113 only for ASCII chars.
12114 (analyse_first) <exactn>: Simplify because the compiled pattern
12115 is multibyte.
12116 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12117 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12118 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12119 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12120 multibyte always 1.
12121 (re_search_2): In emacs, set the locale variable multibyte to 1,
12122 otherwise to 0. New local variable target_multibyte. Check it
12123 to decide the multibyteness of STR1 and STR2. If
12124 target_multibyte is zero, convert unibyte chars to multibyte
12125 before translating and checking fastmap.
12126 (TARGET_CHAR_AND_LENGTH): New macro.
12127 (re_match_2_internal): In emacs, set the locale variable multibyte
12128 to 1, otherwise to 0. New local variable target_multibyte. Check
12129 it to decide the multibyteness of STR1 and STR2. Use
12130 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12131 <charset, charset_not>: If multibyte is nonzero, check fastmap
12132 only for ASCII chars. Call bcmp_translate with
12133 target_multibyte, not with multibyte.
12134 <begline>: Declare the local variable C as `unsigned'.
12135 (bcmp_translate): Change the last arg name to target_multibyte.
12136
12137 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12138 the regexp pattern and the matching target. Set cp->buf.multibyte
12139 to the multibyteness of the regexp pattern. Set
12140 cp->but.target_multibyte to the multibyteness of the matching target.
12141 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12142 FETCH_STRING_CHAR_ADVANCE.
12143 (Freplace_match): Convert unibyte chars to multibyte.
12144
12145 * syntax.c (char_quoted, back_comment, scan_words)
12146 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12147 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12148 unibyte chars to multibyte.
12149 (skip_chars): Delete the arg syntaxp, and move the code for
12150 handling syntaxes to skip_syntaxes. Change callers.
12151 Fix the case that the multibyteness of STRING and the current
12152 buffer doesn't match.
12153 (skip_syntaxes): New function.
12154 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12155 SINGLE_BYTE_CHAR_P.
12156
121572008-02-01 Kenichi Handa <handa@m17n.org>
12158
12159 * xfaces.c (QCfontset): New variable.
12160 (LFACE_FONTSET): New macro.
12161 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12162 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12163 (Finternal_set_lisp_face_attribute)
12164 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12165 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12166 check also LFACE_FONTSET_INDEX.
12167 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12168 attrs[LFACE_FONT_INDEX].
12169 (syms_of_xfaces): Intern and staticpro QCfontset.
12170
12171 * dispextern.h (enum lface_attribute_index): New member
12172 LFACE_FONTSET_INDEX.
12173
12174 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12175
121762008-02-01 Kenichi Handa <handa@m17n.org>
12177
12178 * coding.c (coding_set_destination): Fix coding->destination for
12179 the case converting a region.
12180 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12181 (encode_coding_object): Fix coding->dst_pos and
12182 coding->dst_pos_byte for the case converting a region.
12183
12184 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12185
12186 * character.h (BYTE8_STRING): New macro.
12187
12188 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12189
121902008-02-01 Kenichi Handa <handa@m17n.org>
12191
12192 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12193 characters by octal form.
12194
12195 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12196
12197 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12198 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12199 _fetch_multibyte_char_len.
12200 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12201
12202 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12203
12204 * casefiddle.c (casify_object): Simplify. Handle the case that
12205 the case conversion change the byte length.
12206 (casify_region): Likewise.
12207
12208 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12209
12210 * character.c (_fetch_multibyte_char_len): Delete this variable.
12211 (syms_of_character): Setup Vprintable_chars.
12212
12213 * editfns.c (Fchar_equal): Fix for the unibyte case.
12214 (Finsert_byte): New function.
12215 (syms_of_editfns): Defsubr it.
12216
12217 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12218 of direct code 0x3ffff.
12219
12220 * search.c (Freplace_match): Fix for the unibyte case.
12221
122222008-02-01 Kenichi Handa <handa@m17n.org>
12223
12224 * lread.c (safe_to_load_p): Fix the logic.
12225
12226 * syntax.c (scan_words): Don't treat characters belonging to
12227 different scripts as constituting a word.
12228
12229 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12230
12231 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12232
12233 * emacs.c (main): In the case of --unibyte, instead of aborting on
12234 finding non-empty buffer, make it unibyte.
12235
122362008-02-01 Kenichi Handa <handa@m17n.org>
12237
12238 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12239 to create a fontset.
12240
122412008-02-01 Dave Love <fx@gnu.org>
12242
12243 * character.c (Funibyte_char_to_multibyte): Doc fix.
12244
12245 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12246
122472008-02-01 Kenichi Handa <handa@m17n.org>
12248
12249 * fontset.c (fontset_add): Make the type `int'.
12250 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12251
12252 * character.c (unibyte_char_to_multibyte)
12253 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12254 charset_unibyte, not charset_primary.
12255
12256 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12257
12258 * charset.c (charset_unibyte): Rename from charset_primary.
12259 (Funibyte_charset): Rename from Fprimary_charset.
12260 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12261 (syms_of_charset): Adjust for the above changes.
12262
12263 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12264 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12265 it->multibyte_p is zero.
12266
12267 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12268 Delete extern.
12269
122702008-02-01 Kenichi Handa <handa@m17n.org>
12271
12272 * coding.c (Fdefine_coding_system_internal): Fix category setting
12273 for a coding system of type iso-2022.
12274
122752008-02-01 Kenichi Handa <handa@m17n.org>
12276
12277 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12278
122792008-02-01 Kenichi Handa <handa@m17n.org>
12280
12281 * syntax.c (Vnext_word_boundary_function_table): New variable.
12282 (next-word-boundary-function-table): Declare it as a Lisp variable
12283 in syms_of_syntax.
12284 (scan_words): Call functions in Vnext_word_boundary_function_table
12285 if any.
12286
12287 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12288
12289 * fontset.c (fs_load_font): If fontp->charset is not negative,
12290 return fontp without setting its members.
12291
122922008-02-01 Dave Love <fx@gnu.org>
12293
12294 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12295
12296 * m/sparc.h (HAVE_ALLOCA): Delete.
12297
12298 * s/irix6-5.h: Don't include strings.h.
12299 (bcopy, bzero, bcmp): Don't undef.
12300
12301 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12302
12303 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12304 (TIOCSIGSEND): Don't test IRIX6.
12305 (bcopy, bzero, bcmp): Define conditionally.
12306
123072008-02-01 Kenichi Handa <handa@m17n.org>
12308
12309 * buffer.c (Qas, Qmake, Qto): New variables.
12310 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12311 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12312
12313 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12314 we are inserting a process output into a multibyte buffer.
12315
12316 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12317 multibyte_char_to_unibyte.
12318
12319 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12320 by the primary charset, make it eight-bit char.
12321 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12322
12323 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12324 (charset_8_bit__control, charset_8_bit_graphic)
12325 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12326 (define_charset_internal): New function.
12327 (syms_of_charset): Call define_charset_internal for pre-defined
12328 charsets.
12329
12330 * charset.h (charset_8_bit): Extern it.
12331
12332 * coding.c (make_conversion_work_buffer): Adjust for the change
12333 of Fset_buffer_multibyte.
12334 (encode_coding_raw_text): Increment p0 in the loop.
12335
12336 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12337
12338 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12339 for the change of Fset_buffer_multibyte.
12340
12341 * fns.c (Fstring_to_multibyte): New function.
12342 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12343
123442008-02-01 Dave Love <fx@gnu.org>
12345
12346 * xfns.c (x_put_x_image): Declare args.
12347
12348 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12349 (try_font_list): Declare an arg.
12350
12351 * xdisp.c (message2_nolog, set_message): Declare an arg.
12352
12353 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12354
12355 * syntax.c (scan_sexps_forward): Declare an arg.
12356
12357 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12358 Declare an arg.
12359
12360 * lisp.h (Fnew_fontset): Declare.
12361
12362 * keymap.c (push_key_description): Call CHARACTERP correctly.
12363
12364 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12365 (face_for_char): Delete unused vars.
12366 (Fset_fontset_font): Doc fix. Delete unused vars.
12367
12368 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12369
12370 * composite.c (update_compositions): Declare arg.
12371
12372 * cm.c (calccost, cmgoto): Declare args.
12373
12374 * charset.c: Remove `emacs' conditional. Doc fixes.
12375 (map_char_table_for_charset): Declare.
12376
12377 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12378
12379 * ccl.c: Remove `emacs' conditional.
12380
123812008-02-01 Kenichi Handa <handa@m17n.org>
12382
12383 The following changes are to allow specifying multiple font
12384 patterns for a character range (specified by script or charset).
12385
12386 * Makefile.in (abbrev.o): Depend on syntax.h.
12387 (xfaces.o): Depend on charset.h.
12388
12389 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12390 SINGLE_BYTE_CHAR_P.
12391
12392 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12393
12394 * character.h (Vchar_script_table): Extern it.
12395
12396 * character.c (Vscript_alist): Delete.
12397 (Vchar_script_table, Qchar_script_table): New variable.
12398 (syms_of_character): Declare Vchar_script_table as a lisp variable
12399 and initialize it.
12400
12401 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12402 have property char-table-extra-slots, make no extra slot.
12403
12404 * dispextern.h (struct face): Delete member `charset'.
12405 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12406 SINGLE_BYTE_CHAR_P.
12407 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12408 Add prototypes.
12409 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12410 (generate_ascii_font_name): Rename from generate_ascii_font.
12411
12412 * fontset.h (get_font_repertory_func): New prototype.
12413 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12414 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12415
12416 * fontset.c (Qprepend, Qappend): New variables.
12417 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12418 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12419 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12420 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12421 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12422 (load_font_get_repertory): New functions.
12423 (fontset_set): Delete.
12424 (fontset_face): New arg FACE. Return face ID, not face.
12425 Complete re-write to handle new fontset structure. Change caller.
12426 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12427 (face_for_char): Don't call lookup_face.
12428 (make_fontset_for_ascii_face): New arg FACE.
12429 (fs_load_font): New arg CHARSET_ID. Don't check
12430 Vfont_encoding_alist here.
12431 (find_font_encoding): New function.
12432 (list_fontsets): Use STRINGP, not ! NILP.
12433 (accumulate_script_ranges): New function.
12434 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12435 re-written to handle new fontset structure.
12436 (Ffontset_font): Return a copy of element.
12437 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12438 docstring of font-encoding-alist.
12439
12440 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12441 (Fset_fotset_font): Fix arguments to 5.
12442
12443 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12444
12445 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12446 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12447 (highlight_trailing_whitespace): Adjust for the change of
12448 lookup_named_face.
12449
12450 * xfaces.c: Include charset.h.
12451 (load_face_font): Delete argument C. Change caller.
12452 (generate_ascii_font_name): Rename from generate_ascii_font.
12453 (font_name_registry): New function.
12454 (cache_face): Store ascii faces before non-ascii faces in buckets.
12455 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12456 Lookup only ascii faces.
12457 (lookup_non_ascii_face): New function.
12458 (lookup_named_face): Delete argument C. Change caller.
12459 (lookup_derived_face): Delete argument C. Change caller.
12460 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12461 a string, just call font_list with it.
12462 (choose_face_font): Delete arguments FACE and C. New arg
12463 FONT_SPEC. Change caller.
12464 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12465 Change caller.
12466 (realize_non_ascii_face): New function.
12467 (realize_x_face): Call load_face_font here.
12468 (realize_tty_face): Delete argument C. Change caller.
12469 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12470 get a face ID.
12471 (dump_realized_face): Don't print charset of FACE.
12472
12473 * xfns.c (x_set_font): Always call x_new_fontset and
12474 store_frame_parameter.
12475 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12476 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12477
12478 * xterm.h (x_get_font_repertory): Extern it.
12479
12480 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12481 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12482 it->multibyte_p is zero.
12483 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12484 (x_new_fontset): If FONTSETNAME doesn't match any existing
12485 fontsets, create a new one.
12486 (x_get_font_repertory): New function.
12487
124882008-02-01 Kenichi Handa <handa@m17n.org>
12489
12490 * coding.c (Ffind_coding_systems_region_internal): Detect an
12491 ASCII only string correctly.
12492
12493 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12494 version is 0.
12495
124962008-02-01 Kenichi Handa <handa@m17n.org>
12497
12498 * lread.c: Include "coding.h".
12499 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12500 (load_each_byte, unread_char): New variables.
12501 (readchar_backlog): Delete.
12502 (readchar): Return a character unless load_each_byte is nonzero.
12503 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12504 cons. If unread_char is not -1, simply return it.
12505 (unreadchar): Handle the case that readcharfun is
12506 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12507 (read_multibyte): Delete.
12508 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12509 (read_emacs_mule_char): New functions.
12510 (Fload): Even if the file doesn't have the extension ".elc", if
12511 safe_to_load_p returns a positive version number, assume that the
12512 file contains bytecompiled code. If the version is less than 22,
12513 load the file while decoding multibyte sequences by emacs-mule.
12514 (readevalloop): Don't use readchar_backlog.
12515 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12516 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12517 (read_escape): Delete the arg BYTEREP.
12518 (read1): Set load_each_byte to 1 temporarily while handling
12519 #@NUMBER. Don't call read_multibyte.
12520 (read_vector): Call Fread with a cons. If readcharfun is
12521 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12522 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12523 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12524 and Qload_force_doc_strings.
12525
125262008-02-01 Kenichi Handa <handa@m17n.org>
12527
12528 * xdisp.c (face_before_or_after_it_pos): Call
12529 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12530
125312008-02-01 Kenichi Handa <handa@m17n.org>
12532
12533 * character.h (TRAILING_CODE_P): New macro.
12534 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12535 (string_char_with_unification): Fix prototype.
12536 (Vscript_alist): Extern it.
12537
12538 * character.c (Vscript_alist): New variable.
12539 (string_char_with_unification, str_as_unibyte)
12540 (string_escape_byte8): Add `const' to local variables.
12541 (syms_of_character): Declare script-alist as a Lisp variable.
12542
12543 * charset.h (Vcharset_ordered_list): Extern it.
12544 (charset_ordered_list_tick): Extern it.
12545 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12546 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12547 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12548 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12549 (Funify_charset): Adjust for the change of Funify_charset.
12550
12551 * charset.c (charset_ordered_list_tick): New variable.
12552 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12553 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12554 deunify intead of unify a charset.
12555 (string_xstring_p): Add `const' to local variables.
12556 (find_charsets_in_text): Add `const' to arguments and local variables.
12557 (encode_char): Adjust for the change of Funify_charset. Fix
12558 detecting of invalid code.
12559 (Fset_charset_priority): Increment charset_ordered_list_tick.
12560 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12561 and TO_CODE.
12562
12563 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12564 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12565 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12566 (decode_coding_ccl, consume_chars)
12567 (Ffind_coding_systems_region_internal)
12568 (Fcheck_coding_systems_region): Add `const' to local variables.
12569
12570 * print.c (print_object): Use octal form for printing the
12571 contents of a bool vector.
12572
125732008-02-01 Dave Love <fx@gnu.org>
12574
12575 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12576 <version == 20>: Refuse to load.
12577
125782008-02-01 Dave Love <fx@gnu.org>
12579
12580 * fns.c: Move coding.h.
12581 (Qcodeset, Qdays, Qmonths): New.
12582 (concat): Use CHARACTERP instead of INTEGERP.
12583 (Flocale_codeset): Delete.
12584 (Flanginfo): New function.
12585 (syms_of_fns): Change accordingly.
12586
12587 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12588
125892008-02-01 Dave Love <fx@gnu.org>
12590
12591 * casetab.c (init_casetab_once, init_casetab_once): Fix
12592 CHAR_TABLE_SET call.
12593
12594 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12595
12596 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12597
12598 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12599 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12600 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12601
12602 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12603
12604 * coding.c (ENCODE_DESIGNATION, decode_eol)
12605 (make_conversion_work_buffer, code_conversion_restore)
12606 (Fdefine_coding_system_internal): Convert Lisp types.
12607 (code_conversion_restore): Use EQ, not ==.
12608 (Fencode_coding_string): Fix code_convert_string call.
12609
12610 * coding.h (code_convert_region): Fix prototype.
12611
12612 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12613
12614 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12615 (Ffontset_info): Convert Lisp types.
12616
12617 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12618
12619 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12620
12621 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12622
12623 * chartab.c: Include "...h", not <...h> in some cases.
12624
12625 * callproc.c (Fcall_process): Remove unused variables.
12626
126272008-02-01 Dave Love <fx@gnu.org>
12628
12629 * coding.c (Fset_coding_system_priority): Allow null arg list.
12630
126312008-02-01 Dave Love <fx@gnu.org>
12632
12633 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12634 (Fself_insert_and_exit): Use CHARACTERP.
12635
12636 * callproc.c (Fcall_process): Remove unused vars.
12637
12638 * xterm.c (XTread_socket): Add extra dead keysyms.
12639
12640 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12641
12642 * dispextern.h: Remove prototypes for redraw_frame,
12643 redraw_garbaged_frames.
12644
12645 * cmds.c (Fself_insert_command): Use CHARACTERP.
12646
12647 * chartab.c (make_sub_char_table): Remove unused var.
12648 (Fset_char_table_default, Fmap_char_table): Doc fix.
12649
12650 * keymap.c (access_keymap): Remove generic char code.
12651 (push_key_description): Use CHARACTERP.
12652
126532008-02-01 Dave Love <fx@gnu.org>
12654
12655 * charset.c: Doc fixes.
12656 (Funify_charset): Extra checking.
12657
126582008-02-01 Dave Love <fx@gnu.org>
12659
12660 * lread.c: Remove some unused variables.
12661 (safe_to_load_p): If safe, return the magic number version byte.
12662 (Fload): Maybe use load-with-code-conversion.
12663
126642008-02-01 Kenichi Handa <handa@m17n.org>
12665
12666 * category.c (Fmodify_category_entry): Don't modify the contents
12667 of category_set for characters out of the range. Avoid
12668 unnecessary modification.
12669
12670 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12671 Vchar_unify_table. The default value of the table is now nil.
12672
12673 * character.c (syms_of_character): Setup Vchar_width_table for
12674 eight-bit-control and raw-byte chars.
12675
12676 * charset.h (enum define_charset_arg_index): Delete
12677 charset_arg_parents and add charset_arg_subset and
12678 charset_arg_superset.
12679 (enum charset_attr_index): Delete charset_parents and add
12680 charset_subset and charset_superset.
12681 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12682 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12683 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12684 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12685 (CHARSET_SUPERSET): New macros.
12686 (charset_work): Extern it.
12687 (ENCODE_CHAR): Use charset_work.
12688 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12689 (map_charset_chars): Extern it.
12690
12691 * charset.c (load_charset_map): Set the default value of encoder
12692 and deunifier char-tables to nil.
12693 (map_charset_chars): Change argument. Change callers. Use
12694 map_char_table_for_charset instead of map_char_table.
12695 (Fmap_charset_chars): New optional args from_code and to_code.
12696 (Fdefine_charset_internal): Adjust for the change of
12697 `define-charset' (:parents -> :subset or :superset).
12698 (charset_work): New variable.
12699 (encode_char, syms_of_charset): Adjust for the change of
12700 Fdefine_charset_internal.
12701 (Ffind_charset_string): Setup the vector `charsets' correctly.
12702
12703 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12704 the previous change.
12705 (char_table_ref_and_range): Adjust for the above change.
12706 (map_sub_char_table_for_charset): New function.
12707 (map_char_table_for_charset): New function.
12708
12709 * keymap.c (describe_vector): Handle a char-table directly here.
12710 (describe_char_table): Delete.
12711
12712 * lisp.h (map_charset_chars): Delete.
12713
127142008-02-01 Dave Love <fx@gnu.org>
12715
12716 * fns.c (count_combining): Comment out (unused).
12717 (Flocale_codeset): New.
12718 (syms_of_fns): Defsubr it.
12719
12720 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12721 (size_t): Remove.
12722
127232008-02-01 Dave Love <fx@gnu.org>
12724
12725 * Makefile.in (chartab.o): Depend on charset.h.
12726
127272008-02-01 Kenichi Handa <handa@m17n.org>
12728
12729 * character.c (syms_of_character): Set the default value of
12730 Vprintable_chars to Qnil.
12731
127322008-02-01 Dave Love <fx@gnu.org>
12733
12734 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12735
127362008-02-01 Kenichi Handa <handa@m17n.org>
12737
12738 * charset.c (load_charset_map): Handle the case that from < to
12739 correctly.
12740
12741 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12742 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12743 Pay attention to raw-8-bit chars.
12744
127452008-02-01 Kenichi Handa <handa@m17n.org>
12746
12747 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12748 It is not bytecompiled now.
12749
12750 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12751 (charset_jisx0208): New variables.
12752 (Fdefine_charset_internal): Setup them if appropriate.
12753 (init_charset_once): Initialize them to -1.
12754
12755 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12756 (charset_jisx0208): Extern them.
12757
12758 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12759 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12760 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12761 (setup_iso_safe_charsets): Fix arguments to Fassq.
12762 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12763 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12764 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12765 (encode_coding_iso_2022): Change the 1st arg to
12766 ENCODE_ISO_CHARACTER to a variable.
12767
127682008-02-01 Kenichi Handa <handa@m17n.org>
12769
12770 * charset.h (enum define_charset_arg_index): New enums
12771 charset_arg_min_code and charset_arg_max_code.
12772 (struct charset): New member char_index_offset.
12773
12774 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12775 Take charset->char_index_offset into account.
12776 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12777 args[charset_arg_max_code]. Setup charset.char_index_offset.
12778 (syms_of_charset): Fix args to Fdefine_charset_internal.
12779
127802008-02-01 Dave Love <fx@gnu.org>
12781
12782 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12783
127842008-02-01 Dave Love <fx@gnu.org>
12785
12786 * coding.c: Doc fixes.
12787 (Fcoding_system_aliases): Fix return value.
12788 (Qmac): Remove (duplicated) definition.
12789
127902008-02-01 Dave Love <fx@gnu.org>
12791
12792 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12793 functions.
12794
12795 * character.c (Fstring): Doc fix.
12796
12797 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12798
12799 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12800 ids.
12801 (font-encoding-alist): Doc fix.
12802
128032008-02-01 Dave Love <fx@gnu.org>
12804
12805 * term.c (costs_set): Declare static, non-initialized for pcc.
12806 (encode_terminal_code): Remove unused var.
12807
12808 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12809 for K&R.
12810
12811 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12812
12813 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12814 (suffixes): Move out of make_subsidiaries for K&R.
12815
12816 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12817
12818 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12819
128202008-02-01 Dave Love <fx@gnu.org>
12821
12822 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12823
12824 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12825
128262008-02-01 Yong Lu <lyongu@asia-infonet.com>
12827
12828 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12829
12830 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12831
128322008-02-01 Kenichi Handa <handa@m17n.org>
12833
12834 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12835 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12836
128372008-02-01 Kenichi Handa <handa@m17n.org>
12838
12839 * coding.c (decode_coding_charset): Adjust for the change of
12840 Fdefine_coding_system_internal.
12841 (Fdefine_coding_system_internal): For a coding system of
12842 `charset' type, store a list of charset IDs in
12843 `charset_attr_charset_valids' element of coding attributes.
12844
128452008-02-01 Kenichi Handa <handa@m17n.org>
12846
12847 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12848 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12849 caller. Handle 2-byte and 3-byte charsets correctly.
12850 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12851 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12852 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12853 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12854 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12855 sequence.
12856 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12857 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12858 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12859 and alt&rule composition.
12860 (decode_coding_iso_2022): Handle composition correctly.
12861 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12862
12863 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12864 re-defining a charset. If the charset has :emacs-mule-id, setup
12865 emacs_mule_bytes.
12866 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12867
128682008-02-01 Kenichi Handa <handa@m17n.org>
12869
12870 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12871 (encode_coding_big5, encode_coding_charset): If coding requires safe
12872 encoding, produce a character specified by
12873 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12874
128752008-02-01 Dave Love <fx@gnu.org>
12876
12877 * xterm.c (XSetIMValues): Declare.
12878
12879 * process.c: Conditionally include sys/wait.h, pty.h.
12880
12881 * print.c (print_object): Fix print format for 64-bit systems.
12882
12883 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12884
12885 * buffer.c (emacs_strerror): Declare.
12886
12887 * fontset.c (Fclear_face_cache): Declare.
12888 (accumulate_font_info): Comment-out (unused).
12889 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12890 variables.
12891
12892 * character.h (string_escape_byte8): Declare.
12893
12894 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12895 unused vars.
12896 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12897 (Fmap_charset_chars): Doc fix.
12898
12899 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12900 (Fset_coding_system_priority, Fset_coding_system_priority)
12901 (Fdefine_coding_system_internal): Doc fix.
12902
129032008-02-01 Dave Love <fx@gnu.org>
12904
12905 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12906
129072008-02-01 Kenichi Handa <handa@m17n.org>
12908
12909 * character.c (string_escape_byte8): Make multibyte string with
12910 correct size.
12911
12912 * charset.c (Fmake_char): Delete unnecessary code.
12913
129142008-02-01 Kenichi Handa <handa@m17n.org>
12915
12916 * xfns.c (x_encode_text): Allocate coding.destination here, and
12917 call encode_coding_object with dst_object Qnil.
12918
12919 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12920 multibyte form correctly.
12921
12922 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12923 against Vfont_encoding_alist.
12924
12925 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12926 handling of charset list.
12927 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12928 (decode_coding_object): Move point to coding->dst_pos before
12929 calling post-read-conversion function.
12930 (encode_coding_object): Give correct arguments to
12931 pre-write-conversion. Ignore the return value of
12932 pre-write-conversion function. Pay attention to the case that
12933 pre-write-conversion changes the current buffer. If dst_object is
12934 Qt, even if coding->src_bytes is zero, allocate at least one byte
12935 to coding->destination.
12936
12937 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12938
12939 * charset.c (Fmake_char): Make it more backward compatible.
12940 (Fmap_charset_chars): Fix docstring.
12941
129422008-02-01 Dave Love <fx@gnu.org>
12943
12944 * coding.c: Doc fixes.
12945 (Fdefine_coding_system_alias): Use names, not symbols, in
12946 coding-system-alist.
12947
129482008-02-01 Kenichi Handa <handa@m17n.org>
12949
12950 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12951 of calling free_realized_face.
12952
129532008-02-01 Yong Lu <lyongu@asia-infonet.com>
12954
12955 * charset.c (read_hex): Don't treat SPC as a comment starter.
12956 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12957 (Fdecode_char): Fix typo.
12958
129592008-02-01 Kenichi Handa <handa@m17n.org>
12960
12961 * charset.h (struct charset): New member `code_space_mask'.
12962
12963 * coding.c (coding_set_source): Delete the local variable beg_byte.
12964 (encode_coding_charset, Fdefine_coding_system_internal):
12965 Delete the local variable charset.
12966 (Fdefine_coding_system_internal): Setup
12967 attrs[coding_attr_charset_valids] correctly.
12968
12969 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12970 member to check if CODE is valid or not.
12971 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12972 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12973 is within the range of charset->min_code and carset->max_code.
12974
129752008-02-01 Dave Love <fx@gnu.org>
12976
12977 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12978
12979 * dispextern.h (generate_ascii_font): Fix return type.
12980
12981 * xfaces.c (generate_ascii_font): Fix arg declaration.
12982
12983 * coding.c (coding_inherit_eol_type)
12984 (Fset_terminal_coding_system_internal)
12985 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12986
129872008-02-01 Kenichi Handa <handa@m17n.org>
12988
12989 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12990 multiple charsets correctly.
12991
129922008-02-01 Kenichi Handa <handa@m17n.org>
12993
12994 * search.c (boyer_moore): Fix handling of multibyte character
12995 translation.
12996
12997 * xdisp.c (display_mode_element): When the variable `elt' is
12998 changed, update `this' and `lisp_string'.
12999
130002008-02-01 Kenichi Handa <handa@m17n.org>
13001
13002 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13003
13004 * callproc.c (Fcall_process): Be sure to give the current buffer
13005 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13006
13007 * charset.c (struct charset_map_entries): New struct.
13008 (load_charset_map): Rename from parse_charset_map. New args
13009 entries and n_entries. Change caller.
13010 (load_charset_map_from_file): Rename from load_charset_map.
13011 Change caller. New arg control_flag. Call load_charset_map at
13012 the tail.
13013 (load_charset_map_from_vector): New function.
13014 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13015 (encode_char): If the charset is compact, change a character index
13016 to a code point.
13017
13018 * coding.c (coding_alloc_by_making_gap): Check the case that the
13019 source and destination are the same correctly.
13020 (decode_coding_raw_text): Set coding->consumed_char and
13021 coding->consumed to 0.
13022 (produce_chars): If coding->chars_at_source is nonzero, update
13023 coding->consumed_char and coding->consumed before calling
13024 alloc_destination.
13025 (Fdefine_coding_system_alias): Register ALIAS in
13026 Vcoding_system_alist.
13027 (syms_of_coding): Define `no-conversion' coding system at the tail.
13028
13029 * fileio.c (Finsert_file_contents): Set coding_system instead of
13030 val. If the current buffer is multibyte, always call
13031 decode_coding_gap.
13032
13033 * xfaces.c (try_font_list): Give higher priority to fontset's
13034 family than face's family.
13035
130362008-02-01 Kenichi Handa <handa@m17n.org>
13037
13038 * callproc.c (Fcall_process): Be sure to give the current buffer
13039 to decode_coding_c_string.
13040
13041 * xfaces.c (try_font_list): Give a family specified in a fontset
13042 higher priority than a family specified in a face.
13043
130442008-02-01 Kenichi Handa <handa@m17n.org>
13045
13046 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13047 Fix arguments to insert_from_buffer.
13048
13049 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13050
130512008-02-01 Kenichi Handa <handa@m17n.org>
13052
13053 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13054 (decode_coding_gap): Set coding->dst_multibyte correctly.
13055
130562008-02-01 Kenichi Handa <handa@m17n.org>
13057
13058 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13059 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13060 (encode_coding_utf_16): Substitute coding->default_char for
13061 non-Unicode characters.
13062 (decode_coding): Don't call record_insert here.
13063 (setup_coding_system): Initialize `surrogate' of
13064 coding->spec.utf_16 to 0.
13065 (EMIT_ONE_BYTE): Fix for multibyte case.
13066
13067 * insdel.c (insert_from_gap): Call record_insert.
13068
130692008-02-01 Kenichi Handa <handa@m17n.org>
13070
13071 * casefiddle.c (casify_region): Fix multibyte case.
13072
13073 * character.c (c_string_width): Add return type `int'.
13074 (char_string_with_unification): Delete arg ADVANCED.
13075
13076 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13077 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13078 (CHAR_STRING_ADVANCE): Make it do-while statement.
13079
13080 * chartab.c (sub_char_table_set_range): Optimize for the case
13081 DEPTH == 3. Add workaround code for a GCC optimization bug.
13082
13083 * charset.c (parse_charset_map): Remove an unused variable.
13084
13085 * coding.c: Delete unused variables.
13086
13087 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13088 earlier. If inserted is zero and the coding system doesn't
13089 require flushing, don't call decode_coding_gap.
13090
13091 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13092
130932008-02-01 Kenichi Handa <handa@m17n.org>
13094
13095 The following changes are for using Unicode as an internal
13096 character model, and use UTF-8 format for buffer/string
13097 representation.
13098
13099 * .gdbinit (xchartable): Adjust for the change of char table structure.
13100 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13101
13102 * Makefile.in (obj): Add character.o and chartab.o.
13103 (lisp, shortlisp): Remove utf-8.elc.
13104 (*.o): For many files, change dependency on charset.h to
13105 character.h, and add dependency on character.h.
13106 (character.o, chartab.o): New targets.
13107
13108 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13109 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13110 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13111 of "charset.h".
13112
13113 * dired.c, filelock.c: Include "character.h".
13114
13115 * alloc.c: Include "character.h" instead of "charset.h".
13116 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13117 (syms_of_alloc): Remove defsubr for Smake_char_table.
13118
13119 * buffer.c: Include "character.h" instead of "charset.h", don't
13120 include "coding.h".
13121 (Fset_buffer_multibyte): Adjust for UTF-8.
13122
13123 * buffer.h: EXFUN Fbuffer_live_p.
13124
13125 * callproc.c: Include "character.h" instead of "charset.h".
13126 (Fcall_process): Big change for the new code-conversion APIs.
13127
13128 * casetab.c: Include "character.h" instead of "charset.h".
13129 (set_canon, set_identity, shuffle): Adjust for the new
13130 map_char_table spec.
13131 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13132 accessing the char table structure.
13133
13134 * chartab.c: New file that implements char table.
13135
13136 * category.c: Include "character.h".
13137 (copy_category_entry): New function.
13138 (copy_category_table): Call map_char_table and copy_category_entry.
13139 (Fmake_category_table): Initialize all top-level slots.
13140 (char_category_set): New function.
13141 (modify_lower_category_set): Delete.
13142 (Fmodify_category_entry): Call char_table_ref_and_range.
13143
13144 * category.h (CATEGORY_SET): Just call char_category_set.
13145
13146 * ccl.c: Include "character.h".
13147 (Qccl, Qcclp): New variables.
13148 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13149 it's less than 256.
13150 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13151 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13152 and DST type.
13153 (ccl_driver): Change types of argument, adjust code accordingly.
13154 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13155 ccl_driver.
13156 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13157
13158 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13159 New members src_multibyte, dst_multibyte, consumed, and produced.
13160 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13161 (CODING_SPEC_CCL_PROGRAM): New macro.
13162 (ccl_driver): Update prototype.
13163 (Qccl, Qcclp, Fccl_program_p): Extern them.
13164 (CHECK_CCL_PROGRAM): New macro.
13165
13166 * character.c, character.h, chartab.c: New files.
13167
13168 * charset.c: Mostly re-written. Move character and multibyte sequence
13169 handling codes to character.c.
13170
13171 * charset.h: Mostly re-written. Move character and multibyte sequence
13172 handling codes to character.h.
13173
13174 * coding.c, coding.h: Mostly re-written.
13175
13176 * composite.c: Include "character.h" instead of "charset.h".
13177 (CHAR_WIDTH): Move to character.h.
13178 (HASH_KEY, HASH_VALUE): Delete.
13179
13180 * composite.h (enum composition_method): Change order of enumeration
13181 symbols.
13182
13183 * data.c: Include "character.h" instead of "charset.h".
13184 (Faref): Call CHAR_TABLE_REF for a char table.
13185 (Faset): Call CHAR_TABLE_SET for a char table.
13186
13187 * dispextern.h (free_realized_face, check_face_attribytes)
13188 (generate_ascii_font): Extern them.
13189 (free_realized_multibyte_face): Delete extern.
13190
13191 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13192 table structure.
13193
13194 * editfns.c: Include "character.h" instead of "charset.h".
13195 (Fchar_to_string): Always call CHAR_STRING.
13196
13197 * emacs.c (main): Call init_charset_once, init_charset,
13198 syms_of_chartab, and syms_of_character.
13199
13200 * fileio.c: Include "character.h" instead of "charset.h".
13201 (Finsert_file_contents): Big change for the new code-conversion API.
13202 (choose_write_coding_system, Fwrite_region): Likewise.
13203 (build_annotations_2): Delete.
13204 (e_write): Big change for the new code-conversion API.
13205
13206 * fns.c: Include "character.h" instead of "charset.h".
13207 (copy_sub_char_table): Move to chartab.c.
13208 (Fcopy_sequence): Call copy_char_table for a char table.
13209 (concat): Delete codes calling count_multibyte.
13210 (string_char_to_byte, string_byte_to_char): Adjust for the new
13211 multibyte form.
13212 (internal_equal): Adjust for the change of char table structure.
13213 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13214 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13215 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13216 (char_table_translate, optimize_sub_char_table)
13217 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13218 chartab.c.
13219 (char_table_ref_and_index): Delete.
13220 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13221 (Fmd5): Call preferred_coding_system instead of accessing
13222 Vcoding_category_list. Adjust for the new code-conversion API.
13223 (syms_of_fns): Move defsubr for char table related functions to
13224 chartab.c.
13225
13226 * fontset.c: Mostly re-written.
13227
13228 * fontset.h (struct font_info): Change type of the member encoding_type.
13229 (enum FONT_SPEC_INDEX): New enum.
13230 (fontset_font_pattern, fs_load_font): Update prototype.
13231 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13232
13233 * indent.c: Include "character.h" instead of "charset.h".
13234 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13235
13236 * insdel.c: Include "character.h" instead of "charset.h".
13237 (copy_text): Don't refer to Vnonascii_translation_table.
13238 (insert_from_gap): New function.
13239
13240 * keyboard.c: Include "character.h" instead of "charset.h".
13241 (command_loop_1): Never call direct_output_forward_char before
13242 a non-ASCII character.
13243 (read_char): If Vkeyboard_translate_table is a char table, always
13244 translate a character.
13245
13246 * keymap.c: Include "character.h".
13247 (store_in_keymap): Handle the case that IDX is a cons.
13248 (Fdefine_key): Handle the case that KEY is a cons and the car part
13249 is also a cons (range).
13250 (push_key_description): Adjust for the new character code.
13251 (describe_vector): Call describe_char_table for a char table.
13252 (describe_char_table): New function.
13253
13254 * keymap.h (describe_char_table): Extern it.
13255
13256 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13257 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13258 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13259 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13260 Delete.
13261 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13262 structure.
13263 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13264 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13265 (CHARTAB_SIZE_BITS_3): New macros.
13266 (chartab_size): Extern it.
13267 (struct Lisp_Char_Table): Re-design.
13268 (struct Lisp_Sub_Char_Table): New structure.
13269 (HASH_KEY, HASH_VALUE): Move from fns.c.
13270 (CHARACTERBITS): Define as 22.
13271 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13272 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13273 (GC_SUB_CHAR_TABLE_P): New macro.
13274 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13275 (code_convert_string_norecord): Deleted extern.
13276 (init_character_once, syms_of_character, init_charset)
13277 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13278
13279 * lread.c: Include "character.h".
13280 (read_multibyte): New arg NBYTES.
13281 (read_escape): Change the meaning of returned *BYTEREP.
13282 (to_multibyte): Delete.
13283 (read1): Adjust the handling of char table and string.
13284
13285 * print.c: Include "character.h" instead of "charset.h".
13286 (print_string): Convert 8-bit raw bytes to octal form by
13287 string_escape_byte8.
13288 (print_object): Adjust for the new multibyte form. Print 8-bit
13289 raw bytes always in octal form. Handle sub char table correctly.
13290
13291 * process.c: Include "character.h" instead of "charset.h".
13292 (read_process_output, send_process): Adjust for the new
13293 code-conversion API.
13294
13295 * puresize.h (BASE_PURESIZE): Increase.
13296
13297 * regex.c: Include "character.h" instead of "charset.h".
13298 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13299 (regex_compile): Accept a range whose starting and ending
13300 character have different leading bytes.
13301 (analyse_first): Adjust for the above change.
13302
13303 * search.c: Include "character.h" instead of "charset.h".
13304 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13305 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13306
13307 * syntax.c: Include "character.h" instead of "charset.h".
13308 (syntax_parent_lookup): Delete.
13309 (Fmodify_syntax_entry): Accept a cons as CHAR.
13310 (skip_chars): Adjust for the new multibyte form.
13311 (init_syntax_once): Call char_table_set_range instead of directly
13312 accessing the structure of a char table.
13313
13314 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13315 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13316 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13317 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13318
13319 * term.c: Include "buffer.h" and "character.h".
13320 (encode_terminal_code, write_glyphs): Adjust for the new
13321 code-conversion API.
13322 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13323
13324 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13325
13326 * xdisp.c: Include "character.h".
13327 (get_next_display_element): Adjust for the new multibyte form.
13328 (disp_char_vector): Adjust for the new char table structure.
13329 (decode_mode_spec_coding): Adjust for the new structure of
13330 coding system.
13331 (decode_mode_spec): Adjust for the new code-conversion API.
13332
13333 * xfaces.c: Include "character.h" instead of "charset.h".
13334 (load_face_font): Adjust for the change of choose_face_font and
13335 FS_LOAD_FONT.
13336 (generate_ascii_font): New function.
13337 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13338 (set_font_frame_param): Adjust for the change of choose_face_font.
13339 (free_realized_face): Make it public.
13340 (free_realized_faces_for_fontset): Rename from
13341 free_realized_multibyte_face. Free also faces realized for ASCII.
13342 (choose_face_font): Change arguments. Adjust for the change of
13343 fontset_font_pattern and FS_LOAD_FONT.
13344
13345 * xfns.c: Include "character.h".
13346 (x_encode_text): Adjust for the new code-conversion API.
13347
13348 * xselect.c: Don't include "charset.h".
13349 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13350
13351 * xterm.c: Include "character.h".
13352 (x_encode_char): New argument CHARSET. Change caller.
13353 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13354 Call ENCODE_CHAR instead of SPLIT_CHAR.
13355 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13356 CHAR_WIDTH instead of CHARSET_WIDTH.
13357 (XTread_socket): Adjust for the new code-conversion API.
13358 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13359 (x_load_font): Adjust for the change of struct font.
13360
133612008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13362
13363 * xfaces.c (face_at_buffer_position): Remove unused vars.
13364
133652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13366
13367 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13368 Fix overflow checking.
13369
133702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13371
13372 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13373 Cancel previous change.
13374
133752008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13376
13377 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13378 ccl->eight_bit_control. Fix check for buffer overflow.
13379 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13380 (ccl_driver): Initialize extra_bytes to 0.
13381
133822008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13383
13384 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13385 return it ORed with ctrl_modifier.
13386
133872008-01-29 Miles Bader <miles@gnu.org>
13388
13389 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13390
133912008-01-28 Jason Rumney <jasonr@gnu.org>
13392
13393 * w32.c (stat): Don't double check for networked drive.
13394
133952008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13396
13397 * window.c (run_window_configuration_change_hook): New function.
13398 Code extracted from set_window_buffer. Set the selected frame.
13399 (set_window_buffer): Use it.
13400 * window.h (run_window_configuration_change_hook): Declare.
13401 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13402
13403 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13404
134052008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13406
13407 * Makefile.in: Remove references to unused macros.
13408
134092008-01-26 Eli Zaretskii <eliz@gnu.org>
13410
13411 * w32.c (g_b_init_get_sid_sub_authority)
13412 (g_b_init_get_sid_sub_authority_count): New static variables.
13413 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13414 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13415 (init_user_info): Use them to retrieve uid and gid.
13416 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13417 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13418 st_uid and st_gid of the file.
13419
134202008-01-26 Jason Rumney <jasonr@gnu.org>
13421
13422 * w32.c (logon_network_drive): New function.
13423 (stat): Use it.
13424
134252008-01-26 Chong Yidong <cyd@stupidchicken.com>
13426
13427 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13428 invisible text covered with an ellipsis.
13429
134302008-01-25 Richard Stallman <rms@gnu.org>
13431
13432 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13433 jump back to beginning. Move some other initializations after that.
13434 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13435 New variables.
13436 (syms_of_xdisp): Init them.
13437
13438 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13439
13440 * buffer.c (reset_buffer_local_variables):
13441 Implement `permanent-local-hook'.
13442 (Qpermanent_local_hook): New variable.
13443 (syms_of_buffer): Init and staticpro it.
13444
134452008-01-25 Michael Albinus <michael.albinus@gmx.de>
13446
13447 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13448
134492008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13450
13451 * fns.c (Fclrhash): Return TABLE.
13452
134532008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13454
13455 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13456 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13457 is set even without positional changes.
13458 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13459
13460 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13461
134622008-01-23 Jason Rumney <jasonr@gnu.org>
13463
13464 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13465
13466 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13467 the unicode range available in MULE by locale-coding-system.
13468 Improve dbcs lead byte detection. Set event timestamp and modifiers
13469 earlier.
13470
134712008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13472
13473 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13474 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13475 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13476 when used on child processes.
13477
134782008-01-21 Michael Albinus <michael.albinus@gmx.de>
13479
13480 * dbusbind.c (Fdbus_method_return_internal): Rename from
13481 Fdbus_method_return.
13482 (Fdbus_unregister_object): Move to dbus.el.
13483 (Fdbus_call_method, Fdbus_method_return_internal)
13484 (Fdbus_send_signal): Improve debug messages.
13485
134862008-01-20 Martin Rudalics <rudalics@gmx.at>
13487
13488 * undo.c (undo_inhibit_record_point): New variable.
13489 (syms_of_undo): Initialize it.
13490 (record_point): Don't record point when undo_inhibit_record_point
13491 is set.
13492
134932008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13494
13495 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13496
13497 * xdisp.c (Qauto_hscroll_mode): New var.
13498 (syms_of_xdisp): Initialize it.
13499 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13500 window's buffer.
13501 (hscroll_windows): Don't check automatic_hscrolling_p here.
13502
13503 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13504 vscroll if we're setting window-buffer to the value it already has.
13505
135062008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13507
13508 * m/intel386.h: Remove references to XENIX.
13509
135102008-01-17 Andreas Schwab <schwab@suse.de>
13511
13512 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13513 instead of HAVE_X86_64_LIB64_DIR.
13514 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13515
135162008-01-17 Glenn Morris <rgm@gnu.org>
13517
13518 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13519 to HAVE_X86_64_LIB64_DIR.
13520
135212008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13522
13523 * s/irix3-3.h:
13524 * s/irix4-0.h:
13525 * s/386-ix.h:
13526 * s/domain.h:
13527 * s/hpux9-x11r4.h:
13528 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13529
13530 * sysdep.c: Remove code containing references to symbols defined
13531 by unsupported systems.
13532
135332008-01-16 Glenn Morris <rgm@gnu.org>
13534
13535 * coding.c (select-safe-coding-system-function): Doc fix.
13536
135372008-01-15 Glenn Morris <rgm@gnu.org>
13538
13539 * config.in: Revert 2008-01-13 change: this is a generated file.
13540
135412008-01-13 Tom Tromey <tromey@redhat.com>
13542
13543 * lisp.h: Fix typo.
13544
135452008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13546
13547 * m/sequent-ptx.h:
13548 * m/sequent.h:
13549 * s/ptx.h:
13550 * s/ptx4-2.h:
13551 * s/ptx4.h: Remove files for systems no longer supported.
13552
13553 * callproc.c (Fcall_process): Fix previous change.
13554
135552008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13556
13557 * unexsunos4.c: Remove file, system not supported anymore.
13558
13559 * m/mips.h:
13560 * m/intel386.h:
13561 * callproc.c:
13562 * config.in:
13563 * ecrt0.c:
13564 * emacs.c:
13565 * fileio.c:
13566 * frame.c:
13567 * getpagesize.h:
13568 * keyboard.c:
13569 * lread.c:
13570 * process.c:
13571 * puresize.h:
13572 * sysdep.c:
13573 * systty.h:
13574 * syswait.h:
13575 * unexec.c:
13576 * xdisp.c:
13577 * alloc.c: Remove code containing references to symbols defined by
13578 unsupported systems.
13579
135802008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13581
13582 * coding.c (detect_coding_mask): Fix previous change.
13583
135842008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13585
13586 * coding.c (detect_coding_iso2022): New arg
13587 latin_extra_code_state. Allow Latin extra codes only
13588 when *latin_extra_code_state is nonzero.
13589 (detect_coding_mask): If there is a NULL byte, detect the encoding
13590 as UTF-16 or binary. If Latin extra codes exist, detect the
13591 encoding as ISO-2022 only when there's no other proper encoding is
13592 found.
13593
135942008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13595
13596 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13597 #ifdef MAC_OS.
13598
135992008-01-08 Richard Stallman <rms@gnu.org>
13600
13601 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13602
136032008-01-06 Nick Roberts <nickrob@snap.net.nz>
13604
13605 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13606 menu bar in parentheses.
13607
136082008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13609
13610 * m/7300.h:
13611 * m/acorn.h:
13612 * m/alliant-2800.h:
13613 * m/alliant.h:
13614 * m/alliant1.h:
13615 * m/alliant4.h:
13616 * m/altos.h:
13617 * m/amdahl.h:
13618 * m/apollo.h:
13619 * m/att3b.h:
13620 * m/aviion-intel.h:
13621 * m/aviion.h:
13622 * m/celerity.h:
13623 * m/clipper.h:
13624 * m/cnvrgnt.h:
13625 * m/convex.h:
13626 * m/cydra5.h:
13627 * m/delta88k.h:
13628 * m/dpx2.h:
13629 * m/dual.h:
13630 * m/elxsi.h:
13631 * m/f301.h:
13632 * m/gould-np1.h:
13633 * m/gould.h:
13634 * m/i860.h:
13635 * m/ibmps2-aix.h:
13636 * m/ibmrt-aix.h:
13637 * m/ibmrt.h:
13638 * m/irist.h:
13639 * m/is386.h:
13640 * m/isi-ov.h:
13641 * m/mega68.h:
13642 * m/mg1.h:
13643 * m/news-r6.h:
13644 * m/news-risc.h:
13645 * m/news.h:
13646 * m/nh3000.h:
13647 * m/nh4000.h:
13648 * m/ns16000.h:
13649 * m/ns32000.h:
13650 * m/nu.h:
13651 * m/orion.h:
13652 * m/orion105.h:
13653 * m/paragon.h:
13654 * m/pfa50.h:
13655 * m/plexus.h:
13656 * m/pyramid.h:
13657 * m/pyrmips.h:
13658 * m/sh3el.h:
13659 * m/sps7.h:
13660 * m/sr2k.h:
13661 * m/stride.h:
13662 * m/sun1.h:
13663 * m/sun2.h:
13664 * m/sun3-68881.h:
13665 * m/sun3-fpa.h:
13666 * m/sun3-soft.h:
13667 * m/sun3.h:
13668 * m/sun386.h:
13669 * m/symmetry.h:
13670 * m/tad68k.h:
13671 * m/tahoe.h:
13672 * m/targon31.h:
13673 * m/tek4300.h:
13674 * m/tekxd88.h:
13675 * m/tower32.h:
13676 * m/tower32v3.h:
13677 * m/ustation.h:
13678 * m/wicat.h:
13679 * m/xps100.h:
13680 * s/cxux.h:
13681 * s/cxux7.h:
13682 * s/dgux.h:
13683 * s/dgux4.h:
13684 * s/dgux5-4-3.h:
13685 * s/dgux5-4r2.h:
13686 * s/esix.h:
13687 * s/esix5r4.h:
13688 * s/hiuxmpp.h:
13689 * s/hiuxwe2.h:
13690 * s/iris3-5.h:
13691 * s/iris3-6.h:
13692 * s/isc2-2.h:
13693 * s/isc3-0.h:
13694 * s/isc4-0.h:
13695 * s/isc4-1.h:
13696 * s/newsos5.h:
13697 * s/newsos6.h:
13698 * s/osf1.h:
13699 * s/osf5-0.h:
13700 * s/riscix1-1.h:
13701 * s/riscix12.h:
13702 * s/sco4.h:
13703 * s/sco5.h:
13704 * s/sunos4-0.h:
13705 * s/sunos4-1.h:
13706 * s/sunos413.h:
13707 * s/sunos4shr.h:
13708 * s/umax.h:
13709 * s/unipl5-2.h:
13710 * s/xenix.h:
13711 * cxux-crt0.s:
13712 * unexapollo.c:
13713 * unexconvex.c:
13714 * unexenix.c:
13715 * unexsni.c: Remove files for systems no longer supported.
13716
13717 * m/intel386.h: Remove references to unsupported systems.
13718
13719 * w32.c (get_emacs_configuration): Remove reference to i860.
13720
13721 * sysdep.c: Remove dead code.
13722
137232008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13724
13725 * s/rtu.h:
13726 * m/masscomp.h: Remove files. Platform is obsolete.
13727
137282008-01-04 Michael Albinus <michael.albinus@gmx.de>
13729
13730 * dbusbind.c (Fdbus_method_return): New function.
13731 (xd_read_message): Add the serial number to the event.
13732 (Fdbus_register_method): Activate the function.
13733
137342008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13735
13736 * keyboard.c (read_key_sequence): Fix typo.
13737
137382008-01-03 Michael Albinus <michael.albinus@gmx.de>
13739
13740 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13741 (xd_signature, xd_append_arg): Handle element type detection for
13742 empty arrays.
13743 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13744 SDATA () calls; this must be solved more general.
13745 (Fdbus_register_signal): Use SBYTES instead of strlen.
13746
137472008-01-03 Magnus Henoch <magnus@zemdatav>
13748
13749 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13750 unsigned int for byte values (necessary for big-endian platform).
13751 (Fdbus_call_method): Handle the case of no returned arguments.
13752
137532007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13754
13755 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13756
137572007-12-31 Magnus Henoch <mange@freemail.hu>
13758
13759 * dbusbind.c (xd_signature): Signature of variant is just "v".
13760
137612007-12-30 Michael Albinus <michael.albinus@gmx.de>
13762
13763 * dbusbind.c: Fix several errors and compiler warnings.
13764 Reported by Tom Tromey <tromey@redhat.com>.
13765 (XD_ERROR, XD_DEBUG_MESSAGE)
13766 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13767 (xd_append_arg): Part for basic D-Bus types rewritten.
13768 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13769 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13770 appropriate.
13771 (xd_read_message): Return Qnil. Don't signal an error; it is not
13772 useful during event reading.
13773 (Fdbus_register_signal): Signal an error if the check for
13774 FUNCTIONP fails.
13775 (Fdbus_register_method): New function. The implementation is not
13776 complete, the call of the function signals an error therefore.
13777 (Fdbus_unregister_object): New function, renamed from
13778 Fdbus_unregister_signal. The initial check signals an error, if
13779 the object is not well formed.
13780
137812007-12-30 Richard Stallman <rms@gnu.org>
13782
13783 * textprop.c (get_char_property_and_overlay):
13784 Signal error if POSITION is out of range in a buffer.
13785
137862007-12-29 Martin Rudalics <rudalics@gmx.at>
13787
13788 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13789 because the original parameters are in pure storage now.
13790
137912007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13792
13793 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13794
137952007-12-22 Eli Zaretskii <eliz@gnu.org>
13796
13797 * callint.c (syms_of_callint) <command-history>: Add reference to
13798 history-length in the doc string.
13799
138002007-12-17 Jason Rumney <jasonr@gnu.org>
13801
13802 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13803 before passing as wParam.
13804
138052007-12-22 Michael Albinus <michael.albinus@gmx.de>
13806
13807 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13808 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13809 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13810 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13811 as number.
13812 (Fdbus_call_method): Fix docstring.
13813
138142007-12-21 Michael Albinus <michael.albinus@gmx.de>
13815
13816 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13817 New macros.
13818 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13819 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13820 Simplify.
13821 (xd_signature): New function.
13822 (xd_append_arg): Compute also signatures. Major rewrite.
13823 (xd_retrieve_arg): Make debug messages friendly.
13824 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13825 Check for signatures of arguments.
13826
138272007-12-19 Michael Albinus <michael.albinus@gmx.de>
13828
13829 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13830 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13831 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13832 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13833 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13834 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13835 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13836 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13837 (xd_retrieve_value): Remove. Functionality included in ...
13838 (xd_append_arg): New function.
13839 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13840
138412007-12-16 Michael Albinus <michael.albinus@gmx.de>
13842
13843 * dbusbind.c (top): Include <stdio.h>.
13844 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13845 dbus_message_new_method_call and dbus_message_new_signal.
13846 (Fdbus_register_signal): Rename unique_name to uname.
13847 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13848 non-existing unique name. Fix typos in matching rule. Return an
13849 object which is useful in Fdbus_unregister_signal.
13850 (Fdbus_unregister_signal): Reimplementation, in order to remove
13851 only the corresponding entry.
13852 (Vdbus_registered_functions_table): Change the order of entries.
13853 Apply these changes in xd_read_message and Fdbus_register_signal.
13854
138552007-12-16 Andreas Schwab <schwab@suse.de>
13856
13857 * fileio.c (Finsert_file_contents): Fix overflow check to not
13858 depend on undefined integer overflow.
13859
138602007-12-14 Jason Rumney <jasonr@gnu.org>
13861
13862 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13863 for characters above 127.
13864
138652007-12-13 Jason Rumney <jasonr@gnu.org>
13866
13867 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13868 before dereferencing array.
13869 (lookup_vk_code): Remove zero comparison.
13870
138712007-12-14 Michael Albinus <michael.albinus@gmx.de>
13872
13873 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13874 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13875 Use `unsigned int' instead of `uint'.
13876 (xd_read_message, Fdbus_register_signal): Split expressions into
13877 multiple lines before operators "&&" and "||", according to the
13878 GNU Coding Standards.
13879
138802007-12-14 Eli Zaretskii <eliz@gnu.org>
13881
13882 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13883
138842007-12-12 Juri Linkov <juri@jurta.org>
13885
13886 * buffer.c (Frename_buffer): In interactive spec replace
13887 `read-buffer' with `read-string' that uses `buffer-name-history'
13888 as history, and the current buffer's name as default.
13889
138902007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13891
13892 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13893 manipulating the backtrace manually.
13894 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13895 (struct backtrace, backtrace_list): Remove.
13896 (command_loop_1): Remove dead var `no_direct'.
13897
13898 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13899 preserve non-built-in buffer-local variables.
13900 (Fkill_all_local_variables): Don't re-create&re-set permanent
13901 buffer-local variables.
13902
139032007-12-09 Juri Linkov <juri@jurta.org>
13904
13905 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13906 Lisp code that uses `read-buffer' with current buffer as default.
13907
139082007-12-08 Michael Albinus <michael.albinus@gmx.de>
13909
13910 * dbusbind.c (xd_read_message): Generate an event for every
13911 registered handler. There might be several handlers registered
13912 for the same signal.
13913 (Fdbus_register_signal): Don't overwrite a registration for the
13914 same signal. Add a new registration if handlers are different.
13915 (Vdbus_registered_functions_table): Rework doc string.
13916
139172007-12-07 Michael Albinus <michael.albinus@gmx.de>
13918
13919 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13920 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13921 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13922 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13923 Unify argument lists.
13924 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13925 arguments and hash table keys. Use unique name for service.
13926 (Fdbus_unregister_signal): Remove checks.
13927 (Vdbus_registered_functions_table): Fix doc string.
13928
139292007-12-05 Magnus Henoch <mange@freemail.hu>
13930
13931 * process.c (make_process): Initialize pty_flag to 0.
13932
139332007-12-05 Jason Rumney <jasonr@gnu.org>
13934
13935 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13936 specified XBMs.
13937
139382007-12-05 Richard Stallman <rms@gnu.org>
13939
13940 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13941
139422007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13943
13944 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13945 New variable.
13946 (mac_try_close_socket) [MAC_OSX]: New function.
13947 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13948 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13949
13950 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13951 Use mac_try_close_socket.
13952
139532007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13954
13955 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13956 reloc_base.
13957 (copy_dysymtab): Compute relocation base here.
13958 (rebase_reloc_address) [__ppc64__]: New function.
13959 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13960 changed.
13961
139622007-12-05 Jason Rumney <jasonr@gnu.org>
13963
13964 * w32proc.c (sys_spawnve): Quote args with wildcards.
13965
139662007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13967
13968 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13969 __objc_* sections.
13970 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13971
139722007-12-05 Michael Albinus <michael.albinus@gmx.de>
13973
13974 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13975 Move check for Vdbus_registered_functions_table to
13976 xd_read_queued_messages.
13977 (xd_read_queued_messages): Protect xd_read_message calls by
13978 internal_condition_case_1.
13979
139802007-12-04 Michael Albinus <michael.albinus@gmx.de>
13981
13982 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13983 Qdbus_system_bus and Qdbus_session_bus, respectively.
13984 (Vdbus_intern_symbols): Remove.
13985 (Vdbus_registered_functions_table): New hash table.
13986 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13987 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13988 Rewrite in order to manage registered functions by hash table
13989 Vdbus_registered_functions_table.
13990
139912007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13992
13993 * xterm.c: Update URL to Window Manager Specification in comment.
13994
139952007-12-02 Michael Albinus <michael.albinus@gmx.de>
13996
13997 * config.in (HAVE_DBUS): Add.
13998
13999 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14000 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14001 (obj): Add $(DBUS_OBJ).
14002 (LIBES): Add $(DBUS_LIBS).
14003 (dbusbind.o): New target.
14004
14005 * dbusbind.c: New file.
14006
14007 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14008
14009 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14010 (Qdbus_event): New Lisp symbol.
14011 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14012 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14013 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14014
14015 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14016
140172007-12-01 Richard Stallman <rms@gnu.org>
14018
14019 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14020
140212007-11-30 Jason Rumney <jasonr@gnu.org>
14022
14023 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14024 (w32con_reset_terminal_modes): Clear screen buffer.
14025 (w32_face_attributes): Don't use color indexes that are out of range.
14026 Only reverse the default colors.
14027
14028 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14029 WINDOWSNT.
14030
14031 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14032
140332007-11-29 Jason Rumney <jasonr@gnu.org>
14034
14035 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14036 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14037 if the terminal colors are initialized.
14038 (unspecified_fg, unspecified_bg): Remove unused declarations.
14039
140402007-11-29 Andreas Schwab <schwab@suse.de>
14041
14042 * keyboard.c (apply_modifiers): Fix typo.
14043
140442007-11-29 Richard Stallman <rms@gnu.org>
14045
14046 * keymap.c (Fcurrent_local_map): Doc fix.
14047
140482007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14049
14050 * s/gnu-kfreebsd.h: New file.
14051
140522007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14053
14054 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14055 Don't cast redundantly.
14056
14057 * keyboard.c (KEY_TO_CHAR): New macro.
14058 (parse_modifiers, apply_modifiers): Accept integer arguments.
14059 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14060 for chars and symbol keys.
14061 After doing such remapping, apply function-key-map again.
14062
140632007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14064
14065 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14066 compiled anymore.
14067
140682007-11-26 Andreas Schwab <schwab@suse.de>
14069
14070 * process.c (list_processes_1): Fix indentation level of the
14071 command column.
14072
140732007-11-23 Andreas Schwab <schwab@suse.de>
14074
14075 * editfns.c (Fformat): Handle %c specially since it requires the
14076 argument to be of type int.
14077
140782007-11-23 Markus Triska <markus.triska@gmx.at>
14079
14080 * emacs.c (main): Call init_editfns before init_process, since
14081 init_process sets Vprocess_connection_type depending on OS release.
14082
140832007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14084
14085 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14086 (find_symbol_value): Use do_symval_forwarding.
14087
14088 * data.c (set_internal): Set the value in the `cons-cell' (for
14089 Buffer_Local_values) not only for frame-local variables.
14090
140912007-11-22 Andreas Schwab <schwab@suse.de>
14092
14093 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14094 values to sprintf.
14095 * keymap.c (Fsingle_key_description): Likewise.
14096 * print.c (print_object): Likewise.
14097
140982007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14099
14100 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14101 file for image is nil.
14102
141032007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14104
14105 * term.c: Include stdarg.h.
14106 (fatal): Implement using varargs.
14107 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14108
141092007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14110
14111 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14112 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14113 Update call to buffer_slot_type_mismatch.
14114 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14115 (buffer_slot_type_mismatch): Update.
14116 * buffer.c (buffer_local_types): Remove.
14117 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14118 (defvar_per_buffer): Set the type in the buffer_objfwd.
14119
141202007-11-21 Jason Rumney <jasonr@gnu.org>
14121
14122 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14123 CreateFileMapping returns NULL on failure.
14124
141252007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14126
14127 * search.c (Fset_match_data): Remove the `evaporate' feature.
14128 (unwind_set_match_data): Don't use the `evaporate' feature.
14129
141302007-11-21 Jason Rumney <jasonr@gnu.org>
14131
14132 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14133
14134 * w32console.c (w32con_write_glyphs): Remove unused variables.
14135
141362007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14137
14138 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14139
14140 * s/darwin.h (MULTI_KBOARD): Remove.
14141
14142 * macfns.c (x_create_tip_frame, Fx_create_frame)
14143 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14144
141452007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14146
14147 * buffer.c (Fbuffer_local_value): Remove redundant test.
14148 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14149 than in `current-buffer' to match the comment.
14150 Do the swap using swap_in_global_binding.
14151
14152 * data.c (store_symval_forwarding, set_internal):
14153 * eval.c (specbind): Remove dead code.
14154
14155 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14156 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14157 Since we do not want to see internal Lisp_*fwd objects here.
14158
141592007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14160
14161 * sysdep.c (init_system_name): Use getaddrinfo if available.
14162
14163 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14164 (x_scroll_bar_note_movement): start, end, with, height in struct
14165 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14166
141672007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14168
14169 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14170
141712007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14172
14173 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14174 This undoes Richard's change of 14-Oct-2002.
14175
14176 * alloc.c (allocate_other_vector):
14177 * lisp.h (allocate_other_vector): Remove.
14178
14179 * window.c (struct save_window_data): Move non-lisp data to the end
14180 and make it `int' rather than Lisp_Object.
14181 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14182 Done wrap/unwrap integer values.
14183 (Fset_window_configuration, compare_window_configurations):
14184 Update use of fields to their new types.
14185
14186 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14187 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14188 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14189 (SET_SCROLL_BAR_X_WINDOW): Remove.
14190 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14191 Access the new x_window field directly.
14192 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14193 Don't wrap/unwrap integers into Lisp_Objects.
14194 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14195 (x_scroll_bar_report_motion):
14196 Don't wrap/unwrap integers into Lisp_Objects.
14197 (x_term_init): Use SDATA.
14198 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14199 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14200 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14201 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14202 * xfns.c (x_set_background_color):
14203 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14204 Access the new x_window field directly.
14205
14206 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14207 (allocate_pseudovector): Make non-static.
14208
14209 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14210 (allocate_pseudovector): Declare.
14211 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14212
142132007-11-15 Andreas Schwab <schwab@suse.de>
14214
14215 * editfns.c (Fformat): Correctly format EMACS_INT values.
14216 Also take precision into account when formatting an integer.
14217
14218 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14219
142202007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14221
14222 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14223 (syms_of_keyboard): Defsubr it.
14224
14225 * data.c (swap_in_global_binding): Fix longstanding bug where
14226 store_symval_forwarding was not called with the right second argument,
14227 thus causing objfwd-ing from being dropped.
14228
142292007-11-14 Juanma Barranquero <lekktu@gmail.com>
14230
14231 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14232 (Fx_display_pixel_height, Fx_display_planes)
14233 (Fx_display_color_cells, Fx_server_max_request_size)
14234 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14235 (Fx_display_visual_class, Fx_display_save_under):
14236 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14237 (Fx_display_pixel_height, Fx_display_planes)
14238 (Fx_display_color_cells, Fx_server_max_request_size)
14239 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14240 (Fx_display_mm_height, Fx_display_mm_width)
14241 (Fx_display_backing_store, Fx_display_visual_class)
14242 (Fw32_select_font, Fx_display_save_under):
14243 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14244 (Fx_display_pixel_height, Fx_display_planes)
14245 (Fx_display_color_cells, Fx_server_max_request_size)
14246 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14247 (Fx_display_save_under): Fix typos in docstrings.
14248
142492007-11-14 Juanma Barranquero <lekktu@gmail.com>
14250
14251 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14252 corresponding to deleted entries; they are an implementation detail.
14253 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14254 Remove variables.
14255 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14256 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14257 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14258 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14259 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14260 (Fw32_define_rgb_color, Fw32_load_color_file)
14261 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14262 Fix typos in docstrings.
14263 (Fx_server_version): Reflow docstring.
14264 (Fw32_shell_execute): Doc fixes.
14265
142662007-11-13 Juanma Barranquero <lekktu@gmail.com>
14267
14268 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14269 if w32_parse_hot_key returned nil.
14270
142712007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14272
14273 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14274
142752007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14276
aac0c6e3
MR
14277 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14278
14279 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14280
14281 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14282 Remove W32_SCROLL_BAR_CLICK_EVENT.
14283
14284 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14285 Add MULTIMEDIA_KEY_EVENT.
14286
14287 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14288 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14289 (make_lispy_event) [WINDOWSNT]: Use it to translate
14290 MULTIMEDIA_KEY_EVENT.
14291
14292 * w32term.h (WM_APPCOMMAND): Define if not already.
14293 (GET_APPCOMMAND_LPARAM): Likewise.
14294
14295 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14296 WM_APPCOMMAND.
14297
14298 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14299 (syms_of_w32fns): Export and initialize it.
14300 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14301
143022007-11-09 Chong Yidong <cyd@stupidchicken.com>
14303
14304 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14305 twice.
14306
14307 * xdisp.c (handle_face_prop): Fix last change.
14308
143092007-11-09 Richard Stallman <rms@gnu.org>
14310
14311 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14312 not just for after-strings and before-strings.
14313 Call face_for_overlay_string and pass the overlay to it.
14314 (handle_display_prop): Determine whether property came from an overlay.
14315 Pass OVERLAY arg to handle_single_display_spec.
14316 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14317 (load_overlay_strings): Fill in it->string_overlays.
14318 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14319
14320 * xfaces.c (face_for_overlay_string): Function renamed from
14321 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14322
14323 * dispextern.h (struct it): New elt string_overlays.
14324 New elt from_overlay, also in stack.
14325 Rearrange a few elements.
14326 (face_for_overlay_string): Decl renamed from
14327 face_at_buffer_position_no_overlays, and add argument.
14328
143292007-11-09 Richard Stallman <rms@gnu.org>
14330
14331 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14332 to get the base face for an overlay string.
14333
14334 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14335
14336 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14337
14338 * xdisp.c (handle_stop): Move some code out of loop.
14339
143402007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14341
14342 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14343 Fix conversion from Lisp object to ATSUFontID.
14344
143452007-11-09 Jason Rumney <jasonr@gnu.org>
14346
14347 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14348
143492007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14350
14351 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14352 Don't assume regions are aligned to page boundary.
14353 (print_load_command_name): Add LC_UUID if defined.
14354
143552007-11-09 Richard Stallman <rms@gnu.org>
14356
14357 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14358
143592007-11-07 Jason Rumney <jasonr@gnu.org>
14360
14361 * s/windows95.h: Remove.
14362
143632007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14364
14365 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14366 abort with a message on unhandled store_type values.
14367
143682007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14369
14370 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14371 Remove HAVE_X11R5 and HAVE_X11R4.
14372
143732007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14374
14375 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14376
143772007-11-01 Johan Bockgård <bojohan@gnu.org>
14378
14379 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14380 Don't set s->stippled_p here, since it has already been set by
14381 x_set_glyph_string_gc from x_draw_glyph_string.
14382
143832007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14384
14385 * sunfns.c: Remove file.
14386
14387 * m/sun386.h:
14388 * m/sun2.h:
14389 * m/sparc.h: Remove Sun windows code.
14390
143912007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14392
14393 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14394 (init_keyboard): Set current_kboard's window-system to nil.
14395 (tty_read_avail_input): Typo.
14396 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14397
143982007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14399
14400 * s/usg5-4.h:
14401 * s/usg5-3.h:
14402 * s/ptx.h:
14403 * m/is386.h:
14404 * m/ibmps2-aix.h:
14405 * Makefile.in: Remove all mentions of X10.
14406
14407 * dispnew.c (syms_of_display): Don't mention version 10.
14408
144092007-10-28 Juanma Barranquero <lekktu@gmail.com>
14410
14411 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14412 ($(BLD)/abbrev.$(O)): Remove.
14413
144142007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14415
14416 Rewrite abbrev.c in Elisp.
14417 * image.c (Qcount): Don't declare as extern.
14418 (syms_of_image): Initialize and staticpro `Qcount'.
14419 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14420 * emacs.c (main): Don't call syms_of_abbrev.
14421 * Makefile.in (obj): Remove abbrev.o.
14422 (abbrev.o): Remove.
14423 * abbrev.c: Remove.
14424
144252007-10-26 Martin Rudalics <rudalics@gmx.at>
14426
14427 * window.c (window_min_size_2): Don't count header-line.
14428
144292007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14430
14431 * frame.h (struct frame): Move all bit fields after the first bit
14432 field to take advantage of the available space. Group all the
14433 chars together to reduce wasted space due to padding.
14434
144352007-10-26 Juanma Barranquero <lekktu@gmail.com>
14436
14437 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14438
14439 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14440 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14441 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14442 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14443 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14444 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14445 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14446 (last_marked, mark_object_loop_halt): Make static.
14447
14448 * frame.c (syms_of_frame) <delete-frame-functions>:
14449 Fix typo in docstring.
14450
144512007-10-25 Juanma Barranquero <lekktu@gmail.com>
14452
14453 * w32.c (init_environment): Fix tiny memory leak.
14454 (w32_get_resource): Remove unused variable `ok'.
14455
144562007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14457
14458 Make `window-system' into a keyboard-local variable (rather than
14459 frame-local as done originally by multi-tty).
14460
14461 * keyboard.h (struct kboard): Add Vwindow_system.
14462 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14463 (mark_kboards): Mark Vwindow_system.
14464
14465 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14466 (init_display): Don't set the obsolete `window-system' frame-param.
14467
14468 * xterm.c (x_term_init):
14469 * w32term.c (w32_create_terminal):
14470 * term.c (init_tty): Set Vwindow_system.
14471 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14472 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14473
14474 * xfns.c (Fx_create_frame, x_create_tip_frame):
14475 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14476 * macfns.c (Fx_create_frame):
14477 Don't set the obsolete `window-system' frame-param.
14478
14479 * frame.h (Qwindow_system): Remove.
14480 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14481 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14482
144832007-10-24 Richard Stallman <rms@gnu.org>
14484
14485 * frame.c (x_figure_window_size): For fullscreen case,
14486 set USPosition | PPosition without clobbering rest of window_prompting.
14487
14488 * keyboard.c (Fcurrent_idle_time): Doc fix.
14489
14490 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14491
144922007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14493
14494 * process.c (unwind_request_sigio): Only define if __ultrix__.
14495
14496 * callproc.c (child_setup): Remove spurious *.
14497
14498 * lisp.h (Fget_text_property): Declare.
14499 (have_menus_p): Declare it here rather than in sys-dep header files.
14500 * macterm.h (have_menus_p):
14501 * msdos.h (have_menus_p):
14502 * xterm.h (have_menus_p): Remove.
14503
14504 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14505 (Fmake_variable_frame_local): Just check the variable's const-ness
14506 rather than checking nil or t.
14507
145082007-10-22 Jason Rumney <jasonr@gnu.org>
14509
14510 * w32fns.c: Include math.h.
14511 (w32_abort): Declaration moved to nt/config.nt.
14512
14513 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14514 (abort): Redefinition moved to nt/config.nt.
14515
14516 * m/windowsnt.h: Remove.
14517
145182007-10-22 Juanma Barranquero <lekktu@gmail.com>
14519
14520 * emacs.c (Fdump_emacs): Fix typo in message.
14521 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14522 <installation-directory>: Reflow docstring.
14523
145242007-10-22 Juri Linkov <juri@jurta.org>
14525
14526 * minibuf.c: Allow minibuffer default to be a list of default values.
14527 With empty input use the first element of this list as returned default.
14528 (string_to_object)
14529 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14530 (read_minibuf): If defalt is cons, set histstring to its car.
14531 (Fread_string): If default_value is cons, set val to its car.
14532 (Fread_buffer): If def is cons, use its car.
14533 (Fcompleting_read): If defalt is cons, set val to its car.
14534
145352007-10-21 Michael Albinus <michael.albinus@gmx.de>
14536
14537 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14538
145392007-10-20 Juanma Barranquero <lekktu@gmail.com>
14540
14541 * doc.c (Fdocumentation): Check for advice in all cases.
14542
145432007-10-19 Chong Yidong <cyd@stupidchicken.com>
14544
14545 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14546
145472007-10-19 Richard Stallman <rms@gnu.org>
14548
14549 * doc.c (Fdocumentation): Check for and handle an advised function.
14550
145512007-10-19 Juanma Barranquero <lekktu@gmail.com>
14552
14553 * process.c (Fset_process_filter): Doc fix.
14554
145552007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14556
14557 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14558 which caused key-translation-map to applied repeatedly (thus breaking
14559 double-mode).
14560
145612007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14562
14563 * xselect.c (x_own_selection, x_handle_selection_clear)
14564 (x_clear_frame_selections):
14565 * w32menu.c (list_of_panes, list_of_items):
14566 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14567 * textprop.c (validate_plist, interval_has_all_properties)
14568 (interval_has_some_properties, interval_has_some_properties_list)
14569 (add_properties, text_property_list):
14570 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14571 * minibuf.c (Fassoc_string):
14572 * macselect.c (x_own_selection, x_clear_frame_selections)
14573 (Fx_disown_selection_internal):
14574 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14575 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14576
145772007-10-17 Chong Yidong <cyd@stupidchicken.com>
14578
14579 * process.c: Link to libs for calling res_init() if available.
14580 (Fmake_network_process): Call res_init() before getaddrinfo or
14581 gethostbyname, if possible.
14582
145832007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14584
14585 * lread.c (read1): Set pvectype for char_tables.
14586
14587 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14588 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14589 Add type checks.
14590 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14591
14592 * alloc.c (free_misc): Use XMISCTYPE.
14593 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14594
145952007-10-17 Glenn Morris <rgm@gnu.org>
14596
14597 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14598 (syms_of_minibuf): Add Qcompletion_ignore_case.
14599 * dired.c (Qcompletion_ignore_case): Change to external.
14600 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14601 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14602 (Fread_file_name): Use it rather than intern'ing.
14603
14604 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14605 (Fread_coding_system): Ignore case of user input.
14606
146072007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14608
14609 * xdisp.c (handle_display_prop): Ignore display specs after
14610 replacing one when string text is being replaced.
14611 (handle_single_display_spec): Pretend as if characters with display
14612 property haven't been consumed only when buffer text is being replaced.
14613
146142007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14615
14616 * xfns.c (Fx_create_frame, Fx_display_list):
14617 * window.c (window_fixed_size_p, enlarge_window)
14618 (shrink_window_lowest_first):
14619 * macterm.c (init_font_name_table):
14620 * macfns.c (Fx_create_frame, Fx_display_list):
14621 * lread.c (close_load_descs):
14622 * keyboard.c (read_char_x_menu_prompt):
14623 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14624 * coding.c (code_convert_region_unwind): Test the type of an object
14625 rather than just !NILP before extracting data from it.
14626
14627 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14628
14629 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14630 (XMISCANY): New macro.
14631 (XMISCTYPE): Use it.
14632 (struct Lisp_Misc_Any): New type.
14633 (union Lisp_Misc): Use it.
14634 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14635 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14636 (find_symbol_value, set_internal, default_value, Fset_default)
14637 (Fmake_variable_buffer_local, Fmake_local_variable)
14638 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14639 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14640 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14641 * alloc.c (allocate_buffer): Set the size and tag.
14642 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14643 Use XMISCANY.
14644 (die): Follow the GNU convention for error messages.
14645 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14646 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14647 tag any more.
14648 (set_buffer_internal_1):
14649 * frame.c (store_frame_param):
14650 * eval.c (specbind):
14651 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14652
14653 * doc.c (Fsnarf_documentation): Simplify.
14654
146552007-10-14 Juanma Barranquero <lekktu@gmail.com>
14656
14657 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14658 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14659
146602007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14661
14662 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14663
146642007-10-14 Juanma Barranquero <lekktu@gmail.com>
14665
14666 * eval.c (do_autoload): Don't save autoloads.
14667
14668 * data.c (Ffset): Save autoload of the function being set.
14669
146702007-10-07 John Paul Wallington <jpw@pobox.com>
14671
14672 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14673 parameter before setting up faces.
14674
146752007-10-13 Eli Zaretskii <eliz@gnu.org>
14676
14677 * ccl.c (Fregister_code_conversion_map):
14678 * keyboard.c (append_tool_bar_item): Reformat last change.
14679
14680 * lisp.h (eabs): Rename from `abs'. All callers changed.
14681
146822007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14683
14684 * buffer.c (add_overlay_mod_hooklist):
14685 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14686 * fontset.c (make_fontset):
14687 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14688 (append_tool_bar_item):
14689 * macmenu.c (grow_menu_items):
14690 * w32menu.c (grow_menu_items):
14691 * xmenu.c (grow_menu_items): Use larger_vector.
14692
146932007-10-13 Eli Zaretskii <eliz@gnu.org>
14694
14695 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14696 selected frame'' on MSDOS).
14697
146982007-10-12 Martin Rudalics <rudalics@gmx.at>
14699
14700 * frame.c (Qexplicit_name): New variable.
14701 (x_report_frame_params): Report it in parameter alist.
14702 (syms_of_frame): Intern and staticpro it.
14703
147042007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14705
14706 * macfns.c (x_create_tip_frame): Set terminal for frame.
14707
147082007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14709
14710 * frame.c (Qenvironment): Remove.
14711 (syms_of_frame) <Qenvironment>: Don't initialize.
14712 (Fdelete_frame): Don't treat the `environment' param specially.
14713 * frame.h (Qenvironment): Don't declare.
14714 * callproc.c (set_initial_environment): Don't set unused frame param.
14715
14716 * frame.c (Fframe_with_environment): Remove.
14717 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14718
14719 * lisp.h (Fframe_with_environment): Don't declare.
14720
147212007-10-10 Juanma Barranquero <lekktu@gmail.com>
14722
14723 * indent.c (indent_tabs_mode, last_known_column)
14724 (last_known_column_modified): Make static.
14725 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14726
147272007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14728
14729 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14730
147312007-10-09 Jason Rumney <jasonr@gnu.org>
14732
14733 * w32term.c (x_set_window_size): Disable code that attempts to tell
14734 Lisp code about a size change before it actually happens.
14735
147362007-10-09 Richard Stallman <rms@gnu.org>
14737
14738 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14739 return HANDLED_RETURN.
14740
147412007-10-08 Martin Rudalics <rudalics@gmx.at>
14742
14743 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14744 when there's an unread command event.
14745
14746 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14747 window autoselection act appropriately when leaving selected frame.
14748 (syms_of_frame): Initialize focus_follows_mouse.
14749 * frame.h (focus_follows_mouse): Extern it.
14750 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14751 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14752 * msdos.c (dos_rawgetc): Likewise.
14753 * w32term.c (w32_read_socket): Likewise.
14754 * xterm.c (handle_one_xevent): Likewise.
14755 * xdisp.c (syms_of_xdisp): In doc-string of
14756 mouse-autoselect-window mention focus-follows-mouse.
14757
147582007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14759
14760 * macterm.c (mac_load_query_font): Fix missing return value.
14761 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14762 Add BLOCK_INPUT.
14763
147642007-10-08 Richard Stallman <rms@gnu.org>
14765
14766 * xdisp.c (get_window_cursor_type): Implement documented behavior
14767 for cursor-in-non-selected-windows = t.
14768
147692007-10-08 Jason Rumney <jasonr@gnu.org>
14770
14771 * w32.c (w32_get_resource): Always close registry keys.
14772
147732007-10-08 Jason Rumney <jasonr@gnu.org>
14774
14775 * makefile.w32-in (LIBS): Add COMCTL32.
14776
14777 * w32fns.c (globals_of_w32fns): Init common controls.
14778
147792007-10-08 Richard Stallman <rms@gnu.org>
14780
14781 * image.c (our_memory_buffer): Rename from omfib_buffer.
14782
147832007-10-08 Richard Stallman <rms@gnu.org>
14784
14785 * buffer.c (Foverlays_at): Doc fix.
14786
147872007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14788
14789 * fns.c (Fplist_put): Preserve uneven tail data.
14790
147912007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14792
14793 * termhooks.h (enum event_kind): Remove trailing comma.
14794
14795 * frame.h (enum): Remove trailing comma.
14796
147972007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14798
14799 * w32proc.c (delete_child): Don't terminate threads of zombies.
14800
148012007-10-08 Martin Rudalics <rudalics@gmx.at>
14802
14803 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14804
14805 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14806 last-repeatable-command.
14807 (init_kboard): Initialize Vlast_repeatable_command.
14808 (command_loop_1): Set it to real_this_command unless that was
14809 bound to an input event.
14810 (mark_kboards): Mark it.
14811
148122007-10-08 Richard Stallman <rms@gnu.org>
14813
14814 * eval.c (condition-case): Doc fix.
14815
148162007-10-08 Masatake YAMATO <jet@gyve.org>
14817
14818 * xfaces.c (tty_supports_face_attributes_p): Fix code
14819 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14820 was copied and not edited.
14821
148222007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14823
14824 Add new `input-decode-map' keymap and use it for terminal
14825 escape sequences.
14826 * keyboard.h (struct kboard): Add Vinput_decode_map.
14827 Remove Vlocal_key_translation_map.
14828 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14829 (init_kboard): Init input-decode-map.
14830 Replace local-key-translation-map back with key-translation-map.
14831 (syms_of_keyboard): Declare input-decode-map.
14832 Remove local-key-translation-map. Update docstrings.
14833 (mark_kboards): Mark Vinput_decode_map.
14834 Don't mark Vlocal_key_translation_map.
14835 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14836 Replace local-key-translation-map back with key-translation-map.
14837 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14838 Bind in input-decode-map rather than function-key-map.
14839
14840 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14841 This was made redundant by the previous introduction of XSETPVECTYPE.
14842
148432007-10-09 Richard Stallman <rms@gnu.org>
14844
14845 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14846
148472007-09-29 Richard Stallman <rms@gnu.org>
14848
14849 * eval.c (internal_condition_case_2, internal_condition_case_1)
14850 (internal_condition_case): Reenable abort if x_catching_errors ()
14851 to see if that really happens and why.
14852
148532007-10-06 Andreas Schwab <schwab@suse.de>
14854
14855 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14856
148572007-10-04 Juanma Barranquero <lekktu@gmail.com>
14858
14859 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14860
148612007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14862
14863 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14864
148652007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14866
14867 * window.h (struct window):
14868 * window.c (struct save_window_data, struct saved_window):
14869 * termhooks.h (struct terminal):
14870 * process.h (struct Lisp_Process):
14871 * frame.h (struct frame):
14872 * buffer.h (struct buffer):
14873 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14874 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14875 The size field of (pseudo)vectors is now unsigned.
14876 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14877
14878 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14879 Turn `count' into an integer.
14880
14881 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14882 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14883 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14884 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14885 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14886
14887 * alloc.c (allocate_pseudovector): New fun.
14888 (ALLOCATE_PSEUDOVECTOR): New macro.
14889 (allocate_window, allocate_terminal, allocate_frame)
14890 (allocate_process): Use it.
14891 (mark_vectorlike): New function.
14892 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14893 (mark_terminals): Use it.
14894 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14895 (Fmake_byte_code): Use XSETPVECTYPE.
14896
14897 * frame.c (Fframe_parameters): Minor simplification.
14898
14899 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14900
14901 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14902
14903 * buffer.c (Fget_buffer_create, init_buffer_once):
14904 * lread.c (defsubr):
14905 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14906
14907 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14908 defined differently in the m/*.h files.
14909 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14910 (XSETPVECTYPE): New macro.
14911 (XSETPSEUDOVECTOR): Use it.
14912
14913 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14914 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14915
14916 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14917 * lread.c (defvar_per_buffer):
14918 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14919
14920 * window.c (candidate_window_p): Only consider as visible frames that
14921 are on the same terminal.
14922
14923 * m/ibms390x.h (MARKBIT): Remove unused macro.
14924
149252007-10-01 Juanma Barranquero <lekktu@gmail.com>
14926
14927 * lread.c (Fload): Fix typo in docstring.
14928
149292007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14930
14931 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14932 of a non-zero value can't yield zero.
14933
149342007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14935
14936 * term.c (term_clear_mouse_face, term_mouse_highlight)
14937 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14938
14939 * print.c (safe_debug_print): Use XHASH.
14940
14941 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14942 Lisp elements such as tags.
14943 (XHASH): New macro.
14944 (EQ): Use it.
14945 (SREF, SSET, STRING_COPYIN): Use SDATA.
14946 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14947
14948 * alloc.c (mark_terminal): Remove left-over declaration.
14949 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14950 (allocate_vectorlike): Remove type argument. Adjust callers.
14951 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14952 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14953
14954 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14955 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14956 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14957 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14958 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14959 Use them.
14960
14961 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14962 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14963 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14964
149652007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14966
14967 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14968 loaded by default.
14969
149702007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14971
14972 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14973 on this tty.
14974 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14975
14976 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14977 Update all users.
14978 (handle_one_term_event): Use Gpm_DrawPointer.
14979 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14980 Signal errors instead of returning nil. Always return nil.
14981 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14982 Make it a noop if gpm-mouse was not activated.
14983 (syms_of_term): Update names.
14984
149852007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14986
14987 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14988 (init_sys_modes): Check that gpm_tty is the current tty.
14989
14990 * alloc.c (allocate_terminal): Set the vector size to only count the
14991 lisp fields. Initialize those to nil.
14992 (mark_object): Don't treat terminals specially.
14993 (mark_terminal): Remove.
14994 (mark_terminals): Use mark_object instead.
14995
14996 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14997 the GC to the beginning.
14998
14999 * indent.h:
15000 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15001
15002 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15003
150042007-09-25 Jason Rumney <jasonr@gnu.org>
15005
15006 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15007
15008 * w32console.c (create_w32cons_output): Remove.
15009
15010 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15011
15012 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15013 (reset_sys_modes): Use reset_terminal_modes_hook.
15014
150152007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15016
15017 * eval.c (do_autoload): Don't output any message.
15018
150192007-09-24 Juri Linkov <juri@jurta.org>
15020
15021 * emacs.c (standard_args): Change priority of "--no-splash"
15022 from 40 to 3. Add "--no-desktop" with the same priority.
15023
150242007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15025
15026 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15027 and optimize the case where they are all 1.
15028
150292007-09-23 Johannes Weiner <hannes@saeurebad.de>
15030
15031 * lisp.h (abs): Define if not defined.
15032 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15033 Don't define `abs', since it's defined in lisp.h.
15034
150352007-09-22 Eli Zaretskii <eliz@gnu.org>
15036
15037 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15038 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15039 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15040 (init_tty): Use DEV_TTY instead of "/dev/tty".
15041 [WINDOWSNT]: No need to protect from NAME arg being null.
15042
150432007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15044
15045 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15046 up the tty state.
15047
150482007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15049
15050 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15051 (gpm_tty): Change its type.
15052 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15053 (gpm_tty): Change its type and initialize it.
15054 (Fterm_open_connection): Check the frame is indeed a tty.
15055 Use the new gpm_tty.
15056 (Fterm_close_connection): Use the new gpm_tty.
15057 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15058 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15059
150602007-09-21 Juanma Barranquero <lekktu@gmail.com>
15061
15062 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15063 underline_color, to draw strike-through.
15064
150652007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15066
15067 * lisp.h (allocate_terminal): Declare.
15068
15069 * window.c (candidate_window_p): Consider frames that are being placed
15070 by the user as somewhere between visible and iconified.
15071 (window_loop): Prefer windows on the current frame.
15072 (Fselect_window): Move the use of select-frame to the beginning so we
15073 can just delegate all the work (it'll call us back anyway).
15074
15075 * frame.c (Qdisplay_environment_variable):
15076 * frame.h (Qdisplay_environment_variable): Delete.
15077
15078 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15079 of the first arg, since that value may be a union.
15080
15081 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15082 parameter rather than Qdisplay_environment_variable. If all else
15083 fails, look for DISPLAY in initial-environment.
15084
150852007-09-21 Glenn Morris <rgm@gnu.org>
15086
15087 * Makefile.in (emacstool): Remove target.
15088 (lisp, shortlisp): Remove termdev.elc.
15089
150902007-09-21 Markus Triska <markus.triska@gmx.at>
15091
15092 * xterm.c (x_delete_display): Compile session management conditionally.
15093
150942007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15095
15096 * callproc.c (getenv_internal_1): New function.
15097 (getenv_internal): Use it.
15098 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15099
15100 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15101 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15102 (Fset_terminal_parameter): Work with dead terminals as well.
15103 (Fmodify_terminal_parameters): Remove.
15104
15105 * terminal.c (get_terminal): Handle terminals.
15106 Make sure the terminal returned is live.
15107 (create_terminal): Use allocate_terminal.
15108 (mark_terminals): Move to alloc.c.
15109 (delete_terminal): Use terminal->name as liveness status.
15110 NULL out fields after freeing their contents.
15111 Don't deallocate the object.
15112 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15113 rather than an int.
15114 (Fterminal_live_p): Accept non-integer arguments.
15115 (Fterminal_list): Return terminal objects rather than an ints.
15116
15117 * alloc.c (enum mem_type): New member for `terminal' objects.
15118 (allocate_terminal): New function.
15119 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15120 Handle terminals.
15121 (mark_terminal): New fun.
15122 (mark_terminals): Move from terminal.c.
15123
15124 * term.c (get_tty_terminal): Don't treat output_initial specially.
15125 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15126 (delete_tty): Use terminal->name as liveness status.
15127
15128 * termhooks.h (struct terminal): Make it into a pseudovector.
15129 Remove `deleted' replaced by checking `name's nullness.
15130
15131 * print.c (print_object): Handle terminals.
15132
15133 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15134 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15135
15136 * frame.c (make_terminal_frame):
15137 * keyboard.c (tty_read_avail_input):
15138 * w32term.c (x_delete_terminal):
15139 * xfns.c (Fx_create_frame, x_create_tip_frame):
15140 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15141
151422007-09-20 Glenn Morris <rgm@gnu.org>
15143
15144 * process.c (Fmake_network_process): Doc fix.
15145
151462007-09-19 Jason Rumney <jasonr@gnu.org>
15147
15148 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15149
151502007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15151
15152 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15153 Fix a C warning regarding variable constness.
15154
15155 * xterm.c (handle_one_xevent): Fix a C warning.
15156
151572007-09-18 Jason Rumney <jasonr@gnu.org>
15158
15159 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15160
151612007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15162
15163 * gtkutil.c (gdpy_def): New variable.
15164 (xg_initialize): Initialize gdpy_def.
15165 (xg_display_close): If no other display exists, set gdpy_def to a
15166 new connection.
15167
151682007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15169
15170 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15171 when we have no file name for the icon.
15172 (xg_tool_bar_expose_callback): Remove.
15173 (xg_create_tool_bar): Don't connect expose signal to
15174 xg_tool_bar_expose_callback.
15175 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15176
151772007-09-16 Andreas Schwab <schwab@suse.de>
15178
15179 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15180 values instead of zapping them.
15181
151822007-09-14 Glenn Morris <rgm@gnu.org>
15183
15184 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15185 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15186 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15187 scope and rename to omfib_buffer for clarity.
15188 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15189
151902007-09-14 Kenichi Handa <handa@m17n.org>
15191
15192 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15193
151942007-09-13 Jason Rumney <jasonr@gnu.org>
15195
15196 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15197
15198 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15199
15200 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15201 (mac_term_init): Call here instead, passing rif.
15202
152032007-09-13 Glenn Morris <rgm@gnu.org>
15204
15205 * s/hpux.h: No longer define `static' as nothing.
15206
152072007-09-13 Johan Bockgård <bojohan@gnu.org>
15208
15209 * callint.c (Fcall_interactively): Remove unused var `fun'.
15210
152112007-09-12 Romain Francoise <romain@orebokech.com>
15212
15213 * window.c (prefer_window_split_horizontally, display_buffer):
15214 Revert 2007-09-08 change.
15215
152162007-09-12 Glenn Morris <rgm@gnu.org>
15217
15218 * alloca.c: Remove file.
15219 * Makefile.in (alloca): Do not undef.
15220 (allocaobj, alloca.o): Remove.
15221 (otherobj): Remove allocaobj.
15222 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15223 * regex.c (C_ALLOCA): Remove all references and code that was only
15224 used when this was defined.
15225 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15226 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15227 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15228
15229 * Makefile.in (SOURCES, unlock, relock): Delete.
15230
15231 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15232 (menu_grab_callback): All uses changed.
15233
15234 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15235 (x_reply_selection_request): All uses changed.
15236
152372007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15238
15239 * lread.c (load_warn_old_style_backquotes): Change message to look
15240 better when it appears in the middle of byte-compiler messages.
15241
152422007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15243
15244 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15245
15246 * xterm.c (x_create_terminal): Add comment.
15247
15248 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15249
152502007-09-10 Richard Stallman <rms@gnu.org>
15251
15252 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15253
152542007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15255
15256 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15257 (DEFUN): Document `intspec', use it instead of `prompt'.
15258
15259 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15260
15261 * data.c (Finteractive_form): If the interactive specification starts
15262 with a `(', use it as a Lisp form.
15263
15264 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15265 name and file modes.
15266
15267 * callint.c (Fcall_interactively): Comment fixes.
15268
152692007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15270
15271 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15272 and compiled functions.
15273
152742007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15275
15276 * window.c (prefer_window_split_horizontally): New variable.
15277 (display_buffer): Consider splitting window horizontally depending
15278 on prefer_window_split_horizontally.
15279
152802007-09-08 Eli Zaretskii <eliz@gnu.org>
15281
15282 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15283
152842007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15285
15286 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15287
15288 * frame.c (x_set_frame_parameters): Check number is positive before
15289 using XFASTINT.
15290
15291 * window.c (freeze_window_start): Don't presume selected_window holds
15292 a window object.
15293 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15294
152952007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15296
15297 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15298
152992007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15300
15301 * window.c (Vsplit_window_preferred_function): New var.
15302 (Fdisplay_buffer): Use it.
15303 (syms_of_window): Export, and initialize it.
15304
153052007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15306
15307 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15308
153092007-09-06 Glenn Morris <rgm@gnu.org>
15310
15311 * gtkutil.c (menu_grab_callback) <cnt>:
15312 * xselect.c (x_reply_selection_request) <cnt>: Move static
15313 variable to file scope.
15314
153152007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15316
15317 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15318 consistent values of selected_frame and selected_window.
15319
153202007-09-04 Jason Rumney <jasonr@gnu.org>
15321
15322 * w32console.c (initialize_w32_display): Zero unused hooks.
15323
153242007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15325
15326 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15327 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15328
153292007-09-04 Jason Rumney <jasonr@gnu.org>
15330
15331 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15332 in w32console.c. Set up input. Remove XXX comments that have been
15333 confirmed as correct.
15334
15335 * s/ms-w32.h (MULTI_KBOARD): Define.
15336
15337 * w32console.c (one_and_only_w32cons): Remove.
15338 (initialize_w32_display): Take terminal argument.
15339
15340 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15341 initialize_w32_display.
15342 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15343
15344 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15345
15346 * keyboard.c (discard_mouse_events): Discard it.
15347 (make_lispy_event): Translate it to a lisp event.
15348 (lispy_wheel_names): Add wheel-left and right events.
15349 (syms_of_keyboard): Enlarge wheel_syms.
15350
15351 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15352 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15353
15354 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15355
15356 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15357 from WM_MOUSEHWHEEL.
15358 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15359
15360 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15361 terminal.
15362
15363 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15364 keyboard for the terminal.
15365
153662007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15367
15368 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15369 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15370 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15371 and resume-tty-function to resume-tty-hook.
15372 (Fsuspend_tty, Fresume_tty): Use new names.
15373
153742007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15375
15376 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15377 if it starts with "n:".
15378
153792007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15380
15381 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15382
153832007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15384
15385 * frame.h:
15386 * frame.c (Qterm_environment_variable): Remove.
15387 (syms_of_frame): Don't init and staticpro it.
15388
15389 * callproc.c (getenv_internal): Remove special case for $TERM.
15390
15391 * callproc.c (Vinitial_environment): New variable.
15392 (set_initial_environment): Initialize it.
15393 (syms_of_callproc): Declare it.
15394 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15395 TERM under which a process runs is never related to the TERM in which
15396 Emacs is running.
15397
153982007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15399
15400 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15401 * s/darwin.h: ... do it here.
15402
154032007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15404
15405 * lisp.h (set_initial_environment): Rename from set_global_environment.
15406
15407 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15408 removed by mistake on the multi-tty branch.
15409
15410 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15411 (Fmodify_frame_parameters): Return a value.
15412
15413 * image.c (png_load): Comment-out var only used in commented-out code.
15414
15415 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15416 before passing it to mark_object.
15417
15418 * xfaces.c (internal_resolve_face_name): Return a value.
15419 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15420
15421 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15422 (x_icon): Comment-out var only used in commented-out code.
15423
154242007-08-29 Romain Francoise <romain@orebokech.com>
15425
15426 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15427 QUIT hasn't been provided.
15428
154292007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15430
15431 * callproc.c (child_setup, getenv_internal): Use the
15432 display-environment-variable and term-environment-variable frame params.
15433 (set_initial_environment): Initialise Vprocess_environment.
15434
15435 * config.in: Disable multi-keyboard support on a mac.
15436
15437 * frame.c (Qterm_environment_variable)
15438 (Qdisplay_environment_variable): New variables.
15439 (syms_of_frame): Intern and staticpro them.
15440 (Fmake_terminal_frame): Disable output method test.
15441
15442 * frame.h: Declare them here.
15443
15444 * macfns.c (x_set_mouse_color): Get rif from the frame.
15445 (x_set_tool_bar_lines): Don't use updating_frame.
15446 (mac_window): Add 2 new parameters for consistency with other systems.
15447 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15448 frame parameters following what is done in X11 and w32. Don't use
15449 FRAME_MAC_DISPLAY_INFO.
15450 (Fx_open_connection, start_hourglass): Remove window-system check.
15451 (x_create_tip_frame): Get the keyboard from the terminal.
15452
15453 * macmenu.c: Reorder includes.
15454 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15455
15456 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15457 terminal parameter.
15458 (x_clear_frame): Add a frame parameter.
15459 (note_mouse_movement): Get rif from the frame.
15460 (mac_term_init): Initialize the terminal.
15461 (mac_initialize): Make static and move terminal initialization ...
15462 (mac_create_terminal): ... to this new function.
15463
15464 * macterm.h (struct mac_display_info): Add terminal.
15465 (mac_initialize): Delete declaration.
15466
15467 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15468
15469 * sysdep.c: Comment out text after #endif.
15470
15471 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15472 is defined. Better initialize ttys in windows. Use terminal
15473 specific mouse_position_hook.
15474
15475 * termhooks.h (union display_info): Add mac_display_info.
15476
15477 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15478 Set the default minibuffer frame, window_system and the rest of the
15479 frame parameters following what is done in X11.
15480
15481 * w32term.c (w32_initialize): Make static.
15482
15483 * xselect.c (x_handle_selection_clear): Only access
15484 terminal->kboard when MULTI_KBOARD is defined.
15485
15486 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15487 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15488
154892007-08-29 Jason Rumney <jasonr@gnu.org>
15490
15491 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15492 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15493
15494 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15495 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15496
15497 * keyboard.c (restore_kboard_configuration): Only define when
15498 MULTI_KBOARD defined.
15499
15500 * makefile.w32-in: Update dependancies from Makefile.in.
15501 (OBJ1): Add terminal.$(O)
15502
15503 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15504 Don't define function body.
15505 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15506
15507 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15508
15509 * w32.c (request_sigio, unrequest_sigio): Remove.
15510
15511 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15512 (w32con_clear_frame, w32con_clear_end_of_line)
15513 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15514 (w32con_delete_glyphs, w32con_set_terminal_window)
15515 (scroll_line, w32_sys_ring_bell): Add frame arg.
15516 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15517 Add terminal arg.
15518 (PICK_FRAME): Remove.
15519 (w32con_write_glyphs): Use frame specific terminal coding.
15520 (one_and_only_w32cons): New global variable.
15521 (initialize_w32_display): Use it for storing hooks.
15522 (create_w32cons_output): New function.
15523
15524 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15525 arg a frame.
15526
15527 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15528 Set window_system.
15529 (x_set_tool_bar_lines): Don't use updating_frame.
15530 (Fx_create_frame): Set terminal and ref count.
15531 (Fx_open_connection): Remove window-system check.
15532
15533 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15534
15535 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15536 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15537 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15538 Add frame arg.
15539 (x_delete_terminal, w32_create_terminal): New functions.
15540 (w32_term_init): Create a terminal.
15541 (w32_initialize): Move terminal specific initialization to
15542 w32_create_terminal.
15543
15544 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15545 (w32_clear_rect, w32_clear_area): Use background from frame.
15546 (w32_display_info): Add terminal.
15547 (w32_sys_ring_bell, x_delete_display): Declare here.
15548
15549 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15550
15551 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15552
155532007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15554
15555 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15556 Fix get_named_tty calls for the controlling tty.
15557
155582007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15559
15560 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15561
155622007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15563
15564 * term.c (tty_insert_glyphs): Add missing first parameter.
15565
155662007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15567
15568 * buffer.c (Fbuffer_list, Fbury_buffer):
15569 Take frame->buried_buffer_list into account.
15570
15571 * cm.c (current_tty): New variable, for cmputc().
15572 (cmputc): Use it.
15573 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15574 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15575 (cmgoto): Add tty parameter. Pass it on to calccost().
15576 Use emacs_tputs() instead of tputs().
15577
15578 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15579 tputs().
15580 (current_tty): New variable, for cmputc().
15581 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15582
15583 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15584 (internal_condition_case, internal_condition_case_1)
15585 (internal_condition_case_2): Don't abort when x_catching_errors.
15586
15587 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15588 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15589 prevent crashes caused by bogus longjmps in read_char.
15590
15591 * keymap.h (Fset_keymap_parent): Add EXFUN.
15592
15593 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15594 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15595 Remove redundant definition.
15596
15597 * macfns.c (x_set_mouse_color, x_make_gc):
15598 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15599
15600 * w32term.c (x_free_frame_resources):
15601 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15602 (w32_initialize): Use the accessor macros for terminal characteristics.
15603
15604 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15605 Use the accessor macros for terminal characteristics.
15606 * msdos.c (internal_terminal_init): Use the accessor macros for
15607 terminal characteristics.
15608 (ScreenVisualBell, internal_terminal_init):
15609 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15610
15611 * termopts.h (no_redraw_on_reenter): Declare.
15612
15613 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15614 (mark_terminals, mark_ttys): Declare.
15615 (Fgarbage_collect): Call them.
15616 (mark_object): Mark buried_buffer_list.
15617
15618 * prefix-args.c: Include stdlib.h for exit.
15619
15620 * syssignal.h: Add comment.
15621
15622 * indent.c: Include stdio.h.
15623
15624 * window.h (Vinitial_window_system): Declare.
15625 (Vwindow_system): Delete declaration.
15626
15627 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15628
15629 * image.c (lookup_image): Don't initialize `c' until the xasserts
15630 have been run.
15631
15632 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15633 FRAME_FOREGROUND_PIXEL.
15634
15635 * print.c (print_preprocess): Don't lose print_depth levels while
15636 iterating.
15637
15638 * widget.c (update_from_various_frame_slots):
15639 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15640
15641 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15642 frames.
15643 (window_internal_height): Remove bogus make_number call.
15644 (init_window_once): Call make_terminal_frame with two zero parameters.
15645
15646 * fileio.c (Fread_file_name): Update comment.
15647
15648 * callint.c (Fcall_interactively):
15649 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15650 Make sure it is correctly unwound.
15651
15652 * xsmfns.c (x_session_close): New function.
15653
15654 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15655 Delete declarations.
15656
15657 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15658 (x_output): Remove background_pixel and foreground_pixel fields.
15659 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15660 (x_delete_device, x_session_close): Declare.
15661
15662 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15663 (read_filtered_event): Call `read_char' with a local
15664 `wrong_kboard_jmpbuf'.
15665
15666 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15667 Don't call single_kboard_state. Use FRAME_RIF.
15668
15669 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15670 systems.
15671
15672 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15673 (Fframe_with_environment, Fset_input_meta_mode)
15674 (Fset_quit_char): EXFUN.
15675 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15676 (init_sys_modes, reset_sys_modes): Update prototypes.
15677 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15678
15679 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15680 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15681 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15682 Delete declarations.
15683 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15684 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15685 New declarations.
15686
15687 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15688 already does that during init_display(). Call syms_of_keymap
15689 before syms_of_keyboard. Call `syms_of_terminal'.
15690 Call set_initial_environment, not set_process_environment.
15691 (shut_down_emacs): Call reset_all_sys_modes() instead of
15692 reset_sys_modes().
15693
15694 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15695 (internal_resolve_face_name, resolve_face_name_error): New functions.
15696 (resolve_face_name): Protect against loops and errors thrown by Fget.
15697 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15698 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15699
15700 * scroll.c: Replace CURTTY() with local variables throughout the
15701 file (where applicable).
15702 (calculate_scrolling, calculate_direct_scrolling)
15703 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15704 characteristics.
15705
15706 * keymap.c (Vfunction_key_map): Remove.
15707 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15708 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15709 (Vkey_translation_map): Remove.
15710 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15711 (Fdescribe_buffer_bindings)
15712 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15713 Update for terminal-local key-translation-map.
15714
15715 * Makefile.in (callproc.o): Update dependencies.
15716 (lisp, shortlisp): Add termdev.elc.
15717 (obj): Add terminal.o.
15718 (terminal.o): Add dependencies.
15719 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15720 (data.o, fns.o): Add termhooks.h dependency.
15721 (SOME_MACHINE_LISP): Add dnd.elc.
15722 (minibuf.o): Fix typo.
15723 Update dependencies.
15724
15725 * data.c (do_symval_forwarding, store_symval_forwarding)
15726 (find_symbol_value): Use the selected frame's keyboard, not
15727 current_kboard.
15728
15729 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15730 Vwindow_system.
15731
15732 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15733 Fmenu_bar_open.
15734 (syms_of_xmenu): Update defsubr.
15735 (mouse_position_for_popup, Fx_popup_menu)
15736 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15737 (set_frame_menubar, free_frame_menubar)
b97439ce 15738 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15739 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15740 an X frame.
15741
15742 * xselect.c (x_own_selection): Abort if not an X frame.
15743 (some_frame_on_display): Check if it is an X frame.
15744 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15745
15746 * coding.c: Include frame.h and termhooks.h.
15747 (terminal_coding, keyboard_coding): Delete.
15748 (Fset_terminal_coding_system_internal)
15749 (Fset_keyboard_coding_system_internal)
15750 (Fkeyboard_coding_system)
15751 (Fterminal_coding_system): Add a terminal parameter.
15752 Get terminal_coding from the terminal.
15753 (init_coding_once): Don't call setup_coding_system here.
15754
15755 * dispextern.h (set_scroll_region, turn_off_insert)
15756 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15757 (tty_clear_end_of_line, tty_setup_colors)
15758 (delete_tty, updating_frame)
15759 (produce_special_glyphs, produce_glyphs, write_glyphs)
15760 (insert_glyphs): Remove.
15761 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15762 (tty_turn_off_highlight, get_tty_size): Add declaration.
15763 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15764
15765 * frame.h (enum output_method): Add output_initial.
15766 (struct x_output): Delete.
15767 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15768 Access foreground_pixel and background_pixel directly from the frame.
15769 (tty_display): Delete.
15770 (struct frame): Add buried_buffer_list, foreground_pixel,
15771 background_pixel and terminal. Delete kboard.
15772 (union output_data): Add tty.
15773 (FRAME_KBOARD): Get the kboard from the terminal.
15774 (FRAME_INITIAL_P): New macro.
15775 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15776 (Qterm_environment_variable, Qdisplay_environment_variable)
15777 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15778 New declarations.
15779
15780 * termchar.h (tty_output, tty_display_info): New structures.
15781 (tty_list): Declare.
15782 (FRAME_TTY, CURTTY): New macros.
15783 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15784 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15785 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15786 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15787
15788 * callproc.c: Include frame.h and termhooks.h, for terminal
15789 parameters.
15790 (add_env): New function.
15791 (child_setup): Use it.
15792 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15793 (getenv_internal): Fix get_terminal_param call.
15794 (Fgetenv_internal, egetenv): Update doc.
15795 (syms_of_callproc): Initialize Vprocess_environment to nil.
15796 Register and initialize them. Remove obsolete defvars. Update doc
15797 strings.
15798 (child_setup): Handle Vlocal_environment_variables.
15799 (getenv_internal): Add terminal parameter.
15800 Handle Vlocal_environment_variables.
15801 (Fgetenv_internal): Add terminal parameter.
15802 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15803 environment in a frame (not terminal) parameter. Update doc strings.
15804 (set_initial_environment): Rename from set_global_environment.
15805 Store Emacs environment in initial frame parameter.
15806
15807 * xdisp.c (redisplay_internal): Update references to
15808 `previous_terminal_frame'.
15809 (display_mode_line, Fformat_mode_line): Replace calls to
15810 `push_frame_kboard' with `push_kboard'.
15811 (get_glyph_string_clip_rects): Add extra parentheses and
15812 braces to prevent compiler warnings.
15813 (calc_pixel_width_or_height): Add xassert to check that the
15814 frame is alive. Don't call `lookup_image' on a termcap frame.
15815 (message2_nolog, message3_nolog, redisplay_internal)
15816 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15817 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15818 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15819 (Fx_display_pixel_width, Fx_display_pixel_height)
15820 (Fx_display_planes, Fx_display_color_cells)
15821 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15822 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15823 (Fx_display_backing_store, Fx_display_visual_class)
15824 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15825 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15826
15827 * xfns.c (x_set_foreground_color x_set_background_color)
15828 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15829 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15830 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15831 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15832 terminal that is being deleted.
15833 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15834 frame parameter, and make sure it overrides any user-supplied setting.
15835 (Fx_close_connection, Fx_synchronize): Unify argument names with
15836 the rest of the DEFUNs.
15837
15838 * dispnew.c (Fsend_string_to_terminal): Update call to
15839 `get_tty_terminal'.
15840 (Fredraw_frame, Fsend_string_to_terminal)
15841 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15842 FRAME_TERMCAP_P and FRAME_TTY.
15843 (window_change_signal): Don't believe width/height values that are
15844 impossibly small.
15845 (Vinitial_window_system): Rename from Vwindow_system.
15846 (termscript, Wcm, rif): Delete.
15847
15848 * termhooks.h (struct terminal): New struct containing the
15849 previously global text display hooks and new members NAME,
15850 DELETED and PARAM_ALIST.
15851 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15852 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15853 (FRAME_RIF): New macros.
15854 (get_terminal_param, get_device): New declarations.
15855 (termscript): Delete declaration.
15856
15857 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15858 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15859 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15860 FRAME_FOREGROUND_PIXEL.
15861 (x_fully_uncatch_errors): Disable definition.
15862 (x_scroll_bar_expose): Fix reference to foreground pixel.
15863 (XTread_socket): Disable loop on all X displays.
15864 (x_delete_terminal): Don't set terminal->deleted and let
15865 delete_terminal delete the frames on the terminal.
15866 (x_delete_display): Doc update to reflect changes in
15867 delete_terminal.
15868 (x_display_info) <terminal>: Move member earlier in the struct.
15869 (deleting_tty): Remove old variable.
15870 (Fsuspend_tty): Call clear_tty_hooks.
15871 (Fresume_tty, init_tty): Call set_tty_hooks.
15872 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15873 errors on X frames.
15874 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15875 (handle_one_xevent): Initialize `f' to NULL.
15876 (x_delete_terminal, x_create_terminal): New functions.
15877 (XTset_terminal_modes, XTreset_terminal_modes)
15878 (XTread_socket, x_connection_closed, x_term_init)
15879 (x_term_init, x_delete_display): Add terminal parameter.
15880 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15881 X connections.
15882
15883 * frame.c: Include termchar.h.
15884 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15885 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15886 (Qdisplay_environment_variable): New vars.
15887 (Fframep): Deal with output_initial.
15888 (Fframe-live-p): Doc fix.
15889 (Fwindow-system): New function.
15890 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15891 (make_terminal_frame): Don't create frames on a terminal that is
15892 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15893 (store_frame_param): Check for found_for_frame before calling XFRAME.
15894 (Fmake_terminal_frame): Handle NULL tty names correctly.
15895 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15896 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15897 frames to refer to a deleted frame in their 'environment parameter.
15898 (Fframe_with_environment): New function.
15899 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15900 (get_future_frame_param): New function.
15901 (Fmake_terminal_frame): Use it.
15902 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15903
15904 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15905 * sysdep.c (reset_sys_modes): Update for renames.
15906
15907 * keyboard.c (tty_read_avail_input): New function.
15908 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15909 (syms_of_keyboard): Defsubr them.
15910 (Fset_input_meta_mode, Fset_quit_char): New functions.
15911 (Fset_input_mode): Split to above functions.
15912 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15913 parameter. Use it in call to `read_char'.
15914 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15915 Set wrong_kboard_jmpbuf correctly in recursive calls.
15916 Use current_kboard to access Vkeyboard_translate_table.
15917 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15918 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15919 Update longjmp invocations. Remember the original current_kboard,
15920 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15921 changes it. Comment out unnecessary calls to
15922 `record_single_kboard_state' and `any_kboard_state'.
15923 Update recursive calls.
15924 (wrong_kboard_jmpbuf): Remove global variable.
15925 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15926 Handle deleted interrupted_kboards correctly; that is a legal
15927 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15928 and read_char calls. Abort if interrupted_kboard died in read_char.
15929 (any_kboard_state, single_kboard_state)
15930 (push_frame_kboard): Remove function.
15931 (pop_kboard): Switch out of single_kboard mode if the kboard has
15932 been deleted. Remove unused variable. Help debugging by not
15933 changing current_kboard unnecessarily. Set current_kboard to the
15934 kboard of the selected frame when the stored kboard object has
15935 been deleted before pop_kboard.
15936 (temporarily_switch_to_single_kboard): Change first parameter to a
15937 frame pointer. Throw an error when caller wants to change kboards
15938 while in single_kboard mode. Don't push_kboard if we weren't in
15939 single kboard state. Don't pop_kboard if we popped into any
15940 kboard state.
15941 (restore_kboard_configuration): Abort if pop_kboard changed the
15942 kboard in single_kboard mode. Call pop_kboard only after setting
15943 up single_kboard mode.
15944 (Frecursive_edit): Switch to single_kboard mode only in nested
15945 command loops.
15946 (cmd_error, command_loop, command_loop_1, timer_check):
15947 Comment out unnecessary call to `any_kboard_state' and
15948 `record_single_kboard_state'.
15949 (delete_kboard): Exit single_kboard mode if we have just deleted
15950 that kboard. Use FRAME_KBOARD.
15951 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15952 `fatal_error_signal'.
15953 (record_single_kboard_state): Don't push_kboard if we weren't in
15954 single kboard state. Don't pop_kboard if we popped into any
15955 kboard state.
15956 (push_frame_kboard): Rename to push_kboard.
15957 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15958 (read_avail_input): Read input from all terminals.
15959 (mark_kboards): Also mark Vkeyboard_translate_table.
15960 (kbd_buffer_store_event_hold): Simplify condition.
15961 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15962 (Vkeyboard_translate_table): Move to struct kboard.
15963 (init_kboard): Initialize Vkeyboard_translate_table.
15964 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15965 Vkeyboard_translate_table. Update doc strings. Update docs of
15966 local-function-key-map and function-key-map.
15967
15968 * terminal.c: New file.
15969
15970 * term.c: Include errno.h.
15971 (Vring_bell_function, device_list, initial_device)
15972 (next_device_id, ring_bell, update_begin, update_end)
15973 (set_terminal_window, cursor_to, raw_cursor_to)
15974 (clear_to_end, clear_frame, clear_end_of_line)
15975 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15976 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15977 (syms_of_term): Move their initialization to terminal.c.
15978 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15979 (Ftty_display_color_cells)
15980 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15981 (clear_tty_hooks, set_tty_hooks)
15982 (init_tty, maybe_fatal): New functions.
15983 (Ftty_type): Return nil if terminal is not on a tty instead of
15984 throwing an error. Doc update.
15985 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15986 Doc update. Initialize new subrs and variables.
15987 (delete_tty): Use terminal->deleted.
15988 (tty_set_terminal_modes): Rename from set_terminal_modes.
15989 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15990 (set_scroll_region): Rename to `tty_set_scroll_region'.
15991 (turn_on_insert): Rename to `tty_turn_on_insert'.
15992 (turn_off_insert): Rename to `tty_turn_off_insert'.
15993 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15994 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15995 (toggle_highligh): Rename to `tty_toggle_highlight'.
15996 (background_highlight): Rename to `tty_background_highlight'.
15997 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15998 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15999 (tty_set_scroll_region, tty_background_highlight)
16000 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16001 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16002 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16003 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16004 Add static modifier.
16005 (tty_reset_terminal_modes, tty_set_terminal_window)
16006 (tty_set_scroll_region, tty_background_highlight)
16007 (tty_highlight_if_desired, tty_cursor_to)
16008 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16009 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16010 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16011 renames.
16012
160132007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16014
16015 * keyboard.c: Qrtl is new.
16016 (parse_tool_bar_item): Handle :rtl keyword.
16017 (syms_of_keyboard): Intern :rtl keyword.
16018
16019 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16020
16021 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16022 so no Lisp code is executed.
16023 (file_for_image, find_rtl_image): New functions.
16024 (xg_get_image_for_pixmap): Use file_for_image.
16025 (update_frame_tool_bar): If direction is RTL, use RTL image if
16026 defined. Use Gtk stock images if defined.
16027
160282007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16029
16030 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16031 for nonexistent or zero-width glyph in composition glyph.
16032
160332007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16034
16035 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16036
16037 * xdisp.c (Finvisible_p): New function.
16038 (syms_of_xdisp): defsubr it.
16039
160402007-08-24 Juanma Barranquero <lekktu@gmail.com>
16041
16042 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16043 Doc fixes.
16044
160452007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16046
16047 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16048
160492007-08-24 Martin Rudalics <rudalics@gmx.at>
16050
16051 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16052 whether decoding has modified buffer contents.
16053
160542007-08-24 Jason Rumney <jasonr@gnu.org>
16055
16056 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16057 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16058 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16059 (init_svg_functions) [HAVE_NTGUI]: New function.
16060 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16061 (svg_load_image): Use them.
16062 (svg_load_image) [HAVE_NTGUI]: Implement background.
16063
160642007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16065
16066 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16067 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16068 (LIBX): Remove @RSVG_LIBS@.
16069 (LIBES): Add $(RSVG_LIBS).
16070
16071 * image.c (svg_load_image): Blend with specified background if exists.
16072 Use IMAGE_BACKGROUND. Add Mac OS Support.
16073
16074 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16075 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16076 Remove macros.
16077 [MAC_OSX] (socket_callback): Do nothing.
16078 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16079 ReceiveNextEvent.
16080 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16081 socket_callback.
16082 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16083
160842007-08-22 Glenn Morris <rgm@gnu.org>
16085
16086 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16087
160882007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16089
16090 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16091
16092 * image.c: Add support for SVG images. Some additional comments
16093 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16094 (svg_image_p): New function to test for SVG image.
16095 (svg_load): New function to load SVG image.
16096 (svg_load_image): New function, helper for svg_load.
16097 (Qsvg): New Lisp_object.
16098 (svg_keyword_index): New enum.
16099 (svg_format): New static `image_keyword' struct.
16100 (svg_type): New static `image_type' struct.
16101 (librsvg/rsvg.h): Include it.
16102
161032007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16104
16105 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16106
161072007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16108
16109 * lread.c (Qold_style_backquotes): New var.
16110 (syms_of_lread): Init and staticpro it.
16111 (load_warn_old_style_backquotes): New fun.
16112 (Fload): Use them to warn about old style backquotes.
16113 (end_of_file_error, Fload): Remove unused vars.
16114
16115 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16116
16117 * lread.c (Vold_style_backquotes): New var.
16118 (syms_of_lread): Init and export it to Elisp.
16119 (read1): Set it when we find an old-style (back)quote.
16120
161212007-08-22 Jason Rumney <jasonr@gnu.org>
16122
16123 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16124
161252007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16126
16127 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16128
161292007-08-19 Richard Stallman <rms@gnu.org>
16130
16131 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16132
161332007-08-19 Andreas Schwab <schwab@suse.de>
16134
16135 * alloc.c (pure): Round PURESIZE up.
16136
161372007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16138
16139 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16140 active frame.
16141
161422007-08-16 Richard Stallman <rms@gnu.org>
16143
16144 * eval.c (Fcommandp): Add parens to clarify.
16145
16146 * minibuf.c (Fall_completions): Use enum for type of table.
16147
16148 * emacs.c (USAGE2): Improve text.
16149
161502007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16151
16152 * term.c (tty_default_color_capabilities): Declare static
16153 variables in file scope, to avoid HPUX compiler problem.
16154
161552007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16156
16157 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16158 to gtk_toolbar_insert.
16159
161602007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16161
16162 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16163
16164 * insdel.c (reset_var_on_error): New fun.
16165 (signal_before_change, signal_after_change):
16166 Use it to reset (after|before)-change-functions to nil in case of error.
16167 Bind inhibit-modification-hooks to t.
16168 Don't bind (after|before)-change-functions to nil while they run.
16169
161702007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16171
16172 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16173 filling pixmap with stippled background.
16174
161752007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16176
16177 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16178 Don't use invisible frame as parent window for repositioning.
16179
161802007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16181
16182 * print.c (new_backquote_output): Rename from old_backquote_output.
16183 (print): Inverse its logic (according to its name) so as to match the
16184 behavior of new_backquote_flag in lread.c.
16185
161862007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16187
16188 * gmalloc.c (posix_memalign): New function.
16189
16190 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16191 ActivateControl/DeactivateControl here.
16192 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16193 frame-notice-user-settings is non-nil.
16194 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16195 for kEventParamFMFontStyle.
16196 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16197 mac_pass_command_to_system and mac_pass_control_to_system here.
16198 (XTread_socket): Call ActivateControl/DeactivateControl here.
16199 (XTread_socket) [TARGET_API_MAC_CARBON]:
16200 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16201 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16202 for window repositioning.
16203
162042007-08-08 Glenn Morris <rgm@gnu.org>
16205
16206 * Replace `iff' in doc-strings and comments.
16207
162082007-08-07 Chong Yidong <cyd@stupidchicken.com>
16209
16210 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16211
162122007-08-07 Martin Rudalics <rudalics@gmx.at>
16213
16214 * fileio.c (Finsert_file_contents): Run format-decode and
16215 after_insert_file_functions on entire buffer when REPLACE is
16216 non-nil and inhibit modification_hooks and point_motion_hooks.
16217 For consistency, run after_insert_file_functions iff something
16218 got inserted. Move signal_after_change and update_compositions
16219 after code running after_insert_file_functions. Make sure that
16220 undo_list doesn't record intermediate steps of the decoding process.
16221
162222007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16223
16224 * emacs.c (main)
16225 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16226 Call malloc_enable_thread on interactive startup.
16227
16228 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16229 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16230 [USE_PTHREAD]: Conditionalize with it.
16231 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16232 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16233 New functions.
16234
162352007-08-06 Chong Yidong <cyd@stupidchicken.com>
16236
16237 * xdisp.c (redisplay_window): When restoring original buffer
16238 position, make sure it is still valid.
16239
16240 * image.c (png_load): Ignore png-supplied background color.
16241
162422007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16243
16244 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16245 Use kCFAbsoluteTimeIntervalSince1970.
16246
16247 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16248 New variable.
16249 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16250 event loop should be quit.
16251 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16252 Quit dialog event loop if quit_dialog_event_loop is set.
16253
16254 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16255 (Selection): New typedef. Use instead of ScrapRef.
16256 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16257 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16258 (mac_clear_selection): Rename from clear_scrap.
16259 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16260 scrap_has_target_type. All uses changed.
16261 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16262 (mac_selection_has_target_p): New functions.
16263 (mac_put_selection_value): Rename from put_scrap_string.
16264 (mac_get_selection_value): Rename from get_scrap_string.
16265 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16266 (put_scrap_private_timestamp, scrap_has_target_type)
16267 (get_scrap_private_timestamp): Remove functions.
16268 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16269 (x_own_selection, x_get_local_selection):
16270 Use mac_valid_selection_value_p.
16271 (x_own_selection): Don't use put_scrap_private_timestamp.
16272 Record OWNERSHIP-INFO into Vselection_alist instead.
16273 (x_get_local_selection): Don't check type if request is local.
16274 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16275 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16276
162772007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16278
16279 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16280 add comment explaining why.
16281
162822007-08-03 Richard Stallman <rms@gnu.org>
16283
16284 * fileio.c (Fvisited_file_modtime): Use make_time.
16285
162862007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16287
16288 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16289 build.
16290
162912007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16292
16293 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16294
162952007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16296
16297 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16298
162992007-07-30 Richard Stallman <rms@gnu.org>
16300
16301 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16302
163032007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16304
16305 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16306
163072007-07-28 Nick Roberts <nickrob@snap.net.nz>
16308
16309 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16310 remote default-directory.
16311
16312 * buffer.c (mode-line-format): Update doc string.
16313
163142007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16315
16316 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16317 scroll bar gap.
16318 (x_scroll_bar_create): Set bar->fringe_extended_p.
16319 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16320 on frame edge. Check fringe background extension. Don't clear
16321 extended fringe background area.
16322
16323 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16324 (w32_fill_area): Enclose multiple statements with do ... while (0).
16325
16326 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16327 Extend fringe background to scroll bar gap.
16328 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16329 Set bar->fringe_extended_p.
16330 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16331 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16332 background extension. Don't clear extended fringe background area.
16333
16334 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16335 New member fringe_extended_p.
16336
163372007-07-25 Glenn Morris <rgm@gnu.org>
16338
16339 * Relicense all FSF files to GPLv3 or later.
16340
16341 * COPYING: Switch to GPLv3.
16342
163432007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16344
16345 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16346
16347 * data.c (Finteractive_form): Check for the presence of an
16348 `interactive-form' symbol property more thoroughly.
16349
16350 * data.c (Finteractive_form): Use an `interactive-form' property if
16351 present, analogous to the function-documentation property.
16352
163532007-07-24 Jason Rumney <jasonr@gnu.org>
16354
16355 * w32fns.c (x_real_positions): Get real position from OS instead of
16356 calculating it.
16357
163582007-07-23 Jason Rumney <jasonr@gnu.org>
16359
16360 * filelock.c (current_lock_owner): Allow for @ sign in username.
16361
163622007-07-22 Nick Roberts <nickrob@snap.net.nz>
16363
16364 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16365 remote default-directory.
16366
16367 * buffer.c (mode-line-format): Describe above case in doc string.
16368
163692007-07-20 Eli Zaretskii <eliz@gnu.org>
16370
16371 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16372 Define if not defined.
16373
163742007-07-18 Jason Rumney <jasonr@gnu.org>
16375
16376 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16377
163782007-07-18 Richard Stallman <rms@gnu.org>
16379
16380 * data.c (Fsetq_default): Doc fix.
16381
16382 * eval.c (Fsetq): Doc fix.
16383
163842007-07-18 Juanma Barranquero <lekktu@gmail.com>
16385
16386 * coding.c (Ffind_operation_coding_system):
16387 * eval.c (For, Fand): Doc fixes.
16388 Reported by Johan Bockgård.
16389
163902007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16391
16392 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16393
16394 * xterm.h: Declare x_ewmh_activate_frame.
16395
16396 * xterm.c (x_ewmh_activate_frame): New function.
16397 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16398
163992007-07-17 Martin Rudalics <rudalics@gmx.at>
16400
16401 * window.c (Fdisplay_buffer): If largest or LRU window is the
16402 only window, split it even if it is not eligible for splitting.
16403 This restores the original behavior broken by the 2007-07-15
16404 change.
16405
164062007-07-17 Glenn Morris <rgm@gnu.org>
16407
16408 * abbrev.c (abbrev_check_chars): New function.
16409 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16410 Call abbrev_check_chars to check abbrev characters are word
16411 constituents. Doc fix.
16412
164132007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16414
16415 * process.c (Fstart_process, Fmake_network_process)
16416 (read_process_output): Fix up last changes.
16417
164182007-07-16 Eli Zaretskii <eliz@gnu.org>
16419
16420 * makefile.w32-in (clean): Don't delete *~.
16421
164222007-07-16 Andreas Schwab <schwab@suse.de>
16423
16424 * window.c (Fdisplay_buffer): Use NILP.
16425 (Fset_window_scroll_bars): Likewise.
16426
164272007-07-15 Martin Rudalics <rudalics@gmx.at>
16428
16429 * window.c (window_min_size_2): New function.
16430 (window_min_size_1, size_window, Fdisplay_buffer)
16431 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16432 windows without mode- or header-lines when window-min-height is
16433 too small.
16434 (size_window): Reset nodelete_p after testing it, following an
16435 earlier note by Kim F. Storm.
16436 (display_buffer): Do not set split_height_threshold to twice the
16437 value of window_min_height to avoid changing the value of a
16438 customizable variable. Rather explicitly check whether the
16439 height of the window that shall be splitted is at least as large
16440 as split_height_threshold.
16441 (Fwindow_full_width_p): New defun.
16442 (syms_of_window): Defsubr it.
16443
16444 * window.h: Add EXFUN for Fwindow_full_width_p.
16445
164462007-07-14 Jason Rumney <jasonr@gnu.org>
16447
16448 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16449
164502007-07-14 Richard Stallman <rms@gnu.org>
16451
16452 * eval.c (maybe_call_debugger): New function.
16453 (find_handler_clause): Use maybe_call_debugger.
16454 Call it when the handler says `debug'.
16455 Eliminate DEBUGGER_VALUE_PTR.
16456 (Fsignal): Eliminate debugger_value.
16457 (Qdebug): New variable.
16458 (syms_of_eval): Initialize it.
16459
164602007-07-14 Juanma Barranquero <lekktu@gmail.com>
16461
16462 * eval.c (Fprogn):
16463 * keyboard.c (Ftrack_mouse):
16464 * print.c (Fwith_output_to_temp_buffer):
16465 * window.c (Fsave_window_excursion): Doc fix.
16466
164672007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16468
16469 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16470
164712007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16472
16473 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16474 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16475 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16476 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16477 Remove unused encoding_carryover.
16478 * process.c: Adjust all functions accordingly.
16479
164802007-07-12 Richard Stallman <rms@gnu.org>
16481
16482 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16483
164842007-07-11 Jason Rumney <jasonr@gnu.org>
16485
16486 * makefile.w32-in (LIBS): Include OLE32.
16487
16488 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16489 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16490
164912007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16492
16493 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16494 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16495 from a Lisp_Object into a bare pointer.
16496 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16497 Adjust the code correspondingly.
16498
16499 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16500
16501 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16502 (term_show_mouse_face): Remove unused var `j'.
16503 (handle_one_term_event): Remove unused vars `i' and `j'.
16504 Don't cast return value of ttyname since it's not necessary.
16505
165062007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16507
16508 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16509 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16510
16511 * fns.c (map_char_table): Use an array of int for `indices' rather than
16512 an array of Lisp_Objects (which are only ever integers anyway).
16513 (Fmap_char_table): Update caller.
16514 * lisp.h: Update prototype.
16515 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16516 * fontset.c (Ffontset_info):
16517 * casetab.c (set_case_table): Update callers.
16518
16519 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16520
16521 * keymap.c (struct accessible_keymaps_data)
16522 (struct where_is_internal_data): New structures.
16523 (accessible_keymaps_1, where_is_internal_1): Use them to change
16524 interface to adhere to the one used by map_keymap.
16525 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16526 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16527
16528 * keymap.h (map_keymap_function_t): More informative prototype.
16529
165302007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16531
16532 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16533 (looking_at_1): Don't change search_regs and last_thing_searched
16534 if `inhibit-changing-match-data' is non-nil.
16535 (string_match_1, search_buffer, set_search_regs): Likewise.
16536 (syms_of_search): Add Lisp level definition for
16537 `inhibit-changing-match-data' and set it to nil.
16538 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16539 start and end of the match, instead of using values in search_regs.
16540
165412007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16542
16543 * minibuf.c (Fcompleting_read): New value `confirm-only'
16544 for `require-match'.
16545
165462007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16547
16548 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16549 part of the 2007-06-27 change to syms_of_fileio.
16550
165512007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16552
16553 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16554 Check WINDOWP before using XWINDOW. Consolidate return statements.
16555
165562007-06-27 Richard Stallman <rms@gnu.org>
16557
16558 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16559
165602007-06-27 Juanma Barranquero <lekktu@gmail.com>
16561
16562 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16563
165642007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16565
16566 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16567 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16568 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16569 (_free_internal, memalign): Use them.
16570 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16571 Initialize to PTHREAD_MUTEX_INITIALIZER.
16572 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16573 (morecore_nolock): Rename from morecore. All uses changed.
16574 Use only nolock versions of internal allocation functions.
16575 (_malloc_internal_nolock, _realloc_internal_nolock)
16576 (_free_internal_nolock): New functions created from
16577 _malloc_internal, _realloc_internal, and _free_internal.
16578 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16579 Copy hook value to automatic variable before its use.
16580 (memalign): Copy hook value to automatic variable before its use.
16581
165822007-06-26 Kenichi Handa <handa@m17n.org>
16583
16584 * coding.c (Ffind_operation_coding_system): Docstring improved.
16585 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16586
165872007-06-25 David Kastrup <dak@gnu.org>
16588
16589 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16590 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16591 cater for additional parameter.
16592
16593 * keymap.h: Adjust number of parameters to `current-active-maps'.
16594
16595 * doc.c (Fsubstitute_command_keys): Adjust call of
16596 `current-active-maps'.
16597
165982007-06-25 David Kastrup <dak@gnu.org>
16599
16600 * callint.c (Fcall_interactively): Make the parsing of interactive
16601 specs somewhat more readable.
16602
166032007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16604
16605 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16606 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16607 if extended background has already been filled.
16608
166092007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16610
16611 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16612 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16613
16614 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16615 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16616 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16617 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16618 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16619 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16620 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16621 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16622 Run timers during dialog popup.
16623 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16624
166252007-06-21 Jason Rumney <jasonr@gnu.org>
16626
16627 * image.c (convert_mono_to_color_image): Swap fore and background.
16628
166292007-06-20 Jason Rumney <jasonr@gnu.org>
16630
16631 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16632 (w32_free_bdf_font): Unmap memory not handle.
16633
166342007-06-20 Sam Steingold <sds@gnu.org>
16635
16636 * gmalloc.c (__morecore): Fix the declaration to comply with the
16637 definition.
16638
166392007-06-20 Juanma Barranquero <lekktu@gmail.com>
16640
16641 * w32term.c (w32_delete_display): Remove leftover declaration.
16642 (w32_define_cursor, w32_initialize): Make static.
16643
16644 * w32.c (_wsa_errlist): Fix typo in error message.
16645 (init_environment): Ignore any environment variable from the
16646 registry having a null value.
16647
166482007-06-20 Glenn Morris <rgm@gnu.org>
16649
16650 * Makefile.in (LIBGIF): Default to -lgif.
16651
166522007-06-17 Jason Rumney <jasonr@gnu.org>
16653
16654 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16655 unicode strings.
16656
166572007-06-16 Juanma Barranquero <lekktu@gmail.com>
16658
16659 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16660 Fix typo in docstring.
16661
166622007-06-16 Eli Zaretskii <eliz@gnu.org>
16663
16664 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16665 and their keybindings.
16666
166672007-06-15 Chong Yidong <cyd@stupidchicken.com>
16668
16669 * composite.c (update_compositions): Fix last fix.
16670
166712007-06-14 Jason Rumney <jasonr@gnu.org>
16672
16673 * w32.c (get_process_times_fn): New function pointer.
16674 (globals_of_w32): Intialize it if present in kernel32.dll.
16675 (w32_get_internal_run_time): New function.
16676
16677 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16678
166792007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16680
16681 * composite.c (update_compositions): Check the validness of
16682 compositions.
16683
166842007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16685
16686 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16687 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16688
16689 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16690 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16691
16692 * macgui.h (USE_MAC_TOOLBAR): New define.
16693
16694 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16695 Return immediately unless popup is activated.
16696
16697 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16698 background to scroll bar gap.
16699 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16700 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16701 scroll bars on frame edge. Check fringe background extension.
16702 Don't clear extended fringe background area.
16703 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16704 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16705 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16706 [USE_MAC_TOOLBAR]: New macros.
16707 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16708 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16709 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16710 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16711 [USE_MAC_TOOLBAR]: New functions.
16712 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16713 manually if previous repositioning has failed.
16714 (mac_handle_keyboard_event): Use precomputed event kind.
16715 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16716 as tool bar item click. Handle mouse movement over tool bar items.
16717
16718 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16719 toolbar_win_gravity.
16720 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16721 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16722 Add externs.
16723
16724 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16725 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16726
167272007-06-14 Chong Yidong <cyd@stupidchicken.com>
16728
16729 * image.c (search_image_cache): Remove unused variable.
16730
167312007-06-13 Chong Yidong <cyd@stupidchicken.com>
16732
16733 * xfns.c, xmenu.c: Link to xaw3d if available.
16734
167352007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16736
16737 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16738 frame_foreground and frame_background.
16739
16740 * image.c (lookup_image): Save frame foreground and background colors.
16741 (search_image_cache): Check if saved and current frame colors match.
16742
167432007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16744
16745 * regex.c (regex_compile): Remove the `regnum' counter.
16746 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16747
167482007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16749
16750 * term.c: Include intervals.h to declare Fget_text_property.
16751
167522007-06-10 Jason Rumney <jasonr@gnu.org>
16753
16754 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16755
167562007-06-08 Juanma Barranquero <lekktu@gmail.com>
16757
16758 * callint.c (Fcall_interactively):
16759 * editfns.c (Fdelete_and_extract_region):
16760 * fileio.c (Fread_file_name):
16761 * fns.c (Fmapconcat):
16762 * keyboard.c (cmd_error_internal):
16763 * keymap.c (Fkey_description):
16764 * lread.c (openp):
16765 * minibuf.c (read_minibuf):
16766 * search.c (wordify):
16767 * sunfns.c (sel_read):
16768 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16769 * xfns.c (x_default_scroll_bar_color_parameter):
16770 * xmenu.c (menu_help_callback):
16771 * xselect.c (Fx_get_atom_name):
16772 * xterm.c (x_term_init): Use empty_unibyte_string.
16773
167742007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16775
16776 * alloc.c (init_strings): Initialize canonical empty strings.
16777 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16778 canonical empty string when the requested size is 0.
16779
16780 * emacs.c (empty_unibyte_string): Rename from empty_string.
16781 (empty_multibyte_string): New canonical empty string.
16782 (syms_of_emacs): Don't initialize empty_string.
16783
16784 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16785 string, if appropriate.
16786 (empty_unibyte_string, empty_multibyte_string): New externs.
16787 (empty_string): Remove extern.
16788
16789 * lread.c (syms_of_lread): Use empty_unibyte_string.
16790
167912007-06-07 Jason Rumney <jasonr@gnu.org>
16792
16793 * s/ms-w32.h: Don't define HAVE_TZNAME.
16794
16795 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16796
167972007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16798
16799 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16800
16801 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16802 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16803
16804 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16805 Don't call next handler.
16806 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16807 Remove argument. Install handler to application.
16808 (set_frame_menubar): Don't change deep_p.
16809 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16810 FRAME_OUTER_TO_INNER_DIFF_Y.
16811 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16812 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16813 [HAVE_DIALOGS]: New macros.
16814 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16815 Use them.
16816 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16817
16818 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16819 init_service_handler. All callers changed. Return OSStatus value.
16820
16821 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16822 All callers changed so as not to call SetPortWindowPort.
16823 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16824 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16825 mac_draw_string_common.
16826 (mac_draw_image_string_qd): Likewise.
16827 (mac_draw_string_common): Use them. Add INLINE.
16828 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16829 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16830 GetGlobalMouse.
16831 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16832 and FRAME_OUTER_TO_INNER_DIFF_Y.
16833 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16834 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16835 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16836 repositioning window to mac_handle_window_event.
16837 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16838 saving window location to mac_handle_window_event
16839 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16840 (install_menu_target_item_handler): Remove argument in extern.
16841 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16842 Also accept command events.
16843 (do_keystroke): New function created from XTread_socket.
16844 (init_command_handler): Remove functions.
16845 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16846 and save window location by kEventWindowShowing and kEventWindowHiding
16847 handlers here. Don't call next handler for window state change and
16848 focus events.
16849 (mac_handle_application_event, mac_handle_keyboard_event)
16850 [TARGET_API_MAC_CARBON]: New functions.
16851 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16852 kEventWindowShowing and kEventWindowHiding events. Move installation
16853 of mouse, font, text input and menu target item handlers to
16854 install_application_handler.
16855 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16856 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16857 New function.
16858 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16859 Register it.
16860 (XTread_socket) [TARGET_API_MAC_CARBON]:
16861 Consolidate SendEventToEventTarget calls.
16862 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16863 Move application activation handler to mac_handle_application_event.
16864 Move keyboard handler to mac_handle_keyboard_event.
16865 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16866 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16867 init_command_handler. Call install_application_handler.
16868
16869 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16870 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16871
168722007-06-07 Glenn Morris <rgm@gnu.org>
16873
16874 * emacs.c (main): Use `emacs-copyright' in --version output.
16875
168762007-06-06 Chong Yidong <cyd@stupidchicken.com>
16877
16878 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16879
168802007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16881
16882 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16883
16884 * macgui.h: Replace WindowPtr with WindowRef.
16885
16886 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16887 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16888 Replace ControlHandle with ControlRef.
16889 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16890
16891 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16892 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16893 Replace ControlHandle with ControlRef.
16894 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16895 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16896
16897 * macterm.h (struct scroll_bar): Rename member control_handle_low
16898 and control_handle_high to control_ref_low and control_ref_high.
16899 All uses changed.
16900 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16901 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16902 respectively. All uses changed.
16903 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16904 (install_window_handler, remove_window_handler): Replace WindowPtr
16905 with WindowRef in externs.
16906
169072007-06-05 Juanma Barranquero <lekktu@gmail.com>
16908
16909 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16910
169112007-06-03 Nick Roberts <nickrob@snap.net.nz>
16912
16913 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16914
16915 * frame.c (Fmouse_position, Fmouse_pixel_position):
16916 Condition on HAVE_GPM too.
16917
16918 * term.c (term_mouse_highlight): Remove unused variables.
16919 (Fterm_open_connection): Set gpm_zerobased to 1.
16920 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16921 Use zero based co-ordinates.
16922 (handle_one_term_event): Report a drag as mouse movement too.
16923
16924 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16925
169262007-06-03 Chong Yidong <cyd@stupidchicken.com>
16927
16928 * image.c (search_image_cache): New function. Require background
16929 color match if background color is unspecified in the image spec.
16930 (uncache_image, lookup_image): Use it.
16931
169322007-06-01 Juanma Barranquero <lekktu@gmail.com>
16933
16934 * window.c (Fshrink_window): Reflow docstring.
16935
169362007-06-02 Chong Yidong <cyd@stupidchicken.com>
16937
16938 * Version 22.1 released.
16939
169402007-06-01 Richard Stallman <rms@gnu.org>
16941
16942 * xfns.c (x_encode_text): Add GCPRO.
16943
169442007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16945
16946 * xfns.c (x_set_name_internal): Save encoded name before
16947 x_encode_text in case string data is relocated.
16948
169492007-05-31 Richard Stallman <rms@gnu.org>
16950
16951 * buffer.c (syms_of_buffer): Doc fix.
16952
169532007-05-30 Nick Roberts <nickrob@snap.net.nz>
16954
16955 * sysdep.c (init_sys_modes): Add rather than replace with
16956 O_NONBLOCK.
16957
16958 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16959 term_mouse_moveto.
16960
16961 * termhooks.h (term_mouse_moveto): New extern.
16962
16963 * term.c (mouse_face_window): Rename...
16964 (Qmouse_face_window): ...to this.
16965 (term_show_mouse_face, term_clear_mouse_face)
16966 (term_mouse_highlight): Use Qmouse_face_window.
16967 (term_mouse_moveto): New function.
16968 (term_mouse_position): Make it work.
16969 (syms_of_term): Uncomment assignment to mouse_position_hook.
16970 Staticpro Qmouse_face_window.
16971
169722007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16973
16974 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16975 around current_column call.
16976
169772007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16978
16979 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16980 * xdisp.c (next_element_from_buffer):
16981 * window.c (delete_window):
16982 * term.c (term_mouse_highlight):
16983 * msdos.c (getdefdir):
16984 * macterm.c (mac_create_bitmap_from_bitmap_data)
16985 (init_font_name_table):
16986 * fns.c (Fsxhash):
16987 * data.c (Fmake_local_variable):
16988 * ccl.c (ccl_driver): Likewise.
16989
169902007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16991
16992 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16993 Call mac_wakeup_from_rne on window size change.
16994
169952007-05-25 Chong Yidong <cyd@stupidchicken.com>
16996
16997 * image.c (uncache_image): Fix typo.
16998
169992007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17000
17001 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17002
170032007-05-22 Richard Stallman <rms@gnu.org>
17004
17005 * xterm.c (x_connection_closed): Remove NO_RETURN.
17006
170072007-05-22 Martin Rudalics <rudalics@gmx.at>
17008
17009 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17010
170112007-05-21 Chong Yidong <cyd@stupidchicken.com>
17012
17013 * image.c (uncache_image): New function.
17014 (Fimage_refresh): New function.
17015
170162007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17017
17018 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17019
170202007-05-20 Nick Roberts <nickrob@snap.net.nz>
17021
17022 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17023 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17024
170252007-05-20 Nick Roberts <nickrob@snap.net.nz>
17026
17027 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17028 conditional on [HAVE_GPM_H].
17029
170302007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17031
17032 * syntax.c (skip_chars): Update syntax-table only after we checked that
17033 the new location is valid.
17034
170352007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17036
17037 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17038 mac_get_window_bounds.
17039
170402007-05-20 Nick Roberts <nickrob@snap.net.nz>
17041
17042 * Makefile.in (LIBGPM): Allow it to be set from configure.
17043 If set then link Emacs with it.
17044
17045 * config.in: Regenerate.
17046
17047 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17048 New externs.
17049
17050 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17051 Include gpm.h.
17052 (handle_one_term_event, term_gpm): New externs.
17053
17054 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17055 and allow it to be interrupted by SIGIO.
17056
17057 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17058 (wait_reading_process_output): Wait on gpm_fd too.
17059 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17060 (add_gpm_wait_descriptor_called_flag): New variable.
17061 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17062
17063 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17064 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17065 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17066 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17067 (make_lispy_event): Add case GPM_CLICK_EVENT.
17068 (read_avail_input): Handle mouse input.
17069
17070 * term.c (write_glyphs_with_face): New function.
17071 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17072 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17073 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17074 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17075 (last_mouse_x, last_mouse_y): New variables.
17076 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17077 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17078 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17079 (Fterm_close_connection): New functions.
17080 (term_init): Initialise mouse_face_window.
17081
170822007-05-19 Chong Yidong <cyd@stupidchicken.com>
17083
17084 * xdisp.c (redisplay_window): If first window line is a
17085 continuation line, recompute the new window start instead of
17086 recentering.
17087
170882007-05-18 Glenn Morris <rgm@gnu.org>
17089
17090 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17091 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17092
170932007-05-17 Glenn Morris <rgm@gnu.org>
17094
17095 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17096
170972007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17098
17099 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17100 dead key repeat and up events.
17101
171022007-05-14 Chong Yidong <cyd@stupidchicken.com>
17103
17104 * image.c (pbm_load): Check image size for monochrome pbm.
17105
171062007-05-13 Chong Yidong <cyd@stupidchicken.com>
17107
17108 * xterm.c (XTread_socket): Revert last change.
17109
171102007-05-12 Chong Yidong <cyd@stupidchicken.com>
17111
17112 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17113
17114 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17115
171162007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17117
17118 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17119 mixup (YAILOM).
17120
171212007-05-07 Andreas Schwab <schwab@suse.de>
17122
17123 * keymap.c (Flookup_key): Fix typo in last change.
17124
171252007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17126
17127 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17128 mapping for unibyte strings.
17129
171302007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17131
17132 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17133 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17134
171352007-04-29 Richard Stallman <rms@gnu.org>
17136
17137 * insdel.c (replace_range): For undo, record insertion first.
17138
171392007-04-29 Andreas Schwab <schwab@suse.de>
17140
17141 * lisp.h (VECSIZE): Use OFFSETOF.
17142
171432007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17144
17145 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17146 disabled lines.
17147
171482007-04-28 Richard Stallman <rms@gnu.org>
17149
17150 * lread.c (read_escape): In a string, \s is always space.
17151
171522007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17153
17154 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17155
17156 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17157 submenu for menu bar items.
17158
17159See ChangeLog.10 for earlier changes.
17160
17161;; Local Variables:
17162;; coding: utf-8
17163;; add-log-time-zone-rule: t
17164;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17165;; End:
17166
76b6f707 17167 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17168
17169 This file is part of GNU Emacs.
17170
17171 GNU Emacs is free software: you can redistribute it and/or modify
17172 it under the terms of the GNU General Public License as published by
17173 the Free Software Foundation, either version 3 of the License, or
17174 (at your option) any later version.
17175
17176 GNU Emacs is distributed in the hope that it will be useful,
17177 but WITHOUT ANY WARRANTY; without even the implied warranty of
17178 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17179 GNU General Public License for more details.
17180
17181 You should have received a copy of the GNU General Public License
17182 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17183
17184;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40