* emacsclient.c (decode_options): Use a dummy display name under NS/Cocoa.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
3ac71f5d
CY
12009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
2
3 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
4 call for Sparc64.
5
3fe53a83
AR
62009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
7
8 * nsfns.m:
9 * nsgui.h:
10 * nsmenu.m:
11 * nsselect.m:
12 * nsterm.h:
13 * nsterm.m: Remove '23' comments that indicated code added during
14 update from emacs-20 -> emacs-23.
15
10f87c6f 162009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
17
18 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 19 ns_alternate_modifier. (Bug#1217)
a3b53a85 20
c7cef62d
AR
21 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
22 Display all shortcuts, including those w/o super modifier.
23
575fb8bd
AR
24 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
25
918b848b
CY
262009-01-22 Chong Yidong <cyd@stupidchicken.com>
27
28 * fileio.c (Vwrite_region_post_annotation_function)
29 (Vwrite_region_annotation_buffers): New vars.
30 (build_annotations_unwind): Just reset
31 Vwrite_region_annotation_buffers.
32 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
33 Call write-region-post-annotation-function.
34 (build_annotations): Add to Vwrite_region_annotation_buffers if
35 buffer changes.
36
a39e2539
AR
372009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
38
39 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
40 Tiger.
41 * nsfns.m (ns_do_applescript): Conditionalize
42 typeUTF16ExternalRepresentation on Tiger.
43
35ed44db
AR
442009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
45
46 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
47
cbe0b5bf
AR
482009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
49
50 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 51
6049d3a0
AR
52 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
53
54 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
55 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
56 handle Ctrl-tab. (Bug#1841)
57 (ns_get_color): Use unsigned long long for scanned hex string value.
58 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 59 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 60 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 61 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 62 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 63 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 64 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 65
d3810c21 66 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 67 DPI. (Bug#1316)
d3810c21
AR
68 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
69 values in onTiger section.
4c7077c3 70
e301e634
CY
712009-01-19 Chong Yidong <cyd@stupidchicken.com>
72
7f82490b
CY
73 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
74 Check return value of font_spec_from_name.
75 (Fx_list_fonts): Doc fix.
76
77 * font.c (font_spec_from_name): Return Qnil if font name could not
78 be parsed.
79 (font_parse_name): Treat a `?' character as part of an XLFD.
80
e301e634
CY
81 * fns.c (Fsubstring): Doc fix.
82
1c0db158
KH
832009-01-19 Kenichi Handa <handa@m17n.org>
84
85 * ftfont.c (ftfont_lookup_cache): Check the return value of
86 FcFontList.
87 (ftfont_list): Likewise.
88
acf20901
JB
892009-01-18 Juanma Barranquero <lekktu@gmail.com>
90
fff4e459
JB
91 * dbusbind.c (Fdbus_register_signal):
92 * process.c (conv_sockaddr_to_lisp):
93 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
94
acf20901
JB
95 * callproc.c (Fgetenv_internal): Doc fix.
96
e7abcdfb
CY
972009-01-16 Chong Yidong <cyd@stupidchicken.com>
98
99 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
100 it is not even used.
101
b60861e6
GM
1022009-01-16 Glenn Morris <rgm@gnu.org>
103
104 * font.c (Ffont_variation_glyphs): Silence compiler.
105
8db52afe
JB
1062009-01-15 Juanma Barranquero <lekktu@gmail.com>
107
108 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
109 Reported by David Robinow <drobinow@gmail.com>.
110
4cddb209
KH
1112009-01-15 Kenichi Handa <handa@m17n.org>
112
113 * coding.c (detect_coding_system): Fix handling of
114 null_byte_found.
115
f247f67b
JR
1162009-01-14 Jason Rumney <jasonr@gnu.org>
117
118 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 119 never a fontset. (Bug#1562)
f247f67b 120
f56a4450
KH
1212009-01-14 Kenichi Handa <handa@m17n.org>
122
123 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 124 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 125
4e99855e
CY
1262009-01-13 Chong Yidong <cyd@stupidchicken.com>
127
128 * font.c (font_clear_prop): If clearing the family, clear the font
129 width index too.
130
fff4e459 131 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 132
24f01470
JB
1332009-01-12 Juanma Barranquero <lekktu@gmail.com>
134
135 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
136 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
137 functions, use sizeof.
138
a41240a3
MR
1392009-01-12 Martin Rudalics <rudalics@gmx.at>
140
141 * keyboard.c (read_char): Fix case where last_nonmenu_event
142 returned a bad value with submenus. (Bug#447)
143
944636b8
CY
1442009-01-12 Chong Yidong <cyd@stupidchicken.com>
145
146 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
147 family, clear the font width index too.
148
0dad7c6f
JR
1492009-01-11 Jason Rumney <jasonr@gnu.org>
150
151 * keyboard.c (cmd_error_internal): Exit when errors occur before
152 frame creation and not in daemon mode. (Bug#1836)
153
7c2363af
CY
1542009-01-10 Chong Yidong <cyd@stupidchicken.com>
155
156 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
157 of a display vector, backtrack.
158 (try_window_reusing_current_matrix): Check glyph type before
159 referencing charpos member.
160
97b1b294
EZ
1612009-01-10 Eli Zaretskii <eliz@gnu.org>
162
163 Fix Bug #876:
164
165 * coding.c (inhibit_null_byte_detection): New variable.
166 (detect_coding, detect_coding_system): Don't pay attention to null
167 bytes if inhibit_null_byte_detection is non-zero.
168 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
169 document.
170 <inhibit-iso-escape-detection>: Doc fix.
171
4624b6e3
JR
1722009-01-09 Jason Rumney <jasonr@gnu.org>
173
174 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 175 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
176 Only report Unicode Plane 2 fonts as unicode-sip.
177
323b840c
CY
1782009-01-09 Chong Yidong <cyd@stupidchicken.com>
179
180 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
181 version moved to faces.el.
182
183 * font.c (Ffont_family_list): Return a list of strings, not
184 symbols.
185
eba7400d
MR
1862009-01-09 Martin Rudalics <rudalics@gmx.at>
187
188 * frame.c (x_set_frame_parameters): Remember requested value for
189 fullscreen before it's reset by the parameter handler.
190
4b09796d
GM
1912009-01-09 Glenn Morris <rgm@gnu.org>
192
193 * keyboard.c (last_command_char): For clarity, rename to...
194 (last_command-event): ... and update all users.
195 (last_input_char): For clarity, rename to...
196 (last_input_event): ... and update all users.
197 (last-command-char, last-input-char): Move to subr.el as aliases.
198 * cmds.c, commands.h: Update for last_command_char rename.
199
14ccea62
CY
2002009-01-08 Chong Yidong <cyd@stupidchicken.com>
201
202 * font.c (font_open_for_lface): Handle unspecified height
203 attribute.
204
5f004711
JR
2052009-01-08 Jason Rumney <jasonr@gnu.org>
206
207 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
208 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
209 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
210 Don't declare.
fff4e459 211 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
212 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
213
b71f6f73
KH
2142009-01-07 Kenichi Handa <handa@m17n.org>
215
50b06221 216 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 217 remember the coding system used for decoding in
50b06221
KH
218 coding_system (Bug#1039).
219
b71f6f73 220 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 221 breaking the loop. (Bug#870)
b71f6f73
KH
222 (decode_coding_utf_16, decode_coding_emacs_mule)
223 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
224 (decode_coding_charset): Likewise.
225
56f668f7
MR
2262009-01-05 Martin Rudalics <rudalics@gmx.at>
227
228 * frame.c (x_set_frame_parameters): Make sure height (width) get
229 applied when fullwidth (fullheight) is set. (Bug#1522)
230
5da9424d
JB
2312009-01-04 Juanma Barranquero <lekktu@gmail.com>
232
233 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
234 (utc_base): Declare as ULONGLONG, not long double.
235 (convert_time_raw): Delete.
236 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
237 (initialize_utc_base): New function.
238 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
239 (convert_from_time_t): Use initialize_utc_base; compute result with
240 64-bit arithmetic.
241 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
242
c4605e09
EZ
2432009-01-03 Eli Zaretskii <eliz@gnu.org>
244
9acef61c 245 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
246 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
247 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
248 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
249 [!subprocesses]: Define.
250 (syms_of_process) [!subprocesses]: Intern and staticpro them.
251 (Flist_system_processes, Fsystem_process_attributes)
252 [!subprocesses]: Call list_system_processes and
253 system_process_attributes instead of returning Qnil.
254
9acef61c
JB
255 * dosfns.c (system_process_attributes, list_system_processes):
256 New functions.
c4605e09
EZ
257
258 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
259
260 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
261 Don't use the default (no-op) implementation.
262
8b7d0a16
JR
2632009-01-03 Jason Rumney <jasonr@gnu.org>
264
a6d46bc1
JR
265 * keyboard.c (parse_modifiers_uncached): Wheel events are
266 clicks (bug#687).
267
8b7d0a16
JR
268 * w32term.c (x_query_colors, x_query_color): New functions.
269
270 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
271 (svg_load_image): Cast returned pointers from dynamically loaded
272 functions. Eliminate W32 specific code.
273
bfe11752
DN
2742009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
275
89e2438a
DN
276 * nsfns.m (x_set_foreground_color, x_set_background_color)
277 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
278 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
279 x_ prefix instead of ns_. Update references.
280 (syms_of_nsfns): Add a FIXME comment.
281
282 * nsterm.m (x_set_cursor_type): New prototype.
283 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
284
bfe11752
DN
285 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
286 for Solaris instead of incorrectly providing Qutime and Qcutime.
287
031da700
EZ
2882009-01-02 Eli Zaretskii <eliz@gnu.org>
289
290 * w32.c (process_times): Compute sum of utime and stime.
291 (system_process_attributes): Add Qtime to the alist.
292
293 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
294 and add them to the alist.
295
296 * process.c (top level) <Qtime, Qctime>: New variables.
297 (syms_of_process): staticpro them.
298 (Fsystem_process_attributes): Add their documentation to the doc
299 string.
300
301 * process.h: Declare Qtime and Qctime.
302
df23bf08
JR
3032009-01-02 Jason Rumney <jasonr@gnu.org>
304
9acef61c 305 * image.c (Qgobject): New symbol.
df23bf08
JR
306 (syms_of_image): Initialize it.
307 (init_svg_functions): Load some functions from gobject library.
308
5bbdf7aa
DN
3092009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
310
311 * frame.c (make_terminal_frame): Remove redundant code and useless
312 block.
313
63136da6
AS
3142009-01-01 Andreas Schwab <schwab@suse.de>
315
316 * process.c (conv_sockaddr_to_lisp): Add workaround for
317 getsockname bug on BSD.
318
9ef69046
CY
3192009-01-01 Chong Yidong <cyd@stupidchicken.com>
320
d6fafbe0
CY
321 * xfns.c (x_create_tip_frame): Set border width of the X window.
322
9ef69046
CY
323 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
324 message.
325
f9c34147
JR
3262009-01-01 Jason Rumney <jasonr@gnu.org>
327
9acef61c 328 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
329 Don't block input, as per earlier xterm.c changes.
330
f5497e45
AR
3312008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
332
333 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
334 (ns_appkit_version_int): New function.
335 (x-server-version): Use ns_appkit_version_int and follow 21+
336 convention of returning 3 integers.
337
c19cab20
KH
3382008-12-30 Kenichi Handa <handa@m17n.org>
339
340 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
341 (CHAR_SURROGATE_PAIR_P): New macro.
342
343 * font.h (struct font_driver): New member get_variation_glyphs.
344
9acef61c 345 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
346 (Ffont_variation_glyphs): New function.
347 (syms_of_font): Defsubr it.
348
349 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
350 ftfont_variation_glyphs.
351 (setup_otf_gstring): New function.
352 (ftfont_drive_otf): Use it.
353 (ftfont_shape_by_flt): Handle variation selector.
354 (ftfont_variation_glyphs): New function.
355
28cd591f
MR
3562008-12-30 Martin Rudalics <rudalics@gmx.at>
357
358 * frame.c (Vemacs_iconified): Remove.
359
7f714baf
JR
3602008-12-30 Jason Rumney <jasonr@gnu.org>
361
362 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 363 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 364
9d2d22ab
CY
3652008-12-30 Chong Yidong <cyd@stupidchicken.com>
366
367 * indent.c (Fvertical_motion): Don't advance iterator if we have
368 reseated to the desired position.
369
370 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
371 checking for pos match.
372
545312c2
KH
3732008-12-30 Kenichi Handa <handa@m17n.org>
374
1ede3eb6
KH
375 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
376 just get the low 8-bit of the code.
377
545312c2
KH
378 * font.c (font_intern_prop): Validate str as multibyte.
379
bd7bbf29
DN
3802008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
381
31e0750e
DN
382 * dispextern.h (struct face): Move lface and hash from the middle
383 of bitfields.
384
bd7bbf29
DN
385 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
386
b5672e7c
DN
3872008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
388
389 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
390 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
391 instead of intervals.h.
392
d704470f
AS
3932008-12-26 Andreas Schwab <schwab@suse.de>
394
395 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
396 cons.
397
54b33868
MR
3982008-12-26 Martin Rudalics <rudalics@gmx.at>
399
400 * textprop.c (Qminibuffer_prompt): New variable.
401 (syms_of_textprop): Initialize it.
402 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
403 in minibuffer-prompt face. (Bug#1662)
404
40b615d6
JR
4052008-12-25 Jason Rumney <jasonr@gnu.org>
406
407 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
408
baae5c2d
JR
4092008-12-24 Jason Rumney <jasonr@gnu.org>
410
411 * ralloc.c (r_alloc_reset_variable): New function.
412
413 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 414 record of what points where. (Bug#716)
baae5c2d 415
a9051c88
DN
4162008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
417
418 * minibuf.c (read_minibuf): Follow the non-interactive case when
419 running as a daemon, before detaching.
420
8b146312
AS
4212008-12-22 Andreas Schwab <schwab@suse.de>
422
423 * buffer.c (init_buffer): Use realloc instead of xrealloc.
424 * gtkutil.c (free_widget_value): Use xfree instead of free.
425
56f2de10
MR
4262008-12-22 Martin Rudalics <rudalics@gmx.at>
427
428 * frame.c (delete_frame): New function derived from
429 Fdelete_frame to handle Qnoelisp value for FORCE argument.
430 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
431 (Fdelete_frame): Call delete_frame. Remove line from doc-string
432 saying that FORCE non-nil doesn't run `delete-frame-functions'.
433 * frame.h: Extern delete_frame.
434 * window.c (window_loop):
435 * terminal.c (delete_terminal):
436 * xterm.c (x_connection_closed):
437 * xfns.c (Fx_hide_tip):
9acef61c 438 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 439
1fc200d6
JR
4402008-12-21 Jason Rumney <jasonr@gnu.org>
441
442 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
443 when character maps to .notdef character.
444
5e252df2
SM
4452008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
446
447 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
448
99b72cc4
JR
4492008-12-20 Jason Rumney <jasonr@gnu.org>
450
451 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 452 a graphical frame on Windows. (Bug#1325)
99b72cc4 453
acc49a52
JD
4542008-12-20 Jan Djärv <jan.h.d@swipnet.se>
455
456 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
457
6ea15123
CY
4582008-12-20 Chong Yidong <cyd@stupidchicken.com>
459
460 * minibuf.c (Fread_buffer): Doc fix.
461
b2dab6c8
JR
4622008-12-20 Jason Rumney <jasonr@gnu.org>
463
54ea0c87 464 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 465 server name in UNC paths. (Bug#719)
54ea0c87 466
b2dab6c8 467 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 468 charbuf. (Bug#1035)
b2dab6c8 469
6d1921be
DN
4702008-12-19 Daniel Engeler <engeler@gmail.com>
471
472 * sysdep.c (serial_configure): Fix typo.
473
53934c98
DN
4742008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
475
476 * sysdep.c: Include alloca.h.
f4f634e8
DN
477 (system_process_attributes): Add implementation for Solaris.
478
479 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 480
06e111a6
DN
4812008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
482
483 Reorganize implementation of Flist_system_processes and
484 Fsystem_process_attributes. No functional changes.
485 * process.c: Don't #include pwd.h, grp.h and limits.h.
486 (Flist_system_processes): Just call list_system_processes.
487 (Fsystem_process_attributes): Just call system_process_attributes.
488 (procfs_list_system_processes, time_from_jiffies)
489 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
490 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
491
492 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
493 (list_system_processes): Rename from
494 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
495 Provide a do nothing implementation.
496 (system_process_attributes): Rename from
497 procfs_list_system_processes.
498 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 499 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
500
501 * w32.c (list_system_processes): Rename from
502 w32_list_system_processes.
503 (system_process_attributes): Rename from
504 w32_system_process_attributes.
505
506 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
507
508 * process.h (w32_list_system_processes)
509 (w32_system_process_attributes): Remove.
510 (list_system_processes, system_process_attributes): New
511 prototypes.
512
6a705b23
KH
5132008-12-19 Kenichi Handa <handa@m17n.org>
514
515 * xfont.c (xfont_decode_coding_xlfd): New function.
516 (xfont_encode_coding_xlfd): New function.
517 (xfont_list_pattern): Decode XLFD by iso-8859-1.
518 (xfont_list): Decode and encode XLFD by iso-8859-1.
519 (xfont_match): Likewise.
520 (xfont_list_family): Likewise.
521 (xfont_open): Likewise.
522
d66c0241 523 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
524 names are utf-8.
525
d66c0241 526 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
527 names are utf-8.
528
5a130941
JD
5292008-12-18 Jan Djärv <jan.h.d@swipnet.se>
530
531 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
532 changed.
bfd20325
JD
533 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
534 clicked on a detached tool bar button.
5a130941 535
fd95644b
DN
5362008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
537
538 * emacs.c (main): Print and error and exit when no data is read
539 from the pipe.
540
e6eee6ae
JR
5412008-12-17 Jason Rumney <jasonr@gnu.org>
542
543 * w32font.c (w32font_has_char): Always return -1.
544
a35dd56b
KH
5452008-12-16 Kenichi Handa <handa@m17n.org>
546
547 * font.c (font_open_entity): Fix previous change.
548
0e3635c2
DN
5492008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
550
551 * process.c: Include <limits.h>.
552
d4835507 5532008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
554
555 * font.c (font_update_drivers): Fix mistake in reconstructing the
556 driver list.
557
5582008-12-16 Chong Yidong <cyd@stupidchicken.com>
559
560 * font.c (font_clear_cache): Fix format of font cache data.
561
e2cbc401
CY
5622008-12-15 Chong Yidong <cyd@stupidchicken.com>
563
564 * xftfont.c (xftfont_open): Free Xft font pattern if
565 XftFontOpenPattern fails.
566
567 * xterm.c (x_free_frame_resources): Remove extraneous call to
568 free_frame_faces.
569
b131d535
CY
5702008-12-13 Chong Yidong <cyd@stupidchicken.com>
571
572 * xterm.c (x_delete_display): Move xim_close_dpy call to
573 x_delete_terminal.
574 (x_delete_terminal): Call xim_close_dpy.
575
e6df5336
JR
5762008-12-13 Jason Rumney <jasonr@gnu.org>
577
578 * w32font.c (intern_font_name): New function.
579 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
580 (w32font_open_internal, Fx_select_font): Decode font name.
581 (fill_in_logfont, list_all_matching_fonts): Encode font name.
582
583 * w32font.h (intern_font_name): Declare new function.
584
585 * w32uniscribe.c (add_opentype_font_name_to_list):
586 Use intern_font_name.
587
20d68145
CY
5882008-12-13 Chong Yidong <cyd@stupidchicken.com>
589
9f2554de
CY
590 * frame.c (Fdelete_frame): Call free_font_driver_list.
591
3d9bec9a
CY
592 * font.c (free_font_driver_list): Implement missing function.
593
20d68145
CY
594 * w32term.c (w32_term_init): Don't initialize the image cache
595 here; it will be done in init_frame_faces.
596
597 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
598 (struct x_display_info): Remove unused member null_pixel. New
599 member xim_callback_data.
600
601 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
602 (xim_initialize): Save pointer to callback function data.
603 (xim_close_dpy): Free callback function data. Call XCloseIM,
604 reverting 2008-11-04 change by David Smith.
605 (x_term_init): Don't initialize the image cache here; it will be
606 done in init_frame_faces. Remove ancient "null_pixel" cruft.
607 (x_delete_display): Free x_dnd_atoms member.
608
96f9306b
KH
6092008-12-13 Kenichi Handa <handa@m17n.org>
610
6dec9044
JB
611 * font.c (font_rescale_ratio): Moved from xfaces.c.
612 Argument type changed. Handle a font-spec too.
96f9306b 613 (font_score): Check Vface_font_rescale_alist.
6dec9044 614 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
615
616 * xfaces.c (font_rescale_ratio): Moved to font.c.
617
8d5b4964
CY
6182008-12-13 Chong Yidong <cyd@stupidchicken.com>
619
620 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
621
e6df5336
JR
6222008-12-12 Jason Rumney <jasonr@gnu.org>
623
624 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
625 Vwindow_system_version to the real w32 major version.
626
97c6058a
DN
6272008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
628
629 * term.c (init_tty): Move setting the terminal name before the
630 potential user: maybe_fatal.
631
ec4e88d7
CY
6322008-12-11 Chong Yidong <cyd@stupidchicken.com>
633
d4835507
JB
634 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
635 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 636
b4233ec9
JR
6372008-12-11 Jason Rumney <jasonr@gnu.org>
638
8ec71e23 639 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 640 SYMBOL_CHARSET. (Bug#547)
8ec71e23 641
b4233ec9 642 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 643 size for surrogates. (Bug#1096, bug#872)
b4233ec9 644
011a0143
JB
6452008-12-11 Juanma Barranquero <lekktu@gmail.com>
646
647 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
648
3c309f34
JB
6492008-12-11 Juanma Barranquero <lekktu@gmail.com>
650
651 * process.c (Fsystem_process_attributes, syms_of_process):
652 Fix typo in name of Ssystem_process_attributes.
653 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
654
fedc6ab5
JB
6552008-12-11 Juanma Barranquero <lekktu@gmail.com>
656
657 * syntax.c (Fmodify_syntax_entry): Doc fix.
658
ba3de0e8
JB
6592008-12-10 Juanma Barranquero <lekktu@gmail.com>
660
661 * font.c (Ffont_spec): Move usage to end of docstring.
662
174f1c74
JR
6632008-12-10 Jason Rumney <jasonr@gnu.org>
664
665 * w32font.c (Qcham): New symbol.
666 (font_supported_scripts): Add cham, and comments for other new
667 scripts in bitfield from OpenType spec.
9d32f818
JR
668 (add_font_entity_to_list): Limit unicode-sip fonts to those that
669 contain characters beyond the bmp.
174f1c74 670
7b649478
KH
6712008-12-10 Kenichi Handa <handa@m17n.org>
672
673 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 674 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
675 Qunicode_sip.
676
2133e2d1
JB
6772008-12-10 Juanma Barranquero <lekktu@gmail.com>
678
679 * coding.c (QCdefault_char): Rename from QCdefalut_char.
680 (Fcoding_system_put): Use QCdefault_char.
681 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
682
9af886ee
CY
6832008-12-09 Chong Yidong <cyd@stupidchicken.com>
684
74d819eb
CY
685 * xftfont.c (syms_of_xftfont): Fix typo.
686
4ccfa1c0 687 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 688
7c19d3ae
DN
6892008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
690
691 * emacs.c (main): Close daemon_pipe on exec.
692
567826bb
CY
6932008-12-08 Chong Yidong <cyd@stupidchicken.com>
694
695 * termchar.h (struct tty): New members termcap_term_buffer and
696 termcap_strings_buffer.
697
698 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 699 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
700 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
701 All callers changed.
702 (init_tty): Store termcap data and string buffers in new struct
703 tty members termcap_term_buffer and termcap_strings_buffer.
704 (delete_tty): Free them.
4ccfa1c0 705 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 706
aa96c42b
SZ
7072008-12-07 Seiji Zenitani <zenitani@mac.com>
708
709 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 710 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 711
b7e1d896
CY
7122008-12-06 Chong Yidong <cyd@stupidchicken.com>
713
714 * coding.c (make_conversion_work_buffer): Disable buffer
715 modification hooks in the work buffer.
716
b5ec91a5
EZ
7172008-12-05 Eli Zaretskii <eliz@gnu.org>
718
719 * process.c (procfs_system_process_attributes): If `nread' has a
720 negative value, assign zero to it.
721
a5d2a52b
CY
7222008-12-05 Chong Yidong <cyd@stupidchicken.com>
723
68c5540b 724 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 725
7bf1bb21
KH
7262008-12-05 Kenichi Handa <handa@m17n.org>
727
728 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
729 second character is a combining character.
730
2fdc7d00
EZ
7312008-12-05 Eli Zaretskii <eliz@gnu.org>
732
733 * process.c (procfs_system_process_attributes): Don't use cmd,
734 cmdsize, and q without initializing them first.
735
bf6bfba8
JR
7362008-12-04 Jason Rumney <jasonr@gnu.org>
737
738 * w32font.c (w32font_draw): Initialize orig_clip before getting
739 it, and delete it when finished.
740
a3b1a468
DN
7412008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
742
743 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
744 case when running as a daemon before detaching.
745
8b8be8eb
JB
7462008-12-03 Juanma Barranquero <lekktu@gmail.com>
747
805f2638 748 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 749
b1bde622
KH
7502008-12-03 Kenichi Handa <handa@m17n.org>
751
e500c47d
KH
752 * font.c (font_at): Set `multibyte' at first.
753
ca516334
KH
754 * coding.c (decode_coding_charset): Check type of an element of
755 vector VALIDS.
7bf1bb21 756 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 757
4ccfa1c0 758 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
759 (font_for_char): Likewise.
760
1e5ecd37
CY
7612008-12-03 Chong Yidong <cyd@stupidchicken.com>
762
d5b01609 763 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
764 (font_update_lface): Handle fonts with corrupted size specs,
765 i.e. non-int and non-float.
d5b01609 766
11e3a6e4 767 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 768 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 769 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 770
ab06788b
CY
771 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
772
1e5ecd37 773 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 774 underline_minimum_offset for underline position.
1e5ecd37 775
63c125ab
DN
7762008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
777
778 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
779
780 * character.c (c_string_width): Specify the type for LEN.
781
3a8406e1
KH
7822008-12-03 Kenichi Handa <handa@m17n.org>
783
4ccfa1c0 784 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 785 (decode_coding_utf_8): Likewise.
4ccfa1c0 786 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 787 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 788
651df7d9
CY
7892008-12-02 Chong Yidong <cyd@stupidchicken.com>
790
791 * keyboard.c (make_lispy_position): Only use PT if the selected
792 window is current.
793
1f625c6c
AS
7942008-12-02 Andreas Schwab <schwab@suse.de>
795
f7741ce9
AS
796 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
797
1f625c6c
AS
798 * doprnt.c (doprnt1): Fix size of charbuf.
799
92bc2678
CY
8002008-12-02 Chong Yidong <cyd@stupidchicken.com>
801
802 * keyboard.c (timer_check): Revert last change.
803
93b9e8cc
JB
8042008-12-02 Juanma Barranquero <lekktu@gmail.com>
805
806 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
807
fd7a37d5
JB
8082008-12-01 Juanma Barranquero <lekktu@gmail.com>
809
810 * makefile.w32-in: Update dependencies.
811 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
812
c115043b
AS
8132008-12-01 Andreas Schwab <schwab@suse.de>
814
815 * font.c (register_font_driver): Use xmalloc.
816 (font_put_frame_data): Likewise.
817
f5668d2a
CY
8182008-12-01 Chong Yidong <cyd@stupidchicken.com>
819
860d96be
CY
820 * xfaces.c (realize_x_face): Make abort condition clearer.
821
f5668d2a
CY
822 * gtkutil.c (update_frame_tool_bar): Initialize variable.
823
379c17e7
CY
8242008-11-30 Chong Yidong <cyd@stupidchicken.com>
825
826 * keyboard.c (timer_check): After a timer runs, ensure that the
827 selected window's buffer is current.
828
35f36d65
JB
8292008-11-30 Juanma Barranquero <lekktu@gmail.com>
830
f952c61c
JB
831 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
832 It was accidentally restored by the Unicode merge.
833
35f36d65
JB
834 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
835
b23077df
JB
8362008-11-29 Juanma Barranquero <lekktu@gmail.com>
837
838 * w32proc.c: Include "coding.h".
839 (Fw32_short_file_name): Encode filename passed to Windows API.
840 (Fw32_long_file_name): Encode filename passed to Windows API and
841 decode back the result. (Bug#1433)
842
b8ebe9dd
KH
8432008-11-29 Kenichi Handa <handa@m17n.org>
844
8cc53f96
KH
845 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
846 not before accessing it.
847
b8ebe9dd
KH
848 * charset.c (Fdefine_charset_internal): After calculating
849 min_char, max_char, and fastmap, copy the charset structure again.
850 (encode_char): Fix the previous change.
851
59bc82c0
SZ
8522008-11-28 Seiji Zenitani <zenitani@mac.com>
853
854 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
855
856 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
857
858 * nsterm.m (x_set_frame_alpha): New function.
859
32247e3d
EZ
8602008-11-27 Eli Zaretskii <eliz@gnu.org>
861
862 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
863
b003e5ff
JB
8642008-11-27 Juanma Barranquero <lekktu@gmail.com>
865
866 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
867 pointer to check_face_name.
868
708550f5
KH
8692008-11-27 Kenichi Handa <handa@m17n.org>
870
871 * category.h (SET_CATEGORY_SET): Call set_category_set.
872 (set_category_set): Extern it.
873
874 * category.c (hash_get_category_set): New function.
875 (Fmodify_category_entry): Adjusted for the change of
876 char_table_ref_and_range. Call hash_get_category_set to get a
877 category set to store in the table.
878
879 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
880 Funify_charset.
881
2ae37cf0 882 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
883 (DECODE_CHAR): Check if the decoder vector is ready.
884 (ENCODE_CHAR): Check if the encoder char-table is ready.
885 (maybe_unify_char): Extern it.
886
887 * charset.c (Vchar_unified_charset_table): Delete it.
888 (inhibit_load_charset_map): New variable.
889 (temp_charset_work): New variable.
890 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
891 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
892 New macros.
893 (load_charset_map): Meaning of control_flag changed. If
894 inhibit_load_charset_map is nonzero, setup a table in
895 temp_charset_work.
896 (load_charset): New argument control_flag.
897 (map_charset_for_dump): New function.
898 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
899 map_charset_for_dump.
900 (Fdefine_charset_internal): If the charset method is MAP, load
901 mapping tables by calling load_charset.
902 (Funify_charset): Don't load a mapping table but directly set
903 Vchar_unify_table.
904 (maybe_unify_char): New function.
905 (decode_char): Don't handle the deleted method MAP_DEFERRED.
906 Handle the case of inhibit_load_charset_map being nonzero.
907 (encode_char): Don't handle the deleted method MAP_DEFERRED.
908 Handle the case of inhibit_load_charset_map being nonzero.
909 (Fclear_charset_maps): Just free temp_charset_work.
910 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
911 variable.
912
913 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
914 change of char_table_ref_and_range.
915 (char_table_ref_and_range): Change the meaning of argument FROM
916 and TO. Now the caller must provide initial values for *FROM
917 and *TO.
918
919 * fontset.c (fontset_add): Adjusted for the change of
920 char_table_ref_and_range.
921 (fontset_get_font_group): Likewise.
922 (Ffontset_info): Likewise.
923
924 * keymap.c (describe_vector): Adjusted for the change of
925 char_table_ref_and_range. For char-table, put boundary between
926 non-ASCII and 8-bit characters.
927
928 * print.c (print_object): For bool-vector, delete unnecessary
929 check of ASCII_BYTE_P.
930
9196133b
JR
9312008-11-26 Jason Rumney <jasonr@gnu.org>
932
933 * w32font.c (w32font_open_internal): Don't include external
9acef61c 934 leading in font height. (Bug#879)
9196133b 935
9f688acf
GM
9362008-11-26 Glenn Morris <rgm@gnu.org>
937
938 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
939 redefinition with ifdef. (Bug#1383)
940
90d19aff
AR
9412008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
942
943 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
944
4ccfa1c0 9452008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
946
947 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
948 New EmacsView methods.
949 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
950 Fixes bug #1048,1357,1414.
951
9522008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
953
954 Fix bug #1362.
955 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
956 is not an indexed color.
957 * nsterm.m (free_indexed_color): Add argument checking.
958 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
959
e7d5ecb3
CY
9602008-11-24 Chong Yidong <cyd@stupidchicken.com>
961
962 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
963 Document confirm-after-completion value for
964 minibuffer-completion-confirm.
965
c285743c
JR
9662008-11-24 Jason Rumney <jasonr@gnu.org>
967
968 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
969 warning.
970
b0857706
JR
9712008-11-23 Jason Rumney <jasonr@gnu.org>
972
973 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
974 restored before returning.
975
976 * w32font.c (check_face_name): New function.
977 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 978 fonts. (Bug#642)
b0857706 979
ee50ff07
MR
9802008-11-22 Martin Rudalics <rudalics@gmx.at>
981
982 * buffer.c (Fswitch_to_buffer): Reword and mention new option
983 confirm-nonexistent-file-or-buffer in doc-string.
984
b8ff72fa
SM
9852008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
986
987 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
988 Fix copy/paste typo. Add checks.
989
cee53ed4
KH
9902008-11-21 Kenichi Handa <handa@m17n.org>
991
992 * coding.c (detect_coding_iso_2022): Reject invalid composition
993 sequence.
994 (DECODE_COMPOSITION_START): If the current source is the last
995 block, and the current composition doesn't end, regard this
996 sequence as invalid.
997 (decode_coding_iso_2022): Handle invalid composition sequence.
998
f6ef1e65
MR
9992008-11-20 Martin Rudalics <rudalics@gmx.at>
1000
1001 * window.c (coordinates_in_window): Don't return
1002 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1003 line when the window is not the rightmost one. (Bug#1372)
1004
e08b1705
MR
10052008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1006
1007 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1008
ad98e89f
EZ
10092008-11-15 Eli Zaretskii <eliz@gnu.org>
1010
1011 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1012 and bright_bg if noninteractive is non-zero.
1013
fb098a4b
CY
10142008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1015
1016 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1017 x_draw_glyph_string_background.
1018
1019 * w32term.c (x_draw_glyph_string): Likewise.
1020
ce952b6e
CY
10212008-11-15 Chong Yidong <cyd@stupidchicken.com>
1022
1023 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1024 the next glyph string once past the overhang width.
1025
1026 * nsterm.m (ns_draw_glyph_string): Likewise.
1027
1028 * w32term.c (x_draw_glyph_string): Likewise.
1029
26ea7079
CY
10302008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1031
1032 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1033 double file close.
1034
1c33c906
MR
10352008-11-14 Martin Rudalics <rudalics@gmx.at>
1036
1037 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1038 dedicated status of window before attempting to display another
1039 buffer in it.
1040
8fc29035
JB
10412008-11-14 Juanma Barranquero <lekktu@gmail.com>
1042
1043 * msdos.c (Fmsdos_long_file_names):
1044 (syms_of_msdos) <dos-unsupported-char-glyph>:
1045 * dosfns.c (Fint86): Fix typos in docstrings.
1046
55fb4286
EZ
10472008-11-14 Eli Zaretskii <eliz@gnu.org>
1048
1049 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1050
3fda0315
KY
10512008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1052
1053 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1054
7e849c17
CY
10552008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1056
1057 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1058
1059 * frame.h: Negative alpha means "don't touch".
1060
1061 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1062
1063 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1064
b9fd67bd
DN
10652008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1066
1067 * hftctl.c:
1068 * chpdef.h:
1069 * acldef.h: Remove files used only for systems no longer supported.
1070
1071 * Makefile.in: Fix .o alphabetical ordering.
1072 (hftctl.o): Remove dependency, file removed.
1073 (keymap.o, print.o): Depend on charset.h.
1074
d5998e03
KH
10752008-11-10 Kenichi Handa <handa@m17n.org>
1076
2ae37cf0 1077 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1078
be70e183
CY
10792008-11-08 Chong Yidong <cyd@stupidchicken.com>
1080
1081 * dired.c (file_name_completion): If completion_ignore_case is
1082 enabled, ignore case when checking completion-regexp-list.
1083
7cf94eac
EZ
10842008-11-08 Eli Zaretskii <eliz@gnu.org>
1085
1086 * vm-limit.c (get_lim_data): Fix last change.
1087
ee107a89
KH
10882008-11-08 Kenichi Handa <handa@m17n.org>
1089
1090 * character.c (Fget_byte): New function.
1091 (syms_of_character): Defsubr Fget_byte.
1092
5fd15622
CY
10932008-11-07 Chong Yidong <cyd@stupidchicken.com>
1094
1095 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1096 cursor position is valid after scrolling.
1097
13d62fad
JB
10982008-11-06 Juanma Barranquero <lekktu@gmail.com>
1099
1100 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1101
a1dd2936
GM
11022008-11-06 Glenn Morris <rgm@gnu.org>
1103
1104 * xterm.c (handle_one_xevent): Don't let popup menus cause
1105 mouse-autoselect-window related window switching. (Bug#1261)
1106
860cd236
CY
11072008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1108
1109 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1110
653a3150
AS
11112008-11-04 Andreas Schwab <schwab@suse.de>
1112
1113 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1114
870f5cac
CY
11152008-11-03 Chong Yidong <cyd@stupidchicken.com>
1116
1117 * xfns.c (Fx_wm_set_size_hint): New function.
1118
1e02f3cb
MR
11192008-11-03 Martin Rudalics <rudalics@gmx.at>
1120
1121 * textprop.c (Fprevious_single_char_property_change): Return 0
1122 when there's no change in a string. (Bug#1301)
1123
e630dfc6
MR
11242008-11-02 Martin Rudalics <rudalics@gmx.at>
1125
1126 * frame.c (do_switch_frame): New argument NORECORD passed to
1127 Fselect_window.
1128 (Fselect_frame): New argument NORECORD passed to
1129 do_switch_frame.
1130 (Fset_frame_selected_window): New argument NORECORD passed to
1131 Fselect_frame.
1132 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1133 in call of do_switch_frame.
1134 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1135 Handle NORECORD argument in call of Fselect_frame.
1136 * lisp.h (do_switch_frame, Fselect_frame)
1137 (Fset_frame_selected_window): Adjust declarations.
1138 * window.c (select_frame_norecord): New function.
1139 (run_window_configuration_change_hook): Use it and call
1140 Fselect_frame with NORECORD set.
1141 (Fselect_window): Pass NORECORD to Fselect_frame.
1142 (Fset_window_configuration): Handle NORECORD argument in call of
1143 do_switch_frame.
1144 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1145 Fset_frame_selected_window.
1146 * keyboard.c (command_loop_1): Handle NORECORD in call of
1147 Fselect_frame (currently ifdefd).
1148
9020b223
GM
11492008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1150
1151 * emacs.c (USAGE2): Untabify.
1152
793ffee8
SM
11532008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1154
1155 * composite.c (fill_gstring_header): Fix copy/paste typo.
1156
ab6d1131
MR
11572008-10-31 Martin Rudalics <rudalics@gmx.at>
1158
1159 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1160 (Fother_window): Rename argument and rewrite doc-string.
1161 (select_window_norecord): Fix return value. (Bug#1276)
1162
601a9cf1
JB
11632008-10-30 Juanma Barranquero <lekktu@gmail.com>
1164
1165 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1166 new frames overriding foreground for tooltips. Based on similar patch
1167 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1168
813b0652
CY
11692008-10-29 Chong Yidong <cyd@stupidchicken.com>
1170
1171 * emacs.c (Fdaemon_initialized): Initialize nfd.
1172
4414f58f
MR
11732008-10-29 Martin Rudalics <rudalics@gmx.at>
1174
1175 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1176 (Fwindow_text_height): Clarify doc-strings.
1177 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1178 doc-string of window-scroll-functions.
1179
ecdcaa09
RS
11802008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1181
1182 * category.c (syms_of_category): Fix typo in docstring.
1183
23fe745a
JB
11842008-10-28 Juanma Barranquero <lekktu@gmail.com>
1185
1186 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1187 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1188 Fix typos in docstrings.
1189
ff808935
DN
11902008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1191
1192 * emacs.c (daemon_pipe): Make non-static.
1193 (IS_DAEMON): Move definition ...
1194 * lisp.h (IS_DAEMON): ... here.
1195 (daemon_pipe): Declare.
1196 (is_daemon): Remove.
1197 * dispnew.c (init_display): Use IS_DAEMON.
1198
fc012771
SM
11992008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1200
1201 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1202 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1203
1204 * emacs.c (is_daemon): Remove.
1205 (main): Don't set is_daemon.
1206 (IS_DAEMON): New macro.
1207 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1208 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1209 parent exits.
1210 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1211
d8bdbe6f
CY
12122008-10-27 Chong Yidong <cyd@stupidchicken.com>
1213
d1a072bf
CY
1214 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1215 over-sized glyph, draw it with the default glyph width.
1216
e2e325aa
CY
1217 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1218 glyph, draw it with the default glyph width.
1219
1220 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1221 glyph, draw it with the default glyph width.
1222
d8bdbe6f
CY
1223 * xdisp.c (try_scrolling): When computing the distance from the
1224 scroll margin to PT, try moving some distance past the window
1225 bottom before giving up.
1226
7bfac547
MR
12272008-10-27 Martin Rudalics <rudalics@gmx.at>
1228
1229 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1230 (Fset_window_buffer): Explain in doc-string that a window can be
1231 "strongly" dedicated to its buffer.
1232
4ff029f6
DN
12332008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1234
1235 * emacs.c (daemon_name): New variable.
1236 (main): Deal with --daemon=SERVER_NAME.
1237 (Fdaemonp): Return a name if one was passed to --daemon.
1238
5790ef40
DN
12392008-10-26 Romain Francoise <romain@orebokech.com>
1240
f9bd0df9 1241 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1242 (main): Create a pipe before forking, make the parent exit only after
1243 the child has closed its end of the pipe. Move closing the
1244 descriptors ...
1245 (Fdaemon_initialized): ... here. New function.
1246
f5385255
SM
12472008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1248
4d632321
SM
1249 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1250 the previous unoptimized table.
1251
f5385255
SM
1252 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1253 the distinction between non-nil and non-t value of `dedicated'.
1254
6c56a0f3
CY
12552008-10-25 Chong Yidong <cyd@stupidchicken.com>
1256
1257 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1258 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1259
fec89261
MR
12602008-10-25 Martin Rudalics <rudalics@gmx.at>
1261
1262 * window.c (Fget_buffer_window, Fdelete_windows_on)
1263 (Freplace_buffer_in_windows): Make buffer argument optional and
1264 rename to buffer_or_name.
1265
34fcddd0
CY
12662008-10-24 Chong Yidong <cyd@stupidchicken.com>
1267
f5385255
SM
1268 * xdisp.c (handle_single_display_spec, handle_display_prop):
1269 Undo 2005-05-16 change.
34fcddd0
CY
1270 (handle_stop): Pop iterator if it's loaded with an empty string.
1271 (get_overlay_strings_1): Don't save iterator if it's loaded with
1272 an empty string (bug#1201).
1273
064766f2
KH
12742008-10-24 Kenichi Handa <handa@m17n.org>
1275
1276 * ftfont.c (ftfont_otf_features): Fix previous change.
1277 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1278 calling ftfont_otf_features.
1279
f9bd0df9 12802008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1281
1282 * font.c (font_match_p): Fix for the case that a vector of
1283 characters is in script-representative-chars.
1284
1dae9197
MA
12852008-10-24 Michael Albinus <michael.albinus@gmx.de>
1286
1287 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1288 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1289 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1290 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1291 macro. (Bug#1186).
1292
f9bd0df9 12932008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1294
1295 * s/sol2-10.h: New file.
1296
878a4584
JB
12972008-10-23 Juanma Barranquero <lekktu@gmail.com>
1298
1299 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1300 poor beast has survived 9+ years and the jump from xterm.c!).
1301
cd265ca6
MR
13022008-10-23 Martin Rudalics <rudalics@gmx.at>
1303
1304 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1305 Reword doc-string.
f5385255 1306 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1307
472a4dc9
JB
13082008-10-23 Juanma Barranquero <lekktu@gmail.com>
1309
1310 * character.c (syms_of_character) <script-representative-chars>:
1311 <unicode-category-table>: Doc fixes.
1312
159bd5a2
NF
13132008-10-23 Noah Friedman <friedman@splode.com>
1314
1315 * coding.c (make_conversion_work_buffer): Check that
1316 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1317 Fget_buffer_create.
1318
49f9c344
KH
13192008-10-23 Kenichi Handa <handa@m17n.org>
1320
1321 * font.c (font_add_log): Check the values of extra properties.
1322
12bb3111
MR
13232008-10-22 Martin Rudalics <rudalics@gmx.at>
1324
1325 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1326 Reword doc-string.
1327 (Fset_window_parameter): Use NILP.
1328 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1329 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1330
bbeb4e99
JB
13312008-10-22 Juanma Barranquero <lekktu@gmail.com>
1332
1333 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1334
13352008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1336
1337 * nsfns.m (ns_appkit_version): New function.
1338 (x-server-version): Use it.
1339 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1340 (x-server-vendor): Don't check_ns().
1341
1342 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1343
a9b555d3
JB
13442008-10-22 Juanma Barranquero <lekktu@gmail.com>
1345
1346 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1347 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1348
4626499f
KH
13492008-10-22 Kenichi Handa <handa@m17n.org>
1350
e3681952
KH
1351 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1352 scripts.
1353
4626499f
KH
1354 * category.c (word_boundary_p): Check scripts instead of charset.
1355 Handle nil value in word-separating-categories and
1356 word-combining-categories.
1357 (syms_of_category): Fix docstrings of word-separating-categories
1358 and word-combining-categories.
1359
1560f91a
EZ
13602008-10-21 Eli Zaretskii <eliz@gnu.org>
1361
1362 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1363 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1364
f4668441
MR
13652008-10-21 Martin Rudalics <rudalics@gmx.at>
1366
1367 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1368 Rename arg "buffer" to "buffer_or_name".
1369 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1370 it optional.
1371 (no_switch_window): Remove since the return value is not used.
a9b555d3 1372 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1373 Consider window as dedicated when Fwindow_dedicated_p returns a
1374 non-nil value.
1375 * lisp.h: Remove prototype for no_switch_window.
1376
fd75ddb2
JD
13772008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1378
1379 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1380 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1381
07295713
KH
13822008-10-21 Kenichi Handa <handa@m17n.org>
1383
1384 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1385 check Vlatin_extra_code_table.
1386
712adc82
EZ
13872008-10-20 Eli Zaretskii <eliz@gnu.org>
1388
1389 * fileio.c (Fset_file_modes): Doc fix.
1390
f549eb0b
MA
13912008-10-19 Michael Albinus <michael.albinus@gmx.de>
1392
1393 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1394 in arrays.
1395
aac0c6e3
MR
13962008-10-19 Martin Rudalics <rudalics@gmx.at>
1397
1398 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1399 Mention kill-buffer in doc-string.
1400 (Fset_window_buffer): Reinsert tem check removed in last commit.
1401 (Fenlarge_window, Fshrink_window): Have argument names and
1402 doc-string follow Elisp manual more closely.
1403
14042008-10-18 Eli Zaretskii <eliz@gnu.org>
1405
1406 * fileio.c (Fset_file_modes): Doc fix.
1407
14082008-10-18 Martin Rudalics <rudalics@gmx.at>
1409
1410 * window.c (Fwindow_width, Fset_window_start)
1411 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1412 (Fdelete_windows_on, Freplace_buffer_in_windows):
1413 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1414 (Fwindow_dedicated_p): Make window argument optional.
1415 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1416 (Fset_window_buffer): Respect any non-nil dedicated value for
1417 window. Rename "buffer" argument to "buffer_or_name".
1418
14192008-10-18 Ulrich Mueller <ulm@gentoo.org>
1420
1421 * m/sh3.h: New file, machine description for SuperH.
1422
14232008-10-17 Martin Rudalics <rudalics@gmx.at>
1424
1425 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1426
14272008-10-17 Kenichi Handa <handa@m17n.org>
1428
1429 * ftfont.c (ftfont_otf_features): Fix indexing
1430 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1431
14322008-10-16 Magnus Henoch <mange@freemail.hu>
1433
1434 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1435 (Fdbus_call_method_asynchronously): Ditto.
1436 This change makes C-h f display the argument list.
1437
14382008-10-16 Chong Yidong <cyd@stupidchicken.com>
1439
1440 * fileio.c (Fexpand_file_name): Doc fix.
1441
1442 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1443 of :foreground and :background equivalent to unspecified (20.x
1444 compatibility).
1445
14462008-10-15 Eli Zaretskii <eliz@gnu.org>
1447
1448 * buffer.c (syms_of_buffer): Doc fix.
1449
14502008-10-14 Kenichi Handa <handa@m17n.org>
1451
1452 * font.c (font_clear_prop): When clearing font width, clear the
1453 average width field too.
1454
14552008-10-12 Andreas Schwab <schwab@suse.de>
1456
1457 * ftfont.c (ftfont_shape_by_flt): Make static.
1458 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1459
1460 * font.c: Don't include <m17n-flt.h>.
1461
14622008-10-10 Eli Zaretskii <eliz@gnu.org>
1463
1464 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1465
14662008-10-09 Eli Zaretskii <eliz@gnu.org>
1467
1468 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1469 away code.
1470
14712008-10-09 Chong Yidong <cyd@stupidchicken.com>
1472
1473 * dispnew.c (update_text_area): Avoid looping due to large glyph
1474 overhangs (bug#1070).
1475
14762008-10-09 Kenichi Handa <handa@m17n.org>
1477
1478 * fontset.c (face_for_char): If face->fontset is negative, just
1479 return ascii_face.
1480
f5385255
SM
1481 * font.c (font_delete_unmatched): Fix previous change.
1482 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1483
14842008-10-09 Martin Rudalics <rudalics@gmx.at>
1485
1486 * frame.c (Fraise_frame): On text-only terminals select frame in
1487 order to make it visible. (Bug#1061)
1488
14892008-10-08 Chong Yidong <cyd@stupidchicken.com>
1490
1491 * fontset.c (fontset_find_font): Check frame validity.
1492
14932008-10-07 Chong Yidong <cyd@stupidchicken.com>
1494
a9b555d3 1495 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1496 (xg_display_close): Allow Emacs to close all displays (bug#985).
1497
14982008-10-06 Andreas Schwab <schwab@suse.de>
1499
f5385255 1500 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1501
15022008-10-06 Chong Yidong <cyd@stupidchicken.com>
1503
f5385255 1504 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1505
a9b555d3 1506 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1507
1508 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1509 during initialization.
1510
15112008-10-04 Eli Zaretskii <eliz@gnu.org>
1512
1513 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1514 whole thing on MSDOS frames as well as on a TTY.
1515
1516 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1517 well as for TTY.
1518 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1519 well as on a TTY.
1520
1521 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1522 as well as for TTY.
1523
1524 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1525
1526 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1527 MSDOS frames as well.
1528
15292008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1530
1531 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1532 correct arguments.
1533 * menu.c (find_and_return_menu_selection) Add cast.
1534
15352008-10-03 Glenn Morris <rgm@gnu.org>
1536
1537 * emacs.c (USAGE1): Add --daemon.
1538
15392008-10-02 Eli Zaretskii <eliz@gnu.org>
1540
1541 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1542 100, so it's in percents as advertised.
1543
15442008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1545
1546 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1547 (ns_output.current_cursor, ns_output.desired_cursor)
1548 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1549 (FRAME_NEW_CURSOR_COLOR): Remove.
1550
1551 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1552 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1553 enumeration (HOLLOW_BOX_CURSOR, etc.).
1554
1555 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1556 (draw_window_cursor): Simplify code.
f5385255
SM
1557 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1558 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1559 updates manually.
a9b555d3
JB
1560 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1561 Use core Emacs cursor types.
aac0c6e3 1562
b8ff72fa 1563 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1564
15652008-10-02 Martin Rudalics <rudalics@gmx.at>
1566
1567 * process.c (Faccept_process_output): Fix doc-string.
1568
15692008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1570
1571 * gmalloc.c (__sbrk): Also define for uClibc.
1572
1573 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1574 for uClibc.
1575
15762008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1577
1578 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1579 styles.
1580 (nsfont_open): Reenable the cache.
1581
15822008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1583
1584 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1585 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1586
15872008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1588
1589 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1590 a suspended terminal.
1591
15922008-09-30 Michael Albinus <michael.albinus@gmx.de>
1593
1594 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1595
15962008-09-30 Eli Zaretskii <eliz@gnu.org>
1597
1598 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1599
16002008-09-30 Chong Yidong <cyd@stupidchicken.com>
1601
1602 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1603 in a continued line coincides with a line beginning.
1604
16052008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1606
1607 * nsfont.m (nsfont_trait_distance): Fix bug.
1608 (nsfont_list): Return a list rather than a vector (syncs with Handa
1609 changes of 2008-05-14).
1610 (nsfont_open): Improve logging.
1611
16122008-09-29 Andreas Schwab <schwab@suse.de>
1613
1614 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1615
16162008-09-28 Martin Rudalics <rudalics@gmx.at>
1617
1618 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1619 name as char-resolve-modifiers.
1620 Reported by: Markus Triska <markus.triska@gmx.at>
1621
16222008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1623
1624 * dispnew.c (init_display): Return earlier when running as a daemon.
1625
16262008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1627
1628 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1629
16302008-09-27 Eli Zaretskii <eliz@gnu.org>
1631
1632 * composite.c (Fcomposition_get_gstring)
1633 (Fcompose_region_internal, Fcompose_string_internal)
1634 (Ffind_composition_internal): Doc fix.
1635 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1636 (syms_of_composite) <auto-composition-function>: Doc fix.
1637 (syms_of_composite) <composition-function-table>: Doc fix.
1638
16392008-09-25 Chong Yidong <cyd@stupidchicken.com>
1640
1641 * search.c (wordify): New argument for lax word-ends.
1642 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1643
16442008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1645
1646 * lisp.h (is_daemon): Declare.
1647 * dispnew.c (init_display): Do not try to initialize the terminal
1648 when running as a daemon.
1649
16502008-09-22 Chong Yidong <cyd@stupidchicken.com>
1651
1652 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1653 x_display_pixel_height.
1654
16552008-09-22 Martin Rudalics <rudalics@gmx.at>
1656
1657 * undo.c (record_point): Don't call Fundo_boundary for first
1658 change. (Bug#731)
1659
16602008-09-22 Juanma Barranquero <lekktu@gmail.com>
1661
1662 * emacs.c (Fdaemonp): Doc fix.
1663
16642008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1665
1666 * emacs.c (main): Place #ifdef in the proper place.
1667
16682008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1669
1670 * emacs.c (standard_args): Add --daemon.
1671 (main): Disconnect from the terminal when --daemon is passed.
1672 (is_daemon): New variable.
1673 (Fdaemonp): New function.
1674 (syms_of_emacs): Defsubr it.
1675
16762008-09-20 Chong Yidong <cyd@stupidchicken.com>
1677
1678 * xdisp.c (get_next_display_element): Handle string display
1679 correctly when checking for the end of a box run.
1680
16812008-09-20 Glenn Morris <rgm@gnu.org>
1682
1683 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1684 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1685 (Frename_file): Avoid copying to trash if a rename involves
1686 a delete. (Bug#964).
1687
16882008-09-20 Eli Zaretskii <eliz@gnu.org>
1689
1690 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1691 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1692 frames as well as termcap frames.
1693 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1694 get_named_tty.
1695
16962008-09-19 Eli Zaretskii <eliz@gnu.org>
1697
1698 * process.c (procfs_system_process_attributes): Fix cmdline in
1699 case /proc/PID/cmdline is empty.
1700
1701 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1702 x_display_pixel_height.
1703
17042008-09-19 Juanma Barranquero <lekktu@gmail.com>
1705
1706 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1707
1708 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1709 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1710
17112008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1712
1713 * dispextern.h (struct it): Move line_wrap away from the middle of
1714 bitfields. Move voffset in struct iterator_stack_entry after the
1715 bitfields. Move tab_width near after another short.
1716
17172008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1718
1719 * frame.h (struct frame): Move alpha from the middle of bitfields.
1720
1721 * window.h (struct window): Move frozen_window_start_p after the
1722 rest of the bitfields to reduce padding.
1723
17242008-09-18 Chong Yidong <cyd@stupidchicken.com>
1725
1726 * xterm.h (x_display_info): Remove `height' and `width' members.
1727
1728 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1729
1730 * w32term.h (w32_display_info): Remove `height', `width',
1731 `height_in', and `width_in' members.
1732
b8ff72fa
SM
1733 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1734 New functions.
aac0c6e3
MR
1735 (x_calc_absolute_position): Use them.
1736 (x_term_init): Omit removed `height' and `width' members.
1737
b8ff72fa
SM
1738 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1739 New functions.
aac0c6e3
MR
1740 (w32_read_socket, x_calc_absolute_position): Use them.
1741 (w32_initialize_display_info, w32_term_init): Omit removed members
1742 of w32_display_info.
1743
b8ff72fa
SM
1744 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1745 New functions.
1746 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1747
b8ff72fa
SM
1748 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1749 New functions.
aac0c6e3
MR
1750 (x_calc_absolute_position): Use them.
1751 (x_term_init): Omit removed `height' and `width' members.
1752
1753 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1754 (compute_tip_xy):
1755 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1756 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1757 x_display_pixel_width.
1758
17592008-09-18 Kenichi Handa <handa@m17n.org>
1760
1761 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1762 (composition_compute_stop_pos): Fix handling of static composition.
1763 (Fcomposition_get_gstring): Check FROM and TO at first.
1764
17652008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1766
1767 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1768 mixup (YAILOM).
1769
17702008-09-17 Chong Yidong <cyd@stupidchicken.com>
1771
1772 * indent.c (Fvertical_motion): Use position reported by iterator
1773 instead of PT for determining screen motion (bug#943).
1774
17752008-09-17 Romain Francoise <romain@orebokech.com>
1776
1777 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1778
17792008-09-17 Kenichi Handa <handa@m17n.org>
1780
1781 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1782
1783 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1784 if necessary.
1785
17862008-09-16 Kenichi Handa <handa@m17n.org>
1787
1788 * coding.c (make_conversion_work_buffer): Avoid calling
1789 Fget_buffer_create if it is not necessary.
1790
17912008-09-15 Martin Rudalics <rudalics@gmx.at>
1792
1793 * window.c (Fselect_window): Don't update window_select_count and
1794 use_time when norecord is not nil.
1795
17962008-09-14 Kenichi Handa <handa@m17n.org>
1797
1798 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1799 specpdl_ptr.
1800
18012008-09-12 Kenichi Handa <handa@m17n.org>
1802
1803 * indent.c (scan_for_column): Don't handle automatic composition
1804 if the current buffer is not associated with a window.
1805
1806 * composite.c (composition_reseat_it): If the current buffer is
1807 not associated with a window, ignore the automatic composition.
1808 (find_automatic_composition): Likewise.
1809
18102008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1811
1812 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1813 (Fgpm_mouse_stop): Use it.
1814 * termhooks.h (close_gpm): Declare.
1815 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1816 connection if Gpm_GetEvent fails.
1817
1818 * window.c (set_window_buffer): Always preserve current-buffer.
1819
18202008-09-12 Glenn Morris <rgm@gnu.org>
1821
1822 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1823
18242008-09-11 Glenn Morris <rgm@gnu.org>
1825
1826 * charset.c (charset-map-path): Doc fix.
1827
18282008-09-10 Kenichi Handa <handa@m17n.org>
1829
1830 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1831
1832 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1833 compose a grapheme cluster with the preceding base glyph.
1834
1835 * composite.c (composition_compute_stop_pos): Fix previous change.
1836 Reset cmp_it->id to -1 at first.
1837
18382008-09-10 Glenn Morris <rgm@gnu.org>
1839
1840 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1841
18422008-09-09 Chong Yidong <cyd@stupidchicken.com>
1843
1844 * keyboard.c (read_key_sequence): Reapply translation maps when
1845 switching keyboards.
1846
18472008-09-09 Kenichi Handa <handa@m17n.org>
1848
1849 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1850 characters.
1851
1852 * composite.c (FORWARD_CHAR): Fix calculation
1853 of (POSITION).pos_byte.
1854 (composition_compute_stop_pos): Limit the search of composition to
1855 at most 500 characters ahead. If we reach the limit or find a
1856 newline, set cmp_it->ch to -2 and return 0.
1857 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1858
18592008-09-08 Kenichi Handa <handa@m17n.org>
1860
1861 * indent.c (Fvertical_motion): Be sure to set
1862 it_overshoot_expected if it.cmp_it.id is non-negative.
1863
18642008-09-07 Andreas Schwab <schwab@suse.de>
1865
1866 * callproc.c (Fcall_process): Don't hold references to string data
1867 across garbage collection. Move initialisation of new_argv down
1868 to avoid compiler bug.
1869
18702008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1871
1872 * process.c (Fsystem_process_attributes): Doc fix.
1873
18742008-09-07 Chong Yidong <cyd@stupidchicken.com>
1875
1876 * callproc.c (Fcall_process): Canonicalize current directory name.
1877
1878 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1879 iterator advances to the next line if the current line ends in a
1880 continued tab.
1881
18822008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1883
1884 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1885 member to point to cmp_from.
1886
1887 * xdisp.c: Doc fix for references to gidx data member.
1888
18892008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1890
1891 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1892
18932008-09-07 Kenichi Handa <handa@m17n.org>
1894
1895 * composite.c (FORWARD_CHAR): Check STOP after
1896 incrementing (POSITION).pos.
1897
18982008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1899
1900 * process.c (Fsystem_process_attributes): Doc fix.
1901
19022008-09-06 Chong Yidong <cyd@stupidchicken.com>
1903
1904 * keyboard.c (Ftop_level): Doc fix.
1905
19062008-09-06 Eli Zaretskii <eliz@gnu.org>
1907
1908 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1909 minibuffer, don't let lower part of menu invade the echo area.
1910
1911 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1912 "char *q" to access menu text and advance through it. Revert the
1913 change that displayed ">" instead of ASCII character 0x10.
1914
19152008-09-05 Eli Zaretskii <eliz@gnu.org>
1916
1917 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1918 toggle boxes and radio buttons on MS-DOS as well.
1919
19202008-09-05 Kenichi Handa <handa@m17n.org>
1921
1922 * composite.c (autocmp_chars): Check lookback count.
1923 (composition_compute_stop_pos): Set cmp_it->lookback.
1924 (composition_reseat_it): Check lookback count.
1925 (struct position_record): New struct.
1926 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1927 (find_automatic_composition): New function.
1928 (composition_adjust_point): Use find_automatic_composition.
1929
1930 * dispextern.h (struct composition_it): New member lookback.
1931
19322008-09-02 Chong Yidong <cyd@stupidchicken.com>
1933
1934 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1935 if moving by a single line.
1936
19372008-09-02 Andreas Schwab <schwab@suse.de>
1938
1939 * xterm.c (x_delete_display): Fix merge error.
1940
1941 * fileio.c (Fexpand_file_name): Remove unused variables.
1942
19432008-09-02 Eli Zaretskii <eliz@gnu.org>
1944
1945 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1946 storage on all platforms, not just on DOS_NT.
1947
19482008-09-02 Jason Rumney <jasonr@gnu.org>
1949
b8ff72fa
SM
1950 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1951 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1952
19532008-09-01 Chong Yidong <cyd@stupidchicken.com>
1954
1955 * xfaces.c (Finternal_set_alternative_font_family_alist)
1956 (Finternal_set_alternative_font_registry_alist): Properly copy
1957 entire alist structure.
1958
19592008-09-01 Kenichi Handa <handa@m17n.org>
1960
d66c0241 1961 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1962 representative chars of the script is a vector.
d66c0241
JB
1963 (ftfont_list): Handle the case where the representative chars of
1964 the script is a vector.
aac0c6e3
MR
1965
1966 * character.c (syms_of_character): Docstring of
1967 script-representative-chars fixed.
1968
19692008-08-31 Eli Zaretskii <eliz@gnu.org>
1970
1971 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1972 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1973 the menu. Allocate larger buffer for `text', to account for
1974 possible ^C characters.
1975
19762008-08-31 Martin Rudalics <rudalics@gmx.at>
1977
1978 * xdisp.c (prepare_menu_bars): Don't call
1979 Vwindow_size_change_functions with arg Qt.
1980
19812008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1982
1983 * font.h (font_range):
1984 * fileio.c (report_file_error):
1985 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1986
19872008-08-30 Glenn Morris <rgm@gnu.org>
1988
1989 * data.c (Fmake_variable_frame_local): Doc fix.
1990
1991 * frame.c (Fmodify_frame_parameters): Doc fix.
1992
19932008-08-30 Eli Zaretskii <eliz@gnu.org>
1994
1995 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1996 needed by GetTokenInformation.
1997 (w32_system_process_attributes): Check return values of all system
1998 APIs.
1999
2000 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2001 only when the state changes.
2002 (IT_update_begin, IT_update_end): Add termscript trace.
2003
2004 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2005 clipboard is unavailable. Set dst to NULL if it doesn't point to
2006 malloc'ed data.
2007 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2008 passing random values to xfree.
2009
2010 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2011 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2012
20132008-08-29 Jason Rumney <jasonr@gnu.org>
2014
2015 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2016
20172008-08-29 Eli Zaretskii <eliz@gnu.org>
2018
2019 * composite.c (fill_gstring_body): Avoid compiler warnings.
2020
2021 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2022 LGLYPH_SET_CODE to avoid compiler warnings.
2023
2ae37cf0 2024 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2025
2026 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2027
2028 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2029 LGLYPH_SET_CODE.
2030
20312008-08-29 Kenichi Handa <handa@m17n.org>
2032
2033 * fileio.c (report_file_error): Don't downcase the first character
2034 of errstring if it is still unibyte.
2035
20362008-08-29 Kenichi Handa <handa@m17n.org>
2037
2038 These changes are to re-implement the automatic composition so
2039 that it doesn't use text properties.
2040
2041 * Makefile.in (ftfont.o): Depend on composite.h.
2042 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2043
2044 * character.h (Vunicode_category_table): Extern it.
2045
2046 * character.c (Vunicode_category_table): New variable.
2047 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2048
2049 * chartab.c (optimize_sub_char_table): Perform more greedy
2050 optimization.
2051
b8ff72fa
SM
2052 * composite.h (enum composition_method):
2053 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2054 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2055 (Vcomposition_function_table): Extern it.
2056 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2057 (composition_gstring_put_cache, composition_gstring_from_id)
2058 (composition_gstring_p, composition_gstring_width)
2059 (composition_compute_stop_pos, composition_reseat_it)
2060 (composition_update_it, composition_adjust_point): Extern them.
2061 (Fcomposition_get_gstring): EXFUN it.
2062
d66c0241 2063 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2064 (Vcomposition_function_table)
2065 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2066 (gstring_hash_table, gstring_work, gstring_work_headers):
2067 New variables.
aac0c6e3
MR
2068 (gstring_lookup_cache, composition_gstring_put_cache)
2069 (composition_gstring_from_id, composition_gstring_p)
2070 (composition_gstring_width, fill_gstring_header)
2071 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2072 (composition_reseat_it, composition_update_it)
b8ff72fa 2073 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2074 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2075 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2076 Defsubr compostion_get_gstring.
2077
2078 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2079 cmp_id.
2080 (struct glyph_string): Delete the member gidx. New members
2081 cmp_id, cmp_from, and cmp_to.
2082 (enum it_method): Delete GET_FROM_COMPOSITION.
2083 (struct composition_it): New struct.
2084 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2085 Delete c, len, cmp_id, cmp_len in u.comp.
2086
2087 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2088 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2089 (enum lglyph_indices): Likewise.
b8ff72fa 2090 (font_range): Adjust extern.
aac0c6e3
MR
2091 (font_fill_lglyph_metrics): Extern it.
2092
2093 * font.c (QCf): New variable.
2094 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2095 (font_prepare_composition): Delete this function.
2096 (font_range): Type and arguments changed.
2097 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2098 (font_fill_lglyph_metrics): New function.
b8ff72fa 2099 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2100 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2101 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2102 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2103
2104 * fontset.h (font_for_char): Extern it.
2105
2106 * fontset.c (font_for_char): New function.
2107
2108 * ftfont.c: Include composite.h.
2109 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2110 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2111
2112 * indent.c: Include composite.h and dispextern.h.
2113 (check_composition): Delete this function.
2114 (scan_for_column): Handle composition by
2115 composition_compute_stop_pos, composition_reseat_it, and
2116 composition_update_it.
2117 (compute_motion): Likewise.
2118 (Fvertical_motion): Fix checking of composition.
2119
2120 * keyboard.c (adjust_point_for_property): Check composition by
2121 composition_adjust_point.
2122
b8ff72fa 2123 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2124 struct glyph_string.
2125
b8ff72fa
SM
2126 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2127 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2128 struct glyph.
2129 (produce_composite_glyph): Likewise.
2130
b8ff72fa
SM
2131 * w32term.c (x_draw_composite_glyph_string_foreground):
2132 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2133 (x_draw_glyph_string): Likewise.
2134
2135 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2136 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2137
2138 * xdisp.c: Include font.h.
2139 (it_props): Delete the entry for Qauto_composed.
2140 (init_iterator): Initialize it->cmp_it.id to -1.
2141 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2142 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2143 (handle_auto_composed_prop): Delete it.
2144 (handle_composition_prop): Handle only static composition.
2145 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2146 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2147 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2148 (pop_it): Likewise.
2149 (get_next_element): Delete next_element_from_composition.
2150 (CHAR_COMPOSED_P): New macro.
2151 (get_next_display_element): For automatic composition, get a face
2152 from the font in the glyph-string.
2153 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2154 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2155 (next_element_from_string): Check if the character at the current
2156 position is composed by CHAR_COMPOSED_P.
2157 (next_element_from_buffer): Likewise.
d66c0241
JB
2158 (next_element_from_composition): Adjust for the change of struct it.
2159 Update it->cmp_it.
b8ff72fa
SM
2160 (dump_glyph): Adjust for the change of struct glyph.
2161 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2162 it and struct glyph. Don't handle automatic composition here.
2163 (fill_gstring_glyph_string): New function.
2164 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2165 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2166 (BUILD_GSTRING_GLYPH_STRING): New macro.
2167 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2168 automatic composition.
b8ff72fa 2169 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2170 struct glyph.
b8ff72fa 2171 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2172
b8ff72fa 2173 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2174 the change of struct glyph_string.
2175 (x_draw_glyph_string): Likewise.
2176
21772008-08-29 Glenn Morris <rgm@gnu.org>
2178
2179 * buffer.c (word-wrap): Doc fix.
2180 * xdisp.c (truncate-partial-width-windows): Doc fix.
2181 Increase default to 50.
2182
21832008-08-29 Chong Yidong <cyd@stupidchicken.com>
2184
2185 * xdisp.c (update_tool_bar_unwind): New function.
2186 (update_tool_bar): Temporarily set selected frame before building
2187 tool-bar items.
2188
21892008-08-28 Michael Albinus <michael.albinus@gmx.de>
2190
2191 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2192 snprintf, respectively.
2193 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2194
21952008-08-28 Chong Yidong <cyd@stupidchicken.com>
2196
2197 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2198 LDFLAGS to GNUstep CC invocation.
2199
22002008-08-27 Chong Yidong <cyd@stupidchicken.com>
2201
2202 * indent.c (Fvertical_motion): Revert last change. Handle the
2203 general case where we are moving forward, and PT spans multiple
2204 screen lines.
2205
2206 * eval.c (find_handler_clause): Temporarily increase
2207 max-lisp-eval-depth while printing the backtrace buffer, to
2208 guarantee that help-mode code can run.
2209
22102008-08-27 Eli Zaretskii <eliz@gnu.org>
2211
2212 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2213 colors under -rv.
2214 (IT_set_frame_parameters): Don't swap foreground and background
2215 colors if `(reverse . t)' is present in the frame properties.
2216 (internal_terminal_init): Call init_frame_faces only for the
2217 initial frame.
2218
22192008-08-27 Andreas Schwab <schwab@suse.de>
2220
2221 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2222
22232008-08-27 Andreas Schwab <schwab@suse.de>
2224
2225 * search.c (search_buffer): Set char_base to zero only at the end.
2226
22272008-08-27 Kenichi Handa <handa@m17n.org>
2228
b8ff72fa 2229 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2230
22312008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2232
2233 * xterm.c (x_term_init): Temporarily hide the partially
2234 initialized terminal while calling vendor-specific-keysyms.
2235
22362008-08-26 Eli Zaretskii <eliz@gnu.org>
2237
2238 * msdos.c (internal_terminal_init): Most initializations done only
2239 once, especially initial_screen_colors[] and termscript open.
2240
22412008-08-26 Chong Yidong <cyd@stupidchicken.com>
2242
2243 * eval.c (Fcondition_case): Doc fix.
2244
2245 * widgetprv.h (EmacsFramePart): Change font member to the new font
2246 struct.
2247
2248 * widget.c: Include character.h and font.h for XSETFONT.
2249 (setup_frame_gcs): Compute X font id from font struct, just once.
2250
22512008-08-26 Eli Zaretskii <eliz@gnu.org>
2252
2253 * term.c (get_named_tty): Fix last change.
2254
22552008-08-26 Chong Yidong <cyd@stupidchicken.com>
2256
2257 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2258 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2259
22602008-08-25 Eli Zaretskii <eliz@gnu.org>
2261
2262 * frame.c (do_switch_frame): Mark previously displayed frame as
2263 obscured for FRAME_MSDOS_P frames as well.
2264
22652008-08-24 Eli Zaretskii <eliz@gnu.org>
2266
2267 * frame.c (make_terminal_frame): Initialize f->terminal,
2268 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2269 Set the top frame to newly created frame.
2270 (Fmake_terminal_frame): Reuse the_only_display_info.
2271
2272 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2273 estimating available memory.
2274
b97439ce 22752008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2276
2277 * nsterm.m (ns_draw_window_cursor): Don't call
2278 NSDisableScreenUpdates and NSEnableScreenUpdates on
2279 non-NS_IMPL_COCOA systems.
2280
22812008-08-23 Andreas Schwab <schwab@suse.de>
2282
2283 * process.c (procfs_system_process_attributes): Fix use of
2284 uninitialized variables.
2285
22862008-08-23 Eli Zaretskii <eliz@gnu.org>
2287
2288 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2289
2290 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2291 calling tty-set-up-initial-frame-faces.
2292
b8ff72fa
SM
2293 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2294 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2295
2296 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2297 addition to output_termcap.
2298
2299 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2300
2301 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2302 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2303 highlight.
2304
2305 * process.c [!subprocesses]: Define QCname.
2306 (syms_of_process): Intern and staticpro it.
2307
2308 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2309 Adjust for changes in encoding/decoding routines.
2310 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2311 encode_coding and decode_coding.
2312
b8ff72fa 2313 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2314
2315 * dosfns.c: Include frame.h before termhooks.h.
2316 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2317 variable termscript.
2318
2319 * s/msdos.h (USER_FULL_NAME): Define.
2320 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2321
2322 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2323 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2324 pw->pw_gecos.
2325
2326 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2327 SELECTED_FRAME as additional (1st) argument.
2328 (tty_read_avail_input): Handle output_msdos_raw in
2329 addition to output_termcap.
2330
2331 * msdos.c: Include frame.h before termhooks.h.
2332 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2333 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2334 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2335 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2336 (IT_set_terminal_modes, IT_reset_terminal_modes)
2337 (IT_set_frame_parameters): Use tty->termscript instead of a global
2338 variable termscript.
2339 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2340 global variable terminal_coding. Don't refer to
2341 Vnonascii_translation_table.
2342 (internal_terminal_init): Set Vwindow_system in current_kboard.
2343 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2344 Announce date and time of session start, if termscript is open.
2345 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2346 term.c:init_tty). Open termscript only of not already open.
2347 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2348 here instead of dos_ttraw. Don't initialize display if this is an
2349 initial tty. Don't set FRAME_FONT.
2350 (Vwindow_system_version): Bump to 23.
2351 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2352 is available, set up mouse_position_hook.
2353 (dos_ttraw, IT_set_terminal_modes): If called with initial
2354 terminal, do nothing.
2355 (IT_set_frame_parameters): Handle the Qtty_type frame
2356 parameter by calling internal_terminal_init.
2357 (dos_set_window_size, show_mouse_face)
2358 (clear_mouse_face, IT_note_mode_line_highlight)
2359 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2360 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2361 (initialize_msdos_display): New function.
2362 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2363 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2364 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2365 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2366 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2367 (request_sigio, unrequest_sigio): Don't define, now defined on
2368 sysdep.c.
2369 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2370
2371 * term.c [MSDOS]: Include msdos.h.
2372 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2373 conditional to DOS_NT. Allow only one call to this function in a
2374 session. Don't allocate a new struct tty_display_info; instead,
2375 reuse the_only_display_info. Call get_tty_size to get screen
2376 dimensions. Call init_baud_rate to set bad_rate.
2377 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2378 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2379 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2380 (get_tty_terminal, get_named_tty, Ftty_type)
2381 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2382 output_termcap.
b8ff72fa
SM
2383 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2384 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2385 only when subprocesses are supported.
aac0c6e3
MR
2386
2387 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2388 f->output_data.x.
2389 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2390 terminal devices.
2391
5582fbc7 2392 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2393 x_output.
2394 (FRAME_FONT): Use output_data.tty.
2395 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2396 (struct x_display_info): Rename from display_info. Update all users in
2397 msdos.c.
aac0c6e3 2398 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2399 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2400 (dos_ttraw): Update prototype.
2401
2402 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2403 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2404
24052008-08-23 Jason Rumney <jasonr@gnu.org>
2406
2407 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2408 (fn_TIFFSetDirectory): New library function used.
2409 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2410 (tiff_load): Use :index to select among multiple images. Set count
2411 property when multiple images exist.
2412 (gif_format): Use :index, not :image.
2413
24142008-08-23 Chong Yidong <cyd@stupidchicken.com>
2415
2416 * xdisp.c (try_scrolling): Check INT_MAX instead of
2417 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2418 to obtain INT_MAX.
2419
24202008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2421
2422 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2423
24242008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2425
2426 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2427 GNUstep library location.
2428
24292008-08-21 Chong Yidong <cyd@stupidchicken.com>
2430
2431 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2432 before using it.
2433
2434 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2435
24362008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2437
2438 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2439 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2440 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2441 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2442 (EmacsApp-cursor_blink_handler): Remove declaration.
2443 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2444 match 01 Feb 2008 changes in xterm.c.
2445 (ns_read_socket): Add cast to avoid warning.
2446 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2447 GNUstep.
2448
24492008-08-20 Chong Yidong <cyd@stupidchicken.com>
2450
2451 * xselect.c (x_get_foreign_selection): Return nil if desired
2452 selection could not be obtained, instead of signalling an error.
2453
24542008-08-20 David Reitter <david.reitter@gmail.com>
2455
2456 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2457 * nsterm.m: Remove ns-specific code for cursor blinking.
2458 (ns_draw_window_cursor): Clear cursor properly rather than
2459 redrawing the area. Respect width of bar cursors.
2460 These changes enable the use of generic blink-cursor-mode and
2461 generic cursor types in NS and support smooth cursor movements (do
2462 not blink off after command).
2463 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2464 Nextstep, too.
2465
24662008-08-19 Kenichi Handa <handa@m17n.org>
2467
2468 * font.c (Vfont_log_deferred): New variable.
2469 (font_add_log): Check Vfont_log_deferred.
2470 (font_deferred_log): New function.
2471
2472 * font.h (font_deferred_log): Extern it.
2473
2474 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2475 for sorting.
2476 (face_for_char): Use deferred log.
2477
24782008-08-18 Kenichi Handa <handa@m17n.org>
2479
2480 * fontset.c (face_for_char): Add font log.
2481
2482 * font.c (font_add_log): Add the font properties :script, :lang,
2483 and :otf in the log.
2484
24852008-08-17 Chong Yidong <cyd@stupidchicken.com>
2486
2487 * xdisp.c: Remove dead code.
2488 (handle_invisible_prop, next_overlay_string): Defer call to
2489 setup_for_ellipsis.
2490 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2491
24922008-08-15 Chong Yidong <cyd@stupidchicken.com>
2493
2494 * xfaces.c (lookup_derived_face): Properly handle possible zero
2495 return value of get_lface_attributes.
2496 (merge_faces): Don't tell lookup_derived_face to signal an error
2497 if face is not found.
2498
2499 * dired.c (Fdirectory_files): Doc fix.
2500
2501 * process.c (make_process): Initialize kill_without_query struct
2502 member.
2503
25042008-08-15 Eli Zaretskii <eliz@gnu.org>
2505
2506 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2507 Alternative calculation of totphys for Visual Studio 6.
2508
2509 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2510
2511 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2512 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2513 All users changed.
2514 (stat): Only root directory passed to GetDriveType. Allow RAM
2515 disk as well as local fixed disk when w32-get-true-file-attributes
2516 is set to `local'.
2517 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2518 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2519 (w32_cached_id, w32_add_to_cache): New functions.
2520 (get_name_and_id): Look account names in the cache before calling
2521 lookup_account_sid.
2522 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2523 New initialization flags.
2524 (globals_of_w32): Initialize them to zero.
2525 (w32_system_process_attributes): Use w32_cached_id and
2526 w32_add_to_cache.
2527
25282008-08-14 Lawrence Mitchell <wence@gmx.li>
2529
2530 * lread.c (Fread_char, Fread_char_exclusive): If no character
2531 event is read before timeout is reached, return nil, rather than
2532 converting to a number.
2533
25342008-08-14 Chong Yidong <cyd@stupidchicken.com>
2535
2536 * fns.c (use_dialog_box): Doc fix.
2537
2538 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2539 on OS X.
2540
25412008-08-13 Chong Yidong <cyd@stupidchicken.com>
2542
2543 * frame.c (Qns_parse_geometry): New var.
2544 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2545
25462008-08-11 Chong Yidong <cyd@stupidchicken.com>
2547
2548 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2549 space character in calculating tabs.
2550
25512008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2552
2553 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2554
25552008-08-10 Glenn Morris <rgm@gnu.org>
2556
2557 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2558 silence gcc "limited range of data type" warnings in some
2559 make_fixnum_or_float calls.
2560
25612008-08-09 Eli Zaretskii <eliz@gnu.org>
2562
2563 * w32.c (w32_system_process_attributes): If the process does not
2564 exist, return nil.
2565
2566 * w32.c: Include thelp32.h, psapi.h and coding.h.
2567 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2568 declarations.
2569 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2570 (Process32Next_Proc): New typedefs.
2571 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2572 (g_b_init_process32_next, g_b_init_open_thread_token)
2573 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2574 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2575 (g_b_init_get_process_working_set_size)
2576 (g_b_init_global_memory_status_ex): New static variables.
2577 (globals_of_w32): Initialize them.
2578 (create_toolhelp32_snapshot, process32_first, process32_next)
2579 (open_thread_token, impersonate_self, revert_to_self)
2580 (get_process_memory_info, get_process_working_set_size)
2581 (global_memory_status, global_memory_status_ex): New wrapper
2582 functions.
2583 (w32_list_system_processes, w32_system_process_attributes)
2584 (enable_privilege, restore_privilege, ltime, process_times):
2585 New functions.
2586 (convert_time_raw): New function.
2587 (convert_time): Remove conversion of FILETIME into time in 100
2588 nsec units, call convert_time_raw instead.
2589
2590 * process.h (w32_list_system_processes, w32_system_process_attributes):
2591 Add prototypes.
2592 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2593 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2594 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2595 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2596
2597 * process.c (Fsystem_process_attributes): Doc fix.
2598
25992008-08-08 Chong Yidong <cyd@stupidchicken.com>
2600
2601 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2602 a continued multi-char glyph; if so, advance to the actual glyph.
2603
26042008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2605
2606 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2607
2608 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2609 (.m.o): Use it.
2610 * config.in: Regenerate.
2611
26122008-08-07 Chong Yidong <cyd@stupidchicken.com>
2613
2614 * xdisp.c (redisplay_window): Revert last change.
2615 (try_window): Check bottom scroll margin too.
2616
26172008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2618
2619 * config.in: Regenerate.
2620
2621 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2622 -list-load-path-shadows'.
2623 (nsgui.h): Reduce number of things depending on it.
2624
26252008-08-06 Chong Yidong <cyd@stupidchicken.com>
2626
2627 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2628 instead of window-end which does the wrong thing at eob.
2629 (try_cursor_movement): Minor optimization.
2630 (redisplay_window): If scroll margin is defined, don't assume
2631 window doesn't need scrolling.
2632
26332008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2634
2635 * config.in: Regenerate.
2636
2637 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2638 (mostlyclean): Don't delete *.d under NS.
2639
2640 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2641
26422008-08-06 Kenichi Handa <handa@m17n.org>
2643
2644 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2645
26462008-08-06 Andreas Schwab <schwab@suse.de>
2647
2648 * config.in: Regenerate.
2649
26502008-08-05 Chong Yidong <cyd@stupidchicken.com>
2651
2652 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2653 forcing a window start.
2654
2655 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2656 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2657
26582008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2659
2660 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2661 argument.
2662
26632008-08-05 Juanma Barranquero <lekktu@gmail.com>
2664
2665 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2666 <scroll-down-aggressively, before-change-functions>:
2667 <after-change-functions>: Reflow docstrings.
2668
26692008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2670 Ken Raeburn <raeburn@gnu.org>
2671
2672 Dock menu customization, based on a patch by Ken Raeburn, plus some
2673 other fixes.
2674 * nsmenu.m (dockMenu): New variable.
2675 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2676
2677 * nsterm.h (dockMenu): Declare.
2678
2679 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2680 (ns_term_init): Initialize dockMenu.
2681 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2682 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2683 left.
2684
2685 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2686
26872008-08-04 Chong Yidong <cyd@stupidchicken.com>
2688
2689 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2690
2691 * config.in: Regenerate.
2692
26932008-08-04 Seiji Zenitani <zenitani@mac.com>
2694
2695 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2696
26972008-08-04 Chong Yidong <cyd@stupidchicken.com>
2698
2699 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2700
27012008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2702
2703 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2704
2705 * keyboard.h: Comment an #endif.
2706
2707 * lisp.h (have_menus_p): Adjust comment.
2708
2709 * menu.c (find_and_return_menu_selection): Fix comparison with
2710 client_data.
2711
2712 * nsmenu.m (popup_activated_flag): New variable.
2713 (popup_activated): New function.
2714 (menu-or-popup-active-p): New exported lisp definition.
2715 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2716 when popup done.
2717 (ns_popup_dialog): Set popup_activated_flag.
2718
2719 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2720 version for GNUstep (handled by conditional typedef in nsterm.m).
2721 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2722 in rgb.txt).
2723
2724 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2725
2726 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2727
2728 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2729
2730 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2731 shortcircuit if popup_activated like GTK and X toolkit.
2732
2733 * m/inter386.h: Change DARWIN to DARWIN_OS.
2734
2735 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2736 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2737 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2738 comment on NO_SOCK_SIGIO.
2739
27402008-08-03 Chong Yidong <cyd@stupidchicken.com>
2741
2742 * nsterm.m (windowDidResize): Remove stopModal call.
2743
27442008-08-03 Andreas Schwab <schwab@suse.de>
2745
2746 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2747 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2748
27492008-08-02 Chong Yidong <cyd@stupidchicken.com>
2750
2751 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2752 Don't use uninitialized pointer variable when using getrlimit.
2753
27542008-08-02 Jason Rumney <jasonr@gnu.org>
2755
2756 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2757
27582008-08-02 Eli Zaretskii <eliz@gnu.org>
2759
2760 * alloc.c (NSTATICS): Bump to 0x640.
2761
2762 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2763
2764 * lisp.h: Add prototype for directory_files_internal.
2765
2766 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2767 New functions.
2768 (syms_of_process): Defsubr them. Add initializations for various
2769 Q* symbols used in procfs_system_process_attributes.
2770 (procfs_list_system_processes, procfs_system_process_attributes)
2771 [HAVE_PROCFS]: New functions.
2772 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2773 (procfs_get_total_memory): New functions.
2774
27752008-08-01 Juanma Barranquero <lekktu@gmail.com>
2776
2777 * xfaces.c (Fx_load_color_file): Fix previous change;
2778 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2779
27802008-08-01 Michael Albinus <michael.albinus@gmx.de>
2781
2782 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2783
27842008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2785
2786 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2787
27882008-08-01 Chong Yidong <cyd@stupidchicken.com>
2789
2790 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2791
2792 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2793 define NSApplicationDelegateReplySuccess.
2794 (EmacsView -converstationIdentifier): Use long instead of
2795 NSInteger for GNUstep, since it doesn't have NSInteger.
2796
2797 * xmenu.c: Revert last change.
2798
2799 * keyboard.h: Fix last change.
2800
28012008-08-01 Juanma Barranquero <lekktu@gmail.com>
2802
2803 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2804 on Windows.
2805
28062008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2807
2808 Warning clearing and clean-up in NS port.
2809 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2810 Add prototypes.
2811 * nsgui.h (FACE_DEFAULT): Remove, unused.
2812 (XGCValues): Change colors to unsigned long.
2813 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2814 nsterm.m.
2815 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2816 (ns_list_fonts): Remove, unused.
2817 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2818 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2819 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2820 (nsfont_draw): Compare face colors to 0, not nil.
2821 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2822 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2823 (-addSubmenuWithTitle:): Use NSMenuItem class.
2824 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2825 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2826 (ns_clip_to_row): Make gc arg a BOOL.
2827 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2828 ns_clip_to_row() call.
2829 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2830 used). Cast FRAME_FONT assignments.
2831 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2832 (ns_string_to_lispmod): Change arg to const char.
2833 (ns_term_init): Use NSMenuItem class.
2834 (EmacsApp -openFile:): Move to different section of file.
2835 (EmacsApp -application:openFiles:): Don't return a value, call
2836 -replyToOpenOrPrint:.
2837 (EmacsView -keyDown:): Fix up cast.
2838 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2839 (EmacsView -menuDown:): Cast tag in call to
2840 find_and_call_menu_selection().
2841 (ns_list_fonts): Remove, unused.
2842 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2843 (ns_fontname_to_xlfd): Make static.
2844 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2845 Remove prototypes (now in keyboard.h).
2846 (next_menubar_widget_id): Remove, unused.
2847 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2848 Remove prototypes (now in keyboard.h).
2849 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2850
28512008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2852
2853 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2854 (floatfns.o): Depend on syssignal.h.
2855 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2856
2857 * systty.h: Fix previous change that removed BSD_TERMIOS.
2858 Add comments to #ifdefs.
2859
28602008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2861
2862 * w32fns.c (w32-load-color-file): Remove.
2863 (x-open-connection): Use renamed Fx_load_color_file.
2864 * xfaces.c (x-load-color-file): Add.
2865 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2866 Emacs.clr.
2867 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2868
28692008-07-31 Michael Albinus <michael.albinus@gmx.de>
2870
2871 * dbusbind.c (Fdbus_call_method_asynchronously)
2872 (Fdbus_method_error_internal): New defuns.
2873 (xd_read_message): Handle also reply messages.
2874 (Vdbus_registered_functions_table): Extend docstring.
2875
28762008-07-31 Juanma Barranquero <lekktu@gmail.com>
2877
2878 * keyboard.c (gobble_input): Fix previous change.
2879
28802008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2881
2882 * bitmaps/README:
2883 * xfns.c:
2884 * termcap.c:
2885 * term.c:
2886 * syswait.h:
2887 * systty.h:
2888 * systime.h:
2889 * syssignal.h:
2890 * sysdep.c:
2891 * process.h:
2892 * process.c:
2893 * print.c:
2894 * ndir.h:
2895 * lread.c:
2896 * keyboard.c:
2897 * getpagesize.h:
2898 * floatfns.c:
2899 * fileio.c:
2900 * emacs.c:
2901 * doc.c:
2902 * dispnew.c:
2903 * dired.c:
2904 * data.c:
2905 * callproc.c:
2906 * buffer.c:
2907 * README:
2908 * Makefile.in:
2909 * s/template.h:
2910 * s/msdos.h:
2911 * m/vax.h: Remove VMS support.
2912 * s/vms.h:
2913 * vlimit.h:
2914 * uaf.h:
2915 * temacs.opt:
2916 * param.h:
2917 * ioctl.h: Remove file.
2918
29192008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2920
2921 * s/ms-w32.h (MULTI_KBOARD): Remove.
2922 * xterm.c:
2923 * xselect.c:
2924 * xfns.c:
2925 * window.c:
2926 * w32term.c:
2927 * w32fns.c:
2928 * terminal.c:
2929 * termhooks.h:
2930 * term.c:
2931 * sysdep.c:
2932 * keyboard.h:
2933 * keyboard.c:
2934 * frame.h:
2935 * frame.c:
2936 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2937 * config.in: Regenerate.
2938
29392008-07-30 Jason Rumney <jasonr@gnu.org>
2940
2941 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2942
2943 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2944 (w32font_open_internal): Get unicode version of textmetrics.
2945 Don't enable or disable glyph indices here.
2946 (w32font_open): Disable use of glyph indices.
2947
2948 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2949
29502008-07-30 Chong Yidong <cyd@stupidchicken.com>
2951
2952 * minibuf.c (Vread_buffer_function): Doc fix.
2953
29542008-07-30 John Paul Wallington <jpw@pobox.com>
2955
2956 * minibuf.c (read_buffer_completion_ignore_case): New var.
2957 (Fread_buffer): Use it.
2958
29592008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2960
2961 * systty.h (sensemode): Remove empty #if. Remove reference to
2962 BSD_TERMIOS, unused.
2963
2964 * sysdep.c: Remove reference to DGUX.
2965 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2966
2967 * config.in: Regenerate.
2968
29692008-07-30 Jason Rumney <jasonr@gnu.org>
2970
2971 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2972
29732008-07-29 Jason Rumney <jasonr@gnu.org>
2974
2975 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2976 is populated.
2977 (uniscribe_encode_char): Always use uniscribe.
2978 Avoid using context if cache is populated.
2979
29802008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2981
2982 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2983 open menu.
2984
2985 * gtkutil.c (menu_nav_ended): Remove.
2986 (create_menus): Remove signal connect for menu_nav_ended.
2987
29882008-07-28 Chong Yidong <cyd@stupidchicken.com>
2989
2990 * xdisp.c (redisplay_window): Check return value of
2991 compute_window_start_on_continuation_line before forcing a window
2992 start.
2993
29942008-07-28 Jason Rumney <jasonr@gnu.org>
2995
2996 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2997
2998 * w32term.c (w32_enable_unicode_output, cleartype_active):
2999 Remove obsolete display options.
3000 (x_draw_glyph_string_background): Don't use old cleartype_active
3001 workaround.
3002 (w32_initialize): Remove cleartype_active initialization.
3003 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3004
30052008-07-28 Andreas Schwab <schwab@suse.de>
3006
3007 * lisp.h (init_weak_hash_tables, syms_of_font)
3008 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3009 (remove_hash_entry): Don't declare.
3010 * eval.c (maybe_call_debugger): Make static and move before use.
3011 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3012 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3013 * xterm.h (x_set_frame_alpha): Declare.
3014
30152008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3016
3017 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3018 (create_menus): Connect selection-done to menu_nav_ended.
3019
30202008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3021
3022 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3023 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3024 parameter with read of 'alpha' one.
3025 (Qns_frame_parameter): Remove.
5582fbc7 3026 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3027 (next-selection-coding-system, Vselection_coding_system)
3028 (Vnext_selection_coding_system): Drop.
3029
30302008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3031
3032 * nsfns.m (do-applescript, do_applescript): Rename to
3033 ns-do-applescript, ns_do_applescript, and move within file.
3034
30352008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3036
3037 Remove support for Mac Carbon.
3038 * mactoolbox.c:
3039 * macterm.h:
3040 * macterm.c:
3041 * macselect.c:
3042 * macmenu.c:
3043 * macgui.h:
3044 * macfns.c:
3045 * mac.c: Remove file.
3046 * s/darwin.h:
3047 * m/intel386.h:
3048 * xfaces.c:
3049 * xdisp.c:
3050 * window.c:
3051 * tparam.c:
3052 * termhooks.h:
3053 * termcap.c:
3054 * term.c:
3055 * syssignal.h:
3056 * sysselect.h:
3057 * sysdep.c:
3058 * process.c:
3059 * lread.c:
3060 * lisp.h:
3061 * keyboard.c:
3062 * image.c:
3063 * fringe.c:
3064 * frame.h:
3065 * frame.c:
3066 * fontset.c:
3067 * font.h:
3068 * font.c:
3069 * fns.c:
3070 * fileio.c:
3071 * emacs.c:
3072 * dispnew.c:
3073 * dispextern.h:
3074 * config.in:
3075 * atimer.c:
2ae37cf0 3076 * Makefile.in: Remove code for Carbon.
aac0c6e3 3077
f0131492 30782008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3079
3080 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3081
30822008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3083
3084 * macterm.h (kCGBitmapByteOrder32Host): New define for
3085 non-universal SDKs.
3086
3087 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3088 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3089
3090 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3091 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3092
30932008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3094
3095 * w32inevt.c: Include dispextern.h.
3096
30972008-07-26 Andreas Schwab <schwab@suse.de>
3098
3099 * print.c (print_object): Fix off-by-one in last change.
3100
31012008-07-25 Juanma Barranquero <lekktu@gmail.com>
3102
3103 * term.c (syms_of_term): Don't initialize default_orig_pair,
3104 default_set_foreground and default_set_background on Windows.
3105
31062008-07-25 Jason Rumney <jasonr@gnu.org>
3107
3108 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3109 ScriptItemize. Clean up return value checking. Remove unused
3110 variables.
3111 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3112 shaping engine.
3113
3114 * w32font.c (w32font_has_char): Handle the case where we can't
3115 determine the script for a character.
3116
31172008-07-25 Chong Yidong <cyd@stupidchicken.com>
3118
3119 * term.c (syms_of_term): Initialize default_orig_pair,
3120 default_set_foreground, and default_set_background.
3121
3122 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3123 clash (bug#86).
3124 (getloadavg): Callers changed.
3125
3126 * image.c (svg_load_image): Fix last change.
3127 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3128 image size is valid. Use g_object_unref instead of deprecated
3129 rsvg_handle_free to free rsvg handle.
3130 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3131
31322008-07-25 Jason Rumney <jasonr@gnu.org>
3133
3134 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3135 surrogates before looking up glyph index.
3136 (w32font_text_extents): Encode as surrogates if falling back to
3137 functions that need UTF-16 wide chars.
3138
3139 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3140 BMP as surrogates before looking up glyph index.
3141
31422008-07-25 Chong Yidong <cyd@stupidchicken.com>
3143
3144 * image.c (svg_load_image): Check for failure in return value of
3145 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3146
31472008-07-25 Jason Rumney <jasonr@gnu.org>
3148
3149 * w32font.c (Fx_select_font): Reverse sense of second arg.
3150
31512008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3152
3153 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3154 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3155
3156 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3157 (PURESIZE): Use it.
3158
31592008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3160
3161 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3162 * m/alpha.h (TEXT_END):
3163 * m/ibmrs6000.h (TEXT_END):
3164 * m/macppc.h (TEXT_END):
3165 * s/darwin.h (TEXT_END):
3166 * s/msdos.h (TEXT_END): Remove, unused.
3167 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3168 * s/cygwin.h: Remove comment.
3169
3170 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3171 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3172 * m/intel386.h (DOT_GLOBAL_START):
3173 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3174 (USG): Remove, file not used on USG platforms.
3175
3176 * Makefile.in (HAVE_X11): Remove empty #else.
3177
31782008-07-24 Andreas Schwab <schwab@suse.de>
3179
3180 * fileio.c (Finsert_file_contents): Properly adjust undo list
3181 after format conversion.
3182
31832008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3184
3185 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3186 (menu_nav_ended): Remove.
3187 (create_menus): Remove signal connect for menu_nav_ended.
3188 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3189 create_menus.
3190 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3191
31922008-07-23 Jason Rumney <jasonr@gnu.org>
3193
3194 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3195 with opened font.
3196 (w32font_open): Set font type to gdi.
3197
3198 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3199
32002008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3201
3202 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3203 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3204 defines it.
3205 * unexec.c (ADDR_CORRECT): Define unconditionally.
3206
3207 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3208
3209 * unexec.c: Remove code depending on !COFF and USG, the file is
3210 not used for such systems.
3211
3212 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3213 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3214 (LD_SWITCH_SYSTEM_1): Remove, update users.
3215
3216 * s/darwin.h (DATA_END):
3217 * m/intel386.h (DATA_END):
3218 * m/ibmrs6000.h (DATA_END):
3219 * m/alpha.h (DATA_END): Remove, unused.
3220
3221 * config.in: Regenerate.
3222 * s/ms-w32.h (subprocesses): Define unconditionally.
3223 * s/template.h (subprocesses): Update comment.
3224 * s/vms.h (subprocesses):
3225 * s/usg5-4.h (subprocesses):
3226 * s/hpux10-20.h (subprocesses):
3227 * s/gnu-linux.h (subprocesses):
3228 * s/cygwin.h (subprocesses):
3229 * s/bsd-common.h (subprocesses):
3230 * s/aix4-2.h (subprocesses):
3231 * s/darwin.h (subprocesses): Do not define, defined by default now.
3232
3233 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3234 Remove all references.
3235 (temacs): Add GNUstep specific ld flags.
3236
3237 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3238 similarly to what X does.
3239
32402008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3241
3242 * nsfns.m (x-list-fonts): Remove.
3243 (syms_of_nsfns): Drop the x-list-fonts declaration.
3244 * nsterm.m: Get rid of remaining "//" comments.
3245
32462008-07-22 Chong Yidong <cyd@stupidchicken.com>
3247
3248 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3249
3250 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3251 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3252 (Fns_own_selection_internal, Fx_disown_selection_internal)
3253 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3254
3255 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3256 ... */' style of docstrings. Doc fixes.
3257
32582008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3259
3260 * terminfo.c (UP, BC, PC): Undo previous change.
3261
3262 * nsfns.m: Rename ns prefixed functions/variables to the
3263 corresponding x versions. Update references.
3264
32652008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3266
3267 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3268
32692008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3270
3271 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3272 Remove forwarding functions.
3273 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3274 non-static.
3275 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3276 non-static.
3277 (ns_frame_parm_handlers): Use the new names.
3278 (syms_of_nsfns): Move to the end of file.
3279
3280 * nsterm.m (syms_of_nsterm): Move to the end of file.
3281
3282 * dispnew.c (init_display): Remove code for X10.
3283
32842008-07-22 Jason Rumney <jasonr@gnu.org>
3285
3286 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3287 bare drive.
3288
32892008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3290
3291 * nsterm.m (syms_of_nsterm): Remove debugging println.
3292
32932008-07-22 David Reitter <david.reitter@gmail.com>
3294
3295 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3296 Carbon implementation of the same functionality: execute arbitrary
3297 AppleScript code.
3298
32992008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3300
3301 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3302 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3303 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3304 (Fx_display_mm_height, Fx_display_mm_width)
3305 (Fx_display_backing_store, Fx_display_visual_class)
3306 (Fx_display_save_under, Fx_open_connection)
3307 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3308 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3309 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3310 (Fx_display_pixel_width, Fx_display_pixel_height)
3311 (Fx_display_usable_bounds, Fx_display_planes)
3312 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3313 ... */' style of docstrings.
3314
33152008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3316
3317 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3318 on this platform.
3319 (mips):
3320 * m/iris4d.h (mips): Do not define.
3321 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3322
3323 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3324
3325 * image.c:
3326 * nsfns.m:
3327 * nsselect.m:
3328 * nsterm.h:
3329 * nsterm.m: Rename ns prefixed functions/variables to the
3330 corresponding x versions. Update references.
3331
3332 * m/ibms390x.h (NO_REMAP): Do not undefine.
3333
3334 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3335
33362008-07-21 Chong Yidong <cyd@stupidchicken.com>
3337
3338 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3339 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3340 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3341 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3342 (Fns_display_mm_height, Fns_display_mm_width)
3343 (Fns_display_backing_store, Fns_display_visual_class)
3344 (Fns_display_save_under, Fns_open_connection)
3345 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3346 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3347 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3348 (Fns_display_pixel_width, Fns_display_pixel_height)
3349 (Fns_display_usable_bounds, Fx_display_planes)
3350 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3351
33522008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3353
3354 * print.c (print_object): Check print_depth before searching for
3355 circularities.
3356
33572008-07-21 Michael Albinus <michael.albinus@gmx.de>
3358
3359 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3360 only sprintf.
3361
33622008-07-21 Kenichi Handa <handa@m17n.org>
3363
3364 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3365
33662008-07-20 Andreas Schwab <schwab@suse.de>
3367
3368 * syntax.c (find_start_pos, find_start_value)
3369 (find_start_value_byte, find_start_begv, find_defun_start)
3370 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3371
33722008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3373
3374 * s/sol2-3.h: Insert contents of s/sol2.h.
3375 (LD_SWITCH_SYSTEM): Remove redundant definition.
3376 * s/sol2.h: Remove, unused.
3377
33782008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3379
3380 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3381
33822008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3383
3384 * Makefile.in (ns_appdir): Fix typo in find command.
3385
33862008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3387
3388 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3389
3390 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3391 added not supported anymore.
3392
3393 * s/usg5-4-2.h (LIBS_SYSTEM):
3394 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3395
3396 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3397 * s/lynxos.h (GETPGRP_NO_ARG):
3398 * s/hpux10-20.h (NO_SIOCTL_H):
3399 * s/gnu.h (GETPGRP_NO_ARG):
3400 * s/gnu-linux.h (NO_SIOCTL_H):
3401 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3402 * s/cygwin.h (GETPGRP_NO_ARG):
3403 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3404 (C_DEBUG_SWITCH): Remove duplicate definition.
3405
3406 * m/ibms390.h: Remove boilerplate comments.
3407
3408 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3409
3410 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3411 (wait_reading_process_output): Remove code for SunOS, platform not
3412 supported anymore. Use SOLARIS2 instead of sun.
3413
34142008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3415
3416 * font.c (font_open_by_name): Under NS, default lface height to zero.
3417 (font_open_for_lface): Under NS, set size based on frame fontsize.
3418 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3419 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3420
34212008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3422
3423 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3424 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3425 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3426 YES/NO.
3427 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3428 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3429 * Makefile.in (clean): Clear out build destination dir.
3430
34312008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3432
3433 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3434 xterm, xselect.
3435 * lisp.h: Remove declaration of hash_remove.
3436 * nsgui.h: Remove redefinitions of hash_remove.
3437 * fns.c (hash_remove): Rename to hash_remove_from_table.
3438
34392008-07-19 Seiji Zenitani <zenitani@mac.com>
3440
3441 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3442 strdup() the family UTF8String before modifying it.
3443
34442008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3445
3446 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3447 NS_FACE_BACKGROUND with 0 instead of nil.
3448 * nsfont.m (nsfont_draw): Same.
3449
34502008-07-19 Chong Yidong <cyd@stupidchicken.com>
3451
3452 * nsfns.m (ns_set_background_color): Fix crash.
3453
34542008-07-18 Chong Yidong <cyd@stupidchicken.com>
3455
3456 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3457
34582008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3459
3460 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3461
34622008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3463
3464 * gtkutil.c: Include <config.h> instead of "config.h".
3465
3466 * lisp.h (Foverlay_buffer): Add EXFUN.
3467
3468 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3469 child process to complete child_setup. Undo 2005-09-21 change.
3470
3471 * s/darwin.h: Mention setsid after vfork.
3472
34732008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3474
3475 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3476 Depend on macgui.h.
3477
3478 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3479 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3480
3481 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3482 and f19.
3483 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3484
3485 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3486 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3487 Remove enumerators.
3488
3489 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3490 Check if FACE_FROM_ID returns NULL.
3491
34922008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3493
3494 * w32inevt.c (change_frame_size): Remove extern declaration.
3495 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3496 change_frame_size.
3497
34982008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3499
3500 * getloadavg.c: Revert last change (2008-07-15).
3501
35022008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3503
3504 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3505 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3506 from configure.
3507
35082008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3509
3510 * s/sol2.h:
3511 * s/sol2-4.h: Reorganize conditionals.
3512
3513 * ecrt0.c: Remove code depending on m68000, not used anymore.
3514
3515 * fns.c (hash_remove): Make static.
3516 * lisp.h (hash_remove): Don't prototype.
3517
3518 * m/ibmrs6000.h:
3519 * m/ibms390x.h:
3520 * m/macppc.h: Remove boilerplate comments.
3521
3522 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3523 Solaris, which does not need them.
3524
3525 * m/vax.h: Remove comments about unsupported systems.
3526
3527 * s/darwin.h: Reorganize ifdefs.
3528
35292008-07-17 Andreas Schwab <schwab@suse.de>
3530
3531 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3532
35332008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3534
3535 Use SDATA. Follow coding convention of placing operators at
3536 beginning of next line rather than end of previous line, and placing
3537 spaces around infix operators.
3538
3539 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3540 in case it was defined already.
3541 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3542 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3543 ns_default.
3544 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3545 Lisp_Objects.
3546 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3547 (ns_defined_color, ns_color_to_lisp): Declare.
3548 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3549 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3550 it's accepted even with USE_LISP_UNION_TYPE.
3551 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3552 (update_frame_tool_bar): Remove apparently obsolete tests for
3553 non-integerness of f->tool_bar_lines.
3554 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3555 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3556 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3557 (nsfont_open): Don't confuse NULL for Qnil.
3558 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3559 * menu.h (find_and_call_menu_selection):
3560 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3561 (find_and_return_menu_selection): Always return something.
3562 * frame.h: Include dispextern.h for Display_Info.
3563 (display_x_get_resource): Declare.
3564
35652008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3566
3567 * syntax.c: Remove stdio.h include accidentally introduced in
3568 Emacs.app commit.
3569 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3570 NS_IMPL_COCOA.
3571 * keyboard.c (handle_async_input, input_available_signal): Remove
3572 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3573
35742008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3575
3576 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3577 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3578 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3579 Use SDATA.
3580
3581 * keymap.c: Remove all NS-specific code.
3582 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3583 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3584 where_is_preferred_modifier, return a different value depending on how
3585 preferred is the binding.
3586 (where_is_internal): Adjust accordingly.
3587 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3588 Adjust to new preferred_sequence_p.
3589 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3590 * keyboard.c (parse_solitary_modifier): Not static any more.
3591 * keyboard.h (parse_solitary_modifier): Declare.
3592
35932008-07-16 Andreas Schwab <schwab@suse.de>
3594
3595 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3596 of easymenu.
3597
35982008-07-16 Chong Yidong <cyd@stupidchicken.com>
3599
3600 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3601 that we don't move off the line.
3602
36032008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3604
3605 * keyboard.c (Qsuper): Remove.
3606 (parse_menu_item): Don't call where_is_internal specially for NS.
3607
36082008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3609
3610 * s/gnu-linux.h: Remove boilerplate comments.
3611
3612 * m/alpha.h (__ELF__): Consolidate conditions.
3613
3614 * m/m68k.h (linux): Use GNU_LINUX instead.
3615 Remove boilerplate comments.
3616
3617 * m/intel386.h: Undo refactoring from previous change.
3618 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3619 too, remove dead code.
3620 (linux): Use GNU_LINUX instead.
3621
36222008-07-16 Jason Rumney <jasonr@gnu.org>
3623
3624 * w32gui.h: Repeat 26 June changes lost by last change.
3625
36262008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3627
3628 * systty.h: Remove code for Aix on 386, unsupported platform.
3629
3630 * s/ms-w32.h: Remove boilerplate comments.
3631 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3632
3633 * s/gnu-linux.h (TERM): Remove support.
3634 (HAVE_SYSVIPC): Remove, unused.
3635 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3636 for this system.
3637
3638 * process.c: Remove support for IRIS, unused.
3639 Remove support for TERM, not relevant anymore.
3640
3641 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3642 used with the definition.
3643
3644 * s/aix4-2.h (static): Do not undef.
3645
3646 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3647 only used on Aix.
3648 (HAVE_SYSVIPC): Remove, unused.
3649
3650 * m/hp800.h (CANNOT_DUMP): Do not undef.
3651
3652 * m/alpha.h: Fix comment.
3653
3654 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3655 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3656 used by this configuration.
3657 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3658 * unexec.c: Remove code depending on HPUX and
3659 USG_SHARED_LIBRARIES, not used with this file. Remove code
3660 depending on IRIS, unused. Remove if 0-ed code.
3661
3662 * s/template.h: Remove comments about static.
3663
3664 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3665 Remove if 0-ed code.
3666 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3667 were the same as the default.
3668 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3669 Remove boilerplate comments.
3670 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3671 (HAVE_SYSVIPC): Remove, unused.
3672 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3673
3674 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3675 Remove boilerplate comments.
3676 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3677 Remove boilerplate comments.
3678 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3679 Remove boilerplate comments.
3680 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3681
3682 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3683 USG systems which do not use DATA_SEG_BITS.
3684 Refactor code. Remove boilerplate comments.
3685
3686 * m/ibms390.h:
3687 * m/m68k.h:
3688 * s/bsd-common.h:
3689 * s/cygwin.h:
3690 * s/darwin.h:
3691 * s/freebsd.h:
3692 * s/gnu.h:
3693 * s/msdos.h: Remove boilerplate comments.
3694
3695 * m/iris4d.h: Remove boilerplate comments and code for systems that
3696 do not use this file.
3697 (IRIS_4D): Remove, unused.
3698
3699 * m/mips.h: Remove boilerplate comments and code for systems that
3700 do not use this file.
3701 (SIGN_EXTEND_CHAR):
3702 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3703 * unexmips.c: Remove file, unused.
3704
3705 * editfns.c (Fuser_full_name): Replace the only use of
3706 USER_FULL_NAME with its value.
3707 * config.in: Regenerate.
3708
37092008-07-16 David Reitter <david.reitter@gmail.com>
3710
3711 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3712 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3713
37142008-07-16 Glenn Morris <rgm@gnu.org>
3715
3716 * emacs.c (system-type): Doc fix.
3717
37182008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3719
3720 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3721 If the cache doesn't work, let's fix it, rather than work around it.
3722
37232008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3724
3725 * Makefile.in: Correct additions for nsfont.o in last commit.
3726 * nsfont.m: New file (forgot last commit).
3727
37282008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3729
3730 * callproc.c (set_initial_environment): Initialize
3731 Vprocess_environment under CANNOT_DUMP (fixes crash when
3732 batch-compiling for bootstrap).
3733
37342008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3735 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3736
3737 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3738 fix crash due to different init order.
3739
37402008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3741
3742 Changes and additions for NeXTstep windowing system (Cocoa and
3743 GNUstep) support.
3744
3745 * Makefile.in:
3746 * config.in: Support defines and build commands for NS port.
3747 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3748 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3749 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3750 windowing.
3751 (struct face): Add synth_ital field.
3752 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3753 (init_display): Initialize Vinitial_window_system to "ns" when so
3754 compiled.
3755 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3756 (display_arg): Use under NS.
3757 (main): Under NS, allocate autorelease pool and handle command line
3758 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3759 (standard_args): Add NS-specific args.
3760 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3761 * font.c (DEFAULT_ENCODING): New variable.
3762 (font_find_for_lface): Use it.
3763 (syms_of_font): Load syms_of_nsfont under NS.
3764 * font.h: Declare nsfont_driver when compiled under NS.
3765 * fontset.c: When compiling under NS, include nsterm.h.
3766 (fontset_from_font): Autoconstruct fontset under NS.
3767 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3768 symbol, document and use it.
3769 (do_switch_frame): When for_deletion under Cocoa, add
3770 Fraise_frame(Qnil).
3771 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3772 (x_get_arg): Allow "yes" and "no" as boolean values.
3773 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3774 Qright under Cocoa.
3775 (focus-follows-mouse): Default to 0 under NS.
3776 * frame.h (enum output_method): Add output_ns.
3777 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3778 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3779 (FRAME_WINDOW_P): NS-specific definition.
3780 * fringe.c (max_used_fringe_bitmap): Make public.
3781 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3782 (getloadavg): Use NeXT code under descendant OS's.
3783 * image.c (includes and header section, x_create_bitmap_from_data)
3784 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3785 (image_background_transparent, x_clear_image_1)
3786 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3787 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3788 (x_to_xcolors, x_from_xcolors, x_disable_image)
3789 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3790 other GUIs, including XPM support using code originally written for
3791 Carbon GUI.
3792 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3793 using NS API.
3794 (image_ascent): Use font metrics macros instead of direct struct field
3795 access.
3796 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3797 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3798 Also, handle NS as GTK for menu bar purposes.
3799 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3800 toolkit where they differ.
3801 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3802 use cachelist, still needed under NS.
3803 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3804 (struct widget_value): Define it here for menu.c.
3805 * keymap.c (includes): Include modifier internals.
3806 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3807 NS.
3808 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3809 support for preferring sequences using certain modifiers, specified by
3810 the FIRSTONLY argument.
3811 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3812 under NS GNUstep implementation.
3813 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3814 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3815 * menu.c: Include nsterm.h under NS.
3816 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3817 (free_menubar_widget_tree_value, update_submenu_strings)
3818 (find_and_call_menu_selection): Treat NS as X and NT.
3819 (find_and_return_menu_selection): New function, used for popup menus.
3820 * nsgui.h:
3821 * nsterm.h:
3822 * nsfns.m:
3823 * nsimage.m:
3824 * nsmenu.m:
3825 * nsselect.m:
3826 * nsterm.m: New files.
3827 * process.c (wait_reading_process_output): Under NS, call ns_select()
3828 instead of plain select().
3829 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3830 beginning of buffer.
3831 * sysselect.h (init_process): Rename when compiling under Cocoa to
3832 avoid name conflict.
3833 * termhooks.h (display_info): Add ns_display_info to union.
3834 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3835 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3836 COCOA environment.
3837 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3838 unexec() signature. (Note, this will dump, but the resulting file
3839 crashes; unexosx is used instead; keeping around for reference and
3840 possible aid in getting dump working under GNUstep.)
3841 * w32gui.h (button_type, widget_value): Remove definitions (now in
3842 keyboard.h).
3843 * window.c: Include nsterm.h when compiling under NS.
3844 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3845 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3846 other GUI windowing systems.
3847 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3848 GTK.
3849 (x_consider_frame_title): Under NS, set icon type and frame
3850 modified-state indicator; use ns_set_name_as_filename() when using
3851 formatted title.
3852 (update_window_cursor): Make public when compiling under NS.
3853 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3854 (hourglass_atimer, Vhourglass_delay
3855 * xfaces.c (header section, init_frame_faces, clear_font_table)
3856 (defined_color, unload_color, x_face_list_fonts)
3857 (prepare_face_for_display): Add NS support parallel to other GUIs.
3858 Emulate GCs like other non-X GUIs.
3859 (split_font_name): Don't lowercase font name under NS.
3860 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3861 under NS.
3862 * s/darwin.h: Add support for compilation under NS.
3863
38642008-07-15 Jason Rumney <jasonr@gnu.org>
3865
3866 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3867 (w32_show_hourglass): Rename from show_hourglass.
3868 (w32_hide_hourglass): Rename from hide_hourglass.
3869 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3870 (Vhourglass_delay): Declare extern.
3871 (hourglass_started): Remove.
3872
3873 * xdisp.c (Vhourglass_delay): Remove static.
3874 (hourglass_started, start_hourglass, cancel_hourglass):
3875 Don't include these versions on WINDOWSNT.
3876
38772008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3878
3879 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3880 variables (formerly in xfns.c).
3881 (show_hourglass, hide_hourglass): New prototypes (same).
3882 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3883 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3884 in xfns.c).
3885 (syms_of_xdisp): Declare/initialize display-hourglass,
3886 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3887 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3888 formerly in xfns.c.
3889 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3890 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3891 (start_hourglass, cancel_hourglass): Remove.
3892 (show_hourglass, hide_hourglass): Remove prototypes and static
3893 modifiers.
3894 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3895 hourglass_atimer, hourglass_shown_p declaration/initialization.
3896 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3897 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3898 (start_hourglass, cancel_hourglass): Remove.
3899 (show_hourglass, hide_hourglass): Remove prototypes and static
3900 modifiers.
3901 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3902 hourglass_atimer, hourglass_shown_p declaration/initialization.
3903 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3904 (DEFAULT_HOURGLASS_DELAY): Remove.
3905 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3906 hourglass_shown_p declaration/initialization.
3907
39082008-07-14 Jason Rumney <jasonr@gnu.org>
3909
3910 * w32fns.c (w32_get_arg): Remove wrapper function.
3911 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3912 directly.
3913 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3914
39152008-07-14 Kenichi Handa <handa@m17n.org>
3916
3917 * xfont.c (xfont_open): Add workaround for X's bug.
3918
39192008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3920
3921 * fontset.c: Include <stdio.h> unconditionally.
3922
39232008-07-13 Michael Albinus <michael.albinus@gmx.de>
3924
3925 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3926 for filtering.
3927
39282008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3929
3930 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3931
3932 * m/macppc.h:
3933 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3934
3935 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3936 (SPECIAL_EMACS_INT):
3937 * m/ia64.h (SPECIAL_EMACS_INT):
3938 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3939 * s/gnu.h (NLIST_STRUCT):
3940 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3941 * s/gnu-linux.h (LINUX):
3942 * s/msdos.h (HAVE_FACES):
3943 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3944
3945 * systty.h:
3946 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3947 anymore.
3948
39492008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3950
3951 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3952 always defined as int.
3953
3954 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3955 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3956 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3957 * s/freebsd.h (HAVE_WAIT_HEADER):
3958 * s/bsd-common.h (HAVE_UNION_WAIT):
3959 * s/aix4-2.h (HAVE_WAIT_HEADER):
3960 * m/mips.h (HAVE_UNION_WAIT):
3961 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3962 (COFF, static): Do not define, they are undefined later in the file.
3963
3964 * process.c (update_status): Don't use a union.
3965 (status_convert):
3966 (sigchld_handler): Use int instead of WAITTYPE.
3967
39682008-07-12 Chong Yidong <cyd@stupidchicken.com>
3969
3970 * indent.c (Fvertical_motion): Restore hscroll before moving to
3971 goal column.
3972
39732008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3974
3975 * lisp.h: Remove left over code.
3976
39772008-07-11 Andreas Schwab <schwab@suse.de>
3978
3979 * lisp.h: Fix logic in last change.
3980
3981 * menu.h: New file.
3982 * menu.c: Include it.
3983 * xmenu.c: Likewise.
3984 * Makefile.in: Update dependencies.
3985
39862008-07-11 Kenichi Handa <handa@m17n.org>
3987
3988 * fontset.c (fontset_from_font): Cancel the previous change.
3989
39902008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3991
3992 * lisp.h:
3993 * w32heap.c:
3994 * emacs.c:
3995 * alloc.c: Replace all references of NO_UNION_TYPE with
3996 USE_LISP_UNION_TYPE.
3997
3998 * m/xtensa.h (NO_UNION_TYPE):
3999 * m/vax.h (NO_UNION_TYPE):
4000 * m/template.h (NO_UNION_TYPE):
4001 * m/sparc.h (NO_UNION_TYPE):
4002 * m/mips.h (NO_UNION_TYPE):
4003 * m/macppc.h (NO_UNION_TYPE):
4004 * m/m68k.h (NO_UNION_TYPE):
4005 * m/iris4d.h (NO_UNION_TYPE):
4006 * m/intel386.h (NO_UNION_TYPE):
4007 * m/ibms390x.h (NO_UNION_TYPE):
4008 * m/ibms390.h (NO_UNION_TYPE):
4009 * m/ibmrs6000.h (NO_UNION_TYPE):
4010 * m/ia64.h (NO_UNION_TYPE):
4011 * m/hp800.h (NO_UNION_TYPE):
4012 * m/arm.h (NO_UNION_TYPE):
4013 * m/amdx86-64.h (NO_UNION_TYPE):
4014 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4015 defining it the same.
4016
40172008-07-10 Chong Yidong <cyd@stupidchicken.com>
4018
4019 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4020
40212008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4022
4023 * fileio.c:
4024 * sysdep.c
4025 * systty.h:
4026 * m/ibmrs6000.h:
4027 * m/iris4d.h:
4028 * s/aix4-2.h:
4029 * s/freebsd.h:
4030 * s/gnu-linux.h:
4031 * s/hpux10-20.h:
4032 * s/hpux11.h:
4033 * s/netbsd.h:
4034 * s/sol2-3.h:
4035 * s/sol2-4.h:
4036 * s/sol2.h:
4037 * s/usg5-4.h:
4038 * s/vms.h: Remove references to unused variables.
4039
40402008-07-10 Andreas Schwab <schwab@suse.de>
4041
4042 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4043 pattern before matching the generic family.
4044
40452008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4046
4047 * unexec.c:
4048 * s/vms.h:
4049 * s/usg5-4-2.h:
4050 * s/sol2-5.h:
4051 * s/freebsd.h:
4052 * s/darwin.h: Remove dead code.
4053
4054 * m/template.h:
4055 * m/sparc.h:
4056 * m/mips.h:
4057 * m/m68k.h:
4058 * m/iris4d.h:
4059 * m/intel386.h:
4060 * m/ibms390x.h:
4061 * m/ibms390.h:
4062 * m/ia64.h:
4063 * m/hp800.h:
4064 * m/arm.h:
4065 * m/amdx86-64.h: Remove dead code and references to unused
4066 and compiler defined symbols.
4067
4068 * unexmips.c:
4069 * unexelf.c: Remove references to desupported systems.
4070
4071 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4072
4073 * m/powermac.h: Remove boilerplate comments.
4074 (NO_REMAP): Remove unused definition.
4075
4076 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4077 define them.
4078
40792008-07-10 Kenichi Handa <handa@m17n.org>
4080
4081 * xfont.c (xfont_open): Log the reason of failure.
4082
40832008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4084
4085 * fontset.c (fontset_get_font_group):
4086 * font.c (font_check_otf): Specify argument types.
4087
40882008-07-09 Kenichi Handa <handa@m17n.org>
4089
4090 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4091 non-ASCII char is found.
4092
4093 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4094 (reorder_font_vector): Change the arg preferred_family to font.
4095 Prefer the spec matching with font.
4096 (fontset_get_font_group): New function.
4097 (fontset_find_font): Change the format of an element of a realized
4098 fontset. Use fontset_get_font_group.
4099 (fontset_font): Try the current fontset, the default fontset, the
4100 fallbacks of the current fontset, and the fallbacks of the default
4101 fontset in this order.
4102 (face_for_char): Delete the shortcut to use the current font.
4103 (fontset_from_font): Don't set fonts for Latin in the fontset.
4104
4105 * font.h (font_make_object, font_match_p): Adjust prototypes.
4106
4107 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4108
4109 * font.c (font_make_object): New arg entity and pixelsize.
4110 (font_check_otf_features, font_check_otf): New functions.
4111 (font_match_p): Check :lang, :script, and :otf properties.
4112
4113 * xfont.c (xfont_open): Adjust it for the change of
4114 font_make_object.
4115 (xfont_text_extents): Fix initial setting of metrics.
4116
4117 * ftfont.c (struct ftfont_info): New member index, delete member
4118 fc_charset_idx. Make the member order compatible with struct
4119 xftfont_info.
4120 (fc_charset_table): Change charset names to registry names.
4121 (ftfont_pattern_entity): Delete the args registry and
4122 fc_charset_idx. Change the value of :font-entity property
4123 to (FONTNAME . INDEX). Always set :registry property to
4124 `iso10646-1'.
4125 (struct ftfont_cache_data): New struct.
4126 (ftfont_lookup_cache): New arg for_face.
4127 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4128 (ftfont_driver): Set the member otf_capability.
4129 (ftfont_get_charset): Adjust it for the change of
4130 fc_charset_table.
4131 (OTF_TAG_SYM): New macro.
4132 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4133 for the change of fc_charset_table.
4134 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4135 ftfont_pattern_entity. Add FC_INDEX to objset.
4136 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4137 and ftfont_pattern_entity.
4138 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4139 font_make_object, struct ftfont_info.
4140 (ftfont_has_char): Use ftfont_get_fc_charset.
4141 (ftfont_otf_features, ftfont_otf_capability): New functions.
4142 (ftfont_shape): Use ftfont_get_otf.
4143 (ftfont_text_extents): Fix initial setting of metrics.
4144
4145 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4146 member order compatible with struct ftfont_info.
4147 (xftfont_open): Add FC_CHARSET to the pattern. Set
4148 xftfont_info->ft_size. Don't unlock the face. Check BDF
4149 properties if appropriate.
4150 (xftfont_close): Unlock the face.
4151 (xftfont_anchor_point, xftfont_shape): Deleted.
4152 (syms_of_xftfont): Don't set members anchor_point and shape of
4153 xftfont_driver.
4154
4155 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4156 font_make_object.
4157
4158 * w32font.c (w32font_open): Adjust it for the change of
4159 font_make_object.
4160 (w32font_open_internal): Don't set properties of font_object here.
4161
41622008-07-08 Chong Yidong <cyd@stupidchicken.com>
4163
4164 * macfns.c (x_create_tip_frame):
4165 * w32fns.c (x_create_tip_frame):
4166 * xfns.c (x_create_tip_frame): Pass parameter argument to
4167 face-set-after-frame-default.
4168
4169 * xfaces.c (Finternal_merge_in_global_face): Save merged
4170 attributes for the default face back into the face vector.
4171
41722008-07-08 Andreas Schwab <schwab@suse.de>
4173
4174 * fontset.h: Declare fontset_from_font. Don't declare
4175 new_fontset_from_font and fontset_from_font_name.
4176 * xterm.c: Include "fontset.h".
4177 * Makefile.in (xterm.o): Update dependencies.
4178
41792008-07-08 Glenn Morris <rgm@gnu.org>
4180
4181 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4182 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4183
41842008-07-07 Chong Yidong <cyd@stupidchicken.com>
4185
4186 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4187 (x_set_frame_parameters): Don't bind it.
4188
41892008-07-07 Juanma Barranquero <lekktu@gmail.com>
4190
4191 * w32fns.c (map_w32_filename): Declare extern.
4192
41932008-07-07 Jason Rumney <jasonr@gnu.org>
4194
4195 * w32term.c (WS_EX_LAYERED): Define if not already.
4196
41972008-07-06 Chong Yidong <cyd@stupidchicken.com>
4198
4199 * xfaces.c (set_font_frame_param): Don't try to set the font
4200 parameter if it is still unspecified in the lface.
4201
42022008-07-05 Chong Yidong <cyd@stupidchicken.com>
4203
4204 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4205 face if it didn't already exist.
4206
4207 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4208
42092008-07-05 Andreas Schwab <schwab@suse.de>
4210
4211 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4212
42132008-07-05 Chong Yidong <cyd@stupidchicken.com>
4214
4215 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4216 word-wrapping.
4217 (IT_DISPLAYING_WHITESPACE): New macro.
4218 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4219 when word-wrapping. Simplify word-wrapping logic. Use correct
4220 pixel positions when saving copies of the iterator.
4221 (display_line): Use proper wrap point if the last character on a
4222 line was preceded by whitespace.
4223
42242008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4225
4226 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4227
42282008-07-04 Kenichi Handa <handa@m17n.org>
4229
4230 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4231
4232 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4233
42342008-07-02 Jason Rumney <jasonr@gnu.org>
4235
4236 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4237 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4238
4239 * xdisp.c (next_element_from_display_vector): Move assignment out
4240 of if statement.
4241
42422008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4243
4244 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4245
4246 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4247 (syms_of_fileio): Initialize and export them.
4248 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4249
4250 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4251 (Fsystem_move_file_to_trash): New function.
4252 (syms_of_w32fns): Export it to lisp.
4253
42542008-07-01 Jason Rumney <jasonr@gnu.org>
4255
4256 * w32font.c (w32font_text_extents): Don't count overhang as part
4257 of width.
4258
42592008-06-30 Miles Bader <miles@gnu.org>
4260
4261 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4262 Add `avoid_cursor_p' field.
4263
4264 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4265 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4266 (append_glyph, append_composite_glyph, produce_image_glyph)
4267 (append_stretch_glyph): Initialize avoid_cursor_p.
4268 (get_it_property): Rename from `get_line_height_property'.
4269 (x_produce_glyphs): Use get_it_property.
4270 (handle_line_prefix, push_display_prop): New functions.
4271 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4272 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4273 New variables.
4274 (syms_of_xdisp): Initialize them.
4275
42762008-06-30 Kenichi Handa <handa@m17n.org>
4277
4278 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4279 XftDefaultSubstitute (they are called in XftFontMatch).
4280 (xftfont_open): Fix args to ftfont_font_format.
4281
4282 * ftfont.c (fc_charset_table): New member lang.
4283 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4284 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4285 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4286 (ftfont_open): Fix args to ftfont_font_format.
4287 (ftfont_font_format): New arg filename.
4288
42892008-06-30 Chong Yidong <cyd@stupidchicken.com>
4290
4291 * xfaces.c (Finternal_merge_in_global_face): If default face was
4292 modified, realize it again. Update the font face attribute.
4293
42942008-06-29 Jason Rumney <jasonr@gnu.org>
4295
4296 * w32term.c (x_set_frame_alpha): Fix logic.
4297
42982008-06-29 Kenichi Handa <handa@m17n.org>
4299
4300 * fontset.c (Finternal_char_font): Return font-object instead of
4301 font-name.
4302
4303 * composite.c (get_composition_id): Fix the width calculation for TAB.
4304
43052008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4306
4307 * indent.c (Fvertical_motion): Properly handle float column arg.
4308
43092008-06-28 Jason Rumney <jasonr@gnu.org>
4310
4311 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4312 (pfnSetLayeredWindowAttributes): New function pointer.
4313 (w32_initialize): Initialize it when supported.
4314 (x_set_frame_alpha): New function.
4315
4316 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4317 (w32_frame_parm_handlers): Set alpha handler.
4318
4319 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4320
43212008-06-27 Jason Rumney <jasonr@gnu.org>
4322
4323 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4324 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4325 (w32_to_x_charset, x_to_w32_charset)
4326 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4327 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4328 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4329 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4330 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4331 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4332 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4333 (Qw32_charset_unicode): Remove.
4334 (syms_of_w32fns): Update for above changes.
4335
4336 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4337 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4338 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4339 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4340 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4341 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4342 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4343 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4344 (syms_of_w32font): Update for above changes.
4345
43462008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4347
4348 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4349 removed #if.
4350 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4351
43522008-06-26 Juanma Barranquero <lekktu@gmail.com>
4353 Eli Zaretskii <eliz@gnu.org>
4354
4355 * makefile.w32-in (LOCAL_FLAGS):
4356 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4357
4358 * sysdep.c (_spawnlp, _getpid):
4359 Declare with explicit _cdecl instead of _CRTAPI1.
4360
4361 * editfns.c (Fget_internal_run_time):
4362 Check for WINDOWSNT with #ifdef, not #if.
4363
43642008-06-26 Jason Rumney <jasonr@gnu.org>
4365
4366 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4367
4368 * w32term.c (x_draw_glyph_string_foreground)
4369 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4370 Use FONT_HANDLE macro.
4371 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4372
4373 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4374 (uniscribe_encode_char): Use FONT_HANDLE macro.
4375
4376 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4377 (w32font_text_extents): Use precast w32_font.
4378 (w32font_close): Free cached metrics.
4379 (w32font_open_internal): Allocate space for name on stack.
4380
43812008-06-26 Chong Yidong <cyd@stupidchicken.com>
4382
4383 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4384
43852008-06-26 Jason Rumney <jasonr@gnu.org>
4386
4387 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4388 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4389
43902008-06-26 Juanma Barranquero <lekktu@gmail.com>
4391
4392 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4393
43942008-06-26 Jason Rumney <jasonr@gnu.org>
4395
4396 * w32bdf.c, w32bdf.h: Remove obsolete files.
4397
4398 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4399
4400 * w32gui.h: Don't include w32bdf.h.
4401 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4402 Remove obsolete font support.
4403
4404 * w32font.h (struct w32font_info): Remove compat_w32_font.
4405 Add hfont member.
4406 (FONT_COMPAT): Remove obsolete macro.
4407
4408 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4409 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4410 (w32font_open_internal): Remove compat code. Set new hfont member.
4411 (Fx_select_font): Use new hfont member.
4412
4413 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4414 (uniscribe_encode_char): Use new hfont member.
4415
4416 * w32term.c (x_draw_glyph_string_foreground)
4417 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4418 (x_draw_glyph_string): Use metrics in w32font_info.
4419
44202008-06-26 Kenichi Handa <handa@m17n.org>
4421
4422 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4423
44242008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4425
4426 * unexnext.c:
4427 * m/ews4800.h:
4428 * m/hp9000s300.h:
4429 * m/ibm370aix.h:
4430 * m/mips-siemens.h:
4431 * m/ncr386.h:
4432 * m/next.h:
4433 * m/pmax.h:
4434 * m/powerpcle.h:
4435 * m/tandem-s2.h:
4436 * s/386bsd.h:
4437 * s/bsd386.h:
4438 * s/bsd4-1.h:
4439 * s/bsd4-2.h:
4440 * s/bsdos2-1.h:
4441 * s/bsdos2.h:
4442 * s/bsdos3.h:
4443 * s/bsdos4.h:
4444 * s/nextstep.h:
4445 * s/ultrix4-3.h:
4446 * s/usg5-0.h:
4447 * s/usg5-2-2.h:
4448 * s/usg5-2.h:
4449 * s/usg5-4-3.h:
4450 * s/ux4800.h:
4451 * s/uxpds.h:
4452 * s/uxpv.h: Remove support for obsolete systems.
4453 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4454 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4455 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4456 Remove, insert contents in s/aix4-2.h.
4457 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4458 * s/bsd4-3.h: Rename to ...
4459 * s/bsd-common.h: ... this.
4460 * data.c:
4461 * doc.c:
4462 * ecrt0.c:
4463 * emacs.c:
4464 * fileio.c:
4465 * floatfns.c:
4466 * keyboard.c:
4467 * mem-limits.h:
4468 * print.c:
4469 * process.c:
4470 * sysdep.c:
4471 * syssignal.h:
4472 * systty.h:
4473 * syswait.h:
4474 * term.c:
4475 * unexec.c:
4476 * unexelf.c:
4477 * unexhp9k800.c:
4478 * m/hp800.h:
4479 * m/ibmrs6000.h:
4480 * m/mips.h:
4481 * m/vax.h:
4482 * s/darwin.h:
4483 * s/freebsd.h:
4484 * s/gnu.h:
4485 * s/ms-w32.h:
4486 * s/msdos.h:
4487 * s/netbsd.h:
4488 * s/template.h: Remove references to obsolete variables.
4489
4490 * Makefile.in: Add dependencies for all unexec files.
4491 (admindir): Remove unused variable.
4492 (UNEXEC_SRC): Remove references.
4493
44942008-06-25 Chong Yidong <cyd@stupidchicken.com>
4495
4496 * xfns.c (x_default_font_parameter): If Xft is available, first
4497 try Monospace-12 for the default font.
4498
44992008-06-25 Jason Rumney <jasonr@gnu.org>
4500
4501 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4502
45032008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4504
4505 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4506
4507 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4508
45092008-06-25 Juanma Barranquero <lekktu@gmail.com>
4510
4511 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4512 <scroll-conservatively>: Fix typo in docstring.
4513
4514 * xselect.c (Fx_send_client_event): Doc fix.
4515
45162008-06-25 Kenichi Handa <handa@m17n.org>
4517
4518 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4519
4520 * font.c (font_parse_fcname): Remove unused variables.
4521 (font_sort_entites): Delete the arg SPEC. Caller changed.
4522 Fix for the case of ! best_only.
4523 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4524
4525 * lisp.h (Fstring_to_unibyte): EXFUN it.
4526
4527 * character.h (str_to_unibyte): Extern it.
4528
4529 * character.c (str_to_unibyte): New function.
4530
4531 * fns.c (Fstring_to_unibyte): New function.
4532 (syms_of_fns): Defsubr it.
4533
45342008-06-24 Kenichi Handa <handa@m17n.org>
4535
4536 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4537 DPI too.
4538 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4539
45402008-06-24 Andreas Schwab <schwab@suse.de>
4541
4542 * Makefile.in (${lispsource}loaddefs.el): Rename from
4543 ../lisp/loaddefs.el.
4544 (bootstrap-clean): Do what distclean does but don't remove
4545 Makefile.
4546 (distclean): Depend on bootstrap-clean and remove Makefile.
4547
45482008-06-24 Chong Yidong <cyd@stupidchicken.com>
4549
4550 * buffer.h (struct buffer): New member word_wrap.
4551
4552 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4553 word-wrap.
4554 (init_buffer_once): Initialize them.
4555
4556 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4557 line_wrap enum possessing three possible values.
4558
4559 * termopts.h: Replace truncate_partial_width_windows with
4560 Vtruncate_partial_width_windows.
4561
4562 * dispnew.c (direct_output_for_insert): Avoid direct output when
4563 inserting a space with word wrap on.
4564
4565 * indent.c (compute_motion): Obey integer values of
4566 truncate-partial-width-windows.
4567
4568 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4569 replacing truncate_partial_width_windows.
4570 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4571 truncate only if the window width is below that integer.
4572 (start_display, resize_mini_window, produce_stretch_glyph)
4573 (display_string, move_it_in_display_line_to): Use line_wrap.
4574 (back_to_previous_visible_line_start, reseat_1): Reset
4575 string_from_display_prop_p.
4576 (display_line): Extend default face to end of line when wrapping.
4577
45782008-06-24 Kim F. Storm <storm@cua.dk>
4579
4580 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4581 to wrap continued lines at word boundaries.
4582
45832008-06-24 Jason Rumney <jasonr@gnu.org>
4584
4585 * font.c (Ffont_face_attributes): Multiply pixel size before point
4586 conversion to avoid multiplying rounding error.
4587
45882008-06-23 Jason Rumney <jasonr@gnu.org>
4589
4590 * w32term.c (x_draw_glyph_string_background)
4591 (x_draw_glyph_string): Remove old bdf font code.
4592
4593 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4594
45952008-06-22 Kenichi Handa <handa@m17n.org>
4596
4597 * font.c (font_find_for_lface): Try the adstyle specified in
4598 the property of LFACE_FONT of LFACE (if any).
4599
46002008-06-21 Seiji Zenitani <zenitani@mac.com>
4601 Ryo Yoshitake <ryo@shiftmode.net>
4602
4603 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4604
46052008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4606
4607 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4608 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4609 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4610 (witness-emacs): Remove.
4611 (lisp, shortlisp): Move loaddefs.el earlier.
4612 (mostlyclean): Forget about witness-emacs.
4613
46142008-06-22 Glenn Morris <rgm@gnu.org>
4615
4616 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4617 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4618
46192008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4620
4621 * Makefile.in (PRECOMP): Remove.
4622 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4623 (witness-emacs): Run `compile-first'.
4624 (.el.elc): Use the new compile-onefile target.
4625
46262008-06-21 Kenichi Handa <handa@m17n.org>
4627
4628 * xftfont.c (xftfont_open): Handle QCembolden only when
4629 FC_EMBOLDEN is defined.
4630
46312008-06-21 Andreas Schwab <schwab@suse.de>
4632
4633 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4634 (.el.elc): Likewise.
4635
46362008-06-21 Miles Bader <miles@gnu.org>
4637
4638 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4639 build dir, not the lisp source dir.
4640
46412008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4642
4643 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4644 (bootstrapclean): Remove.
4645 (.el.elc): New rule.
4646 (PRECOMP): New var.
4647 (../lisp/subdirs.el): Remove.
4648 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4649 (witness-emacs): New target.
4650 (mostlyclean): Remove witness-emacs as well.
4651 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4652 Add witness-emacs dependency.
4653
46542008-06-20 Chong Yidong <cyd@stupidchicken.com>
4655
4656 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4657 defined by the font.
4658
46592008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4660
4661 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4662 (bootstrap-clean): New target that keeps TAGS around.
4663 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4664 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4665
46662008-06-20 Jason Rumney <jasonr@gnu.org>
4667
4668 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4669 Remove obsolete font code.
4670
4671 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4672 to determine language support.
4673
46742008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4675
4676 * sysdep.c (cfsetspeed): New fun extracted from the code.
4677 (cfmakeraw): Move before first use.
4678
46792008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4680
4681 * sysdep.c (cfmakeraw): Provide fallback implementation.
4682 (serial_configure): Provide fallback implementation of cfsetspeed.
4683
46842008-06-20 Kenichi Handa <handa@m17n.org>
4685
4686 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4687 the pattern.
4688
4689 * fontset.c (fontset_from_font): Copy font_spec before changing
4690 the elements.
4691
4692 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4693
46942008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4695
4696 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4697 for explicit `font' parameters.
4698
4699 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4700
47012008-06-19 Kenichi Handa <handa@m17n.org>
4702
4703 * frame.c: Include <ctype.h>.
4704 (x_set_font_backend): Allow spacing characters in the X resource
4705 for FontBackend.
4706
47072008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4708
4709 * w32fns.c, xfns.c (Qfont_param): New var.
4710 (syms_of_w32fns): Initialize it.
4711 (x_default_font_parameter): Record explicit `font' into
4712 `font-parameter'.
4713
47142008-06-18 Kenichi Handa <handa@m17n.org>
4715
4716 * font.c (font_parse_xlfd): Fix previous change.
4717 (font_parse_fcname): Don't use :fc-unknown-spec.
4718 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4719 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4720 (font_add_log): Prepend the driver name to the resulting fonts.
4721
4722 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4723 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4724 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4725
4726 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4727 (QCembolden): New variables.
4728 (syms_of_xftfont): DEFSYM them.
4729 (xftfont_open): Call XftFontMatch. Don't trust the result of
4730 XftTextExtents8 if the pixel_size is less than 5.
4731
47322008-06-18 Andreas Schwab <schwab@suse.de>
4733
4734 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4735 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4736
47372008-06-18 Jason Rumney <jasonr@gnu.org>
4738
4739 * w32font.c (w32font_list, w32font_match): Add logging.
4740
4741 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4742
47432008-06-17 Chong Yidong <cyd@stupidchicken.com>
4744
4745 * font.c (font_parse_fcname): Store divider characters for
4746 unknown-spec list. For known key symbols, intern using correct
4747 symbol name.
4748
47492008-06-17 Kenichi Handa <handa@m17n.org>
4750
4751 * xfaces.c (realize_default_face): If the frame is not on window
4752 system, set the fontset of face to nil.
4753
47542008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4755
4756 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4757
47582008-06-16 Juanma Barranquero <lekktu@gmail.com>
4759
4760 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4761 (build_font_name_from_vector): Delete externs.
4762
4763 * xfaces.c (struct font_name): Don't declare.
4764
47652008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4766
4767 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4768
47692008-06-16 Chong Yidong <cyd@stupidchicken.com>
4770
4771 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4772
47732008-06-16 Juanma Barranquero <lekktu@gmail.com>
4774
4775 * font.c (Ffont_spec): Fix usage in docstring.
4776 (Ffont_face_attributes): Doc fix.
4777
47782008-06-16 Andreas Schwab <schwab@suse.de>
4779
4780 * font.c (Ffont_face_attributes): Fix definition.
4781
47822008-06-16 Jason Rumney <jasonr@gnu.org>
4783
4784 * font.h (font_style_symbolic_from_value): Remove.
4785
4786 * font.c (font_style_symbolic_from_value): Remove.
4787 (font_style_symbolic): Revert to pre 2008-06-13 version.
4788
4789 * w32font.c (w32_to_fc_weight): New function.
4790 (w32font_full_name, logfont_to_fcname): Use it.
4791
47922008-06-16 Kenichi Handa <handa@m17n.org>
4793
4794 * font.c (font_check_object): Delete it.
4795 (font_clear_cache): Check if a font-object is alive.
4796 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4797 font-object to nil.
4798 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4799 (font_at): Don't call font_check_object.
4800 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4801
48022008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4803
4804 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4805
48062008-06-16 Chong Yidong <cyd@stupidchicken.com>
4807
4808 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4809
48102008-06-15 Chong Yidong <cyd@stupidchicken.com>
4811
4812 * font.c (font_parse_fcname): Only one decimal point.
4813 (font_unparse_fcname): Handle data in family and foundry indices
4814 as symbols, not strings.
4815 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4816
4817 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4818
4819 * font.h (font_unparse_gtkname): Add prototype.
4820
48212008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4822
4823 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4824
48252008-06-15 Andreas Schwab <schwab@suse.de>
4826
4827 * font.c (font_update_drivers): Fix crash when no drivers match.
4828
48292008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4830
4831 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4832 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4833
48342008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4835
4836 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4837
48382008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4839
4840 * process.c (Fserial_process_configure, Fprocess_send_eof):
4841 Use EQ to compare Lisp_Objects.
4842
48432008-06-13 Jason Rumney <jasonr@gnu.org>
4844
4845 * w32fns.c (Fw32_select_font): Remove old font API function.
4846
4847 * w32font.c (logfont_to_fcname): New function.
4848 (Fx_select_font): New font dialog function compatible with
4849 GTK/fontconfig version.
4850
4851 * font.c (font_style_symbolic_from_value): New function.
4852 (font_style_symbolic): Use it.
4853
4854 * font.h (font_style_symbolic_from_value): Declare new function.
4855
48562008-06-13 Juanma Barranquero <lekktu@gmail.com>
4857
4858 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4859 <font-width-table>: Fix typos in docstrings.
4860
48612008-06-13 Daniel Engeler <engeler@gmail.com>
4862
4863 These changes add serial port access.
4864 * process.c: Add HAVE_SERIAL.
4865 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4866 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4867 (list_processes_1, select_wrapper, Fstop_process)
4868 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4869 (status_notify): Modify to handle serial processes.
4870 [HAVE_SERIAL] (Fserial_process_configure)
4871 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4872 New functions.
4873 * process.h (struct Lisp_Process): Add `type'.
4874 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4875 New functions.
4876 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4877 serial ports.
4878 (serial_open, serial_configure) New functions.
4879 * w32.h: Add FILE_SERIAL.
4880 (struct _child_process): Add ovl_read, ovl_write.
4881
48822008-06-13 Kenichi Handa <handa@m17n.org>
4883
4884 * dispextern.h (enum lface_attribute_index): New member
4885 LFACE_FOUNDRY_INDEX.
4886
4887 * font.c (font_score): Delete arg alternate_families. Check only
4888 weight, slant, width, and size. Ignore the difference of alias
4889 style symbols.
4890 (font_sort_entites): Adjust for the above change. Reflect the
4891 order of font-driver to scores.
4892 (font_list_entities): Don't check alternate_familes here.
4893 (font_clear_prop): Handle foundry.
4894 (font_update_lface): Don't parse "foundry-family" form here.
4895 Handle FONT_FOUNDRY_INDEX.
4896 (font_find_for_lface): Likewise. Handle alternate families here.
4897 If registry is nil, try iso8859-1 and ascii-0.
4898 (font_open_for_lface): Pay attention to size in ENTITY.
4899 (font_open_by_name): Simplify by calling font_load_for_lface.
4900 (free_font_driver_list): Delete it.
4901 (font_update_drivers): Preserve the order of backends.
4902 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4903 of font_score and font_sort_entites.
4904 (font_update_sort_order): Likewise.
4905
4906 * xfaces.c (LFACE_FOUNDRY): New macro.
4907 (check_lface_attrs): Check foundry.
4908 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4909 (merge_face_vectors): Check foundry.
4910 (merge_face_ref): Likewise.
4911 (Finternal_set_lisp_face_attribute): Likewise.
4912 (x_update_menu_appearance): Likewise.
4913 (Finternal_get_lisp_face_attribute): Likewise.
4914 (lface_hash): Likewise.
4915 (lface_same_font_attributes_p): Likewise.
4916 (x_supports_face_attributes_p): Likewise.
4917 (tty_supports_face_attributes_p): Likewise.
4918 (Finternal_set_alternative_font_family_alist): Intern strings.
4919 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4920 (realize_default_face): Set LFACE_FOUNDRY (lface).
4921
4922 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4923 font-driver at first.
4924
4925 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4926
49272008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4928
4929 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4930
49312008-06-12 Jim Meyering <meyering@redhat.com>
4932
4933 Make unexec_free handle NULL the same way free does.
4934 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4935
49362008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4937
4938 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4939 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4940 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4941 (WEAK_ALIAS): Simplify.
4942 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4943 when searching a unibyte buffer.
4944
49452008-06-12 Chong Yidong <cyd@stupidchicken.com>
4946
4947 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4948
49492008-06-12 Juanma Barranquero <lekktu@gmail.com>
4950
4951 * w32font.c: Include ctype.h.
4952
49532008-06-11 Jason Rumney <jasonr@gnu.org>
4954
4955 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4956 misreported as space.
4957 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4958 as aliases for registry iso10646-1.
4959
49602008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4961
4962 * buffer.c (clone_per_buffer_values): Skip `name'.
4963
49642008-06-11 Chong Yidong <cyd@stupidchicken.com>
4965
4966 * font.c (font_parse_fcname): Fix last change; accept decimal
4967 points in font size.
4968
49692008-06-10 Jason Rumney <jasonr@gnu.org>
4970
4971 * w32uniscribe.c (add_opentype_font_name_to_list):
4972 Skip non unicode fonts.
4973
49742008-06-10 Chong Yidong <cyd@stupidchicken.com>
4975
4976 * xfns.c (Fx_font_dialog): New function.
4977
4978 * gtkutil.c (xg_dialog_response_cb): Rename from
4979 xg_file_response_callback.
4980 (pop_down_dialog): Rename from pop_down_file_dialog.
4981 (xg_get_file_name): Callers changed.
4982 (xg_get_font_name): New function.
4983
4984 * gtkutil.h (xg_get_font_name): Insert prototype.
4985
49862008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4987
4988 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4989 x_underline_minimum_display_offset.
4990 (syms_of_xdisp): Declare it here rather than in xterm.c.
4991 * dispextern.h (underline_minimum_offset): Declare it.
4992 * w32term.c (x_draw_glyph_string): Use it.
4993 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4994 (syms_of_xterm): Don't declare it any more.
4995 (x_draw_glyph_string): Adjust to the new name.
4996
49972008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4998
4999 * xterm.c (x_underline_minimum_display_offset): New var.
5000 (x_draw_glyph_string): Use it.
5001 (syms_of_xterm): Declare it.
5002
50032008-06-10 Chong Yidong <cyd@stupidchicken.com>
5004
5005 * font.c (font_parse_fcname): Accept GTK-style font names too.
5006
50072008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5008
5009 * dired.c (file_name_completion): Don't return t if the match is exact
5010 but with different capitalization.
5011 * minibuf.c (Ftry_completion): Simplify.
5012
5013 * window.c (Vwindow_point_insertion_type): New var.
5014 (set_window_buffer): Use it.
5015 (syms_of_window): Init and export it to Lisp.
5016
50172008-06-10 Kenichi Handa <handa@m17n.org>
5018
5019 * font.h (font_intern_prop): Prototype adjusted.
5020
5021 * font.c (font_intern_prop): New arg force_symbol.
5022 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5023 Adjust for the change of font_intern_prop.
5024
5025 * ftfont.c (ftfont_pattern_entity):
5026 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5027 (w32_registry):
5028 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5029 the change of font_intern_prop.
5030
50312008-06-09 Juanma Barranquero <lekktu@gmail.com>
5032
5033 * w32menu.c (digest_single_submenu): Declare extern.
5034
50352008-06-09 Jason Rumney <jasonr@gnu.org>
5036
5037 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5038
5039 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5040 (parse_single_submenu): Remove.
5041 (digest_single_submenu): Remove.
5042 (syms_of_w32menu): Don't initialise variables that have moved
5043 to menu.c.
5044 (set_frame_menubar): Sync with version in xmenu.c.
5045 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5046
5047 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5048 Make static again.
5049
50502008-06-09 Jason Rumney <jasonr@gnu.org>
5051
5052 Changes to w32 files related to the move of common menu code
5053 to menu.c on 2008-06-08 by Chong Yidong.
5054
5055 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5056 defs to w32gui.h.
5057 (single_keymap_panes, push_menu_item, push_menu_pane):
5058 Make globally visible.
5059
5060 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5061 (local_free, malloc_widget_value, free_widget_value)
5062 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5063 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5064 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5065 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5066 (menu_items, menu_items_allocated, menu_items_used)
5067 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5068 (init_menu_items, finish_menu_items, discard_menu_items)
5069 (grow_menu_items, push_submenu_start, push_submenu_end)
5070 (push_left_right_boundary, push_menu_pane, push_menu_item)
5071 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5072 (free_menubar_widget_tree_value, parse_single_submenu)
5073 (update_submenu_strings): Remove functions.
5074 (xmalloc_widget_value): Remove and declare extern.
5075
5076 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5077 (OBJ1): Build it.
5078
5079 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5080 (local_heap, local_alloc, local_free, malloc_widget_value)
5081 (free_widget_value): Define here.
5082
50832008-06-09 Kenichi Handa <handa@m17n.org>
5084
5085 * font.h (Qascii_0): Extern it.
5086
5087 * font.c (Qascii_0): New variable.
5088 (syms_of_font): DEFSYM it.
5089 (font_open_by_name): If the registry "iso8859-1" fails, try also
5090 "ascii-0".
5091
5092 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5093
50942008-06-08 Kenichi Handa <handa@m17n.org>
5095
5096 * .gdbinit (xfont): New command.
5097
50982008-06-08 Andreas Schwab <schwab@suse.de>
5099
5100 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5101 * Makefile.in (menu.o): Update dependencies.
5102
5103 * Makefile.in (obj): Always add menu.o.
5104 * emacs.c (main): Always call syms_of_menu.
5105 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5106
51072008-06-08 Chong Yidong <cyd@stupidchicken.com>
5108
5109 * Makefile.in: Compile menu.c.
5110
5111 * lisp.h: Declare syms_of_menu.
5112
5113 * emacs.c (main): Call syms_of_menu.
5114
5115 * keyboard.h: Relocate platform-independent menu definitions from
5116 xmenu.c.
5117
5118 * menu.c: New file. Relocate platform-independent menu
5119 definitions from xmenu.c. Suggested by Adrian Robert.
5120
5121 * xmenu.c: Remove platform-independent menu definitions.
5122 (menu_items menu_items_inuse, menu_items_allocated)
5123 (menu_items_used, menu_items_n_panes)
5124 (menu_items_submenu_depth): Move to keyboard.h.
5125 (init_menu_items, finish_menu_items, unuse_menu_items)
5126 (discard_menu_items, restore_menu_items, save_menu_items)
5127 (grow_menu_items, push_submenu_start, push_submenu_end)
5128 (push_left_right_boundary, push_menu_pane, push_menu_item)
5129 (keymap_panes, single_keymap_panes, single_menu_item)
5130 (list_of_panes, list_of_items, find_and_call_menu_selection)
5131 (xmalloc_widget_value, free_menubar_widget_value_tree)
5132 (parse_single_submenu, digest_single_submenu)
5133 (update_submenu_strings): Move to menu.c.
5134
51352008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5136
5137 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5138
51392008-06-06 Miles Bader <miles@gnu.org>
5140
5141 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5142 face, not frame default.
5143
51442008-06-05 Martin Rudalics <rudalics@gmx.at>
5145
5146 * window.c (pop_up_windows, pop_up_frames)
5147 (display_buffer_reuse_frames, Vpop_up_frame_function)
5148 (Vdisplay_buffer_function, Veven_window_heights)
5149 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5150 (Vspecial_display_function, Vsame_window_buffer_names)
5151 (Vsame_window_regexps, split_height_threshold)
5152 (Vsplit_window_preferred_function): Move those vars to window.el.
5153 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5154 (Fdisplay_buffer): Move those functions to window.el.
5155 (syms_of_window): Remove corresponding declarations.
5156 (display_buffer): New function.
5157 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5158 * dispnew.c (Flast_nonminibuf_frame): New function.
5159 * buffer.c (Fpop_to_buffer): Move to window.el.
5160
51612008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5162
5163 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5164
51652008-06-05 Kenichi Handa <handa@m17n.org>
5166
5167 * coding.c (detect_coding): Fix previous change.
5168 (detect_coding_system): Likewise.
5169
51702008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5171
5172 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5173
5174 * keymap.c (Vminibuffer_local_filename_must_match_map):
5175 Rename from Vminibuffer_local_must_match_filename_map.
5176 (syms_of_keymap):
5177 * minibuf.c (Fcompleting_read): Adjust accordingly.
5178 * commands.h: Rename declaration as well.
5179
51802008-06-05 Kenichi Handa <handa@m17n.org>
5181
5182 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5183 family name.
5184 (Ffont_put): Likewise.
5185
5186 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5187 current font-spec.
5188
5189 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5190 is unspecified.
5191
5192 * xfaces.c (realize_x_face): If the font-related face attributes
5193 are the same as those of default face, realize a new fontset from
5194 default->fontset.
5195 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5196
51972008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5198
5199 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5200 (move_it_in_display_line): New wrapper.
5201
5202 * window.c (window_scroll_pixel_based_preserve_x)
5203 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5204 (window_scroll_pixel_based, window_scroll_line_based):
5205 Use them to preserve column positions.
5206 (syms_of_window): Initialize them.
5207
5208 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5209 (HPOS . VPOS) pair.
5210
5211 * dispextern.h (move_it_in_display_line): Declare.
5212
52132008-06-05 Juanma Barranquero <lekktu@gmail.com>
5214
5215 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5216 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5217 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5218
52192008-06-04 Juanma Barranquero <lekktu@gmail.com>
5220
5221 * window.c (Fset_window_parameter): Doc fix.
5222 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5223
52242008-06-04 Joakim Verona <joakim@verona.se>
5225
5226 * window.h (struct window): Add new member window_parameters.
5227
5228 * window.c (Fwindow_parameters, Fwindow_parameter)
5229 (Fset_window_parameter): New defuns.
5230 (syms_of_window): Defsubr the new defuns.
5231 (make_window): Initialize window_parameters to nil.
5232
52332008-06-04 John Paul Wallington <jpw@pobox.com>
5234
5235 * eval.c (Fdefmacro): Doc fix.
5236
52372008-06-04 Kenichi Handa <handa@m17n.org>
5238
5239 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5240 Be sure to call setup_coding_system when we find a proper coding system.
5241 (detect_coding_system): Fix handling of coding->head_ascii.
5242
52432008-06-03 Andreas Schwab <schwab@suse.de>
5244
5245 * font.c (font_prop_validate_spacing): Fix last change.
5246
52472008-06-03 Kenichi Handa <handa@m17n.org>
5248
5249 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5250 (font_parse_fcname): Fix handling of unknown key.
5251
5252 * xfont.c (xfont_list): Try an alias.
5253
5254 * charset.c (char_charset): Return NULL if the arg charset_list is
5255 specified and C doesn't belong to any of them.
5256
52572008-06-02 Chip Coldwell <coldwell@redhat.com>
5258
5259 * font.c (font_pixel_size): Don't take cdr of an integer.
5260
52612008-06-02 Jim Meyering <meyering@redhat.com>
5262
5263 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5264 * alloc.c (xfree): Return right away for a NULL arg.
5265 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5266 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5267 * mac.c (create_apple_event_from_event_ref): Likewise.
5268 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5269 Likewise.
5270 * doprnt.c (doprnt1): Likewise.
5271 * frame.c (frame): Likewise.
5272 * keyboard.c (wipe_kboard): Likewise.
5273 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5274 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5275 * term.c (tty_default_color_capabilities, maybe_fatal)
5276 (delete_tty): Likewise.
5277 * w16select.c (string): Likewise.
5278 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5279 * w32bdf.c (w32_free_bdf_font): Likewise.
5280 * w32fns.c (w32_unload_font): Likewise.
5281 * w32font.c (w32font_close): Likewise.
5282 * window.c (size_window): Likewise.
5283 * xselect.c (receive_incremental_selection): Likewise.
5284 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5285 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5286 * w32.c (stat): Likewise.
5287
5288 Remove useless if-before-free tests.
5289 * editfns.c (Fset_time_zone_rule): Likewise.
5290 * lread.c (nosuffix): Likewise.
5291 * ralloc.c (get_bloc): Likewise.
5292 * regex.c (reg_free): Likewise.
5293 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5294 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5295 * xsmfns.c (smc_save_yourself_CB): Likewise.
5296
52972008-06-02 Kenichi Handa <handa@m17n.org>
5298
5299 * font.c (font_find_for_lface): Handle float font size.
5300 (font_open_for_lface): Likewise.
5301
5302 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5303 comparing the properties.
5304
53052008-06-01 Jason Rumney <jasonr@gnu.org>
5306
5307 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5308 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5309 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5310 Don't add empty script list.
5311 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5312
53132008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5314
5315 * Makefile.in (dot, dotdot): Remove, update users.
5316 ".." has been used elsewhere in the file for a long time.
5317 (LIBXT_STATIC): Remove conditional based on unused variable.
5318
53192008-06-01 Miles Bader <miles@gnu.org>
5320
5321 * xfaces.c (Vface_remapping_alist): New variable.
5322 (syms_of_xfaces): Initialize it.
5323 (enum named_merge_point_kind): New type.
5324 (struct named_merge_point): Add `named_merge_point_kind' field.
5325 (push_named_merge_point): Make cycle detection respect different
5326 named-merge-point kinds.
5327 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5328 Remove face-name alias resolution.
5329 (lface_from_face_name): New definition using
5330 `lface_from_face_name_no_resolve'.
5331 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5332 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5333 (get_lface_attributes): New definition that layers face-remapping on
5334 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5335 (lookup_basic_face): New function.
5336 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5337 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5338 `get_lface_attributes'.
5339 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5340 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5341 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5342
5343 * xdisp.c (init_iterator): Pass base_face_id through
5344 `lookup_basic_face' when we actually use it as a face-id.
5345 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5346 DEFAULT_FACE_ID.
5347
5348 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5349 lookup the initial face-id.
5350
5351 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5352
53532008-06-01 Juanma Barranquero <lekktu@gmail.com>
5354
5355 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5356 (Fremove_text_properties): Fix typos in docstrings.
5357
53582008-05-31 Kenichi Handa <handa@m17n.org>
5359
5360 * font.c (font_list_entities): Fix the car part of data to be
5361 stored in the cache.
5362
5363 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5364
53652008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5366
5367 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5368 Add a `test' argument so another predicate than `equal' can be used.
5369 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5370 (map_char_table): Remove unused vars `c' and `i'.
5371 * lisp.h (Foptimize_char_table): Adjust declaration.
5372 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5373
53742008-05-30 Kenichi Handa <handa@m17n.org>
5375
5376 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5377 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5378 defined.
5379
53802008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5381
5382 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5383 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5384 frame-local settings for the same variable.
5385
53862008-05-30 Kenichi Handa <handa@m17n.org>
5387
5388 * fontset.c (Ffont_info): Move to font.c.
5389 (syms_of_fontset): Delete defsubr of Sfont_info.
5390
5391 * font.c (font_style_to_value, font_score): Delete casting of the
5392 args to xstcasecmp.
5393 (register_font_driver): Increment num_font_drivers only when
5394 registering the driver globally.
5395 (Ffont_info): Move from fontset.c. Handle a font object too.
5396 (syms_of_font): Defsubr Sfont_info.
5397
53982008-05-29 Kenichi Handa <handa@m17n.org>
5399
5400 * coding.h (enum define_coding_utf8_arg_index): New enum.
5401 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5402 coding_attr_utf_bom.
5403 (enum utf_bom_type): Rename from utf_16_bom_type.
5404 (struct utf_16_spec): Adjust for the above change.
5405 (struct coding_system): Add utf_8_bom in `spec' union.
5406
5407 * coding.c (CODING_UTF_8_BOM): New macro.
5408 (enum coding_category): Delete coding_category_utf_8, add
5409 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5410 coding_category_utf_8_sig.
5411 (CATEGORY_MASK_UTF_8): Delete it.
5412 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5413 (CATEGORY_MASK_UTF_8_SIG): New macros.
5414 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5415 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5416 CATEGORY_MASK_UTF_8_SIG.
5417 (CATEGORY_MASK_UTF_8): New macro.
5418 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5419 (detect_coding_utf_8): Check BOM.
5420 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5421 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5422 (encode_coding_utf_16): Likewise.
5423 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5424 (detect_coding, detect_coding_system): Handle utf-8-auto.
5425 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5426 (syms_of_coding): Fix setting up of Vcoding_category_table.
5427
54282008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5429
5430 * process.c (Faccept_process_output): If `millisec' is non-nil,
5431 `seconds' default to 0.
5432 (wait_reading_process_output): Also return non-nil if we read output
5433 from a non-running process.
5434
54352008-05-29 Jason Rumney <jasonr@gnu.org>
5436
5437 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5438 `raster' specified.
5439 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5440 in the uniscribe backend, but disallow any font that has no
5441 unicode subrange support.
5442
54432008-05-29 Juanma Barranquero <lekktu@gmail.com>
5444
5445 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5446 Fix typos in docstrings.
5447
54482008-05-29 Kenichi Handa <handa@m17n.org>
5449
5450 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5451 (Fx_family_fonts): Set frame correctly.
5452
54532008-05-28 Jason Rumney <jasonr@gnu.org>
5454
5455 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5456
54572008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5458
5459 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5460 calling build_annotations.
5461
54622008-05-28 Juanma Barranquero <lekktu@gmail.com>
5463
5464 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5465 (Fencode_coding_string):
5466 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5467 <latin-extra-code-table>: Fix typos in docstrings.
5468 (syms_of_coding) <coding-system-alist>: Doc fix.
5469 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5470
54712008-05-28 Kenichi Handa <handa@m17n.org>
5472
5473 * fontset.c (Ffont_info): Don't call font_close_object.
5474
5475 * font.c (font_parse_family_registry): Use Ffont_put to validate
5476 foundry and family.
5477 (font_delete_unmatched): Don't check spacing.
5478 (font_list_entities): Add spacing to the spec to list fonts.
5479
5480 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5481 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5482
5483 * coding.c (encode_coding_raw_text): Fix previous change.
5484 (encode_coding_object): When the dst_object is a buffer and is
5485 different from src_object, move gap to PT.
5486
54872008-05-27 Chong Yidong <cyd@stupidchicken.com>
5488
5489 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5490
54912008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5492
5493 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5494 all branches. Compute it differently.
5495
5496 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5497
54982008-05-27 Juanma Barranquero <lekktu@gmail.com>
5499
5500 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5501 into "else if () ... else ...".
5502
55032008-05-27 Jason Rumney <jasonr@gnu.org>
5504
5505 * w32font.c (w32font_open_internal): Determine if glyph indices
5506 are likely to work here.
5507
55082008-05-27 Chong Yidong <cyd@stupidchicken.com>
5509
5510 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5511 draw overlap glyphs with appropriate highlighting.
5512
55132008-05-27 Kenichi Handa <handa@m17n.org>
5514
5515 * xfont.c (xfont_open): Fix calculation of font->average_width.
5516
55172008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5518
5519 * casefiddle.c (casify_object): Try to guess better whether the
5520 argument is a byte or a char.
5521
55222008-05-26 Andreas Schwab <schwab@suse.de>
5523
5524 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5525 Always send multiples of format size.
5526
5527 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5528
55292008-05-26 Jason Rumney <jasonr@gnu.org>
5530
5531 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5532 (compute_metrics): Don't set failure if we just cleared the cache.
5533 (w32_weight_table): Remove unused variable.
5534 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5535 backwards compatibility.
5536
55372008-05-25 Kenichi Handa <handa@m17n.org>
5538
5539 * w32term.c (x_draw_glyph_string):
5540 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5541
5542 * xfaces.c: Delete unused function prototypes.
5543 (xstrlwr, font_frame): Delete them.
5544 (clear_face_cache): Delete unused variable.
5545
5546 * xftfont.c (xftfont_open): Delete unused variable.
5547 If underline_thickness is not 1, adjust underline_position.
5548
5549 * ftxfont.c (ftxfont_open): Delete unused variable.
5550
5551 * fontset.c (face_for_char): Optimize for the case of no charset
5552 property.
5553
5554 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5555 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5556 (otf_open, font_otf_capability, generate_otf_features)
5557 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5558 Comment out by surrounding "#if 0" and "#endif" for the moment.
5559 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5560 (syms_of_font): Codes for accessing above commented out.
5561
55622008-05-24 Eli Zaretskii <eliz@gnu.org>
5563
5564 * w32proc.c: Include dispextern.h.
5565
5566 * w32.c: Include dispextern.h.
5567
55682008-05-23 Juanma Barranquero <lekktu@gmail.com>
5569
5570 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5571 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5572 Fix typos in docstrings.
5573
55742008-05-23 Jason Rumney <jasonr@gnu.org>
5575
5576 * xsmfns.c: Remove includes that are already included by config.h.
5577
55782008-05-23 Kenichi Handa <handa@m17n.org>
5579
5580 * charset.c (Qemacs, charset_emacs): New variables.
5581 (char_charset): Fix for non-Unicode characters.
5582 (syms_of_charset): Define charset_emacs.
5583
5584 * w32term.c (x_draw_glyph_string): Be sure to update
5585 s->underline_thickness and s->underline_position. Be sure to draw
5586 underline within the current line area.
5587
5588 * xterm.c (x_draw_glyph_string): Be sure to update
5589 s->underline_thickness and s->underline_position. Be sure to draw
5590 underline within the current line area.
5591
5592 * fontset.c: Delete unused variables and add casting for char *
5593 throughout the file.
5594 (fontset_font): Try the fallback fonts of the current fontset
5595 before consulting the default fontset.
5596
5597 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5598
5599 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5600
56012008-05-22 Jason Rumney <jasonr@gnu.org>
5602
5603 * font.c: Don't include strings.h.
5604
5605 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5606
5607 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5608 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5609 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5610 to call xstrcasecmp.
5611
5612 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5613
5614 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5615
5616 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5617
5618 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5619
56202008-05-22 Kenichi Handa <handa@m17n.org>
5621
5622 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5623
5624 * font.c (font_prop_validate_style): Adjust for the format
5625 change of font_style_table.
5626
5627 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5628 two args.
5629
5630 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5631 two args.
5632
56332008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5634
5635 * minibuf.c (keys_of_minibuf): Delete.
5636 * lisp.h (keys_of_minibuf): Delete.
5637 * emacs.c (main): Don't call keys_of_minibuf.
5638
56392008-05-22 Kenichi Handa <handa@m17n.org>
5640
5641 * ftfont.c (ftfont_resolve_generic_family): Rename from
5642 ftfont_list_generic_family. Return a single family for each
5643 generic family.
5644 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5645 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5646 Call font_add_log.
5647 (ftfont_match): Call font_add_log.
5648
5649 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5650 (FONT_DEBUG): Define it.
5651 (font_add_log): Extern it.
5652 (font_assert): Rename from xassert.
5653
5654 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5655 (xfont_list_family): Call font_add_log.
5656 (xfont_match): Likewise.
5657 (memq_no_quit): Delete.
5658
5659 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5660 call of Ffont_xlfd_name.
5661
5662 * xfaces.c (struct table_entry, slant_table, weight_table)
5663 (swidth_table): Move to font.c.
5664
5665 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5666 xassert are changed to font_assert. Delete many unused variables.
5667 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5668 New variables.
5669 (struct table_entry): Move from xfaces.c and modified.
5670 (weight_table, slant_table, width_table): Move from xfaces.c and
5671 contents adjusted for the change of struct table_entry.
5672 (font_style_to_value, font_style_symbolic): Adjust for the
5673 format change of font_style_table.
5674 (font_parse_family_registry): Don't overwrite existing foundry and
5675 family of font_spec.
5676 (font_score): Fix calculation of diff for sizes.
5677 (font_sort_entites): Call font_add_log.
5678 (font_delete_unmatched): Return a newly created list.
5679 (font_list_entities): Fix previous change. Call font_add_log.
5680 (font_matching_entity, font_open_entity, font_close_entity):
5681 Call font_add_log.
5682 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5683 (Finternal_set_font_style_table): Delete.
5684 (BUILD_STYLE_TABLE): New macro.
5685 (build_style_table): New function.
5686 (Vfont_log, font_log_env_checked): New variables.
5687 (font_add_log): New function.
5688 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5689 Declare Lisp variables "font-weight-table", "font-slant-table",
5690 "font-width-table", and "font-log". Initialize font_style_table.
5691
56922008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5693
5694 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5695
56962008-05-21 Seiji Zenitani <zenitani@mac.com>
5697 Ryo Yoshitake <ryo@shiftmode.net>
5698
5699 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5700 (Vframe_alpha_lower_limit): New variable.
5701 (x_set_alpha): New function.
5702
5703 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5704
5705 * xfns.c (x-create-frame, Qalpha):
5706 Initialize the frame parameter `alpha'.
5707 * xterm.c (OPAQUE, OPACITY): New.
5708 (x_set_frame_alpha): New function.
5709 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5710
5711 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5712 * w32fns.c (w32_frame_parm_handlers): Likewise.
5713
57142008-05-20 Jason Rumney <jasonr@gnu.org>
5715
5716 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5717 truetype fonts to opentype list.
5718
57192008-05-20 Juanma Barranquero <lekktu@gmail.com>
5720
5721 * fontset.c (Ffontset_info): Doc fix.
5722 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5723 <ignore-relative-composition>: Fix typos in docstrings.
5724
5725 * font.c (syms-of-font) <font-encoding-alist>:
5726 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5727 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5728 (Ffont_otf_alternates): Doc fixes.
5729
57302008-05-20 Kenichi Handa <handa@m17n.org>
5731
5732 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5733 font.h through out the file.
5734 (FONT_DRIVERS): Rename from FONTOBJ.
5735 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5736 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5737
5738 * emacs.c (main): Call syms_of_font unconditionally.
5739
5740 * font.h (find_font_encoding): Extern it.
5741
5742 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5743 fontset.c.
5744 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5745 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5746 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5747 only when HAVE_WINDOW_SYSTEM is defined.
5748 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5749 when HAVE_WINDOW_SYSTEM is defined.
5750
5751 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5752 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5753
5754 * xfaces.c: Include font.h unconditionally.
5755 (merge_face_ref, merge_face_vectors)
5756 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5757
57582008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5759
5760 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5761 indirect_variable.
5762 * eval.c (lisp_indirect_variable): New fun.
5763 (Fuser_variable_p): Use it.
5764
57652008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5766
5767 * lisp.h (indirect_variable):
5768 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5769 Use Lisp_Symbol pointers rather than Lisp_Object.
5770 Adjust callers.
5771 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5772 To this end, change calling-convention.
5773
5774 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5775 if some non-hidden buffers are selected by string&pred.
5776
57772008-05-19 Chong Yidong <cyd@stupidchicken.com>
5778
5779 * process.c (wait_reading_process_output): Always check status
5780 when in batch mode.
5781
57822008-05-19 Kenichi Handa <handa@m17n.org>
5783
5784 * font.c (font_list_entities): Fix handling of cache.
5785 (font_matching_entity): Likewise.
5786
5787 * ftfont.c (cs_iso8859_1): Delete.
5788 (ft_face_cache): New variable.
5789 (struct ftfont_info): New member fc_charset_idx.
5790 (ftfont_build_basic_charsets): Delete.
5791 (fc_charset_table): New variable.
5792 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5793 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5794 Callers changed.
5795 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5796 (ftfont_spec_pattern): New argument fc_charset_idx.
5797 Check registry more rigidly. Change callers.
5798 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5799 change of :font-entity property of the font.
5800
5801 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5802 property of the font.
5803
58042008-05-18 Juanma Barranquero <lekktu@gmail.com>
5805
5806 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5807 (Funencodable_char_position, Fcheck_coding_systems_region)
5808 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5809 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5810 (Ffind_operation_coding_system, Fset_coding_system_priority)
5811 (Fcoding_system_eol_type): Doc fixes.
5812
58132008-05-17 Glenn Morris <rgm@gnu.org>
5814
5815 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5816
58172008-05-16 Eli Zaretskii <eliz@gnu.org>
5818
5819 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5820 and st_gid.
5821
5822 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5823 HAVE_WINDOW_SYSTEM is not defined.
5824
5825 * xfaces.c (merge_face_ref, merge_face_vectors)
5826 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5827 HAVE_WINDOW_SYSTEM is defined.
5828 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5829
58302008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5831
5832 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5833
58342008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5835
5836 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5837
58382008-05-15 Kenichi Handa <handa@m17n.org>
5839
5840 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5841 preference.
5842
58432008-05-15 Glenn Morris <rgm@gnu.org>
5844
5845 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5846
58472008-05-15 Chong Yidong <cyd@stupidchicken.com>
5848
5849 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5850 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5851
5852 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5853
58542008-05-15 Kenichi Handa <handa@m17n.org>
5855
5856 * ftfont.c (ftfont_list): Downcase family name to check generic
5857 families.
5858
5859 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5860 font-spec for QCfont value.
5861
5862 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5863 buffer. Check the return value of it.
5864
58652008-05-14 Jason Rumney <jasonr@gnu.org>
5866
5867 * w32term.c (w32_get_glyph_overhangs): Remove.
5868 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5869
58702008-05-14 Kenichi Handa <handa@m17n.org>
5871
5872 * font.c (font_prop_validate): Make nil a valid value.
5873 (font_clear_cache): Check if the cached vector of entities is nil
5874 or not.
5875
58762008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5877
5878 * emacs.c (main_thread): Conditionalize on
5879 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5880 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5881
5882 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5883 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5884 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5885
58862008-05-14 Kenichi Handa <handa@m17n.org>
5887
5888 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5889 has no corresponding coding system.
5890
58912008-05-14 Jason Rumney <jasonr@gnu.org>
5892
5893 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5894
5895 * w32font.h (w32font_open_internal): Update declaration.
5896
5897 * w32font.c (w32font_open_internal): Change last argument from
5898 w32font_info struct to font object. Fill in font object from
5899 font_entity. Get Outline metrics if possible. Use them to
5900 calculate underline position and thickness. Use xlfd name as name
5901 property. Don't set codepage.
5902 (w32font_open): Pass font_object to w32font_open_internal. Don't
5903 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5904 (w32font_draw): Use s->font.
5905 (clear_cached_metrics): Don't clear non-existent blocks.
5906
5907 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5908 font was not found.
5909 (x_draw_glyph_string): Use underline position and thickness from font.
5910
5911 * w32uniscribe.c (uniscribe_open): Pass font_object to
5912 w32font_open_internal.
5913
59142008-05-14 Kenichi Handa <handa@m17n.org>
5915
5916 These changes are to delete all legacy font-handling codes, and
5917 make Emacs use only font-backends.
5918
5919 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5920 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5921
5922 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5923
5924 * charset.h (Vcharset_non_preferred_head)
5925 (Vcurrent_iso639_language): Extern them.
5926
5927 * charset.c (Vcharset_non_preferred_head): New variable.
5928 (Vcurrent_iso639_language): New variable.
5929 (syms_of_charset): Declare it as a Lisp variable.
5930 (char_charset): Don't check non preferred charsets. As a last
5931 resort, return charset_unicode.
5932 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5933
5934 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5935 conditionals. Don't check enable_font_backend. Delete all codes
5936 used only when USE_FONT_BACKEND is not defined.
5937
5938 * dispextern.h (struct glyph_string): Change type of `font' to
5939 `struct font *'.
5940 (struct glyph_string): New member underline_position and
5941 underline_thickness.
5942 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5943 (struct face): Change type of `font' to `struct font *'. Remove
5944 members `font_name', `font_info_id'.
5945 (per_char_metric, encode_char): Delete externs.
5946 (calc_pixel_width_or_height): Adjust the prototype.
5947
5948 * emacs.c (enable_font_backend): Delete extern.
5949 (main): Don't set enable_font_backend. Don't check the command
5950 line argument "-disable-font-backend".
5951
5952 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5953 (enum font_property_index): New members FONT_DPI_INDEX,
5954 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5955 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5956 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5957 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5958 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5959 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5960 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5961 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5962 (struct font_spec, struct font_entity): New structs.
5963 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5964 (struct font): Many members from old "struct font_info" moved to
5965 here. Members font and entity deleted.
5966 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5967 the new font-related objects.
5968 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5969 (CHECK_FONT_GET_OBJECT): Likewise.
5970 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5971 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5972 (struct font_driver): New members case_sensitive anc check. Type
5973 of the member list and open changed.
5974 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5975 (font_symbolic_width, font_find_object, font_get_spec)
5976 (font_set_lface_from_name): Delete extern.
5977 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5978
5979 * font.c: Include <strings.h>.
5980 (enable_font_backend): Delete it.
5981 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5982 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5983 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5984 (null_string): Delete it.
5985 (null_vector): Make it static.
5986 (font_family_alist): Delete it.
5987 (Qnormal): Extern it.
5988 (QCextra, QClanguage): Delete it.
5989 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5990 (font_make_spec, font_make_entity, font_make_object)
5991 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5992 the string. Callers changed.
5993 (font_pixel_size): Adjusted for the format change of font-related
5994 objects.
5995 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5996 (font_style_to_value, font_style_symbolic): New function.
5997 (build_font_family_alist): Delete it.
5998 (font_registry_charsets): Use Fassoc_string instead of
5999 assq_no_quit.
6000 (font_prop_validate_symbol): Don't return null_string.
6001 (font_prop_validate_style): Adjusted for the change of
6002 style-related values in a font vector.
6003 (font_property_table): Delete entries for QClanguage and
6004 QCantialias, add entries for QCavgwidth.
6005 (get_font_prop_index): Delete the 2nd argument FROM.
6006 (font_prop_validate): Arguments changed.
6007 (font_put_extra): Adjusted for the change of font-related objects.
6008 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6009 (font_parse_fcname, font_unparse_fcname)
6010 (font_prepare_composition): Likewise.
6011 (font_parse_family_registry): Renamed from font_merge_old_spec.
6012 (otf_open): Delete the 1st arg entity.
6013 (font_otf_capability): Adjusted for the above change.
6014 (font_score): New arg alternate_families. Adjusted for the change
6015 of font-related objects.
6016 (font_sort_entites): New arg best_only.
6017 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6018 Delete them.
6019 (font_match_p): Check alternate families.
6020 (font_find_object): Delete it.
6021 (font_check_object): New function.
6022 (font_clear_cache): Adjusted for the change of font-related objects.
6023 (font_delete_unmatched): New arg.
6024 (font_list_entities): Call font_driver->list with a spec that
6025 doesn't specify style-related properties.
6026 (font_matching_entity): Arguments changed. Caller changed.
6027 (font_open_entity): Adjusted for the change of font-related objects.
6028 (font_close_object, font_has_char, font_encode_char)
6029 (font_get_name, font_get_spec): Likewise.
6030 (font_spec_from_name, font_clear_prop, font_update_lface):
6031 New functions.
6032 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6033 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6034 (font_at): Adjusted for the change of font-related objects.
6035 (font_range): New function.
6036 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6037 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6038 (Fcopy_font_spec, Fmerge_font_spec): New function.
6039 (Ffont_family_list): Renamed from list-families.
6040 (Finternal_set_font_style_table): Arguments changed.
6041 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6042 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6043 change of font-related objects.
6044 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6045
6046 * fontset.h (struct font_info): Delete it. Most members go to
6047 struct font.
6048 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6049 (enum FONT_SPEC_INDEX): Delete it.
6050 (font_info, list_fonts_func, load_font_func, query_font_func)
6051 (set_frame_fontset_func, find_ccl_program_func)
6052 (get_font_repertory_func, new_fontset_from_font_name): Delete
6053 externs.
6054 (fontset_from_font_name): Extern it.
6055 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6056 (FONT_INFO_FROM_FACE): Deleted.
6057 (face_for_font): Adjust prototype.
6058
6059 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6060 conditionals. Don't check enable_font_backend. Delete all codes
6061 used only when USE_FONT_BACKEND is not defined.
6062 (get_font_info_func, list_font_func, load_font_func)
6063 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6064 (get_font_repertory_func): Delete them.
6065 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6066 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6067 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6068 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6069 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6070 (fontset_compare_rfontdef): New function.
6071 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6072 rfont-defs by qsort. Adjusted for the change of font-group vector.
6073 (load_font_get_repertory): Deleted.
6074 (fontset_find_font): Use new macros to ref/set elements of
6075 font-def and rfont-def.
6076 (fontset_font): Fix the timing of remembering that no font for C.
6077 (free_face_fontset): Do nothing if the face has no fontset.
6078 (face_suitable_for_char_p): Use new macros to ref/set elements of
6079 rfont-def.
6080 (face_for_char): Likewise. Call face_for_char with font_object.
6081 (fs_load_font): Delete. Delete #pragma surrounding it.
6082 (fs_query_fontset): Use strcasecmp instead of strcmp.
6083 (generate_ascii_font_name): Adjusted for the format change of
6084 font-spec.
6085 (Fset_fontset_font): Likewise. Use new macros to set elements of
6086 font-def.
6087 (Fnew_fontset): Use font_unparse_xlfd to generate
6088 FONTSET_ASCII (fontset).
6089 (new_fontset_from_font_name): Deleted.
6090 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6091 a fontset is already created for the font. FIx updating of
6092 Vfontset_alias_alist.
6093 (fontset_ascii_font): Deleted.
6094 (Ffont_info): Adjusted for the format change of font-spec.
6095 (Finternal_char_font): Likewise.
6096 (Ffontset_info): Likewise.
6097 (syms_of_fontset): Don't check load_font_func.
6098
6099 * fns.c (internal_equal): Handle PREV_FONT.
6100
6101 * frame.h: Delete USE_FONT_BACKEND conditional.
6102
6103 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6104 conditionals. Don't check enable_font_backend. Delete all codes
6105 used only when USE_FONT_BACKEND is not defined.
6106 (x_set_font): Call x_new_font, not x_new_fontset2.
6107 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6108 already set for the frame.
6109
6110 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6111 a font-entity by font_make_entity. Use font_intern_prop instead
6112 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6113 font property. If a font is scalable, set avgwidth property to 0.
6114 Set font-entity property by font_put_extra.
6115 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6116 (ffont_driver): Adjusted for the change of struct font_driver.
6117 (ftfont_spec_pattern): New function.
6118 (ftfont_list): Return a list, not vector.
6119 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6120 (ftfont_list_family): Don't downcase names.
6121 (ftfont_free_entity): Deleted.
6122 (ftfont_open): Return a font-object. Adjusted for the change of
6123 struct font. Get underline_thickness and underline_position from
6124 font property. Don't update dpyinfo->smallest_font_height and
6125 dpyinfo->smallest_char_width.
6126 (ftfont_close): Don't free `struct font'.
6127 (ftfont_has_char): Adjusted for the format change of font-entity.
6128 (ftfont_encode_char, ftfont_text_extents): Likewise.
6129
6130 * ftxfont.c (ftxfont_list): Return a list, not vector.
6131 (ftxfont_open): Return a font-object. Adjusted for the change of
6132 struct font. Get underline_thickness and underline_position from
6133 font property. Don't update dpyinfo->smallest_font_height and
6134 dpyinfo->smallest_char_width.
6135 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6136 (ftxfont_draw): Adjusted for the change of struct font.
6137
6138 * image.c (image_ascent): Don't include "charset.h". Include
6139 "character.h" and "font.h".
6140
6141 * lisp.h (enum pvec_type): New member PREV_FONT.
6142 (Fassoc_string): EXFUN it.
6143
6144 * print.c: Include font.h.
6145 (print_object): Handle font-related objects.
6146
6147 * xdisp.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.
6150 (handle_auto_composed_prop): Do nothing if it->f is not on a
6151 window system. Check how many following characters can be
6152 displayed by the same font.
6153 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6154 'struct font *'.
6155 (get_char_face_and_encoding): Assign the whole encoding task to
6156 the `encode-char' method of a font driver.
6157 (fill_composite_glyph_string): Adjusted for the change of `struct
6158 face' and `struct glyph_string'.
6159 (fill_glyph_string): Likewise.
6160 (get_per_char_metric): Arguments changed.
6161 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6162 and `struct glyph_string'.
6163 (produce_stretch_glyph, calc_line_height_property)
6164 (x_produce_glyphs): Likewise.
6165
6166 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6167 conditionals. Don't check enable_font_backend. Delete all codes
6168 used only when USE_FONT_BACKEND is not defined. Use
6169 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6170 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6171 (Qp): Extern them.
6172 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6173 Deleted.
6174 (struct font_name): Deleted.
6175 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6176 (compare_fonts_by_sort_order): New function.
6177 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6178 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6179 Deleted.
6180 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6181 compare_fonts_by_sort_order.
6182 (Fx_font_family_list): Call Ffont_family_list.
6183 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6184 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6185 (face_symbolic_slant, face_symbolic_swidth)
6186 (split_font_name_into_vector, build_font_name_from_vector)
6187 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6188 (font_rescale_ratio, split_font_name, build_font_name)
6189 (free_font_names, sort_fonts, x_face_list_fonts)
6190 (face_font_available_p, sorted_font_list, cmp_font_names)
6191 (font_list_1, concat_font_list, font_list, remove_duplicates):
6192 Deleted.
6193 (Fx_list_fonts): Use Ffont_list.
6194 (LFACE_AVGWIDTH): Deleted.
6195 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6196 by FONTP.
6197 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6198 (set_lface_from_font_name): Delete it.
6199 (set_lface_from_font): Renamed from
6200 set_lface_from_font_and_fontset. Caller changed. Don't set
6201 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6202 for face.
6203 (merge_face_vectors): Copy font-spec if necessary.
6204 Clear properties of the font-spec if necessary.
6205 (merge_face_ref): Clear properties of the font-spec if necessary.
6206 (Finternal_set_lisp_face_attribute): Likewise.
6207 (set_font_frame_param): Use font_load_for_lface to load a
6208 font-object, and call Fmodify_frame_parameters with it.
6209 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6210 font name by Ffont_xlfd_name.
6211 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6212 QCslant, and QCwidth.
6213 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6214 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6215 Compare fonts by EQ.
6216 (lookup_non_ascii_face): Deleted.
6217 (face_for_font): The 2nd argument changed.
6218 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6219 Check atomic font properties by case insensitive.
6220 (realize_non_ascii_face): Set face->overstrike correctly.
6221 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6222 (dump_realized_face): Get font name from
6223 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6224
6225 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6226 conditionals. Don't check enable_font_backend. Delete all codes
6227 used only when USE_FONT_BACKEND is not defined.
6228 (xic_create_xfontset): Original code deleted and renamed from
6229 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6230 (x_make_gc): Don't set GCFont in GCs.
6231 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6232 opened by "fixed".
6233 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6234 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6235 get_font_repertory_func.
6236
6237 * xfont.c: Include <stdlib.h> and "ccl.h".
6238 (struct xfont_info): New structure.
6239 (xfont_query_font): Deleted.
6240 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6241 moved from xterm.c.
6242 (xfont_driver): Adjusted for the change of struct font_driver.
6243 (compare_font_names): New function.
6244 (xfont_list_pattern): Sort font names case insensitively. Make
6245 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6246 (xfont_list): Return a list, not vector.
6247 (xfont_match): If the font doesn't have QCname property, generate
6248 a name from the other font properties.
6249 (xfont_open): Return a font-object. Adjusted for the change of
6250 struct font. Get underline_thickness and underline_position from
6251 font property. Don't update dpyinfo->smallest_font_height and
6252 dpyinfo->smallest_char_width.
6253 (xfont_close): Don't free struct font.
6254 (xfont_prepare_face): Adjusted for the change of struct font.
6255 (xfont_done_face): Deleted.
6256 (xfont_has_char): Adjusted for the change of struct font.
6257 (xfont_encode_char, xfont_draw): Likewise.
6258 (xfont_check): New function.
6259
6260 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6261 callback function.
6262 (xftfont_match): Adjusted for the format change of font-entity.
6263 (xftfont_open): Adjusted for the format change of font-entity and
6264 font-object. Adjusted for the change of struct font. Return a
6265 font-object. Don't update dpyinfo->smallest_font_height and
6266 dpyinfo->smallest_char_width.
6267 (xftfont_close): Block input while calling XftFontClose.
6268 (xftfont_prepare_face): Don't block input while calling
6269 xftfont_get_colors. Adjusted for the change of struct font.
6270 (xftfont_shape): Return value of error case fixed.
6271
6272 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6273
6274 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6275 conditionals.
6276 (FONT_WIDTH): Return (f)->max_width.
6277 (struct x_display_info): Delete member `font'.
6278 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6279 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6280 (struct x_output): Change type of `font' to `struct font *'.
6281
6282 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6283 conditionals. Don't check enable_font_backend. Delete all codes
6284 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6285 (x_per_char_metric, x_encode_char): Deleted.
6286 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6287 (x_compute_glyph_string_overhangs): Adjusted for the change of
6288 `struct face'.
6289 (x_draw_glyph_string_foreground)
6290 (x_draw_composite_glyph_string_foreground): Likewise.
6291 (x_draw_glyph_string): Likewise. Use font->underline_position and
6292 font->underline_thickness.
6293 (x_new_font): Renamed from x_new_fontset2.
6294 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6295 (x_check_font): Call `check' method of a font driver.
6296 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6297 (x_query_font, x_get_font_repertory): Deleted.
6298 (x_find_ccl_program): Renamed and moved to xfont.c.
6299 (x_redisplay_interface): Adjusted for the change of `struct
6300 redisplay_interface'.
6301
6302 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6303 conditionals. Don't check enable_font_backend. Delete all codes
6304 used only when USE_FONT_BACKEND is not defined. Surround non-used
6305 code by "#ifdef OLD_FONT" and "endif".
6306 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6307
6308 * w32font.h (struct w32font_info): New member.
6309 (FONT_COMPAT): New macro.
6310 (w32font_open_internal): Prototype adjusted.
6311
6312 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6313 OLD_FONT" and "endif".
6314
6315 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6316 conditionals. Don't check enable_font_backend. Delete all codes
6317 used only when USE_FONT_BACKEND is not defined.
6318 (w32font_open): Return a font-object. Make a font-object by
6319 font_make_object. Adjusted for the change of struct w32font_info.
6320 (w32font_close): Don't free struct font. Adjusted for the change
6321 of struct w32font_info.
6322 (w32font_encode_char, w32font_text_extents, w32font_draw):
6323 Adjusted for the change of struct w32font_info.
6324 (w32font_draw): Likewise.
6325 (w32font_list_internal): Return a list, not vector.
6326 (w32font_open_internal): Change the 4th arg to font-object.
6327 Adjusted for the change of struct w32font_info and font-object format.
6328 (add_font_name_to_list): Don't downcase names.
6329 (w32_enumfont_pattern_entity): Make a font-entity by
6330 font_make_entity. Adjusted for the format change of font-entity.
6331 Use FONT_SET_STYLE to set a style-related font property. If a
6332 font is scalable, set avgwidth property to 0. Set font-entity
6333 property by font_put_extra.
6334 (font_matches_spec): Adjusted for the format change of font-entity.
6335 (w32_weight_table, w32_decode_weight): New variables.
6336 (w32_encode_weight): New function.
6337 (fill_in_logfont): Adjusted for the format change of font-spec.
6338 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6339 weight value.
6340 (w32font_driver): Adjusted for the change of struct font_driver.
6341
6342 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6343 conditionals. Don't check enable_font_backend. Surround non-used
6344 code by "#ifdef OLD_FONT" and "endif".
6345 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6346 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6347
6348 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6349 conditionals. Don't check enable_font_backend. Delete all codes
6350 used only when USE_FONT_BACKEND is not defined. Surround non-used
6351 code by "#ifdef OLD_FONT" and "endif".
6352
6353 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6354 (uniscribe_open): Return value changed to font-object.
6355 Adjusted for the format change of font-object.
6356 (uniscribe_otf_capability): Adjusted for the change of struct font.
6357 (add_opentype_font_name_to_list): Don't downcase names.
6358 (uniscribe_font_driver): Adjusted for the change of struct
6359 font_driver.
6360
63612008-05-13 Chong Yidong <cyd@stupidchicken.com>
6362
6363 * dispnew.c (update_frame_1): Check if tty output is still valid
6364 before flushing it.
6365
63662008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6367
6368 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6369 to Gtk+ menus.
6370
63712008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6372
6373 * dired.c (file_name_completion): Tweak the code so as to always do it
6374 in a single pass. Tighten the scope of some variables.
6375
6376 * dired.c (Qdefault_directory): New var.
6377 (file_name_completion): Use it instead of Fexpand_file_name.
6378 (syms_of_dired): Initialize it.
6379
63802008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6381
6382 * fileio.c (double_dollars): Remove dead code.
6383
63842008-05-10 Eli Zaretskii <eliz@gnu.org>
6385
6386 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6387 Mention w32-get-true-file-attributes in doc string.
6388
6389 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6390
63912008-05-09 Glenn Morris <rgm@gnu.org>
6392
6393 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6394 2008-04-23.
6395
63962008-05-09 Eli Zaretskii <eliz@gnu.org>
6397
6398 Support for reporting owner and group of each file on MS-Windows:
6399 * dired.c (stat_uname, stat_gname): New functions, with special
6400 implementation for w32.
6401 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6402
6403 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6404 (dflt_group_name): New static variable.
6405 (dflt_group): Rename from the_group.
6406 (init_user_info): Init dflt_group fields. Get user's group name
6407 from LookupAccountSid.
6408 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6409 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6410 New initialization states.
6411 (globals_of_w32): Initialize them to zero. Initialize the default
6412 group name to "None".
6413 (GetFileSecurity_Name): New global var, the name of the function
6414 to call for GetFileSecurity.
6415 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6416 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6417 (get_file_security, get_security_descriptor_owner)
6418 (get_security_descriptor_group, is_valid_sid)
6419 (get_file_security_desc, get_rid, get_name_and_id)
6420 (get_file_owner_and_group): New functions.
6421 (stat): Use get_file_security_desc and get_file_owner_and_group to
6422 report the owner and primary group of each file. Don't ignore the
6423 high 32 bits of file's size, now that st_size is 64-bit wide.
6424 Fix test when to get true file attributes.
6425 (init_user_info): Use get_rid instead of equivalent inline code.
6426 (fstat): Don't ignore the high 32 bits of file's size.
6427
64282008-05-09 Chong Yidong <cyd@stupidchicken.com>
6429
6430 * image.c (png_load): Use correct bit-depth for setting background
6431 color.
6432
64332008-05-08 Eli Zaretskii <eliz@gnu.org>
6434
6435 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6436 epa-hook.elc.
6437
64382008-05-08 Juanma Barranquero <lekktu@gmail.com>
6439
6440 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6441
64422008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6443
6444 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6445 because the original parameters are in pure storage now.
6446 (mac_window): Remove unused params. Update callers.
6447
64482008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6449
6450 * lread.c (substitute_object_recurse): Use lower-level primitives.
6451 Don't signal errors when traversing sub-char-tables.
6452 Don't loop over all the possible characters when traversing char-tables.
6453
6454 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6455 just like we do in print.c.
6456
64572008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6458
6459 * minibuf.c (Ftry_completion): Remove code left over from when we used
6460 scmp instead of Fcompare_strings.
6461
64622008-05-04 Juanma Barranquero <lekktu@gmail.com>
6463
6464 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6465
64662008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6467
6468 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6469 Create bitmap context in native byte order.
6470
6471 * macterm.c (XDrawLine)
6472 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6473 context in native byte order.
6474
64752008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6476
6477 * config.in: Regenerate.
6478
6479 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6480 New definitions for Image I/O support.
6481 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6482 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6483 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6484 (mac_data_provider_release_data, image_load_image_io)
6485 [USE_MAC_IMAGE_IO]: New functions.
6486 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6487 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6488 (init_image_func_pointer) [MAC_OSX]: Remove function.
6489 (image_load_quartz2d) [MAC_OSX]: Check availability of
6490 CGImageCreateWithPNGDataProvider at compile time.
6491 Use lowercase `false' for boolean constant.
6492 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6493 Use image_load_image_io.
6494 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6495 Don't check MyCGImageCreateWithPNGDataProvider.
6496 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6497 Don't call init_image_func_pointer.
6498
6499 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6500
6501 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6502 Make variable non-static.
6503 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6504 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6505
6506 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6507 (RED_FROM_ULONG): Mask off higher bits.
6508 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6509
6510 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6511 Include AvailabilityMacros.h.
6512 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6513 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6514
65152008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6516
6517 * chartab.c (Fset_char_table_range): If range is t, really set all
6518 chars to that value.
6519
65202008-05-03 Eli Zaretskii <eliz@gnu.org>
6521
6522 * dired.c (Ffile_attributes): Don't allow the device number become
6523 negative.
6524
65252008-05-02 Daiki Ueno <ueno@unixuser.org>
6526
6527 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6528
65292008-05-02 Juri Linkov <juri@jurta.org>
6530
6531 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6532 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6533 DEFAULT argument as a list of default values in docstrings.
6534
65352008-05-01 Chong Yidong <cyd@stupidchicken.com>
6536
6537 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6538
65392008-05-01 Martin Rudalics <rudalics@gmx.at>
6540
6541 * dispnew.c (change_frame_size_1): Preserve small windows when
6542 shrinking frames by calling set_window_height|width with third
6543 arg 2.
6544
6545 * window.h (struct window): Replace field too_small_ok by field
6546 resize_proportionally.
6547
6548 * window.c (make_window): Initialize resize_proportionally.
6549 (enlarge_window): Temporarily set resize_proportionally to make
6550 sure that shrink_windows does scale the window proportionally.
6551 (shrink_windows): When window has resize_proportionally set try
6552 to shrink it proportionally by stealing from other windows.
6553 (struct saved_window, Fset_window_configuration)
6554 (compare_window_configurations): Handle resize_proportionally.
6555 (WINDOW_TOTAL_SIZE): New macro.
6556 (window_min_size, shrink_windows, size_window): Use it.
6557 (check_min_window_sizes): Remove. Invalid values of
6558 window-min-height|width are handled by window_min_size_2 now.
6559 (size_window, Fsplit_window, enlarge_window)
6560 (adjust_window_trailing_edge, grow_mini_window): Don't call
6561 check_min_window_sizes.
6562 (window_min_size_2, window_min_size_1, window_min_size):
6563 New argument safe_p for retrieving "safe" minimum sizes.
6564 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6565 (adjust_window_trailing_edge, grow_mini_window):
6566 Adjust arguments of window_min_size... functions.
6567 (shrink_windows): Argument min_size removed. New argument
6568 safe_p allows shrinking windows to their safe minimum sizes.
6569 Calculate minimum size and decide whether a window shall be
6570 deleted for each window individually.
6571 (size_window): When nodelete_p equals 2, tell shrink_windows to
6572 delete windows only if their new minimum size is no more safe.
6573 (shrink_window_lowest_first): Call window_min_size_1 to make
6574 sure to preserve modeline of bottom-most window when resizing
6575 the minibuffer.
6576 (Fset_window_configuration, Fcurrent_window_configuration)
6577 (compare_window_configurations): Do not handle
6578 window-min-height|width any more.
6579 (syms_of_window): Clarify window-min-height|width doc-strings.
6580
65812008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6582
6583 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6584 some more. Copy some of the code from Ftry_completions.
6585 Remove special case code that dates back to initial revision when the
6586 slash was only added when necessary and that can't trigger nowadays.
6587
65882008-04-27 Kenichi Handa <handa@m17n.org>
6589
6590 * font.c (font_prop_validate): Signal `error' instead of `font'.
6591
65922008-04-29 Jason Rumney <jasonr@gnu.org>
6593
6594 * w32fns.c (Fw32_battery_status): New defun.
6595 (syms_of_w32fns): Defsubr it.
6596
65972008-04-28 Andreas Schwab <schwab@suse.de>
6598
6599 * dired.c (file_name_completion): Fix another mixing of encoded
6600 and decoded names.
6601
66022008-04-28 Juanma Barranquero <lekktu@gmail.com>
6603
6604 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6605
66062008-04-27 Juanma Barranquero <lekktu@gmail.com>
6607
6608 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6609
66102008-04-27 Andreas Schwab <schwab@suse.de>
6611
6612 * dired.c (file_name_completion): Fix inappropriate mixing of
6613 encoded and decoded names.
6614
6615 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6616
6617 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6618
66192008-04-26 Eli Zaretskii <eliz@gnu.org>
6620
6621 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6622 2008-03-31, it's not needed anymore with `struct stat' definition
6623 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6624 for the same reasons.
6625
66262008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6627
6628 * m/sparc.h: Additional redefinitions for GNU/Linux.
6629
66302008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6631
6632 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6633 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6634 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6635 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6636 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6637 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6638 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6639 Likewise.
6640
6641 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6642 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6643 (mac_ax_number_of_characters): Add externs.
6644 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6645 [USE_MAC_TSM]: Likewise.
6646 (mac_handle_text_input_event) [MAC_OSX]:
6647 Handle kEventTextInputOffsetToPos for no active input area case.
6648 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6649 (mac_handle_document_access_event)
6650 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6651 (install_application_handler) [MAC_OSX]: Register handlers for
6652 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6653 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6654 Register mac_handle_document_access_event.
6655
6656 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6657 Make functions non-static.
6658
66592008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6660
6661 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6662 (read_file_name_completion_ignore_case, insert_default_directory)
6663 (Qdefault_directory): Move to minibuffer.el.
6664 (Fread_file_name): Call the new `read-file-name' instead.
6665
66662008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6667
6668 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6669 Make function non-static.
6670 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6671 Remove function.
6672 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6673 Move to mactoolbox.c.
6674 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6675
6676 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6677 (mac_rect_make): New macro.
6678
6679 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6680 instead of float.
6681 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6682 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6683 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6684 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6685 CGRectMake.
6686 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6687 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6688 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6689 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6690 instead of WindowRef in argument type.
6691 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6692 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6693 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6694 instead of DISPLAY. All uses changed.
6695 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6696 (x_calc_absolute_position): Simplify so as not to use
6697 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6698
6699 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6700 instead of WindowRef in argument type.
6701 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6702 [TARGET_API_MAC_CARBON]: Remove externs.
6703 (create_apple_event, mac_event_parameters_to_lisp)
6704 [TARGET_API_MAC_CARBON]: Add externs.
6705
6706 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6707 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6708 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6709 is clicked.
6710 (x_activate_menubar): Remove extern for saved_menu_event_location.
6711 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6712 Move from mac.c.
6713
67142008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6715
6716 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6717 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6718
67192008-04-23 Jason Rumney <jasonr@gnu.org>
6720
6721 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6722 attributes only for local files.
6723
6724 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6725 default to Qlocal.
6726
67272008-04-22 Juri Linkov <juri@jurta.org>
6728
6729 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6730 read-buffer-to-switch instead of using the letter "B".
6731
67322008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6733
6734 * fileio.c (Qdefault_directory): New variable.
6735 (Fread_file_name): Use it to pass `dir' to the completion functions.
6736
67372008-04-20 Chong Yidong <cyd@stupidchicken.com>
6738
6739 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6740
67412008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6742
6743 * keyboard.c (Vpre_help_message): Remove.
6744 (show_help_echo): Remove default C code.
6745
6746 * dired.c (directory_files_internal, file_name_completion):
6747 Only call ENCODE_FILE if the string is indeed decoded.
6748
67492008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6750
6751 * Makefile.in (TOOLKIT_DEFINES): Remove.
6752 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6753
67542008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6755
6756 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6757 (mactoolbox.o): New target.
6758
6759 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6760 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6761
6762 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6763 Use mac_set_frame_window_background instead of XSetWindowBackground.
6764 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6765 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6766 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6767 instead of SetWindowTitleWithCFString.
6768 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6769 Move function to mactoolbox.c.
6770 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6771 Use mac_set_window_modified instead of SetWindowModified.
6772 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6773 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6774 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6775 FrontNonFloatingWindow. Use mac_activate_window instead of
6776 ActivateWindow. Use mac_active_non_floating_window instead of
6777 ActiveNonFloatingWindow.
6778 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6779 Use mac_show_hourglass and mac_hide_hourglass.
6780 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6781 instead of GetGlobalMouse.
6782 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6783 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6784 Use mac_bring_window_to_front instead of BringToFront.
6785 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6786 mactoolbox.c.
6787 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6788 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6789 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6790 mactoolbox.c.
6791
6792 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6793 (XtPointer): Move typedef from macmenu.c.
6794 (enum button_type): Move enum from macmenu.c.
6795 (widget_value): Move typedef from macmenu.c.
6796 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6797 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6798 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6799 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6800 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6801 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6802 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6803 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6804 (Selection): Move typedef from macselect.c.
6805 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6806 macterm.c.
6807 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6808 (mac_is_window_collapsed, mac_bring_window_to_front)
6809 (mac_send_window_behind, mac_hide_window, mac_show_window)
6810 (mac_collapse_window, mac_front_non_floating_window)
6811 (mac_active_non_floating_window, mac_activate_window)
6812 (mac_move_window_structure, mac_move_window, mac_size_window)
6813 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6814
6815 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6816 (enum mac_menu_kind): Move enum to mactoolbox.c.
6817 (min_menu_id): Move variable to mactoolbox.c.
6818 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6819 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6820 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6821 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6822 [TARGET_API_MAC_CARBON]: Likewise.
6823 (XtPointer): Move typedef to macgui.h.
6824 (enum button_type): Move enum to macgui.h.
6825 (widget_value): Move typedef to macgui.h.
6826 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6827 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6828 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6829 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6830 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6831 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6832 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6833 (popup_activated_flag): Make variable non-static.
6834 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6835 (add_menu_item, fill_menu, dispose_menus):
6836 Move functions to mactoolbox.c.
6837 (restore_show_help_function, menu_target_item_handler)
6838 (install_menu_target_item_handler, mac_handle_dialog_event)
6839 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6840 [TARGET_API_MAC_CARBON]: Likewise.
6841 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6842 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6843 (find_and_call_menu_selection, name_is_separator): Make function
6844 non-static.
6845 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6846 to mactoolbox.c.
6847 (set_frame_menubar): Don't call install_menu_quit_handler.
6848 (menu_item_selection): New variable.
6849 (mac_menu_show): Use create_and_show_popup_menu.
6850 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6851 selection but set variable menu_item_selection. All uses changed.
6852 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6853 Call install_menu_quit_handler. Move to mactoolbox.c.
6854
6855 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6856 (Selection): Move typedef to macgui.h.
6857 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6858 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6859 Make variables non-static.
6860 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6861 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6862 Make functions non-static.
6863 (Vmac_service_selection) [MAC_OSX]: Likewise.
6864 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6865 (mac_valid_selection_target_p, mac_clear_selection)
6866 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6867 (mac_put_selection_value, mac_selection_has_target_p)
6868 (mac_get_selection_value, mac_get_selection_target_list)
6869 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6870 Move functions to mactoolbox.c.
6871 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6872 Likewise.
6873 (copy_scrap_flavor_data, mac_handle_service_event)
6874 (install_service_handler) [MAC_OSX]: Likewise.
6875 (syms_of_macselect) <Vmac_dnd_known_types>:
6876 Use mac_dnd_default_known_types.
6877
6878 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6879 Move to mactoolbox.c.
6880 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6881 (Fx_selection_owner_p): Add EXFUN.
6882 (install_window_handler, remove_window_handler, XSetWindowBackground):
6883 Remove externs.
6884 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6885 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6886 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6887 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6888 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6889 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6890 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6891 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6892 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6893 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6894 (mac_valid_selection_target_p, mac_clear_selection)
6895 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6896 (mac_put_selection_value, mac_selection_has_target_p)
6897 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6898 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6899 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6900 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6901 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6902 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6903 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6904 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6905 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6906
6907 * mactoolbox.c: New file.
6908
69092008-04-18 Jason Rumney <jasonr@gnu.org>
6910
6911 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6912
69132008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6914
6915 * character.c (Fmultibyte_char_to_unibyte):
6916 Return latin1 chars unchanged.
6917
6918 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6919 relocated if it points to `name'.
6920
69212008-04-17 Kenichi Handa <handa@m17n.org>
6922
6923 * data.c (Faset): Allow setting a multibyte character in an
6924 ASCII-only unibyte string.
6925
6926 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6927
69282008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6929
6930 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6931 done in config.h.
6932
69332008-04-16 Juanma Barranquero <lekktu@gmail.com>
6934
6935 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6936 (Fchar_direction): Add usage in the docstring.
6937
69382008-04-15 Chong Yidong <cyd@stupidchicken.com>
6939
6940 * keyboard.c (read_key_sequence): Remove always-true checks.
6941
69422008-04-14 Jason Rumney <jasonr@gnu.org>
6943
6944 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6945 compatibility struct, for better underline positioning.
6946
69472008-04-13 David Hansen <david.hansen@gmx.net>
6948
6949 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6950 string.
6951
69522008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6953
6954 * m/hp800.h (XUINT, XSET): Remove.
6955
69562008-04-12 Juanma Barranquero <lekktu@gmail.com>
6957
6958 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6959 previous change.
6960
69612008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6962
6963 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6964 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6965
69662008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6967
6968 * keymap.h (map_keymap_canonical): Declare.
6969 * xmenu.c (single_keymap_panes): Use it.
6970
69712008-04-11 Glenn Morris <rgm@gnu.org>
6972
6973 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6974 set the target's value to that of the alias.
6975
69762008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6977
6978 * term.c (set_tty_color_mode): Left over typo.
6979
69802008-04-10 Michael Albinus <michael.albinus@gmx.de>
6981
6982 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6983 only after check for file name handler functions. Signal, when
6984 native functionality is not supported.
6985 (syms_of_fileio): Declare it unconditionally.
6986
69872008-04-10 Jason Rumney <jasonr@gnu.org>
6988
6989 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6990 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6991
6992 * w32.c (logon_network_drive): Also logon to remote drives that
6993 are mapped to drive letters.
6994
69952008-04-10 Glenn Morris <rgm@gnu.org>
6996
6997 * xdisp.c (truncate-partial-width-windows): Doc fix.
6998
69992008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7000
7001 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7002 Move functions to minibuffer.el.
7003 (syms_of_fileio): Don't declare them.
7004
70052008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7006
7007 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7008 (syms_of_minibuf): Remove its initialization.
7009
7010 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7011
70122008-04-09 Juanma Barranquero <lekktu@gmail.com>
7013
7014 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7015
70162008-04-09 Jason Rumney <jasonr@gnu.org>
7017
7018 * makefile.w32-in (distclean): Delete makefile too.
7019 (maintainer-clean): New target.
7020
7021 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7022
7023 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7024 for new font backend and composite cases.
7025
70262008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7027
7028 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7029 Most of the code moved to run_timers.
7030 (do_pending_atimers): Call run_timers.
7031 (run_timers): New function.
7032
7033 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7034 run atimers.
7035
7036 * process.c (wait_reading_process_output): The same as above.
7037
70382008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7039
7040 * minibuf.c (last_exact_completion): Remove variable.
7041 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7042 (complete_and_exit_1, complete_and_exit_2)
7043 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7044 (Fdisplay_completion_list, display_completion_list_1)
7045 (Fminibuffer_completion_help, Fself_insert_and_exit)
7046 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7047 minibuffer.el.
7048 (syms_of_minibuf): Remove corresponding initializations.
7049
7050 * keyboard.c (Qdeactivate_mark): New var.
7051 (command_loop_1): Use it to call `deactivate-mark'.
7052 (syms_of_keyboard): Initialize it.
7053
7054 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7055 to another frame.
7056 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7057 Don't call set_tty_color_mode.
7058 (store_frame_param): Reset previous_frame rather than call
7059 set_tty_color_mode.
7060 * term.c (set_tty_color_mode): Rewrite.
7061 * dispextern.h (set_tty_color_mode): New type.
7062 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7063
70642008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7065
7066 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7067 for generic chars, which do not exist any more in emacs-unicode.
7068
70692008-04-08 Michael Albinus <michael.albinus@gmx.de>
7070
7071 * coding.c (detect_coding_emacs_mule)
7072 (Ffind_operation_coding_system): Fix typo.
7073
70742008-04-08 Jason Rumney <jasonr@gnu.org>
7075
7076 * w32uniscribe.c (SNAME): Extract only symbol name.
7077
7078 * w32font.h (struct w32_metric_cache): New struct.
7079 (w32font_info): Use it.
7080 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7081 (CACHE_BLOCKSIZE): New constants.
7082
7083 * w32font.c (Qja, Qko, Qzh): New symbols.
7084 (syms_of_w32font): Initialise them.
7085 (font_matches_spec): Use them to filter by language.
7086 (recompute_cached_metrics): Remove function.
7087 (compute_metrics, clear_cached_metrics): New functions.
7088 (w32font_encode_char): Use them to manage metric cache.
7089 (w32font_text_extents): Cache metrics for all glyphs on demand.
7090 Delay converting glyph indices to WORD until needed.
7091 (w32font_open_internal): Initialize metric cache to empty.
7092 (registry_to_w32_charset): Charset should always be a symbol.
7093 (fill_in_logfont, list_all_matching_fonts): Family should
7094 always be a symbol.
7095
70962008-04-06 Jason Rumney <jasonr@gnu.org>
7097
7098 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7099 Give up if glyph indices not supported. Use uniscribe obtained
7100 ABC widths for individual metrics. Map glyph clusters back to
7101 characters using fClusterStart flag. Return number of glyphs
7102 produced, not chars processed.
7103 (uniscribe_shape): Map char at FROM to current glyph.
7104
71052008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7106
7107 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7108 Use SetMenuItemHierarchicalMenu.
7109
71102008-04-05 Jason Rumney <jasonr@gnu.org>
7111
7112 * image.c (pbm_load): Allow color values up to 65535.
7113 Throw an error if max_color_idx is outside the supported range.
7114 Report an error when image size is invalid.
7115 Read two bytes at a time when raw images have max_color_idx above 255.
7116
71172008-04-05 Eli Zaretskii <eliz@gnu.org>
7118
7119 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7120 cFileName a file name that includes `?' characters, use the 8+3
7121 alias in cAlternateFileName instead.
7122
71232008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7124
7125 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7126 append "CCL: Quitted" when the CCL program is quitted.
7127 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7128
7129 * ccl.h (struct ccl_program): New member quit_silently.
7130
71312008-04-05 Chong Yidong <cyd@stupidchicken.com>
7132
7133 * search.c (compile_pattern_1): Treat non-nil and non-string of
7134 search-spaces-regexp as nil.
7135
7136 * minibuf.c (Fassoc_string): Tweak docstring.
7137
71382008-04-05 Eli Zaretskii <eliz@gnu.org>
7139
7140 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7141 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7142 2008-03-14 to force inode be positive.
7143
7144 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7145 _S_* ones, since we now use our own sys/stat.h.
7146 (stat, fstat): Don't mangle the inode number.
7147 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7148
71492008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7150
7151 * frame.h (struct frame): Give one more bit to `visible' since we use
7152 values larger than 1 to indicate obscured frames on ttys.
7153
7154 * keymap.c (Qkeymap_canonicalize): New var.
7155 (Fmap_keymap_internal): New fun.
7156 (describe_map): Use keymap-canonicalize.
7157
7158 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7159 (Fundo_boundary): Set them.
7160 (syms_of_undo): Initialize them.
7161 (record_point): Use them instead of last_point_position*.
7162 (last_undo_buffer): Change type.
7163
71642008-04-04 Jason Rumney <jasonr@gnu.org>
7165
7166 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7167 (recompute_cached_metrics): Don't set ascent and descent per char.
7168
7169 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7170 (uniscribe_check_otf): Add GC protection before consing.
7171 Rearrange loop for counting features.
7172
71732008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7174
7175 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7176 buffer with byte-size of source buffer.
7177
71782008-04-03 Chong Yidong <cyd@stupidchicken.com>
7179
7180 * callint.c (Fcall_interactively): Handle temporary region even
7181 when shift-select-mode is off.
7182
71832008-04-03 Jason Rumney <jasonr@gnu.org>
7184
7185 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7186
71872008-04-03 Kenichi Handa <handa@m17n.org>
7188
7189 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7190 (CATEGORY_MASK_UTF_16): Likewise.
7191 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7192 binary file.
7193 (detect_coding): Add null-byte detection for a binary file.
7194 (detect_coding_system): Likewise.
7195
71962008-04-03 Jason Rumney <jasonr@gnu.org>
7197
7198 * w32uniscribe.c: New file.
7199
7200 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7201
7202 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7203
7204 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7205 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7206 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7207 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7208 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7209 (Qphonetic): New symbols.
7210 (syms_of_w32font): Initialize them.
7211 (font_supported_scripts): Use them.
7212 (w32font_list_family): List all charsets.
7213 (w32font_text_extents, recompute_cached_metrics): Fix metric
7214 calculations.
7215 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7216 Give opentype fonts their own format.
7217 (font_matches_spec): New arguments backend and logfont.
7218 Handle :otf spec for uniscribe backend.
7219 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7220 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7221
7222 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7223 font backend.
7224 (globals_of_w32fns): Initialize uniscribe font backend.
7225
7226 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7227 dependencies.
7228 (w32uniscribe.$(O)): New file to build.
7229 (FONT_OBJ): Include w32uniscribe.$(O).
7230 (LIBS): Add uniscribe libraries.
7231
7232 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7233
72342008-04-02 Chong Yidong <cyd@stupidchicken.com>
7235
7236 * callint.c (Vshift_select_mode): New var.
7237 (Finteractive): Document new ^ spec.
7238 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7239 is present.
7240
7241 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7242 (command_loop_1): Avoid running the direct display versions of
7243 forward-char and backward-char if shift-selection may occur.
7244 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7245 shift-translation takes place.
7246
7247 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7248 avoid clobbering by define-minor-mode.
7249
7250 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7251 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7252
7253 * syntax.c (Fforward_word): Add ^ interactive spec.
7254
7255 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7256 (Fscroll_right): Add ^ interactive spec.
7257
72582008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7259
7260 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7261
7262 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7263
7264 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7265
72662008-03-31 Juri Linkov <juri@jurta.org>
7267
7268 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7269
72702008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7271
7272 * gtkutil.c (xg_set_geometry): Fix indentation.
7273 (xg_resize_outer_widget): Remove.
7274 (x_wm_size_hint_off): Fix indentation.
7275 (xg_frame_set_char_size): Call flush_and_sync after
7276 gtk_window_resize.
7277 (x_wm_set_size_hint): Pass NULL as geometry window to
7278 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7279 Add menu bar and tool bar height to base height.
7280 (xg_update_frame_menubar, free_frame_menubar)
7281 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7282 (update_frame_tool_bar, free_frame_tool_bar):
7283 Change xg_resize_outer_widget to xg_frame_set_char_size.
7284
72852008-03-30 Michael Albinus <michael.albinus@gmx.de>
7286
7287 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7288 (Fdbus_call_method): New parameter TIMEOUT.
7289 (dbus-send-signal): Optimize UNGCPRO call.
7290
72912008-03-29 Juri Linkov <juri@jurta.org>
7292
7293 * window.c (Fdisplay_buffer): Move call to
7294 Vsplit_window_preferred_function out of conditions that check
7295 if window is eligible for vertical splitting.
7296 When Vsplit_window_preferred_function is non-nil, call it and use
7297 its non-nil return value as window. Otherwise, continue doing
7298 vertical splitting using Fsplit_window with arg horflag=nil.
7299 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7300 default value from `split-window' to nil.
7301
73022008-03-29 Juri Linkov <juri@jurta.org>
7303
7304 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7305 for interactive code letters 'b' and 'B'.
7306
73072008-03-29 Eli Zaretskii <eliz@gnu.org>
7308
7309 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7310 multibyte string.
7311
73122008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7313
7314 * keyboard.c (pending_funcalls): New var.
7315 (timer_check): Run it.
7316 (syms_of_keyboard): Initialize it.
7317 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7318 (Vdelete_terminal_functions): New vars.
7319 (syms_of_terminal): Initialize them.
7320 (Fdelete_terminal): Run delete-terminal-functions.
7321 * xdisp.c (safe_eval): Rewrite.
7322 (safe_call2): New fun.
7323 * frame.c (Qdelete_frame_functions): New var.
7324 (syms_of_frame): Initialize it.
7325 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7326 * lisp.h (safe_call2, pending_funcalls): Declare.
7327
73282008-03-28 Andreas Schwab <schwab@suse.de>
7329
7330 * indent.c (Fmove_to_column): Move declaration before statements.
7331
73322008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7333
7334 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7335 (struct frame): Use bit fields for boolean vars.
7336
7337 * process.c (server_accept_connection): Simplify naming.
7338 (emacs_get_tty_pgrp): Use SDATA.
7339
7340 * coding.c (decode_coding_object): Fix last change.
7341
73422008-03-27 Jason Rumney <jasonr@gnu.org>
7343
7344 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7345
73462008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7347
7348 * charset.c (Fdefine_charset_internal): Change the way of
7349 registering charsets in Vcharset_order_list.
7350 (syms_of_charset): Make the charset `eight-bit' supplementary.
7351
73522008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7353
7354 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7355 operations, to avoid having the difference between pointers
7356 overflow.
7357
73582008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7359
7360 * indent.c (check_display_width): New fun.
7361 (scan_for_column): Use it.
7362
7363 * data.c (syms_of_data): Mark most-positive-fixnum and
7364 most-negative-fixnum as constants.
7365
7366 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7367
7368 * indent.c (scan_for_column): Extract from current_column_1.
7369 Merge with the same code from Fmove_to_column.
7370 (current_column_1, Fmove_to_column): Use it.
7371
73722008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7373
7374 * keymap.c (map_keymap_internal): New fun.
7375 (map_keymap): Use it.
7376 (Fmap_keymap_internal): New fun.
7377 (Fmap_keymap): Remove left-out test from before make_save_value.
7378
7379 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7380
7381 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7382 Use XCAR/XCDR.
7383
7384 * process.h (struct Lisp_Process): Remove filter_multibyte.
7385 * process.c (QCfilter_multibyte): Remove.
7386 (setup_process_coding_systems): Don't use filter_multibyte.
7387 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7388 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7389 (Fset_process_filter_multibyte): Change the coding-system to
7390 approximate the previous behavior.
7391 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7392 coding-system.
7393
7394 * coding.c (decode_coding_object): When not decoding into a buffer,
7395 obey the coding system's preference of (uni|multi)byte.
7396
73972008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7398
7399 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7400 every char is changed and has a different byte-length.
7401 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7402 Fix int -> EMACS_INT.
7403
74042008-03-23 David Hansen <david.hansen@gmx.net>
7405
7406 * dbusbind.c (xd_read_message): Remove extra copying of message
7407 strings. Check for NULL `interface' or `member'.
7408
74092008-03-22 Eli Zaretskii <eliz@gnu.org>
7410
7411 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7412 cFileName a file name that includes `?' characters, use the 8+3
7413 alias in cAlternateFileName instead.
7414
74152008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7416
7417 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7418
74192008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7420
7421 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7422 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7423 work on current_buffer only instead (that was already the case
7424 for some of the code anyway).
7425 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7426 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7427 (SET_PT, SET_PT_BOTH): Adjust.
7428 * intervals.h (set_point, temp_set_point, set_point_both)
7429 (temp_set_point_both): Remove redundant declarations.
7430
74312008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7432
7433 * fileio.c (Finsert_file_contents):
7434 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7435 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7436 when buffer != current_buffer anyway.
7437
74382008-03-20 Andreas Schwab <schwab@suse.de>
7439
7440 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7441 as default.
7442
74432008-03-19 Jason Rumney <jasonr@gnu.org>
7444
7445 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7446 (syms_of_w32fns): Initialize them.
7447 (HOURGLASS_ID): New constant.
7448 (x_window_to_frame): Don't check hourglass_window.
7449 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7450 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7451 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7452 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7453 Only change the cursor if hourglass is not active.
7454 (Fx_create_frame): Initialize frame's current_cursor.
7455 (hourglass_atimer): Remove.
7456 (hourglass_started): New function.
7457 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7458 (show_hourglass): Adapt to w32, changing argument to frame.
7459
7460 * w32term.h (struct w32_output): Remove hourglass_window.
7461 Add current_cursor.
7462
7463 * eval.c (call_debugger, Fsignal):
7464 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7465 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7466 (Fexecute_extended_command, cancel_hourglass_unwind):
7467 * minibuf.c (read_minibuf):
7468 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7469
74702008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7471
7472 * window.c (run_funs): New fun.
7473 (run_window_configuration_change_hook): Use it to run the buffer-local
7474 and the global part of the hook.
7475
7476 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7477 (unwind_format_mode_line): Restore selected window.
7478 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7479
74802008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7481
7482 * editfns.c (Fchar_equal): Check they are valid characters.
7483
7484 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7485
74862008-03-17 Andreas Schwab <schwab@suse.de>
7487
7488 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7489 against a charset.
7490
7491 * lisp.h (Fbuffer_list): Declare.
7492
74932008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7494
aac0c6e3
MR
7495 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7496 handlebox_widget is != 0.
7497
74982008-03-16 Juri Linkov <juri@jurta.org>
7499
7500 * callint.c (Fcall_interactively): For interactive code letters
7501 'b' and 'B' put the buffer list into the list of default "future"
7502 values of the minibuffer.
7503
75042008-03-16 Andreas Schwab <schwab@suse.de>
7505
7506 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7507 modifiers.
7508
7509 * regex.c (re_match_2_internal): Correct matching of a charset
7510 against latin-1 characters.
7511
75122008-03-16 Kenichi Handa <handa@m17n.org>
7513
7514 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7515 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7516 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7517 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7518 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7519 CHAR_STRING_ADVANCE.
7520 (produce_chars): Fix for the case that the source and the
7521 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7522 instead of CHAR_STRING_ADVANCE.
7523 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7524 STRING_CHAR_ADVANCE.
7525
75262008-03-15 Andreas Schwab <schwab@suse.de>
7527
7528 * regex.c (re_match_2_internal): Correct matching of eight bit
7529 characters in unibyte strings.
7530
75312008-03-15 Martin Rudalics <rudalics@gmx.at>
7532
7533 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7534 at end of range when it coincides with the end of the buffer.
7535
75362008-03-14 Eli Zaretskii <eliz@gnu.org>
7537
7538 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7539
7540 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7541
75422008-03-14 Jason Rumney <jasonr@gnu.org>
7543
7544 * editfns.c (initial_tz): New variable.
7545 (syms_of_editfns): Initialize it.
7546 (Fset_time_zone_rule): Set it when first called.
7547 Use it when TZSTRING is nil.
7548
7549 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7550 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7551 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7552 (globals_of_w32fns): Initialize them.
7553 (compute_tip_xy): Use them to position tooltips.
7554
75552008-03-14 Glenn Morris <rgm@gnu.org>
7556
7557 * emacs.c (main): Revert previous change.
7558 (standard_args): Revert -internal-script back to -scriptload,
7559 and remove the long-option form.
7560
75612008-03-13 Glenn Morris <rgm@gnu.org>
7562
7563 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7564 Remove option -enable-font-backend.
7565
75662008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7567
7568 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7569
75702008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7571
7572 * xterm.c (x_connection_closed): For GTK: If this is the last
7573 terminal just exit without closing the display.
7574
75752008-03-11 Jason Rumney <jasonr@gnu.org>
7576
7577 * w32font.c (w32font_full_name): Use floor to round.
7578
f0131492 75792008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7580
7581 * sound.c (alsa_configure): Declare vol at beginning of block.
7582
7583 * fontset.c (Ffontset_info): Remove extra semicolon.
7584
75852008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7586
7587 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7588 size of resulting string.
7589
75902008-03-10 Jason Rumney <jasonr@gnu.org>
7591
7592 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7593
75942008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7595
7596 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7597 Don't pretend as if characters with display property haven't been
7598 consumed for string-replacing-string case.
7599
76002008-03-08 Kim F. Storm <storm@cua.dk>
7601
7602 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7603 (get_next_display_element, next_element_from_string)
7604 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7605
76062008-03-08 Andreas Schwab <schwab@suse.de>
7607
7608 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7609
76102008-03-06 Jason Rumney <jasonr@gnu.org>
7611
7612 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7613 when charset not specified. Only translate ANSI to unicode when
7614 font_type is truetype.
7615 (w32font_coverage_ok): New function.
7616 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7617
76182008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7619
7620 * lread.c (Fread_char): Resolve modifiers.
7621 (Fread_char_exclusive): Likewise.
7622
7623 * character.c (char_resolve_modifier_mask): New function.
7624 (char_string): Use char_resolve_modifier_mask.
7625 (Fchar_resolve_modifiers): New function.
7626 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7627 function.
7628
76292008-03-04 Jason Rumney <jasonr@gnu.org>
7630
7631 * makefile.w32-in: Always include w32font.c in the build.
7632 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7633
76342008-03-04 Andreas Schwab <schwab@suse.de>
7635
7636 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7637 (versionclean): Likewise.
7638
76392008-03-04 Juanma Barranquero <lekktu@gmail.com>
7640
7641 * .cvsignore: Add oo.
7642
76432008-03-03 Andreas Schwab <schwab@suse.de>
7644
7645 * coding.c (decode_coding_object): Inhibit gap shrinking while
7646 decoding in place.
7647
76482008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7649
7650 * w32term.c: Remove unused include "gnu.h".
7651 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7652
7653 * gnu.h: Rename to ...
7654 * emacs-icon.h: ... this.
7655 * xterm.c: Use emacs-icon.h instead of gnu.h.
7656 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7657
76582008-03-03 Juanma Barranquero <lekktu@gmail.com>
7659
7660 * w32font.c: Include math.h.
7661
76622008-03-03 Jason Rumney <jasonr@gnu.org>
7663
7664 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7665 Compute options separately.
7666 (w32font_open_internal): Set glyph_idx before caching metrics.
7667
7668 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7669 Define if system headers don't.
7670 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7671 (w32font_encode_char): Don't declare here.
7672
7673 * w32font.c (Quniscribe, QCformat): New symbols.
7674 (syms_of_w32font): Define them.
7675 (w32font_has_char): Indicate uncertainty.
7676 (w32font_encode_char): Encode as glyph point. Make static.
7677 (recompute_cached_metrics): New function.
7678 (w32font_open_internal): Use it. Set font to use glyph points
7679 initially. Set format based on type of font.
7680 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7681 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7682 on it. Set format based on information available here.
7683 (add_font_entity_to_list): Identify backend based on opentype_only.
7684
76852008-03-02 Andreas Schwab <schwab@suse.de>
7686
7687 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7688
7689 * coding.c (decode_coding_big5, produce_chars):
7690 Fix typos in last change.
7691
76922008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7693
7694 * gnu.h: New icon.
7695
76962008-03-02 Kenichi Handa <handa@m17n.org>
7697
7698 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7699 `dos', don't decode '\r' if that is the last in the source.
7700 (decode_coding_utf_16, decode_coding_emacs_mule)
7701 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7702 (decode_coding_raw_text, decode_coding_charset): Likewise.
7703 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7704
77052008-03-01 Jason Rumney <jasonr@gnu.org>
7706
7707 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7708
77092008-03-01 Kim F. Storm <storm@cua.dk>
7710
7711 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7712
77132008-03-01 Jason Rumney <jasonr@gnu.org>
7714
7715 * w32font.c (w32font_full_name): New function.
7716 (w32font_open_internal): Use it.
7717
77182008-03-01 Kim F. Storm <storm@cua.dk>
7719
7720 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7721
77222008-03-01 Jason Rumney <jasonr@gnu.org>
7723
7724 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7725
77262008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7727
7728 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7729 xg_frame_resized when the event is for the edit widget.
7730
7731 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7732
7733 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7734 set_char_size.
7735 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7736 operations on widgets here. Just set frame size if needed.
7737 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7738 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7739 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7740 the whole frame.
7741 (xg_create_tool_bar): Move attachment of the tool bar to
7742 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7743 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7744
77452008-03-01 Jason Rumney <jasonr@gnu.org>
7746
7747 * w32fns.c (w32_msg_pump): Disable debug code.
7748
77492008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7750
7751 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7752
77532008-02-29 Chong Yidong <cyd@stupidchicken.com>
7754
7755 * xdisp.c (next_overlay_string): Don't set
7756 overlay_strings_at_end_processed_p if we're currently reading from
7757 a display string.
7758
77592008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7760
7761 * xdisp.c (get_overlay_strings_1): Fix typo.
7762
77632008-02-29 Chong Yidong <cyd@stupidchicken.com>
7764
7765 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7766
77672008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7768
7769 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7770
7771 * xdisp.c (display_mode_element): Cancel the previous change.
7772 (decode_mode_spec): Likewise.
7773 (handle_auto_composed_prop): Don't make composition if it->string
7774 is a string.
7775
77762008-02-27 Kim F. Storm <storm@cua.dk>
7777
7778 * lisp.h (GLYPH): Change type from int to struct with separate char
7779 and face_id members.
7780 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7781 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7782 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7783 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7784 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7785 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7786 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7787 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7788 handle new Lisp glyph code encoding, either an integer or a cons.
7789
7790 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7791 (GLYPH_ALIAS): Delete.
7792 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7793 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7794 (GLYPH_FROM_CHAR): Replace macro by ...
7795 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7796
7797 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7798 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7799 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7800 (GLYPH_INVALID_P): New macro.
7801 (spec_glyph_lookup_face): Update prototype.
7802
7803 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7804 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7805 new glyph code encoding.
7806 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7807 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7808
7809 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7810 Adapt to new glyph type and new glyph code encoding.
7811
7812 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7813
7814 * indent.c (current_column, current_column_1, Fmove_to_column)
7815 (compute_motion): Adapt to new glyph code encoding.
7816
7817 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7818
78192008-02-27 Chong Yidong <cyd@stupidchicken.com>
7820
7821 * process.c (wait_reading_process_output): Check for window
7822 changes caused by timers.
7823 Suggested by Johan Bockgård.
7824
78252008-02-27 Glenn Morris <rgm@gnu.org>
7826
7827 * emacs.c (USAGE1): Add `--disable-font-backend'.
7828
78292008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7830
7831 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7832 is made to the buffer.
7833
78342008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7835
7836 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7837 (face_at_string_position):
7838 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7839 (face_at_string_position):
7840 * xdisp.c (display_string, next_overlay_change):
7841 * buffer.h (overlays_at):
7842 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7843 Update callers.
7844
78452008-02-26 Chong Yidong <cyd@stupidchicken.com>
7846
7847 * editfns.c (Fformat): Doc fix.
7848
78492008-02-26 Juanma Barranquero <lekktu@gmail.com>
7850
7851 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7852 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7853 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7854
78552008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7856
7857 * buffer.c (Fbuffer_swap_text): New function.
7858 (syms_of_buffer): Defsubr it.
7859
78602008-02-25 Chong Yidong <cyd@stupidchicken.com>
7861
7862 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7863
78642008-02-25 Jason Rumney <jasonr@gnu.org>
7865
7866 * w32font.c (w32font_draw): Draw one character at a time when padding.
7867
78682008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7869
7870 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7871 Handle a nil arg. Use run_window_configuration_change_hook.
7872 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7873 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7874 Use run_window_configuration_change_hook.
7875
78762008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7877
7878 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7879 1-pixel width.
7880
78812008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7882
7883 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7884 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7885 if the glyph in the font is zero pixel with.
7886
7887 * dispextern.h (struct glyph_string): New member padding_p.
7888
7889 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7890
7891 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7892
7893 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7894
7895 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7896
7897 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7898
78992008-02-25 Jason Rumney <jasonr@gnu.org>
7900
7901 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7902
79032008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7904
7905 Allow fine-grained image-cache flushing.
7906 * dispextern.h (struct image): Add `dependencies' field.
7907 (clear_image_caches): Change arg to Lisp_Object.
7908 * image.c (make_image): Initialize `dependencies' field.
7909 (clear_image_cache): Change arg to allow fine-grained flushing.
7910 Perform the flush even if image-cache-eviction-delay is nil.
7911 (clear_image_caches): Change arg to Lisp_Object.
7912 (Fclear_image_cache): Expand meaning of the argument.
7913 (mark_image): Mark `dependencies' field.
7914 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7915 (lface_hash): Use XHASH rather than XFASTINT.
7916 (face_at_buffer_position): Fix int -> EMACS_INT position.
7917 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7918 (select_frame_for_redisplay): Remove code duplication.
7919 (redisplay_internal): Adapt arg to call to clear_image_caches.
7920
79212008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7922
7923 * s/vms4-0.h:
7924 * s/vms4-2.h:
7925 * s/vms4-4.h:
7926 * s/vms5-5.h: Remove, unused.
7927
7928 * s/irix5-2.h:
7929 * s/irix6-0.h:
7930 * s/riscos5.h:
7931 * s/mach-bsd4-3.h:
7932 * m/mips4.h: Remove files for obsolete systems.
7933
7934 * Makefile.in:
7935 * filelock.c:
7936 * unexmips.c:
7937 * m/hp9000s300.h:
7938 * m/iris4d.h:
7939 * s/aix3-1.h:
7940 * s/hpux.h:
7941 * s/msdos.h:
7942 * s/usg5-0.h:
7943 * s/usg5-2-2.h:
7944 * s/usg5-2.h:
7945 * s/usg5-3.h: Remove references to obsolete variables.
7946
7947 * s/irix5-0.h: Remove, move all the contents ...
7948 * s/irix6-5.h: ... here. Simplify.
7949 * config.in: Regenerate.
7950
79512008-02-24 Jason Rumney <jasonr@gnu.org>
7952
7953 * w32term.c (x_draw_glyph_string_background): Clear the background
7954 manually when cleartype is in use.
7955 (x_draw_glyph_string_foreground): Draw text transparently when
7956 cleartype is in use.
7957
7958 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7959 a font into it unless we have to.
7960
79612008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7962
7963 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7964 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7965
aac0c6e3
MR
79662008-02-18 Jason Rumney <jasonr@gnu.org>
7967
7968 * w32fns.c (Fw32_shell_execute): Encode parameters.
7969
79702008-02-09 Eli Zaretskii <eliz@gnu.org>
7971
7972 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7973
79742008-02-05 Juanma Barranquero <lekktu@gmail.com>
7975
7976 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7977
79782008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7979
7980 * xterm.c (x_set_offset): Don't change the gravity if
7981 CHANGE_GRAVITY is -1.
7982
79832008-02-23 Chong Yidong <cyd@stupidchicken.com>
7984
7985 * fileio.c (auto_save_error_occurred): New var.
7986 (auto_save_error): Set it.
7987 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7988 error occurred.
7989
79902008-02-23 Eli Zaretskii <eliz@gnu.org>
7991
7992 * w32.c (globals_of_w32): Add initializations for
7993 g_b_init_get_sid_sub_authority and
7994 g_b_init_get_sid_sub_authority_count.
7995
79962008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7997
7998 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7999 (font_parse_xlfd): Use them for sanity check.
8000 (Finternal_set_font_style_table): Make sure the table is bijective.
8001
8002 Consolidate the image_cache to the terminal struct.
8003 * termhooks.h (P_): Remove redundant def.
8004 (struct terminal): New field `image_cache'.
8005 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8006 of FRAME_X_IMAGE_CACHE.
8007 * xterm.h (struct x_display_info): Remove image_cache field.
8008 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8009 * w32term.h (struct w32_display_info): Remove image_cache field.
8010 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8011 * macterm.h (struct mac_display_info): Remove image_cache field.
8012 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8013 * xterm.c (x_term_init):
8014 * w32term.c (w32_term_init):
8015 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8016 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8017 Remove declarations.
8018 (clear_image_caches, mark_image_cache): New declarations.
8019 * xfaces.c (clear_face_cache):
8020 * xdisp.c (redisplay_internal): Use clear_image_caches.
8021 * image.c (clear_image_cache): Don't check that a frame is on
8022 a window-system before checking if it shares the same cache.
8023 (clear_image_caches): New function.
8024 (Fclear_image_cache): Use it.
8025 (mark_image): Move from allo.c.
8026 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8027 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8028 (mark_object): Don't call mark_image_cache for frames.
8029 (mark_terminals): Call mark_image_cache.
8030
8031 * lisp.h (Fdelete_terminal): Declare.
8032
8033 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8034 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8035 wrong_type_argument.
8036
80372008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8038
8039 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8040 malayalam.el, and tamil.el. Add sinhala.el.
8041
80422008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8043
8044 * xterm.c (x_connection_closed): Consolidate identical tests.
8045 (x_delete_terminal): Don't crash if called via x_connection_closed.
8046
80472008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8048
8049 * xdisp.c (decode_mode_spec): New arg string.
8050 (display_mode_element): Adjust for the above change.
8051
80522008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8053
8054 * callint.c (Fcall_interactively): Use AREF.
8055
80562008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8057
8058 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8059
80602008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8061
8062 * xfns.c (Fx_show_tip): Set string to " " if empty.
8063
80642008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8065
8066 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8067 with Qt.
8068
80692008-02-17 Kenichi Handa <handa@m17n.org>
8070
8071 * ftfont.c (ftfont_shape): Return Lispy number.
8072
8073 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8074 for GCs.
8075 (Finternal_set_font_selection_order): Call font_update_sort_order
8076 only when enable_font_backend is set.
8077 (realize_x_face): Set face->font_info to that of default face only
8078 when enable_font_backend is set.
8079
8080 * xdisp.c (handle_composition_prop): Set it->c to the fist
8081 character of the composed region.
8082 (fill_composite_glyph_string): Set base_face->font_info to
8083 s->font_info. Get a face for ascii from base_face->ascii_face.
8084 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8085 with a face already decided.
8086 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8087 non-negative.
8088 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8089 call font_prepare_composition unconditionally.
8090
8091 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8092
8093 * xterm.h (struct x_display_info): New member font.
8094
8095 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8096 (x_set_mouse_face_gc, x_new_font): Likewise.
8097 (x_term_init): Setup display_info->font.
8098 (x_delete_terminal): Free display_info->font.
8099
8100 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8101
8102 * ftxfont.c (ftxfont_default_fid): Delete it.
8103 (ftxfont_open): Set xfont->fid to 0.
8104 (ftxfont_end_for_frame): Clear data specific to the frame and the
8105 font-driver.
8106
8107 * xftfont.c (xftfont_default_fid): Delete it.
8108 (xftfont_open): Set xfont->fid to 0.
8109
8110 * fontset.c (FONTSET_OBJLIST): New macro.
8111 (fontset_find_font): Update font-object list of the fontset.
8112 (free_realized_fontset): New function.
8113 (free_face_fontset): Call free_realized_fontset.
8114 (Ffont_info): Call font_close_object only when enable_font_backend
8115 is set.
8116
8117 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8118 [HAVE_NTGUI]: Include w32term.h.
8119 [MAC_OS]: Include macterm.ch.
8120 (font_otf_ValueRecord): Use make_number.
8121 (font_finish_cache): Fix handling of reference count.
8122 (font_clear_cache): Update num_fonts.
8123 (font_open_entity): Update smallest_char_width and
8124 smallest_font_height of the frame.
8125 (font_close_object): Update num_fonts.
8126 (Fclear_font_cache): Fix finding the target cache data.
8127
81282008-02-16 Glenn Morris <rgm@gnu.org>
8129
8130 * fontset.c (Finternal_char_font): Fix compilation warning.
8131
81322008-02-16 Eli Zaretskii <eliz@gnu.org>
8133
8134 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8135 instead of char arrays. Enlarge the size of array passed to
8136 get_token_information.
8137
8138 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8139 warnings.
8140
81412008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8142
8143 * .gdbinit: Don't set `args', it breaks gdb --args.
8144
81452008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8146
8147 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8148 within a narrowed buffer.
8149
81502008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8151
8152 * coding.c (decode_coding_object, encode_coding_object):
8153 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8154
81552008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8156
8157 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8158 hardcoding 1.
8159 (detect_coding_system):
8160 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8161 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8162 * insdel.c (insert_from_gap):
8163 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8164 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8165 (string_to_multibyte):
8166 * character.c (chars_in_text, multibyte_chars_in_text):
8167 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8168
8169 * character.h (FETCH_STRING_CHAR_ADVANCE)
8170 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8171 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8172 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8173
8174 * casefiddle.c (casify_region): Only call after-change and composition
8175 functions on the part of the region that was changed.
8176
8177 * keyboard.c (read_avail_input):
8178 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8179
81802008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8181
8182 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8183 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8184
81852008-02-11 Juanma Barranquero <lekktu@gmail.com>
8186
8187 * w32menu.c (push_submenu_start, push_submenu_end)
8188 (push_left_right_boundary, push_menu_pane, push_menu_item):
8189 * keyboard.c (read_key_sequence): Don't pass args with side effects
8190 to AREF, it fails when compiling with -DENABLE_CHECKING.
8191
81922008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8193
8194 * Makefile.in (${lispsource}international/charprop.el):
8195 Delete this target.
8196
8197 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8198 emacs-unicode-2.
8199
82002008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8201
8202 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8203
82042008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8205
8206 * frame.c (Qnoelisp): New symbol.
8207 (syms_of_frame): Initialize it.
8208 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8209 harmless Elisp code, from a strong `force' from x_connection_closed.
8210 * frame.h (Qnoelisp): Declare.
8211 * xterm.c (x_connection_closed): Pass `noelisp'.
8212
8213 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8214 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8215 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8216 rather than `int' for the type of `type'.
8217
82182008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8219
8220 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8221
8222 * Makefile.in (GNUC): Remove support for gcc-1.x.
8223
82242008-02-10 Richard Stallman <rms@gnu.org>
8225
8226 * lisp.h (ASET): Use AREF, not ASLOT.
8227
82282008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8229
8230 * lisp.h (ASET): Check bounds.
8231
82322008-02-10 Glenn Morris <rgm@gnu.org>
8233
8234 * buffer.c (mode-name): Doc fix.
8235
82362008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8237
8238 * Makefile.in:
8239 * emacs.c:
8240 * gmalloc.c:
8241 * keyboard.c:
8242 * lisp.h:
8243 * m/ibm370aix.h:
8244 * process.c:
8245 * regex.c:
8246 * s/hpux.h:
8247 * sysdep.c:
8248 * sysselect.h:
8249 * systty.h:
8250 * unexec.c:
8251 * w32term.c:
8252 * xsmfns.c:
8253 * xterm.c: Remove code that deals with obsolete variables.
8254
8255 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8256
8257 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8258 nothing else needs it anymore.
8259
82602008-02-09 Eli Zaretskii <eliz@gnu.org>
8261
8262 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8263 instead of unibyte_char_to_multibyte.
8264
82652008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8266
8267 * s/gnu-linux.h: Remove commented out code.
8268
8269 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8270
8271 * Makefile.in: Update what RMS says about using autoconf.
8272 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8273 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8274 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8275 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8276
82772008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8278
8279 * keymap.c (Fkey_description): Move side effect outside of macro call.
8280
8281 * xfaces.c (Finternal_make_lisp_face):
8282 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8283
8284 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8285 (syms_of_fontset): Use ASET.
8286
8287 * fns.c (concat): Move side effect outside of macro call.
8288 (hash_clear): Use ASET.
8289
82902008-02-08 Richard Stallman <rms@gnu.org>
8291
8292 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8293 If FORCE, and frame has a surrogate minibuffer for another frame,
8294 delete the other frame first.
8295
82962008-02-07 Timo Savola <timo.savola@iki.fi>
8297
8298 * xterm.c (x_detect_focus_change): Handle embed client message.
8299 (handle_one_xevent): Ditto.
8300 (handle_one_xevent): If embedded and we get a button press/release,
8301 request focus.
8302 (xembed_set_info, xembed_send_message): New functions.
8303 (x_make_frame_visible): Call xembed_set_info if embedded.
8304 (x_make_frame_invisible): Call xembed_set_info if embedded.
8305 (x_term_init): Initialize Xatom_XEMBED.
8306 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8307 (x_iconify_frame): Ditto.
8308
8309 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8310 (enum xembed_info, enum xembed_message, enum xembed_focus)
8311 (enum xembed_modifier, enum xembed_accelerator): New.
8312 (xembed_set_info, xembed_send_message): Declare.
8313 (FRAME_X_EMBEDDED_P): New.
8314
8315 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8316 gtk_plug_new.
8317
8318 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8319 window ID of a frame.
8320 (x_window): Reparent frame if embedded.
8321 (Fx_create_frame): Don't set border width if embedded.
8322
8323 * emacs.c (USAGE3): Add --parent-id.
8324 (standard_args): Ditto.
8325
83262008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8327
8328 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8329
83302008-02-07 Jim Meyering <meyering@redhat.com>
8331
8332 Use "do...while (0)", not "if (1)...else" in macro definitions.
8333 The latter provokes a warning from gcc about the empty else, when
8334 followed by ";". Also, without that trailing semicolon, it would
8335 silently swallow up any following statement.
8336 * syntax.h (SETUP_SYNTAX_TABLE)
8337 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8338 * buffer.h (DECODE_POSITION): Likewise.
8339 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8340 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8341 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8342 (FETCH_CHAR_ADVANCE): Likewise.
8343 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8344
83452008-02-07 Jim Meyering <meyering@redhat.com>
8346
8347 * lread.c [lint]: Don't include <sys/inode.h>.
8348
83492008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8350
8351 * xselect.c (x_handle_dnd_message):
8352 * xmenu.c (digest_single_submenu, xmenu_show):
8353 * xdisp.c (with_echo_area_buffer_unwind_data)
8354 (format_mode_line_unwind_data, unwind_format_mode_line)
8355 (display_menu_bar):
8356 * eval.c (Ffetch_bytecode):
8357 * doc.c (store_function_docstring):
8358 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8359 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8360 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8361
83622008-02-07 Kenichi Handa <handa@m17n.org>
8363
8364 * ftxfont.c (ftxfont_open): Don't set
8365 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8366
8367 * ftfont.c (ftfont_open): Fix previous change.
8368
83692008-02-06 Jason Rumney <jasonr@gnu.org>
8370
8371 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8372 Use cached metrics for ASCII characters.
8373 (w32font_open_internal): Don't set font's owning_frame.
8374 Cache metrics for ASCII characters.
8375
8376 * w32font.h (struct w32font_info): Add ascii_metrics.
8377 Remove owning_frame.
8378
83792008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8380
8381 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8382 to negative value.
8383
8384 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8385
8386 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8387
8388 * charset.c (syms_of_charset): Set QCtest and Qeq.
8389
83902008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8391
8392 * process.c (Fstart_process):
8393 * callproc.c (Fcall_process): Handle the case where
8394 Funhandled_file_name_directory returns nil.
8395
8396 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8397 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8398 * font.c (check_gstring): Use them and AREF to access the vector before
8399 we know it's really a gstring.
8400 (Ffont_shape_text): Fix typo.
8401 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8402
8403 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8404 Declare.
8405
8406 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8407
84082008-02-05 Jason Rumney <jasonr@gnu.org>
8409
8410 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8411 Set smallest_font_height and smallest_char_width in display info.
8412
84132008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8414
8415 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8416
84172008-02-05 Miles Bader <miles@gnu.org>
8418
8419 * xfaces.c (get_lface_attributes, merge_named_face)
8420 (lookup_named_face, lookup_derived_face, realize_named_face):
8421 Revert 2008-02-01 change by cyd@stupidchicken.com.
8422
84232008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8424
8425 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8426 fallback fonts.
8427 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8428
84292008-02-04 Jason Rumney <jasonr@gnu.org>
8430
8431 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8432 set full_name.
8433 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8434
84352008-02-03 Jason Rumney <jasonr@gnu.org>
8436
8437 * makefile.w32-in (OBJ1): Include font.o here.
8438 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8439
84402008-02-02 Jason Rumney <jasonr@gnu.org>
8441
8442 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8443
84442008-02-01 Jason Rumney <jasonr@gnu.org>
8445
8446 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8447
8448 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8449
84502008-02-01 Andreas Schwab <schwab@suse.de>
8451
8452 * Makefile.in (shortlisp, lisp): Update for rename of
8453 ../lisp/language/myanmar.el.
8454
84552008-02-01 Chong Yidong <cyd@stupidchicken.com>
8456
8457 * xfaces.c (get_lface_attributes): Delete function.
8458 (merge_named_face, lookup_named_face, lookup_derived_face)
8459 (realize_named_face): Call lface_from_face_name directly, and use
8460 the fact that merge_face_vectors does not alter its FROM argument.
8461
84622008-02-01 Jason Rumney <jasonr@gnu.org>
8463
8464 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8465 input in the default locale. Handle non-Unicode multibyte input.
8466
84672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8468
8469 * fontset.c (reorder_font_vector): Exclude nil elements from the
8470 font group. Don't try multiple fonts.
8471 (fontset_font): Adjust for the above change.
8472 (Finternal_char_font): Return nil if the found font doesn't
8473 contain the character ch.
8474
8475 * Makefile.in (lisp, shortlisp): Add cham.el.
8476
84772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8478
8479 * font.h (FONTP): Make it return 1 also for a font-object.
8480
8481 * .gdbinit (xfontset): New function.
8482
8483 * font.c (font_find_for_lface): Check if the character C is
8484 supported or not only for the first font.
8485
8486 * fontset.c (reorder_font_vector): Fix typo.
8487 (fontset_find_font): Don't add a font-spec specifying a script.
8488 Use 0 (not Qt) for the indication of empty font-group. Change the
8489 format of RFONT-DEF. Return Qt if no font in the font-group
8490 support the character.
8491 (fontset_font): Adjust for the above change. If no font was
8492 found the character, remember that.
8493 (face_for_char): Adjust for the change of RFONT-DEF.
8494 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8495 no font for the target.
8496 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8497
84982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8499
8500 * font.c (font_load_for_face): Handle the case that the font in
8501 face->lface is a string.
8502
85032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8504
8505 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8506
85072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8508
8509 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8510 Fix previous change. If the frame is not on a window system,
8511 signal an error.
8512
85132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8514
8515 * coding.c (decode_coding_object, encode_coding_object): Adjust
8516 marker positions after conversion.
8517
8518 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8519
85202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8521
8522 * font.c (font_find_for_lface): Fix the handling of the return
8523 value of font_has_char.
8524 (Ffont_shape_text): Fix previous change.
8525
8526 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8527 (fontset_ref_and_range): Delete it.
8528 (fontset_find_font): Call char_table_ref_and_range instead of
8529 FONTSET_REF_AND_RANGE.
8530 (make_fontset): Don't setup font groups of Latin here.
8531 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8532 (new_fontset_from_font): Make the specified font the default for
8533 all Latin characters.
8534
85352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8536
8537 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8538 is on a window system before accessing the fontset of the frame.
8539
85402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8541
8542 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8543
8544 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8545 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8546
8547 * font.c (Ffont_shape_text): If the font driver doesn't have a
8548 shaper function, make zero-width glyphs to have at least one-pixel
8549 width. Fix setting of `to' field of glyphs.
8550
85512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8552
8553 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8554 glyphs.
8555
8556 * font.h (struct font_driver): Improve docstring of member `shape'.
8557
85582008-02-01 Kenichi Handa <handa@m17n.org>
8559
8560 * composite.c (syms_of_composite): Fix docstring of
8561 auto-composition-function.
8562
8563 * font.h (LGLYPH_SIZE): New macro.
8564
8565 * font.c (Ffont_fill_gstring): Stop filling when a character not
8566 supported by the font is found.
8567 (Ffont_shape_text): When a shape callback function returns nil,
8568 try at most two more times with larger gstring.
8569 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8570
8571 * xdisp.c (handle_auto_composed_prop): Change the argument to
8572 auto-composition-function.
8573
8574 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8575 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8576 Lispy glyph and store it in the lgstring.
8577
8578 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8579
8580 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8581
85822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8583
8584 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8585
8586 * fontset.c (Vfont_encoding_charset_alist): New variable.
8587 (syms_of_fontset): DEFVAR it.
8588 (reorder_font_vector, fontset_find_font): Optimize for the case of
8589 no need of reordering.
8590 (face_for_char): Map the charset property by
8591 Vfont_encoding_charset_alist.
8592
85932008-02-01 Jason Rumney <jasonr@gnu.org>
8594
8595 * w32font.c (logfonts_match): Don't check adstyle here.
8596 (font_matches_spec): Check here against physical font instead.
8597 (add_font_entity_to_list): Avoid some substitutions.
8598
8599 * font.c (font_parse_fcname): Default weight and slant to normal.
8600 (font_score): Prefer normal fonts if weight or slant unspecified.
8601 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8602 match freetype scores.
8603
86042008-02-01 Jason Rumney <jasonr@gnu.org>
8605
8606 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8607 font, as it may have been deleted.
8608 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8609 most common hyphenless variation.
8610 (logfonts_match): Check generic family.
8611 (font_matches_spec): Don't check generic family here.
8612 (fill_in_logfont): Set generic family based on adstyle.
8613
8614 * w32font.h (w32font_get_cache): Update declaration.
8615
86162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8617
8618 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8619
8620 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8621 If none of the new drivers are available, call font_update_drivers
8622 with the old drivers.
8623
8624 * w32font.c (w32font_get_cache): Adjust the argument type.
8625
8626 * xfont.c (xfont_get_cache): Adjust the argument type.
8627
8628 * font.h (struct font_driver): Change argument type of get_cache.
8629
8630 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8631
8632 * font.c (Ffont_get): Fix arguments to Fassoc.
8633 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8634 (font_clear_cache): New function.
8635 (font_list_entities, font_matching_entity): Use font_get_cache.
8636 (font_update_drivers): Call font_clear_cache when finishing a driver.
8637
8638 * fontset.c (fontset_find_font): Fix previous change.
8639
86402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8641
8642 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8643 dpyinfo->font_table.
8644 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8645 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8646
8647 * font.c (font_at): Handle the case that the arg C is negative.
8648 Handle the unibyte case.
8649 (Ffont_at): Call font_at with the arg C -1.
8650
8651 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8652 the position here, and call font_at with the arg C -1.
8653 Don't check the range of the existing composition at the point.
8654
86552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8656
8657 * fontset.c (fontset_add): New args charset_id and family.
8658 Change caller.
8659 (load_font_get_repertory, fontset_find_font): Assume that
8660 font_spec is always a font-spec object.
8661 (Fset_fontset_font): Always store a font-spec object in a fontset.
8662
8663 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8664 instead of get_property_and_range.
8665
86662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8667
8668 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8669 (xftfont_open): Don't keep locking face.
8670 (xftfont_close): Don't unlock face.
8671 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8672
8673 * fontset.c (fontset_find_font): Don't prefer a font of
8674 supplementary charset.
8675
86762008-02-01 Kenichi Handa <handa@m17n.org>
8677
8678 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8679 script, langsys_tag to langsys, new member script.
8680 (OTF_TAG_STR): Terminate by '\0'.
8681 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8682 listing to the script specified in that property. Fix arg to
8683 OTF_check_features.
8684
86852008-02-01 Jason Rumney <jasonr@gnu.org>
8686
8687 * w32font.h: New file.
8688
8689 * w32font.c: Include it.
8690 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8691 (w32font_open): Set owning_frame.
8692 (w32font_text_extents): Use owning_frame.
8693 (struct font_callback_data): Add opentype_only field.
8694 (add_font_entity_to_list): Use it to filter fonts.
8695 Don't check against full name.
8696 (w32font_list_internal): New function.
8697 (w32font_list): Use it.
8698 (w32font_match_internal): New function.
8699 (w32font_match): Use it.
8700 (w32font_open_internal): New function.
8701 (w32font_open): Use it.
8702 (w32font_get_cache, w32font_close, w32font_has_char)
8703 (w32font_encode_char, w32font_text_extents, w32font_draw):
8704 Make non-static.
8705
8706 * makefile.w32-in (w32font.o): Depend on w32font.h.
8707
87082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8709
8710 * charset.c (Fdefine_charset_internal): Record a supplementary
8711 charset at the tail of Vcharset_order_list.
8712
8713 * font.c (Ffont_shape_text): Fix the return value.
8714
8715 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8716
8717 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8718
87192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8720
8721 * ftfont.c (struct OpenTypeSpec): New struct.
8722 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8723 (ftfont_get_open_type_spec): New function.
8724 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8725
8726 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8727
87282008-02-01 Jason Rumney <jasonr@gnu.org>
8729
8730 * w32font.c (add_font_entity_to_list): Compare only the beginning
8731 of full name.
8732
87332008-02-01 Kenichi Handa <handa@m17n.org>
8734
8735 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8736 Never return HANDLED_RECOMPUTE_PROPS.
8737
87382008-02-01 Kenichi Handa <handa@m17n.org>
8739
8740 * font.c (font_gstring_produce): Delete it.
8741
8742 * composite.h (COMPOSITION_METHOD):
8743 Handle COMPOSITION_WITH_GLYPH_STRING.
8744
87452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8746
8747 * xfont.c (Qx): Delete.
8748 (syms_of_xfont): Don't initialize Qx.
8749
8750 * composite.h (enum composition_method):
8751 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8752
87532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8754
8755 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8756 (choose_face_font): Accept new form of font-spec.
8757
8758 * frame.h (font_driver_list): Declare it unconditionally.
8759 (struct frame): Define members font_driver_list and font_data_list
8760 unconditionally.
8761
8762 * fontset.c: Include "font.h" unconditionally.
8763 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8764 (Fset_fontset_font): Accept a font-spec object.
8765
8766 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8767 PIXEL_SIZE part a wild card.
8768
8769 * dispextern.h (struct glyph_string): Define members clip and
8770 num_clips unconditionally.
8771 (struct face): Define members font_info and extra unconditionally.
8772
8773 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8774 ftfont_info only when HAVE_LIBOTF is defined.
8775
87762008-02-01 Andreas Schwab <schwab@suse.de>
8777
8778 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8779 and end.
8780
87812008-02-01 Jason Rumney <jasonr@gnu.org>
8782
8783 * w32font.c (w32font_driver): Add new fields.
8784
87852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8786
8787 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8788 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8789 (LIBES): Add @M17N_FLT_CFLAGS@.
8790
8791 * composite.c (compose_text): Don't treat the new style
8792 composition specially.
8793
8794 * emacs.c (main): Call syms_of_font unconditionally.
8795
8796 * font.h (FONT_ENTITY_NOT_LOADABLE)
8797 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8798 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8799 (struct font_driver): New member shape.
8800 (font_registry_charsets): Extern it.
8801 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8802 (font_otf_capability, font_drive_otf): Delete their externs.
8803
8804 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8805 (font_charset_alist, font_registry_charsets): Move from xfont.c
8806 and rename.
8807 (font_prop_validate_otf): New function.
8808 (font_property_table): Register it for QCotf.
8809 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8810 (font_drive_otf): Delete.
8811 (font_prepare_composition): New arg F. Adjust for the change of
8812 lispy gstring.
8813 (font_find_for_lface): New arg C.
8814 (font_load_for_face): Adjust for the change of font_find_for_lface.
8815 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8816 lispy gstring.
8817 (Ffont_shape_text): New function.
8818 (Fopen_font): If the font size is not given, use 12-pixel.
8819 (Ffont_at): New arg STRING.
8820 (syms_of_font): Initalize font_charset_alist.
8821 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8822 conditionally.
8823
8824 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8825 fonts of the same font-spec. Change the format of RFONT-DEF.
8826 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8827 Adjust for the change of RFONT-DEF.
8828 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8829
8830 * ftfont.h: New file.
8831
8832 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8833 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8834 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8835 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8836 font_otf_capability and font_drive_otf, set ftfont_shape.
8837 (ftfont_list): Adjust for the change of :otf property value.
8838 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8839 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8840 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8841 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8842 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8843 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8844
8845 * w32term.c (x_draw_composite_glyph_string_foreground):
8846 Adjust for the change of lispy gstring.
8847
8848 * xdisp.c (handle_composition_prop): Adjust for the change of
8849 lispy gstring. Call a function for auto-composition with the
8850 third arg it->window.
8851 (fill_composite_glyph_string): Adjust for the change of lispy string.
8852 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8853
8854 * xfaces.c (set_font_frame_param): Adjust for the change of
8855 font_find_for_lface.
8856
8857 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8858 (xfont_registry_charsets): Likewise. Change caller.
8859 (syms_of_xfont): Don't handle x_font_charset_alist.
8860
8861 * xftfont.c: Include "ftfont.h".
8862 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8863 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8864 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8865 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8866 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8867 Set xftfont_driver.shape to xftfont_shape.
8868
8869 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8870 the change of lispy gstring.
8871
88722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8873
8874 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8875
88762008-02-01 Jason Rumney <jasonr@gnu.org>
8877
8878 * w32font.c (w32font_draw): Fill background manually.
8879
88802008-02-01 Jason Rumney <jasonr@gnu.org>
8881
8882 * font.c (Qfontp): Remove unused symbol.
8883 (QCantialias): New symbol.
8884 (syms_of_font): Define it.
8885 (font_property_table): Set a validator for QCantialias.
8886
8887 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8888 Define if not already.
8889 (QCfamily): Share with xfaces.c.
8890 (Qstandard, Qsubpixel, Qnatural): New symbols.
8891 (syms_of_w32font): Define them. Don't define QCfamily here.
8892 (w32_antialias_type, lispy_antialias_type): New functions.
8893 (w32_enumfont_pattern_entity): New arg requested_font.
8894 Set antialias parameter if non-default was requested.
8895 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8896
88972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8898
8899 * lread.c (read1): Undo the previous change.
8900
89012008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8902
8903 * frame.c (Fdelete_frame): Call font_update_drivers only when
8904 USE_FONT_BACKEND is defined.
8905
89062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8907
8908 * font.h (struct font_bitmap): New member bits_per_pixel.
8909 (struct font_driver): New members start_for_frame and end_for_frame.
8910 (struct font_data_list): New struct.
8911 (font_put_frame_data, font_get_frame_data): Extern them.
8912
8913 * frame.h (struct frame): New member font_data_list.
8914
8915 * font.c (font_update_drivers): Call driver->start_for_frame and
8916 driver->end_for_frame at proper timings.
8917 (font_put_frame_data, font_get_frame_data): New functions.
8918 (Ffont_spec): Add usage in the docstring.
8919
8920 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8921 (Fdelete_frame): Call font_update_drivers.
8922
8923 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8924 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8925 (xftfont_get_xft_draw): New function.
8926 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8927 (xftfont_end_for_frame): New function.
8928 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8929
8930 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8931 Change argument. Cache GCs in the per-frame data.
8932 (struct ftxfont_frame_data): New struct.
8933 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8934 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8935 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8936 (ftxfont_end_for_frame): New function.
8937 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8938
8939 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8940
89412008-02-01 Kenichi Handa <handa@m17n.org>
8942
8943 * xselect.c (Vselection_coding_system)
8944 (Vnext_selection_coding_system): Delete them.
8945 (syms_of_xselect): Don't declare selection-coding-system and
8946 next-selection-coding-system. They are declared in select.el.
8947
89482008-02-01 Jason Rumney <jasonr@gnu.org>
8949
8950 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8951
8952 * w32fns.c: Include imm.h.
8953 (get_composition_string_fn, get_ime_context_fn): New optional
8954 system functions.
8955 (globals_of_w32fns): Load them from imm32.dll.
8956 (ignore_ime_char): New flag.
8957 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8958 WM_IME_ENDCOMPOSITION messages.
8959
8960 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8961 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8962
89632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8964
8965 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8966 (READCHAR_REPORT_MULTIBYTE): New macro.
8967 (readchar): New 2nd arg MULTIBYTE.
8968 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8969 Make symbol's name multibyte according to the multibyteness of the
8970 source.
8971
89722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8973
8974 * xfaces.c (face_for_overlay_string): Call lookup_face with
8975 correct arguments (fix of synching with the trunk).
8976
89772008-02-01 Kenichi Handa <handa@m17n.org>
8978
8979 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8980 (font_prop_validate_non_neg, font_prop_validate_spacing):
8981 Delete argument prop_index.
8982 (font_property_table): Change arguments to validater. Change Callers.
8983 (font_lispy_object): Delete.
8984 (font_at): Use font_find_object instead fo font_lispy_object.
8985
89862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8987
8988 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8989 and file names.
8990
89912008-02-01 Jason Rumney <jasonr@gnu.org>
8992
8993 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8994 (font_matches_spec): Remove debug output.
8995 (add_font_entity_to_list): Avoid using substituted fonts.
8996
89972008-02-01 Jason Rumney <jasonr@gnu.org>
8998
8999 * doc.c (Fsnarf_documentation):
9000 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9001
90022008-02-01 Miles Bader <miles@gnu.org>
9003
9004 * dispextern.h (struct glyph_row): Only define "clip" field if
9005 HAVE_WINDOW_SYSTEM is defined.
9006
90072008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9008
9009 Fix up multi-tty merge.
9010
9011 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9012 and indentation.
9013
9014 * xfaces.c (free_realized_face, clear_face_gcs):
9015 Include font_done_for_face in the input_blocked section, just in case.
9016
9017 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9018 (get_char_face_and_encoding): Undo last change and remove the *other*
9019 duplicate definition (i.e. keep the one that's better scoped and that
9020 includes code for the font-backend).
9021
9022 * terminal.c (create_terminal): Default keyboard_coding to
9023 `no-conversion' and terminal_coding to `undecided'.
9024
9025 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9026
9027 * fontset.c (free_realized_fontsets): Check that the table entry does
9028 contain a fontset before trying to compare it to `base'.
9029
9030 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9031 syms_of_charset, and syms_of_coding earlier because init_window_once
9032 now needs Vcoding_system_hash_table to be setup.
9033
9034 * coding.h (default_buffer_file_coding): Remove.
9035
9036 * coding.c (default_buffer_file_coding): Remove.
9037 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9038 than ->symbol, and use the terminal-local coding system.
9039 (syms_of_coding): Don't setup the coding-systems that are not
9040 terminal-local.
9041 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9042
9043 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9044 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9045
9046 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9047 in chartab.c and were re-added here by mistake.
9048 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9049
9050 * doc.c (Fsnarf_documentation):
9051 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9052 src to etc.
9053
9054 * ChangeLog.10: Add mistakenly removed entry.
9055
90562008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9057
9058 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9059
90602008-02-01 Miles Bader <miles@gnu.org>
9061
9062 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9063 Add extra args to FACE_FOR_CHAR.
9064
90652008-02-01 Kenichi Handa <handa@m17n.org>
9066
9067 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9068 in sequence.
9069
9070 * chartab.c (map_sub_char_table, map_char_table): If the range
9071 contains just one character, call the function with that character
9072 even if the depth is not 3.
9073
90742008-02-01 Jason Rumney <jasonr@gnu.org>
9075
9076 * w32font.c (w32font_text_extents): Calculate metrics for the
9077 whole string.
9078
90792008-02-01 Jason Rumney <jasonr@gnu.org>
9080
9081 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9082
90832008-02-01 Jason Rumney <jasonr@gnu.org>
9084
9085 * w32term.c (x_set_glyph_string_clipping): Use
9086 get_glyph_string_clip_rects.
9087 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9088 Adjust for the change of struct glyph_string.
9089
9090 * w32font.c (w32font_draw): Do clipping here.
9091
90922008-02-01 Kenichi Handa <handa@m17n.org>
9093
9094 * xftfont.c (xftfont_draw): Adjust for the change of struct
9095 glyph_string.
9096
9097 * xterm.c (x_set_glyph_string_clipping): Use
9098 get_glyph_string_clip_rects.
9099 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9100 Adjust for the change of struct glyph_string.
9101
9102 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9103 the resulting clip(s}.
9104 (expose_overlaps): Add arg r. Change callers. Set it to
9105 row->clip temporarily.
9106 (expose_window): Redraw rows overlapping the exposed area.
9107
9108 * dispextern.h (struct glyph_row): New member clip.
9109 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9110 clip_height, new member clip, and num_clips.
9111
91122008-02-01 Kenichi Handa <handa@m17n.org>
9113
9114 * data.c (Fchar_or_string_p): Fix docstring.
9115
91162008-02-01 Kenichi Handa <handa@m17n.org>
9117
9118 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9119 create a temporary XftDraw object.
9120
91212008-02-01 Kenichi Handa <handa@m17n.org>
9122
9123 * font.c (Ffontp): Fix docstring.
9124
9125 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9126 strong evidence of ISO-2022.
9127
91282008-02-01 Kenichi Handa <handa@m17n.org>
9129
9130 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9131 SYNTAX_ENTRY_FOLLOW_PARENT.
9132
91332008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9134
9135 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9136 its type.
9137 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9138 Update to the new type of weak_hash_tables and next_weak.
9139
9140 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9141 a plain C pointer to Lisp_Hash_Table.
9142
9143 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9144 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9145 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9146 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9147 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9148 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9149 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9150 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9151 (GC_EQ): Remove since they've been identical to their non-GC_
9152 alter-egos ever since the markbit was eradicated.
9153
9154 * alloc.c:
9155 * buffer.c:
9156 * buffer.h:
9157 * data.c:
9158 * fileio.c:
9159 * filelock.c:
9160 * fns.c:
9161 * frame.h:
9162 * lisp.h:
9163 * macterm.c:
9164 * print.c:
9165 * process.c:
9166 * w32fns.c:
9167 * w32menu.c:
9168 * w32term.c:
9169 * xfns.c:
9170 * xmenu.c:
9171 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9172
91732008-02-01 Kenichi Handa <handa@m17n.org>
9174
9175 * chartab.c (map_sub_char_table): Make it work for the top-level
9176 char-table. Fix handling of parent char-table.
9177 (map_char_table): Adjust for the above change.
9178
91792008-02-01 Jason Rumney <jasonr@gnu.org>
9180
9181 * w32font.c (Qgdi): Rename from Qw32.
9182
91832008-02-01 Jason Rumney <jasonr@gnu.org>
9184
9185 * w32bdf.c (get_quoted_string): Make function static.
9186
91872008-02-01 Kenichi Handa <handa@m17n.org>
9188
9189 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9190 bigger ascent and descent than those of the font, use them as
9191 font's ascent and descent.
9192
91932008-02-01 Kenichi Handa <handa@m17n.org>
9194
9195 * Makefile.in (${lispsource}international/charprop.el): Move this
9196 target within "#ifdef HAVE_UNIDATA" and "#endif".
9197
91982008-02-01 Kenichi Handa <handa@m17n.org>
9199
9200 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9201 (shortlisp): Add ../lisp/language/tai-viet.el.
9202
92032008-02-01 Ulrich Mueller <ulm@gentoo.org>
9204
9205 * Makefile.in (${lispsource}international/charprop.el): Depend on
9206 temacs${EXEEXT}.
9207
92082008-02-01 Jason Rumney <jasonr@gnu.org>
9209
9210 * w32font.c (w32font_close): Delete the GDI font object.
9211
9212 * w32menu.c: Include character.h.
9213
9214 * w32proc.c: Likewise.
9215
9216 * w32select.c: Likewise.
9217
9218 * makefile.w32-in (w32proc.o): Depend on character.h.
9219
92202008-02-01 Jason Rumney <jasonr@gnu.org>
9221
9222 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9223
9224 * w32menu.c (syms_of_w32menu): Likewise.
9225
9226 * w32proc.c (syms_of_ntproc): Likewise.
9227
9228 * w32select.c (syms_of_w32select): Likewise.
9229
9230 * w32term.c (syms_of_w32term): Likewise.
9231
92322008-02-01 Jason Rumney <jasonr@gnu.org>
9233
9234 * w32font.c (w32font_draw): Delete brush after using it.
9235
92362008-02-01 Jason Rumney <jasonr@gnu.org>
9237
9238 * w32font.c (w32font_open): Don't set font_idx.
9239 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9240 to font settings.
9241 (w32font_draw): Fill background explicitly.
9242
92432008-02-01 Jason Rumney <jasonr@gnu.org>
9244
9245 * w32term.c (w32_initialize): Don't call w32font_initialize.
9246
9247 * w32font.c (w32font_info): Remove subranges.
9248 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9249 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9250 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9251 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9252 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9253 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9254 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9255 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9256 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9257 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9258 New symbols.
9259 (font_callback_data): New struct.
9260 (w32font_list, w32font_match): Use it.
9261 (w32font_open): Don't populate subranges.
9262 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9263 (w32font_encode_char): Always return unicode code-point as-is.
9264 (w32font_text_extents): Supply a transformation matrix to
9265 GetGlyphOutline. Never look up by glyph index. Avoid looping
9266 twice. Use unicode version of GetTexExtentPoint32 instead of
9267 glyph index version.
9268 (set_fonts_frame): Remove.
9269 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9270 set frame parameter. Use backward compatible fake foundries.
9271 Save generic family in extra slot under QCfamily. Make width slot
9272 constant. Save QCspacing value. Save list of scripts instead of
9273 binary subranges.
9274 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9275 (add_font_entity_to_list): Use font_callback_data struct. Filter
9276 unwanted fonts.
9277 (add_one_font_entity_to_list): Use font_callback_data struct.
9278 (w32_registry): Default to iso10646_1.
9279 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9280 string font registries. Don't fill in font name if it is a generic
9281 family name, fill family instead. Use spacing, family and script
9282 extra info to fill pitch, family and charset fields.
9283 (list_all_matching_fonts): Use font_callback_data struct.
9284 (unicode_range_for_char): Remove.
9285 (font_supported_scripts): New function.
9286 (w32font_initialize): Remove.
9287 (syms_of_w32font): Update which symbols are defined.
9288
92892008-02-01 Jason Rumney <jasonr@gnu.org>
9290
9291 * font.c (font_pixel_size): Reverse assq_no_quit args.
9292
9293 * w32term.h (FONT_WIDTH): Report max width, not average.
9294 (FONT_MAX_WIDTH): Remove.
9295 (FONT_AVG_WIDTH): New macro.
9296
9297 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9298 redefinition of FONT_WIDTH.
9299
9300 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9301 (w32_cache_char_metrics): Use FONT_WIDTH.
9302
9303 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9304
93052008-02-01 Jason Rumney <jasonr@gnu.org>
9306
9307 * w32font.c (w32font_open): Make lfHeight negative.
9308
9309 * w32fns.c (x_default_font_parameter): Use new style font name.
9310 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9311
93122008-02-01 Jason Rumney <jasonr@gnu.org>
9313
9314 * w32font.c (QCsubranges): New symbol.
9315 (w32font_open, w32font_has_char): Get subranges from subproperty
9316 of extra.
9317 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9318 (syms_of_w32font): Define :subranges symbol.
9319
9320 * font.c (font_put_extra): Expose externally.
9321
9322 * font.h (font_put_extra): Move declaration from font.c.
9323
9324 * font.c (Ffont_get): Use font driver to determine otf capability.
9325 (adjust_anchor): Check if driver defines anchor_point before using.
9326
9327 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9328 (w32font_draw): Use options.
9329 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9330 Fix detection of truetype fonts.
9331 (registry_to_w32_charset): Handle charsets other than iso8859-1
9332 expressed as lisp symbols.
9333 (w32_registry): Express charset as lisp symbol.
9334 (fill_in_logfont): Reverse pixel and point height logic.
9335 Don't set width here. Set quality to default.
9336
9337 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9338 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9339
9340 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9341 Remove redundant loop and allocation.
9342
9343 * makefile.w32-in (font.o, w32font.o): New objects.
9344 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9345 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9346
9347 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9348 STORE_XCHARB a valid l-value.
9349
9350 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9351 calculations for non-Truetype fonts.
9352 (x_draw_glyph_string): Sync with xterm.c.
9353 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9354 Remove redundant code.
9355 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9356
9357 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9358 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9359
9360 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9361 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9362
9363 * w32font.c: New file for w32 font backend.
9364
93652008-02-01 Kenichi Handa <handa@m17n.org>
9366
9367 * term.c: Don't include "buffer.h" twice.
9368
93692008-02-01 Kenichi Handa <handa@m17n.org>
9370
9371 * character.c (Funibyte_string): New function.
9372 (syms_of_character): Defsubr it.
9373
93742008-02-01 Jason Rumney <jasonr@gnu.org>
9375
9376 * w32term.c [USE_FONT_BACKEND]:
9377 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9378 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9379 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9380 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9381 (x_free_frame_resources): Sync with xterm.c.
9382
93832008-02-01 Andreas Schwab <schwab@suse.de>
9384
9385 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9386 char-table size.
9387
93882008-02-01 Kenichi Handa <handa@m17n.org>
9389
9390 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9391
93922008-02-01 Kenichi Handa <handa@m17n.org>
9393
9394 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9395 font_otf_gpos, add font_drive_otf.
9396
9397 * fontset.c (fontset_find_font): Pay attention to font size
9398 specified for a font.
9399 (reorder_font_vector): Check contents of font_def.
9400
9401 * font.c (struct otf_list): Delete it.
9402 (otf_list): Make it a lisp variable.
9403 (otf_open): Use lispy otf_list.
9404 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9405 (check_otf_features): New function.
9406 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9407 New functions.
9408 (font_drive_otf): New function merging font_otf_gsub and
9409 font_otf_gpos.
9410 (font_open_for_lface): New arg spec. Change argument order.
9411 (font_load_for_face): Adjust for the change of font_open_for_lface.
9412 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9413 Ffont_otf_gpos.
9414 (syms_of_font): Staticpro otf_list. Delete defsubr of
9415 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9416
9417 * xfaces.c (set_font_frame_param): Adjust for the change of
9418 font_open_for_lface.
9419
9420 * font.h (font_open_for_lface): Adjust prototype.
9421 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9422 member otf_drive.
9423 (font_otf_gsub, font_otf_gpos): Delete externs.
9424 (font_drive_otf): Extern it.
9425
94262008-02-01 Kenichi Handa <handa@m17n.org>
9427
9428 * font.c (font_at): If the window W is not on a window system,
9429 return Qnil.
9430
9431 * coding.c (produce_chars, encode_coding): Don't call
9432 insert_from_gap if no characters to produce.
9433
94342008-02-01 Kenichi Handa <handa@m17n.org>
9435
9436 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9437 Fclear_face_cache.
9438
9439 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9440
94412008-02-01 Miles Bader <miles@gnu.org>
9442
9443 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9444 Parse "--disable-font-backend" option.
9445 (standard_args): Add "--disable-font-backend" option.
9446
94472008-02-01 Kenichi Handa <handa@m17n.org>
9448
9449 * fontset.c (fontset_find_font): New function.
9450 (fontset_font): Use fontset_find_font.
9451 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9452 Register the specified font for all Latin characters.
9453 (new_fontset_from_font): Register the specified font for all Latin
9454 characters.
9455 (dump_fontset): For a realized fontset, include the base fontset
9456 name in the returned vector.
9457
94582008-02-01 Kenichi Handa <handa@m17n.org>
9459
9460 * character.h (CHAR_STRING): Cast C to unsigned on calling
9461 char_string.
9462
9463 * character.c (char_string): Type of arg C changed to unsigned.
9464 Signal an error if C is an invalid character code.
9465
9466 * editfns.c (general_insert_function, Fchar_to_string):
9467 Use CHARACTERP, not INTEGERP.
9468
94692008-02-01 Kenichi Handa <handa@m17n.org>
9470
9471 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9472 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9473
9474 * regex.c (analyse_first): Fix for multibyte characters in "case
9475 charset:" and "case categoryspec:".
9476
94772008-02-01 Andreas Schwab <schwab@suse.de>
9478
9479 * Makefile.in (LIBES): Move standard libraries to the end.
9480
94812008-02-01 Kenichi Handa <handa@m17n.org>
9482
9483 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9484 nonzero, don't shrink the buffer nextb.
9485
9486 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9487
9488 * coding.c (coding_alloc_by_making_gap): New arg offset.
9489 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9490 offset.
9491 (decode_coding_iso_2022): Update coding->safe_charsets.
9492 (decode_coding_gap): Temporarily set
9493 current_buffer->text->inhibit_shrinking to 1.
9494
94952008-02-01 Kenichi Handa <handa@m17n.org>
9496
9497 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9498 indexing into elements of s->cmp and s->char2b.
9499
95002008-02-01 Juanma Barranquero <lekktu@gmail.com>
9501
9502 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9503
95042008-02-01 Kenichi Handa <handa@m17n.org>
9505
9506 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9507 target_multibyte instead of multibyte.
9508 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9509 (bcmp_translate): Change the argument name from multibyte to
9510 target_multibyte.
9511
95122008-02-01 Kenichi Handa <handa@m17n.org>
9513
9514 These changes are to compile a regexp into a pattern that can be
9515 used both for multibyte and unibyte targets.
9516
9517 * Makefile.in (search.o): Depend on charset.h.
9518
9519 * character.c (multibyte_char_to_unibyte_safe): New function.
9520
9521 * search.c: Include "charset.h".
9522 (compile_pattern_1): Delete argument multibyte. Don't set
9523 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9524 (compile_pattern): Don't compare cp->buf.target_multibyte.
9525 Compare cp->buf.charset_unibyte.
9526 (compile_pattern): Set cp->buf.target_multibyte.
9527
9528 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9529
9530 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9531
9532 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9533 multibyte. Change callers.
9534 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9535 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9536 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9537 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9538 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9539 (regex_compile): Make the compiled pattern usable both for
9540 multibyte and unibyte targets.
9541 (analyse_first): Make the fastmap usable both for multibyte and
9542 unibyte targets.
9543 (TRANSLATE_VIA_MULTIBYTE): Delete.
9544 (re_match_2_internal): Pay attention to the case that the
9545 multibyteness of bufp and target may be different.
9546
95472008-02-01 Kenichi Handa <handa@m17n.org>
9548
9549 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9550 empty box occupy at least one column width.
9551
95522008-02-01 Miles Bader <miles@gnu.org>
9553
9554 * Makefile.in: Remove redundant HAVE_XFT clause.
9555
95562008-02-01 Kenichi Handa <handa@m17n.org>
9557
9558 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9559
95602008-02-01 Kenichi Handa <handa@m17n.org>
9561
9562 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9563 being nil.
9564
95652008-02-01 Kenichi Handa <handa@m17n.org>
9566
9567 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9568
95692008-02-01 Kenichi Handa <handa@m17n.org>
9570
9571 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9572
95732008-02-01 Kenichi Handa <handa@m17n.org>
9574
9575 * search.c (simple_search): Fix previous change.
9576
95772008-02-01 Kenichi Handa <handa@m17n.org>
9578
9579 * xftfont.c (ftfont_font_format): Extern declaration.
9580
9581 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9582
9583 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9584 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9585
9586 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9587 (ftfont_font_format): Fix previous change.
9588
9589 * font.h (Ffont_xlfd_name): EXFUN it.
9590
9591 * font.c (font_parse_xlfd): Fix the array size of `f'.
9592 (register_font_driver): Use EQ to compare driver->type.
9593
9594 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9595 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9596 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9597
95982008-02-01 Kenichi Handa <handa@m17n.org>
9599
9600 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9601 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9602
96032008-02-01 Kenichi Handa <handa@m17n.org>
9604
9605 * xfont.c (xfont_open): Set font->format.
9606
9607 * xftfont.c (xftfont_open): Set font->format.
9608
9609 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9610 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9611 (ftfont_open): Set font->format.
9612 (ftfont_font_format): New function.
9613
9614 * font.h (struct font): New member format.
9615
9616 * font.c (Qopentype): New variable.
9617 (syms_of_font): Defsym it.
9618 (Fquery_font): Change the format of the last element of the return
9619 value.
9620
96212008-02-01 Kenichi Handa <handa@m17n.org>
9622
9623 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9624 last resort.
9625
96262008-02-01 Kenichi Handa <handa@m17n.org>
9627
9628 * coding.c (detect_coding_charset): Fix detection of multi-byte
9629 charset.
9630
96312008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9632
9633 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9634
96352008-02-01 Kenichi Handa <handa@m17n.org>
9636
9637 * xdisp.c (get_next_display_element): Set it->face_id for the
9638 first component of a composition.
9639 (x_produce_glyphs): Check if the font is changed or not for composition.
9640
96412008-02-01 Kenichi Handa <handa@m17n.org>
9642
9643 * fontset.c (Qlatin): New variable.
9644 (syms_of_fontset): Define it as a lisp symbol.
9645 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9646
96472008-02-01 Kenichi Handa <handa@m17n.org>
9648
9649 * font.c (font_unparse_fcname): Pay attention to the case that
9650 some of font property is a null string.
9651
96522008-02-01 Kenichi Handa <handa@m17n.org>
9653
9654 * term.c: Include "composite.h".
9655 (encode_terminal_code): Output all components of composition.
9656 Check the size of encode_terminal_src.
9657 (produce_glyphs): For composition, call produce_composite_glyph.
9658 (append_composite_glyph, produce_composite_glyph): New functions.
9659
9660 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9661 is not found, get font_info from the current ascii face.
9662
96632008-02-01 Kenichi Handa <handa@m17n.org>
9664
9665 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9666 buffer-file-name to Qnil before calling insert_from_buffer.
9667
9668 * font.c (font_unparse_fcname): Pay attention to the case that
9669 foundry is a null string.
9670
96712008-02-01 Kenichi Handa <handa@m17n.org>
9672
9673 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9674
9675 * font.c (Qunicode_sip): New variable.
9676 (syms_of_font): Declare it as a Lisp symbol.
9677
9678 * font.h (Qunicode_sip): Extern it.
9679
96802008-02-01 Kenichi Handa <handa@m17n.org>
9681
9682 * composite.c (get_composition_id): Pay attention to TAB component.
9683
9684 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9685 TAB. Adjust for the change of s->char2b which always points to
9686 the first element of allocated memory.
9687
9688 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9689
9690 * xdisp.c (handle_composition_prop): Set it->c to the first
9691 non-TAB component.
9692 (fill_composite_glyph_string): Change argument.
9693 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9694 (x_produce_glyphs): Fix handling of left/right padding.
9695
96962008-02-01 Kenichi Handa <handa@m17n.org>
9697
9698 * coding.c (detect_coding_system): Fix for handling off
9699 inhibit_iso_escape_detection. Fix for the case that no coding
9700 system is defined for a specific coding category.
9701
97022008-02-01 Kenichi Handa <handa@m17n.org>
9703
9704 * font.c (font_matching_entity): Delete unused local var.
9705
9706 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9707 opening a font.
9708
9709 * fileio.c (Finsert_file_contents): On recovering a file, assume
9710 Unix-like eol.
9711 (choose_write_coding_system): On auto-saving a file, force
9712 Unix-like eol.
9713
9714 * coding.c (setup_coding_system): Fix setting of
9715 coding->common_flags based on eol_type.
9716 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9717 inherit from it.
9718
97192008-02-01 Kenichi Handa <handa@m17n.org>
9720
9721 * alloc.c (NSTATICS): Increas to 0x600.
9722
97232008-02-01 Kenichi Handa <handa@m17n.org>
9724
9725 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9726 (ftfont_list): Don't check :name property.
9727 (ftfont_match): New function.
9728 (ftfont_pattern_entity): If the pattern doesn't contain
9729 FC_SPACING, don't assume FC_MONO.
9730
9731 * font.h (struct font_driver): New member `match'.
9732 (font_update_drivers): Adjust prototype.
9733
9734 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9735 property of FONT.
9736 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9737 them unconditionally.
9738 (font_matching_entity): New function.
9739 (font_open_by_name): Try font_matching_entity if exact match is
9740 not found.
9741 (font_update_drivers): Delete the arg FONT. Return a list of
9742 actually used backends. Don't free faces, font caches here.
9743 Don't store data in frame parameters. Don't call x_set_font.
9744 (Ffont_spec): Store :name property as is.
9745 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9746 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9747 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9748 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9749 Call font->driver->otf_gsub instead of font_otf_gsub.
9750
9751 * frame.c (x_set_font_backend): Do more works that were done in
9752 font_update_drivers before.
9753
9754 * xfont.c (xfont_match): New function.
9755 (xfont_driver): Set xfont_driver.match to xfont_match.
9756 (xfont_draw): Set font in GC if necessary.
9757
9758 * ftxfont.c (ftxfont_match): New function.
9759 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9760
9761 * xftfont.c (xftfont_match): New function.
9762 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9763
97642008-02-01 Kenichi Handa <handa@m17n.org>
9765
9766 * font.h (struct font): New member scalable.
9767 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9768 (font_otf_gsub): Adjust prototype.
9769
9770 * font.c (font_otf_capability): Fix handling of the default langsys.
9771 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9772 Check the contents of SPEC.
9773 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9774 (check_gstring): New function.
9775 (REPLACEMENT_CHARACTER): New macro.
9776 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9777 glyph codes of GSTRING.
9778 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9779 (font_prepare_composition): Set cmp->glyph_len.
9780 (font_open_entity): Set font->scalable.
9781 (Ffont_get): Handle :otf property.
9782 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9783 functions.
9784 (Fquery_font): Use font->font.full_name.
9785 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9786 Sfont_otf_alternates.
9787
9788 * ftfont.c (ftfont_open): Set font->font.full_name and
9789 font->font.name properly. Fix calculation of font->font.height
9790 and font->min_width.
9791
9792 * ftxfont.c (ftxfont_create_gcs): New function.
9793 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9794 (ftxfont_draw_backgrond): Fix filling region.
9795 (ftxfont_default_fid): New function.
9796 (ftxfont_open): Set xfont->fid to the return value of
9797 ftxfont_default_fid.
9798 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9799 (ftxfont_done_face): Free only GCs that are created by
9800 ftxfont_create_gcs.
9801 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9802
9803 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9804 Clip to src->width, etc (not src->clip_XXX).
9805
9806 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9807 FontBackend frame parameter.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * font.h (struct font_driver_list): New member `on'.
9812 (Fclear_font_cache): EXFUN it.
9813 (font_update_drivers): Extern it.
9814
9815 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9816 (font_list_entities): Check driver_list->on.
9817 (register_font_driver): Initalize `on' member to 0.
9818 (font_update_drivers): New function.
9819 (Fclear_font_cache): Check driver_list->on.
9820
9821 * frame.h (Qfont_backend): Extern it.
9822 (x_set_font_backend): Extern it.
9823
9824 * frame.c (Qfont_backend): New variable.
9825 (frame_parms): New element for font-backend.
9826 (x_set_font_backend): New function.
9827
9828 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9829 FontBackend frame parameter.
9830 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9831 x_set_font_backend.
9832
9833 * xfont.c (xfont_list): Don't try listing by :name property if the
9834 name is not for XLFD.
9835
98362008-02-01 Kenichi Handa <handa@m17n.org>
9837
9838 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9839 (LGLYPH_SET_TO): New macros.
9840 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9841 element of G is vector or not.
9842 (font_at): Extern it.
9843
9844 * font.c: Include window.h.
9845 (font_lispy_object): New function.
9846 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9847 end of valid glyph.
9848 (font_close_object): Fix getting (struct font *).
9849 (font_at): New function.
9850 (Ffont_get): If FONT is a font-object, get entity from it.
9851 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9852 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9853 range check.
9854 (Ffont_at): New function.
9855 (syms_of_font): Defsubr Sfont_at.
9856
9857 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9858 before the entry for Qcomposition.
9859 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9860 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9861 the font in gstring.
9862 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9863 LGLYPH_FORM (g) to detect the end of valid glyph.
9864 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9865 we are composing with gstring.
9866
9867 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9868 Check if adjustment is vector or not.
9869
9870 * Makefile.in (font.o): Make it depends on window.h.
9871
98722008-02-01 Kenichi Handa <handa@m17n.org>
9873
9874 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9875 adjustment is vector or not.
9876
98772008-02-01 Miles Bader <miles@gnu.org>
9878
9879 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9880
98812008-02-01 Kenichi Handa <handa@m17n.org>
9882
9883 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9884 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9885 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9886
9887 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9888 (DEVICE_DELTA): Fix typo.
9889 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9890 LGLYPH format.
9891
9892 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9893 the change of LGLYPH format.
9894
98952008-02-01 Kenichi Handa <handa@m17n.org>
9896
9897 * ftfont.c (ftfont_list): Fix typo.
9898 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9899
99002008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9901
9902 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9903
9904 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9905 xftface_info is non-NULL.
9906
99072008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9908
9909 * ftfont.c (ftfont_list): Move misplaced #endif.
9910
99112008-02-01 Kenichi Handa <handa@m17n.org>
9912
9913 * ftfont.c (ftfont_list): Pay attention to the case that
9914 FC_CAPABILITY is not defined.
9915
99162008-02-01 Kenichi Handa <handa@m17n.org>
9917
9918 * xftfont.c (xftfont_open): Set charset related members to -1.
9919
9920 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9921 QCname.
9922 (ftfont_open): Set charset related members to -1.
9923
9924 * fontset.c (Votf_script_alist): New variable.
9925 (syms_of_fontset): Initialize it.
9926 (fontset_font): Delete unused variable.
9927
9928 * fontset.h (Votf_script_alist): Extern it.
9929
9930 * font.c (font_find_for_lface): Optimize code.
9931
9932 * font.h (font_close_object, font_merge_old_spec): Extern them.
9933
99342008-02-01 Kenichi Handa <handa@m17n.org>
9935
9936 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9937 (syms_of_font): Initialize them.
9938 (font_pixel_size): Allow float value in dpi.
9939 (font_prop_validate_type): Delete.
9940 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9941 Change caller.
9942 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9943 (font_prop_validate_extra): Delete.
9944 (font_prop_validate_spacing): New function.
9945 (font_property_table): Add elements for all known properties.
9946 (get_font_prop_index): Rename from check_font_prop_name. New
9947 argument FROM. Change caller.
9948 (font_prop_validate): Validate all known properties.
9949 (font_put_extra): Delete argument force. Change caller.
9950 (font_expand_wildcards): Make it static. Fix the way of shrinking
9951 the possible range.
9952 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9953 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9954 Change caller.
9955 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9956 (font_parse_fcname): Delete argument merge. Fix parsing of point
9957 size. Don't validate properties values here. Change caller.
9958 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9959 (font_open_by_name): Delete unused variable.
9960 (Ffont_spec): Likewise. Validate property values.
9961 (Ffont_match_p): New function.
9962
9963 * font.h (QCscalable): Extern it.
9964 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9965
9966 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9967
9968 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9969 (xfont_list_pattern): New function.
9970 (xfont_list): Use xfont_list_pattern.
9971
99722008-02-01 Kenichi Handa <handa@m17n.org>
9973
9974 * font.h (Flist_fonts): EXFUN it.
9975
99762008-02-01 Jason Rumney <jasonr@gnu.org>
9977
9978 * w32term.c (w32_initialize): Add back smoothing_type and
9979 smoothing_enabled definitions.
9980
99812008-02-01 Kenichi Handa <handa@m17n.org>
9982
9983 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9984 s->face->font on determining underline position.
9985
99862008-02-01 Kenichi Handa <handa@m17n.org>
9987
9988 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9989 (font_has_char): Accept font-object too.
9990 (font_find_for_lface): Try at first with a size specified in face.
9991
99922008-02-01 Kenichi Handa <handa@m17n.org>
9993
9994 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9995 font_open_by_name.
9996
99972008-02-01 Kenichi Handa <handa@m17n.org>
9998
9999 * font.h (QCspacing, QCdpi): Extern them.
10000 (enum font_spacing): New enum.
10001 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10002
10003 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10004 (QCspacing, QCdpi): New variables.
10005 (syms_of_font): Initialize them.
10006 (font_pixel_size): New function.
10007 (font_put_extra): New function.
10008 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10009 in FONT_EXTRA.
10010 (font_parse_fcname): Handle enumerated values (e.g. bold).
10011 Fix handling font size. Add QCname property that contains only
10012 unknown properties.
10013 (font_score): Change argument. Change caller. Pay attention to
10014 FONT_PIXEL_SIZE_QUANTUM.
10015 (font_sort_entites, font_list_entities, font_find_for_lface)
10016 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10017 (Ffont_spec): Add QCname property that contains only unknown properties.
10018
10019 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10020 include weight in listing pattern, instead check weight of each
10021 listed font. Don't include scalable in pattern. Pay attention to
10022 FONT_PIXEL_SIZE_QUANTUM.
10023
100242008-02-01 Kenichi Handa <handa@m17n.org>
10025
10026 * font.c (font_parse_fcname): Fix parsing of point-size.
10027 (font_unparse_fcname): Produce symbolic names for style properties.
10028 (font_list_entities): Handle float size correctly.
10029 (font_open_by_name): Prefer `normal' property values if the name
10030 doesn't specify them.
10031
10032 * fontset.c (Finternal_char_font): Use font_get_name, not
10033 Ffont_xlfd_name.
10034
10035 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10036 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10037 pattern. Don't force scalable.
10038
10039 * xftfont.c (xftfont_open): For generating a name, start from
10040 96-byte buffer.
10041
100422008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10043
10044 * frame.h (x_new_fontset2): Fix prototype.
10045
100462008-02-01 Kenichi Handa <handa@m17n.org>
10047
10048 * font.h (struct font_driver): Delete member parse_name.
10049 (font_match_p, font_get_spec, font_parse_fcname)
10050 (font_unparse_fcname): Extern them.
10051 (font_get_name): Adjust prototype.
10052
10053 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10054 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10055 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10056 unnecessary checks for weight, slant, and swidth.
10057 (font_parse_fcname): New function.
10058 (font_unparse_fcname): New function.
10059 (font_parse_name): New function.
10060 (font_match_p): New function.
10061 (font_get_name): Change return value to Lisp string.
10062 (font_get_spec): New function.
10063 (Qunspecified, Qignore_defface): Don't extern them.
10064 (font_find_for_lface): Assume that LFACE is fully specified.
10065 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10066 object, use it for FACE.
10067 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10068 driver->parse_name.
10069 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10070
10071 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10072 prototype.
10073
10074 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10075 argument F. Don't call Fnew_fontset. Instead, directly call
10076 make_fontset.
10077
10078 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10079
10080 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10081 of x_new_fontset2.
10082
10083 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10084 (Qsans__serif): New variables.
10085 (ftfont_generic_family_list): New variable.
10086 (syms_of_ftfont): Initialize the above variables.
10087 (ftfont_pattern_entity): Delete argument NAME.
10088 (ftfont_list_generic_family): New function.
10089 (ftfont_parse_name): Delete this function.
10090 (ftfont_list): Try generic family only when FcFontList found no font.
10091 (ftfont_list_family): Fix args to FcObjectSetBuild.
10092
10093 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10094 object in attrs[LFACE_FONT_INDEX].
10095 (set_lface_from_font_name): Cancel all changes for font-backend.
10096 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10097 function.
10098 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10099 font object in QCfont attribute.
10100 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10101 (realize_default_face) [USE_FONT_BACKEND]: Call
10102 set_lface_from_font_and_fontset.
10103
10104 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10105 "fixed", and signal error here if no suitable font was found.
10106
10107 * xfont.c (xfont_parse_name): Delete this function.
10108
10109 * xftfont.c (xftfont_open): Change coding style of error
10110 handling. Generate fontconfig's fontname pattern.
10111
10112 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10113 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10114
10115 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10116 Both args FONTSET and FONT_OBJECT must be existing ones.
10117
101182008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10119
10120 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10121
101222008-02-01 Kenichi Handa <handa@m17n.org>
10123
10124 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10125
10126 * font.h (struct font): Fix typo.
10127
10128 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10129 XLFD_XXX_INDEX.
10130 (enum xlfd_field_mask): New enum.
10131 (intern_font_field): Changed argument. Change caller. If digits
10132 are followed by non-digits, return a symbol.
10133 (font_expand_wildcards): New function.
10134 (font_parse_xlfd): Fix wildcard handling.
10135 (Ffont_spec): If :name is specified, reflect the info in the other
10136 properties.
10137
10138 * ftfont.c (ftfont_pattern_entity): Fix typo.
10139 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10140 locale.
10141
101422008-02-01 Kenichi Handa <handa@m17n.org>
10143
10144 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10145
10146 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10147 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10148 registry doesn't specify encoding part.
10149 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10150 (font_open_by_name): At first try parsing the name.
10151 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10152 as Lisp symbols.
10153
10154 * fontset.c (reorder_font_vector): Pay attention to the case that
10155 the 3rd element of font_def is nil.
10156 (fontset_font): For the default fontset, append one more fontset
10157 elements for a script-based font specification. Don't add script
10158 attribute on finding a font.
10159 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10160 font name.
10161 (fontset_ascii_font): If a font can't be opened, return nil.
10162
10163 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10164 (ftfont_pattern_entity): New function.
10165 (ftfont_get_cache): Assume that freetype_font_cache is already
10166 initialized.
10167 (ftfont_list): Handle the case that a file is specified in font
10168 name. Use ftfont_pattern_entity to generate entities.
10169 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10170 (syms_of_ftfont): Initialize freetype_font_cache.
10171
10172 * xftfont.c (xftfont_open): Make the font name fontconfig's
10173 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10174 (xftfont_close): Free font->font.name if not NULL.
10175
10176 * xfont.c (xfont_list): If script is specified for a font, return
10177 null_vector.
10178 (xfont_list_family): Declare argument type.
10179
10180 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10181 name, set LFACE_FONT (lface) to nil.
10182
10183 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10184 return Qnil.
10185
101862008-02-01 Kenichi Handa <handa@m17n.org>
10187
10188 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10189 (standard_args): Add "-enable-font-backend".
10190
101912008-02-01 Kenichi Handa <handa@m17n.org>
10192
10193 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10194 (struct xftdraw_list, xftdraw_list): Delete them.
10195 (register_xftdraw, check_xftdraw): Delete them.
10196 (xftfont_prepare_face): Don't call register_xftdraw.
10197 (xftfont_done_face): Don't call check_xftdraw.
10198 (xftfont_draw): Get background color only when with_background is
10199 nonzero.
10200
10201 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10202
102032008-02-01 Kenichi Handa <handa@m17n.org>
10204
10205 These changes are for the new font handling codes.
10206
10207 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10208 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10209 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10210 (FONTSRC, FONTOBJ): New variables.
10211 (obj): Add $(FONTOBJ).
10212 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10213 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10214 @LIBOTF_LIBS@.
10215 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10216 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10217
10218 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10219
10220 * character.h (Vscript_representative_chars): Extern it.
10221
10222 * character.c (Vscript_representative_chars): New variable.
10223 (syms_of_character): Declare it as a Lisp variable.
10224
10225 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10226 enable_font_backend is nonzero, accept the composition method
10227 COMPOSITION_WITH_GLYPH_STRING.
10228
10229 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10230 enumeration COMPOSITION_WITH_GLYPH_STRING.
10231
10232 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10233 members clip_x, clip_y, clip_width, and clip_height.
10234 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10235
10236 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10237 --enable-font-backend. Call syms_of_font.
10238
10239 * fns.c (assoc_no_quit): New function.
10240
10241 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10242 (face_for_font, new_fontset_from_font)
10243 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10244
10245 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10246 (fontset_font, fontset_ascii, face_for_char)
10247 (make_fontset_for_ascii_face, Ffont_info)
10248 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10249 is nonzero, use font-backend mechanism.
10250 (find_font_encoding): Make it non-static.
10251 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10252 New functions.
10253
10254 * frame.h (struct frame): New members resx and resy.
10255 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10256 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10257
10258 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10259 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10260
10261 * lisp.h (assoc_no_quit): Extern it.
10262
10263 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10264 Through out the file, use FONT_INFO_FROM_FACE instead of
10265 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10266 rif->per_char_metric.
10267 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10268 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10269 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10270 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10271 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10272 nonzero, use font-backend mechanism.
10273 (get_per_char_metric): New function.
10274
10275 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10276 (set_lface_from_font_name)
10277 (set_font_frame_param, free_realized_face)
10278 (prepare_face_for_display, clear_face_gcs)
10279 (Finternal_set_font_selection_order, realize_x_face)
10280 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10281 font-backend mechanism.
10282 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10283 (load_face_font) [USE_FONT_BACKEND]: Abort.
10284 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10285 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10286
10287 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10288 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10289 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10290 nonzero, register all available font drivers. Call
10291 x_default_font_parameter for deciding a font.
10292 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10293
10294 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10295 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10296 (x_set_glyph_string_clipping_exactly)
10297 (x_compute_glyph_string_overhangs)
10298 (x_draw_glyph_string_foreground)
10299 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10300 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10301 enable_font_backend is nonzero, use font-backend mechanism.
10302 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10303
103042008-02-01 Kenichi Handa <handa@m17n.org>
10305
10306 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10307 system_eol_type.
10308 (syms_of_coding): Initialize system_eol_type.
10309
10310 * process.c (Fset_process_coding_system): Inherit system's eol
10311 format if necessary.
10312
103132008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10314
10315 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10316
103172008-02-01 Kenichi Handa <handa@m17n.org>
10318
10319 * coding.c (decode_eol): Pay attention to buffer relocation in
10320 del_range_2.
10321 (decode_coding): Call decode_eol before restoring undo_list.
10322
103232008-02-01 Kenichi Handa <handa@m17n.org>
10324
10325 * charset.c (Fdefine_charset_internal): Fix setting of
10326 emacs_mule_bytes.
10327
103282008-02-01 Kenichi Handa <handa@m17n.org>
10329
10330 * keyboard.c (read_char): Check if C is a character or not before
10331 looking up Vkeyboard_translate_table.
10332
103332008-02-01 Kenichi Handa <handa@m17n.org>
10334
10335 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10336 condition to terminate the loop.
10337
103382008-02-01 Kenichi Handa <handa@m17n.org>
10339
10340 * coding.c (produce_composition): Compare charbuf[i] instead of
10341 args[i] against 0.
10342 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10343
103442008-02-01 Kenichi Handa <handa@m17n.org>
10345
10346 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10347 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10348 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10349 detect_coding.
10350 (emacs_mule_char): Handle old style (Emacs 20) component character
10351 of a composition.
10352 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10353 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10354 composition rule.
10355 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10356
103572008-02-01 Kenichi Handa <handa@m17n.org>
10358
10359 * coding.c (encode_coding_ccl): Allocate destination dynamically
10360 when necessary.
10361
103622008-02-01 Kenichi Handa <handa@m17n.org>
10363
10364 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10365 the loop. When quitted, show a proper error message.
10366
103672008-02-01 Kenichi Handa <handa@m17n.org>
10368
10369 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10370 src->clip_head and src->clip_tail temporarily instead of src->hl.
10371
10372 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10373 character sequence.
10374 (Fccl_execute_on_string): Use ASET, not XSET.
10375
103762008-02-01 Kenichi Handa <handa@m17n.org>
10377
10378 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10379
103802008-02-01 Kenichi Handa <handa@m17n.org>
10381
10382 * coding.c (decode_coding): Fix the condition of terminating the
10383 decoding loop.
10384
103852008-02-01 Kenichi Handa <handa@m17n.org>
10386
10387 * data.c (Faset): On setting a character bigger than 255 in a
10388 unibyte string, signal an error instead of make the string multibyte.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10393 made by a mapping table.
10394
103952008-02-01 Kenichi Handa <handa@m17n.org>
10396
10397 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10398 not.
10399 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10400 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10401
10402 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10403 s->face is NULL or not.
10404
104052008-02-01 Kenichi Handa <handa@m17n.org>
10406
10407 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10408 (x_draw_glyph_string): Fix drawing of right_overhang and
10409 left_overhang around/on cursor.
10410
10411 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10412
104132008-02-01 Kenichi Handa <handa@m17n.org>
10414
10415 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10416
104172008-02-01 Kenichi Handa <handa@m17n.org>
10418
10419 * coding.c (Fdefine_coding_system_internal)
10420 (Fdefine_coding_system_alias): Avoid a duplicated element in
10421 Vcoding_system_alist.
10422
104232008-02-01 Kenichi Handa <handa@m17n.org>
10424
10425 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10426
10427 * coding.c (Qcoding_system_define_form): New variable.
10428 (syms_of_coding): Intern and staticpro it.
10429 (Fcoding_system_p): Check Qcoding_system_define_form.
10430 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10431
10432 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10433 Fcoding_system_p.
10434 (CHECK_CODING_SYSTEM): If ID is not available, call
10435 Fcheck_coding_system.
10436 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10437 Try also Fcheck_coding_system.
10438
104392008-02-01 Kenichi Handa <handa@m17n.org>
10440
10441 * coding.c (code_conversion_restore): GCPRO arg.
10442
104432008-02-01 Kenichi Handa <handa@m17n.org>
10444
10445 * character.c (lisp_string_width): Check multibyteness of STRING.
10446
104472008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10448
10449 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10450 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10451 (decode_mac_font_name): Use decode_coding_c_string instead of
10452 decode_coding.
10453 (x_load_font): Initialize fontp->fontset to -1. Set
10454 fontp->encoding_type.
10455
104562008-02-01 Kenichi Handa <handa@m17n.org>
10457
10458 * search.c (search_buffer): Give up BM search on case-fold-search
10459 if one of a target character has a case-equivalence of different
10460 byte length even if that target charcter is an ASCII.
10461 (simple_search): Fix calculation of byte length of matched text.
10462 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10463
104642008-02-01 Kenichi Handa <handa@m17n.org>
10465
10466 * coding.c (decode_coding): Fix handling of invalid bytes.
10467
104682008-02-01 Kenichi Handa <handa@m17n.org>
10469
10470 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10471 Unicode characters.
10472
104732008-02-01 Kenichi Handa <handa@m17n.org>
10474
10475 * coding.c (encode_coding_object): If a pre-write-conversion
10476 function makes a new buffer, kill it.
10477
104782008-02-01 Kenichi Handa <handa@m17n.org>
10479
10480 * coding.c (QCascii_compatible_p): New variable.
10481 (syms_of_coding): Initialize it.
10482 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10483 calling string_char.
10484 (record_conversion_result): Add `default:' case.
10485 (coding_charset_list): Delete unused variable `coding_type'.
10486 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10487 property in the plist of the coding system.
10488 (Fcoding_system_put): Check QCascii_compatible_p.
10489
104902008-02-01 Miles Bader <miles@gnu.org>
10491
10492 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10493 removed calculation of frame `f', as it's now used.
10494
104952008-02-01 Kenichi Handa <handa@m17n.org>
10496
10497 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10498 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10499 (UNIDATA): New variable.
10500 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10501 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10502 $(RUN_TEMACS) unconditionally.
10503
105042008-02-01 Kenichi Handa <handa@m17n.org>
10505
10506 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10507 (admindir): New variable.
10508 ($(lispsource)international/charprop.el): New target.
10509
105102008-02-01 Miles Bader <miles@gnu.org>
10511
10512 * character.c (chars-in-region): Remove obsolete function.
10513 (syms_of_character): Remove its initialization.
10514
105152008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10516
10517 * w32select.c (validate_coding_system)
10518 (setup_windows_coding_system): New functions.
10519 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10520 setup_windows_coding_system.
10521 (setup_config, Fw32_get_clipboard_data): Use
10522 validate_coding_system.
10523 (Fx_selection_exists): Move call to setup_config to a place
10524 where signals are allowed.
10525
10526 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10527 (Fcheck_coding_system): Add declarations.
10528
105292008-02-01 Kenichi Handa <handa@m17n.org>
10530
10531 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10532
105332008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10534
10535 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10536 string as the second argument for x_new_fontset.
10537
105382008-02-01 Kenichi Handa <handa@m17n.org>
10539
10540 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10541 (encode_coding_object): Use safe_call instead of call2.
10542
105432008-02-01 Kenichi Handa <handa@m17n.org>
10544
10545 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10546
10547 * Makefile.in (lisp): Include charprop.el.
10548
105492008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10550
10551 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10552 Not sure if it's unnecessary.
10553
105542008-02-01 Steven Tamm <steventamm@mac.com>
10555
10556 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10557 some possibly unnecessary fontset checking code that crashed
10558 when creating a new frame.
10559
105602008-02-01 Kenichi Handa <handa@m17n.org>
10561
10562 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10563 lookup_face.
10564
10565 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10566
10567 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10568
105692008-02-01 Kenichi Handa <handa@m17n.org>
10570
10571 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10572 (coding_charset_list): New function.
10573
10574 * coding.h (coding_charset_list): Extern it.
10575
105762008-02-01 Kenichi Handa <handa@m17n.org>
10577
10578 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10579 concatenation of family and registry.
10580
105812008-02-01 Kenichi Handa <handa@m17n.org>
10582
10583 * character.h (BYTE8_STRING): Fix typo.
10584
10585 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10586 string to multibyte (sync to HEAD).
10587
10588 * casefiddle.c (casify_region): Handle changes in byte-length
10589 using replace_range_2 (sync to HEAD).
10590
105912008-02-01 Andreas Schwab <schwab@suse.de>
10592
10593 * chartab.c (map_char_table): GCPRO table and arg.
10594
105952008-02-01 Kenichi Handa <handa@m17n.org>
10596
10597 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10598 already at limit.
10599
106002008-02-01 Kenichi Handa <handa@m17n.org>
10601
10602 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10603 instead of fast_c_string_match_ignore_case.
10604 (find_font_encoding): Change argument to Lisp_Object. Use
10605 fast_string_match_ignore_case instead of
10606 fast_c_string_match_ignore_case. Change caller.
10607
106082008-02-01 Kenichi Handa <handa@m17n.org>
10609
10610 * xdisp.c (get_next_display_element): In unibyte case, decide to
10611 display in octal form by checking a character by
10612 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10613
10614 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10615
10616 * character.c (unibyte_has_multibyte_table): New variable.
10617
10618 * character.h (unibyte_has_multibyte_table): Extern it.
10619 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10620
106212008-02-01 Kenichi Handa <handa@m17n.org>
10622
10623 * coding.c (encode_coding_iso_2022): Fix handling of charset
10624 annotation.
10625
106262008-02-01 Kenichi Handa <handa@m17n.org>
10627
10628 * coding.c (setup_coding_system): If coding_system is nil, use
10629 Qundecided.
10630 (Fterminal_coding_system): Return nil if terminal coding system is
10631 `undecided'.
10632 (syms_of_coding): Define coding-system `undecided' here. Setup
10633 terminal_coding as `undecided'.
10634
106352008-02-01 Kenichi Handa <handa@m17n.org>
10636
10637 * xdisp.c (message_dolog, set_message_1): Call
10638 unibyte_char_to_multibyte with arg type int.
10639
10640 * lread.c (read1): Fix reading of a char-table.
10641
10642 * print.c (print_object): Include sub char-table in circularities
10643 detection.
10644
106452008-02-01 Kenichi Handa <handa@m17n.org>
10646
10647 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10648 Append the found sequences in car of ARGS instead of prepending.
10649
106502008-02-01 Kenichi Handa <handa@m17n.org>
10651
10652 * fileio.c (report_file_error): Make a unibyte string from
10653 strerror (errorno).
10654 (Fsubstitute_in_file_name): Fix the arg to
10655 unibyte_char_to_multibyte. It is evaluated twice.
10656
106572008-02-01 Kenichi Handa <handa@m17n.org>
10658
10659 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10660
106612008-02-01 Kenichi Handa <handa@m17n.org>
10662
10663 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10664 BOM is not found.
10665 (detect_coding, detect_coding_system): Optimization for ISO-2022
10666 when no 8-bit data is found.
10667
106682008-02-01 Jason Rumney <jasonr@gnu.org>
10669
10670 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10671
106722008-02-01 Kenichi Handa <handa@m17n.org>
10673
10674 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10675 CHARS.
10676
106772008-02-01 Steven Tamm <steventamm@mac.com>
10678
10679 * macterm.c (mac_encode_char): Add charset argument and update
10680 to use encoding_type.
10681 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10682 switch to pure fontset.
10683 (decode_mac_font_name): Temporarily remove decoding.
10684 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10685 (x_load_font): Temporarily remove encoding.
10686
106872008-02-01 Kenichi Handa <handa@m17n.org>
10688
10689 * xfaces.c (Fface_font): If frame is not on a window system,
10690 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10691 refer to face->font.
10692 (split_font_name_into_vector, build_font_name_from_vector)
10693 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10694 when HAVE_WINDOW_SYSTEM is defined.
10695
106962008-02-01 Kenichi Handa <handa@m17n.org>
10697
10698 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10699 (x_produce_glyphs): Fix setting of members of cmp in case
10700 cmp->glyph_len is zero.
10701
10702 * fontset.c (Fset_fontset_font): Fix docstring.
10703 (Ffontset_info): Make it backward compatible. New arg ALL.
10704
107052008-02-01 Kim F. Storm <storm@cua.dk>
10706
10707 * process.c (read_process_output): Grow decoding_buf when needed;
10708 this could cause a crash in allocate_string and compact_small_strings.
10709
107102008-02-01 Kenichi Handa <handa@m17n.org>
10711
10712 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10713
107142008-02-01 Kenichi Handa <handa@m17n.org>
10715
10716 * coding.c (setup_coding_system): Set coding->common_flags
10717 correctly for raw-text.
10718 (consume_chars): On encoding unibyte text by raw-text, don't check
10719 multibyte form.
10720 (encode_coding): On encoding by raw-text, never use translation tables.
10721
10722 * fileio.c (e_write): Short cut for the case of no encoding.
10723
107242008-02-01 Kenichi Handa <handa@m17n.org>
10725
10726 * coding.c (detect_coding, detect_coding_system): Delete unused
10727 variables.
10728
107292008-02-01 Kenichi Handa <handa@m17n.org>
10730
10731 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10732 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10733
107342008-02-01 Kenichi Handa <handa@m17n.org>
10735
10736 * coding.c (Ffind_coding_systems_region_internal): Include
10737 raw-text and no-conversion in the result.
10738
107392008-02-01 Kenichi Handa <handa@m17n.org>
10740
10741 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10742 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10743 FONT_DEF.
10744 (font_def_arg, add_arg, from_arg, to_arg): New args.
10745 (set_fontset_font): Change argument.
10746 (Fset_fontset_font): Fix for the case that TARGET is a script
10747 name and charset name.
10748 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10749
107502008-02-01 Kenichi Handa <handa@m17n.org>
10751
10752 * fontset.c (fontset_font): Rename from fontset_face. Change return
10753 value.
10754 (face_suitable_for_char_p, face_for_char): Adjust for the change
10755 of fontset_font.
10756 (make_fontset_for_ascii_face): Fix setting of the fontset element
10757 for ASCII.
10758 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10759 to get a font name.
10760 (Ffontset_info): Adjust for the change of fontset_font.
10761
10762 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10763
10764 * character.h (LEADING_CODE_LATIN_1_MIN)
10765 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10766
107672008-02-01 Kenichi Handa <handa@m17n.org>
10768
10769 * editfns.c (check_translation): New function.
10770 (Ftranslate_region_internal): Handle M:N mapping.
10771
107722008-02-01 Kenichi Handa <handa@m17n.org>
10773
10774 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10775
107762008-02-01 Kenichi Handa <handa@m17n.org>
10777
10778 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10779 goto invalid_code.
10780 (decode_coding_iso_2022): Fix handling of invalid designation.
10781
10782 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10783 after calling code_conversion_save.
10784
107852008-02-01 Kenichi Handa <handa@m17n.org>
10786
10787 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10788
10789 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10790
10791 * fontset.c: Include "intervals.h".
10792 (fontset_face): Fix comparing of Lisp_Objects.
10793 (free_face_fontset, new_fontset_from_font_name): Fix
10794 Lisp_Object/int mixup.
10795
10796 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10797
10798 * coding.c: Add many prototypes for static functions.
10799 (get_translation_table): Allow max_lookup to be NULL.
10800 (decode_coding, Ffind_coding_systems_region_internal)
10801 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10802 get_translation_table with max_lookup NULL.
10803
108042008-02-01 Kenichi Handa <handa@m17n.org>
10805
10806 * coding.c (get_translation_table): Declare it as Lisp_Object.
10807 (LOOKUP_TRANSLATION_TABLE): New macro.
10808 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10809 instead of CHAR_TABLE_REF.
10810
108112008-02-01 Kenichi Handa <handa@m17n.org>
10812
10813 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10814 annotation data format.
10815 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10816 Change arguments FROM and TO to single argument NCHARS. Change caller.
10817 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10818 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10819 (decode_coding_ccl, decode_coding_charset): Pay attention to
10820 coding->charbuf_used.
10821 (get_translation): New function.
10822 (produce_chars): New arguments translation_table and last_block.
10823 Translate characters here. Return number of carryover chars.
10824 Change caller.
10825 (produce_composition): New argument pos. Change caller.
10826 Adjust for the change of annotation data format.
10827 (produce_charset, produce_annotation): Likewise.
10828 (decode_coding, encode_coding): Don't call translate_chars.
10829 (consume_chars): New arg translation_table. Change caller.
10830 (translate_chars): Delete.
10831 (syms_of_coding): Make translation-table's number of extra slots 2.
10832
108332008-02-01 Kenichi Handa <handa@m17n.org>
10834
10835 * search.c (simple_search): Fix setting this_pos_byte in backward
10836 search.
10837
10838 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10839 byte sequence.
10840 (detect_coding_ccl): Fix setting of the variable valids.
10841
108422008-02-01 Kenichi Handa <handa@m17n.org>
10843
10844 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10845
10846 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10847
10848 * editfns.c (Ftranslate_region_internal): Rename from
10849 Ftranslate_region. Accept a char-table in TABLE.
10850 (syms_of_editfns): Defsubr Stranslate_region_internal.
10851
10852 * xfaces.c (set_lface_from_font_name): If a font is specified for
10853 a frame, generate a fontset from the font.
10854 (build_scalable_font_name): If the scalable font is requested for
10855 a specific size, don't change that size.
10856 (try_font_list): Try a scalable font also in the case that a
10857 pattern string is specified.
10858
108592008-02-01 Kenichi Handa <handa@m17n.org>
10860
10861 * xfaces.c (Fface_font): New optional arg CHARACTER.
10862
108632008-02-01 Kenichi Handa <handa@m17n.org>
10864
10865 * charset.h (CHARSET_OFFSET): New macro.
10866
108672008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10870
10871 * fontset.c (fontset_face): Handle the case that repertory is a
10872 char-table.
10873 (find_font_encoding): Return nil for unknown encoding.
10874 (Fset_fontset_font): Ignore a font of unknown encoding.
10875
108762008-02-01 Kenichi Handa <handa@m17n.org>
10877
10878 * keymap.c (describe_vector): Handle default value of a char table.
10879
10880 * fontset.c (fontset_face): Handle fallback fonts correctly.
10881 (Ffontset_info): Return infomation about fallback fonts.
10882
108832008-02-01 Kenichi Handa <handa@m17n.org>
10884
10885 * fontset.c (FONTSET_DEFAULT): New macro.
10886 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10887 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10888 the case that it is nil.
10889 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10890 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10891
10892 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10893 subset or superset.
10894
108952008-02-01 Kenichi Handa <handa@m17n.org>
10896
10897 * emacs.c (main): Call init_charset after syms_of_XXX.
10898
10899 * charset.c (Vcharset_map_directory): Delete.
10900 (Vcharset_map_path): New variable.
10901 (load_charset_map_from_file): Use Vcharset_map_path instead.
10902 (init_charset): Initialize Vcharset_map_path.
10903 (syms_of_charset): Delete declaration of "charset-map-directory",
10904 add declaration of "charset-map-path".
10905
109062008-02-01 Kenichi Handa <handa@m17n.org>
10907
10908 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10909 ASCII only string.
10910
10911 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10912
10913 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10914 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10915
109162008-02-01 Kenichi Handa <handa@m17n.org>
10917
10918 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10919
10920 * coding.c (QCmnemonic, QCdefalut_char)
10921 (QCdecode_translation_table, QCencode_translation_table)
10922 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10923 (get_translation_table): Return a list of translation tables if
10924 necessary.
10925 (decode_coding): Call get_translation_table with ENCODEP 0.
10926 (char_encodable_p): If translation_table is non-nil, always call
10927 translate_char.
10928 (Fdefine_coding_system_internal): Accept list of translation
10929 tables as :encode-translation-table and :decode-translation-table.
10930 (Fcoding_system_put): New function.
10931 (syms_of_coding): Declare new symbols. Defsubr
10932 Scoding_system_put.
10933 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10934 typically JISX0212.
10935
10936 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10937 when the charset is superset type.
10938
10939 * character.c (translate_char): Accept list of translation tables.
10940
109412008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10944 (CODING_ATTR_TRANS_TBL): New macro.
10945
10946 * coding.c (get_translation_table): New function.
10947 (translate_chars): Fix the bug of skipping annotation data.
10948 (decode_coding, encode_coding): Utilize get_translation_table.
10949 (char_encodable_p, Funencodable_char_position): Translate char if
10950 necessary.
10951 (Ffind_coding_systems_region_internal)
10952 (Fcheck_coding_systems_region): Setup translation table for encode
10953 in a coding system attribute vector in advance.
10954 (Fdefine_coding_system_internal): Allow a symbol as translation
10955 table. For shift-jis type coding system, allow 4th charset.
10956
109572008-02-01 Kenichi Handa <handa@m17n.org>
10958
10959 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10960
10961 * xdisp.c (get_next_display_element): Pass -1 as POS to
10962 FACE_FOR_CHAR if displaying a C-string.
10963
109642008-02-01 Kenichi Handa <handa@m17n.org>
10965
10966 * composite.c (get_composition_id): Handle xoff and yoff in a
10967 composition rule.
10968
10969 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10970 (struct composition): New member lbearing and rbearing.
10971
10972 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10973 (x_get_glyph_overhangs): Handle a composition glyph.
10974 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10975
10976 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10977 composition glyph.
10978
109792008-02-01 Kenichi Handa <handa@m17n.org>
10980
10981 * print.c: Include charset.h.
10982 (Vprint_charset_text_property): New variable.
10983 (Qdefault): Extern it.
10984 (PRINT_STRING_NON_CHARSET_FOUND)
10985 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10986 (print_check_string_result): New variable.
10987 (print_check_string_charset_prop): New function.
10988 (print_prune_charset_plist): New variable.
10989 (print_prune_string_charset): New function.
10990 (print_object): Call print_prune_string_charset if
10991 Vprint_charset_text_property is not t.
10992 (print_interval): Print nothing if interval->plist is nil.
10993 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10994 variable. Init and staticpro print_prune_charset_plist.
10995
109962008-02-01 Kenichi Handa <handa@m17n.org>
10997
10998 * fontset.c (new_fontset_from_font_name): Use the specified font
10999 for all characters in the new fontset.
11000
11001 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11002 OBJECT args.
11003
11004 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11005 OBJECT args for composition too.
11006
11007 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11008 OBJECT args.
11009
110102008-02-01 Kenichi Handa <handa@m17n.org>
11011
11012 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11013
11014 * fontset.c (reorder_font_vector): Adjust for the change of
11015 FONT_DEF format.
11016 (fontset_face): New arg id. Change caller.
11017 (face_for_char): New args pos and object.
11018 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11019 (fs_query_fontset): Check NAME by Fassoc too.
11020 (Fset_fontset_font): Allow non-XLFD font name.
11021 (Ffontset_info): Adjust for the change of FONT_DEF format.
11022
11023 * fontset.h (face_for_char): Adjust prototype.
11024
11025 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11026 (append_space, extend_face_to_end_of_line)
11027 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11028 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11029
11030 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11031 POS and OBJECT args.
11032
11033 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11034 POS and OBJECT args.
11035
110362008-02-01 Jason Rumney <jasonr@gnu.org>
11037
11038 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11039 of GlobalAlloc'ed memory.
11040
110412008-02-01 Kenichi Handa <handa@m17n.org>
11042
11043 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11044
11045 * charset.h (charset_table_used): Delete extern.
11046
11047 * charset.c (charset_table_used): Make it static.
11048 (map_charset_chars): Fix args to c_function with.
11049
11050 * chartab.c (map_sub_char_table_for_charset): Fix args to
11051 c_function with.
11052
11053 * coding.h (enum coding_result_code): Delete
11054 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11055
11056 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11057 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11058 (Vlast_code_conversion_error): New variables.
11059 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11060 (ONE_MORE_BYTE): Record error if any instead of signaling an
11061 error. If non-ASCII multibyte char is found, return the negative
11062 value of the code. All callers changed to check it.
11063 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11064 (record_conversion_result): New function. Change all codes setting
11065 coding->result to call this function.
11066 (detect_coding_utf_8, decode_coding_utf_8)
11067 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11068 Don't use the local variable incomplete.
11069 (emacs_mule_char): Change the second arg to `const'.
11070 (decode_coding): Fix of flushing out unprocessed data.
11071 (make_conversion_work_buffer): Fix making of a work buffer.
11072 (decode_coding_object): Return coding->dst_object.
11073
11074 * fontset.c (set_fontset_font): Fix args.
11075
11076 * lisp.h (CHARACTERBITS): Define as 22.
11077
11078 * process.c (send_process): Be sure to set coding->src_multibyte.
11079
11080 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11081
110822008-02-01 Kenichi Handa <handa@m17n.org>
11083
11084 * xdisp.c (handle_auto_composed_prop): Give limit to
11085 Fnext_single_char_property_change.
11086
110872008-02-01 Kenichi Handa <handa@m17n.org>
11088
11089 * composite.c (syms_of_composite): Don't make the composition hash
11090 table weak.
11091
11092 * fontset.c (Fset_fontset_font): Fix docstring.
11093
11094 * lisp.h (detect_coding_system): Adjust prototype.
11095
11096 * fileio.c (kill_workbuf_unwind): Delete this function.
11097 (Finsert_file_contents): Adjust the call of detect_coding_system.
11098 Get conversion_buffer by code_conversion_save. Use the macro
11099 CODING_MAY_REQUIRE_DECODING. After decoding, update
11100 coding_system.
11101
11102 * coding.h (make_conversion_work_buffer): Delete extern.
11103 (code_conversion_save): Extern it.
11104
11105 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11106 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11107 (decode_coding_utf_8): Don't do eol converion.
11108 (detect_coding_utf_16): Check coding->src_chars, not
11109 coding->src_bytes. Add heuristics for those that have no signature.
11110 (decode_coding_emacs_mule, decode_coding_iso_2022)
11111 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11112 Don't do eol converion.
11113 (adjust_coding_eol_type): Return a new coding system.
11114 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11115 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11116 each change.
11117 (decode_coding): Pay attention to undo_list. Do eol conversion for
11118 all types of coding-systems (if necessary).
11119 (Vcode_conversion_work_buf_list): Delete it.
11120 (Vcode_conversion_reused_workbuf): Rename from
11121 Vcode_conversion_reused_work_buf.
11122 (Vcode_conversion_workbuf_name): New variable.
11123 (reused_workbuf_in_use): New variable.
11124 (make_conversion_work_buffer): Delete the arg DEPTH.
11125 (code_conversion_restore): Change argument to cons.
11126 (code_conversion_save): Delete the argument BUFFER. Change callers.
11127 (detect_coding_system): New argument src_chars. Change callers.
11128 Fix for utf-16 detection.
11129 (init_coding_once): Don't use ISO_carriage_return.
11130 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11131 reused_workbuf_in_use.
11132
111332008-02-01 Kenichi Handa <handa@m17n.org>
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 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11141 HANDLED_RECOMPUTE_PROPS.
11142
11143 * coding.c (Fdefine_coding_system_internal): Fix checking of
11144 ascii compatibility.
11145
111462008-02-01 Kenichi Handa <handa@m17n.org>
11147
11148 * charset.c (find_charsets_in_text): Delete unused locale variable.
11149 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11150
11151 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11152 Resync charset_list to Vemacs_mule_charset_list.
11153
11154 * keymap.c (store_in_keymap): Pay attention to the case that idx
11155 is a cons specifying a character range.
11156
111572008-02-01 Kenichi Handa <handa@m17n.org>
11158
11159 * composite.c (update_compositions): Bind inhibit-read-only, etc
11160 to t before calling remove-list-of-text-properties.
11161
11162 * print.c (print_object): Always print ASCII chars as is.
11163
111642008-02-01 Kenichi Handa <handa@m17n.org>
11165
11166 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11167
11168 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11169 is a char table.
11170
111712008-02-01 Kenichi Handa <handa@m17n.org>
11172
11173 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11174
111752008-02-01 Kenichi Handa <handa@m17n.org>
11176
11177 * xfaces.c (set_lface_from_font_name): Fix for the case that
11178 FONTNAME is not fontset name.
11179
111802008-02-01 Kenichi Handa <handa@m17n.org>
11181
11182 * fns.c (base64_encode_1): Fix previous change.
11183
111842008-02-01 Kenichi Handa <handa@m17n.org>
11185
11186 * fontset.c (set_fontset_font): New function.
11187 (Fset_fontset_font): If a font is specified for a charset, use
11188 map_charset_chars to store the font spec in a fontset.
11189
111902008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * fontset.c (fontset_face): Create a fallback fontset on demand.
11193 (make_fontset): Don't create a fallback fontset here.
11194 (free_face_fontset): Free a fallback fontset (if any) too.
11195 (n_auto_fontsets): Delete this variable.
11196 (auto_fontset_alist): New variable.
11197 (new_fontset_from_font_name): Check auto_fontset_alist.
11198 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11199 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11200 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11201 Defsubr Sfontset_list_all.
11202
112032008-02-01 Kenichi Handa <handa@m17n.org>
11204
11205 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11206
112072008-02-01 Kenichi Handa <handa@m17n.org>
11208
11209 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11210
112112008-02-01 Kenichi Handa <handa@m17n.org>
11212
11213 * editfns.c (Fgoto_char): Fix docstring.
11214
112152008-02-01 Kenichi Handa <handa@m17n.org>
11216
11217 * insdel.c (insert_from_gap): Adjust intervals correctly.
11218
112192008-02-01 Jason Rumney <jasonr@gnu.org>
11220
11221 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11222 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11223 (w32_initialize): Try to load it.
11224 (x_get_font_repertory): Use it if available.
11225 (w32_encode_char): Add shortcut for unicode output.
11226
11227 * w32fns.c (w32_load_system_font): Default charset to -1.
11228 (x_to_w32_charset): Match all fonts for unicode.
11229 (w32_to_x_charset): New parameter matching. Don't return partial
11230 or wildcard charsets.
11231 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11232 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11233 (w32_to_x_font): Match charset to real charset.
11234 (enum_font_cb2): Always list unicode versions.
11235
11236 * makefile.w32-in (temacs): Increase EMHEAP.
11237
112382008-02-01 Jason Rumney <jasonr@gnu.org>
11239
11240 * w32term.c (w32_encode_char): New charset parameter.
11241 font_info.encoding becomes encoding_type.
11242 (x_get_font_repertory): New function. Warning: stub only!
11243 (x_new_font): Return quickly if font already set.
11244 (x_new_fontset): fontsetname parameter is Lisp_Object.
11245 Use new fs_query_fontset. Try new_fontset_from_font_name.
11246 Use fontset_name for return value.
11247
11248 * w32term.h: Declare x_get_font_repertory.
11249
11250 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11251 place of find_charset_in_text. Use encode_coding_object in place
11252 of encode_coding.
11253 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11254 decode_coding.
11255
11256 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11257 of x_new_fontset.
11258 (w32_load_system_font): Initialize charset as unicode.
11259 font_info.encoding becomes encoding_type.
11260 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11261 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11262 (syms_of_w32fns): Set get_font_repertory_func.
11263
11264 * w32console.c: Include character.h. Use terminal_encode_buffer
11265 from term.c.
11266 (write_glyphs): Use new version of encode_terminal_code. Use
11267 encode_coding_object in place of encode_coding.
11268
11269 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11270 encoding becomes encoding_type.
11271
11272 * term.c (terminal_encode_buffer): Make externally visible.
11273
11274 * makefile.w32-in: Add character.h dependancies.
11275 (character.o, chartab.o): New targets.
11276
112772008-02-01 Kenichi Handa <handa@m17n.org>
11278
11279 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11280 CODING_ID_EOL_TYPE.
11281
112822008-02-01 Andreas Schwab <schwab@suse.de>
11283
11284 * coding.c (produce_chars): Revert last change.
11285
112862008-02-01 Kenichi Handa <handa@m17n.org>
11287
11288 * charset.h (charset_unicode): Extern it.
11289
11290 * charset.c (string_xstring_p): Check by (C >= 0x100).
11291 (find_charsets_in_text): Change format of the arc CHARSETS. New
11292 arg MULTIBYTE.
11293 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11294 change of find_charsets_in_text.
11295 (Fsplit_char): Fix doc. Never return unknown.
11296
11297 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11298
11299 * coding.c (Fdefine_coding_system_alias): Update
11300 Vcoding_system_list.
11301
11302 * fontset.c (load_font_get_repertory): Pay attention to the case
11303 that ENCODING of a font is specified by a char-table.
11304
11305 * xterm.c (x_get_font_repertory): Handle the case that the
11306 encoding of font is other than Unicode.
11307
113082008-02-01 Kenichi Handa <handa@m17n.org>
11309
11310 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11311 if a character is encodable by the terminal coding system. If
11312 not, produces proper number of `?'s. Update
11313 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11314 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11315
113162008-02-01 Kenichi Handa <handa@m17n.org>
11317
11318 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11319 variables.
11320 (encode_terminal_code): Change argument. Encode multiple
11321 characters at once. Store the result of encoding in
11322 terminal_encode_buffer.
11323 (write_glyphs, insert_glyphs): Adjust for the change of
11324 encode_terminal_code.
11325 (term_init): Initialize terminal_encode_buffer and
11326 terminal_encode_buf_size.
11327
11328 * coding.c (consume_chars): If coding->src_object is nil, don't
11329 check annotation.
11330
113312008-02-01 Kenichi Handa <handa@m17n.org>
11332
11333 * character.c (char_string): Use ASCII_CHAR_P instead of
11334 SINGLE_BYTE_CHAR_P.
11335
113362008-02-01 Kenichi Handa <handa@m17n.org>
11337
11338 * xdisp.c (handle_auto_composed_prop): Check if the last
11339 characters of auto-composed region is newly composed with the
11340 following characters.
11341 (handle_composition_prop): Fix checking of point being inside
11342 composition.
11343
113442008-02-01 Kenichi Handa <handa@m17n.org>
11345
11346 * fns.c (concat): Don't change multibyteness of the result by
11347 concatenating an 8-bit character.
11348
11349 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11350 multibyteness of the result when newelt is an 8-bit character.
11351
113522008-02-01 Dave Love <fx@gnu.org>
11353
11354 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11355 EMACS_INT.
11356
11357 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11358
11359 * xfaces.c (face_numeric_value): Declare dim size_t.
11360 (Finternal_lisp_face_equal_p): Remove unused f.
11361
11362 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11363 (MATRIX_ROW): Remove unused vars.
11364 (draw_glyphs, x_insert_glyphs, fast_find_position)
11365 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11366 byte/char counts.
11367
11368 * regex.c (regex_compile): Remove unused var.
11369
11370 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11371
11372 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11373 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11374
11375 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11376
11377 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11378
11379 * fileio.c (Fwrite_region): Remove unused var.
11380
11381 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11382 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11383
11384 * composite.c (Fremove_list_of_text_properties): Declare.
11385
11386 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11387 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11388 (coding_inherit_eol_type): Remove unused attrs.
11389 (detect_coding): Cast arg of detect_eol.
11390
11391 * charset.c (syms_of_charset): Remove unused var p.
11392 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11393 byte/char counts.
11394
11395 * casetab.c (set_case_table): Remove unused var.
11396
11397 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11398 unused vars.
11399
114002008-02-01 Dave Love <fx@gnu.org>
11401
11402 * xterm.c (x_bitmap_mask): Declare.
11403
114042008-02-01 Dave Love <fx@gnu.org>
11405
11406 * xterm.c (x_term_init): Fix type error.
11407
11408 * lisp.h: Add Funibyte_char_to_multibyte.
11409
11410 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11411 (Fset_coding_system_priority): Doc fix.
11412
11413 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11414
11415 * indent.c (check_composition): Make start and end EMACS_INT.
11416
11417 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11418
11419 * xdisp.c (handle_composition_prop, check_point_in_composition):
11420 Make buffer positions EMACS_INT.
11421
11422 * composite.c (find_composition, run_composition_function)
11423 (update_compositions, Ffind_composition_internal): Make buffer
11424 positions EMACS_INT.
11425
11426 * composite.h (find_composition, update_compositions): Make
11427 position args EMACS_INT.
11428
11429 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11430
11431 * intervals.c (get_property_and_range):
11432 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11433
11434 * unexalpha.c: Don't include varargs.h.
11435
114362008-02-01 Dave Love <fx@gnu.org>
11437
11438 * coding.h (ENCODE_UTF_8): New.
11439
11440 * Makefile.in (gtkutil.o): Depend on coding.h.
11441
11442 * coding.c (Fset_coding_system_priority): Doc fix.
11443
114442008-02-01 Kenichi Handa <handa@m17n.org>
11445
11446 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11447 the case of auto saving.
11448
114492008-02-01 Andreas Schwab <schwab@suse.de>
11450
11451 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11452 `range' from GC.
11453
114542008-02-01 Kenichi Handa <handa@m17n.org>
11455
11456 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11457
114582008-02-01 Kenichi Handa <handa@m17n.org>
11459
11460 * fileio.c (choose_write_coding_system): Return a decided coding system.
11461 (Fwrite_region): Set Vlast_coding_system_used to the return value
11462 of choose_write_coding_system.
11463
114642008-02-01 Kenichi Handa <handa@m17n.org>
11465
11466 * charset.c (Fset_charset_priority): Pay attention to duplicated
11467 arguments.
11468
11469 * coding.c (QCcategory): New variable.
11470 (syms_of_coding): Defsym it. Set all elements of
11471 Vcoding_category_table and their symbol values.
11472 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11473 coding-category-XXX, and coding-category-list.
11474 (Fdefine_coding_system_internal): Add category in the plist.
11475
114762008-02-01 Kenichi Handa <handa@m17n.org>
11477
11478 * callproc.c (Fcall_process): Handle carryover correctly.
11479
11480 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11481 (raw_text_coding_system): Check NILP (coding_system).
11482 (coding_inherit_eol_type): Check NILP (coding_system) and
11483 NILP (parent).
11484 (consume_chars): Fix for the case of raw-text.
11485
11486 * process.c (read_process_output): Handle carryover correctly.
11487
114882008-02-01 Dave Love <fx@gnu.org>
11489
11490 * regex.c (re_search_2): Fix last change.
11491
114922008-02-01 Kenichi Handa <handa@m17n.org>
11493
11494 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11495 target_multibyte. Even in a unibyte case, return a converted
11496 multibyte char.
11497 (GET_CHAR_AFTER): New macro.
11498 (PATFETCH): Translate via multibyte char.
11499 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11500 (SETUP_MULTIBYTE_RANGE): New macro.
11501 (regex_compile): Setup compiled code so that its multibyteness
11502 matches that of a target. Fix the handling of "[X-YZ]" using
11503 SETUP_MULTIBYTE_RANGE.
11504 (analyse_first) <charset>: For filling fastmap for all multibyte
11505 characters, don't check by BASE_LEADING_CODE_P.
11506 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11507 the same as RE_MULTIBYTE_P (bufp) now.
11508 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11509 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11510 (TRANSLATE_VIA_MULTIBYTE): New macro.
11511 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11512 It is the same as RE_MULTIBYTE_P (bufp) now.
11513 <exactn>: Translate via multibyte.
11514 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11515 translate it.
11516 <charset, charset_not>: Fetch a character by
11517 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11518 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11519 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11520 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11521 by GET_CHAR_AFTER.
11522 (bcmp_translate): Likewise.
11523
11524 * search.c (compile_pattern): Check the member target_multibyte,
11525 not the member multibyte of buf.
11526
11527 * lread.c (read1): While reading a string, set force_singlebyte
11528 and force_multibyte correctly.
11529
11530 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11531 up of unibyte_to_multibyte_table.
11532
115332008-02-01 Kenichi Handa <handa@m17n.org>
11534
11535 * coding.c (setup_coding_system): If coding has
11536 post-read-conversion or pre-write-conversion, set
11537 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11538 respectively.
11539 (decode_coding_gap): Run post-read-conversion if any.
11540
11541 * fileio.c (Finsert_file_contents): Even if we read into a
11542 unibyte buffer, check if we must decode the result or not.
11543
115442008-02-01 Kenichi Handa <handa@m17n.org>
11545
11546 * coding.c (make_conversion_work_buffer): Change the work buffer
11547 name to the same one as that of Emacs 21.
11548
115492008-02-01 Kenichi Handa <handa@m17n.org>
11550
11551 * coding.h (make_conversion_work_buffer): Adjust prototype.
11552 (code_conversion_restore): Don't extern it.
11553
11554 * coding.c (detected_mask): Delete unused variable.
11555 (decode_coding_iso_2022): Pay attention to the byte sequence of
11556 CTEXT extended segment, and retain those bytes as is.
11557 (decode_coding_ccl): Delete unused variable `valids'.
11558 (setup_coding_system): Delete unused variable `category'.
11559 (consume_chars): Delete unused variable `category'. Make it work
11560 for non-multibyte case.
11561 (make_conversion_work_buffer): Change argument.
11562 (saved_coding): Delete unused variable.
11563 (code_conversion_restore): Don't check saved_coding->destination.
11564 (code_conversion_save): New function.
11565 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11566 instead of record_unwind_protect.
11567 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11568 (detect_coding_system): Delete unused variable `mask'.
11569 (Fdefine_coding_system_internal): Delete unused variable id.
11570
11571 * fileio.c (kill_workbuf_unwind): New function.
11572 (Finsert_file_contents): On replacing, call
11573 make_conversion_work_buffer with correct args, and call
11574 record_unwind_protect with the first arg kill_workbuf_unwind.
11575
11576 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11577
115782008-02-01 Kenichi Handa <handa@m17n.org>
11579
11580 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11581 (fontset_add): Fix for the case that TO is less than TO1.
11582 (Ffontset_info): Don't use fallback fontset on checking the
11583 default fontset.
11584 (dump_fontset): New function for debugging.
11585
11586 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11587 coding_type is Qcharset.
11588
115892008-02-01 Kenichi Handa <handa@m17n.org>
11590
11591 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11592 (map_char_table): Don't inherit the value from the parent on
11593 initializing VAL. Adjust for the above change.
11594
115952008-02-01 Kenichi Handa <handa@m17n.org>
11596
11597 * coding.c (Qsignature, Qendian): Delete these variables.
11598 (syms_of_coding): Don't initialize them.
11599 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11600 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11601 detect_info->found.
11602 (decode_coding_utf_16): Don't detect BOM here.
11603 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11604 is NOT utf_16_without_bom.
11605 (setup_coding_system): For a coding system of type utf-16, check
11606 if the attribute :endian is Qbig or not (not nil or not), and set
11607 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11608 (detect_coding): If coding type is utf-16 and BOM detection is
11609 required, detect it.
11610 (Fdefine_coding_system_internal): For a coding system of type
11611 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11612
116132008-02-01 Kenichi Handa <handa@m17n.org>
11614
11615 * coding.c (coding_set_source): Fix for the case that the current
11616 buffer is different from coding->src_object.
11617 (decode_coding_object): Don't use the conversion work buffer if
11618 DST_OBJECT is a buffer.
11619
116202008-02-01 Dave Love <fx@gnu.org>
11621
11622 * lread.c (read_emacs_mule_char) [len==2]: Index
11623 emacs_mule_charset correctly.
11624
116252008-02-01 Dave Love <fx@gnu.org>
11626
11627 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11628 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11629 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11630 treated specially.)
11631 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11632 (detected_mask): Remove Big5 bits.
11633
116342008-02-01 Kenichi Handa <handa@m17n.org>
11635
11636 The following changes are to make the font rescaling facility
11637 compatible with Emacs 21.
11638
11639 * xfaces.c (Vface_font_rescale_alist): Rename from
11640 Vface_resizing_fonts.
11641 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11642 (font_rescale_ratio): Rename from font_resizing_ratio.
11643 (split_font_name): Set font->rescale_ratio.
11644 (better_font_p): Pay attention to font->rescale_ratio.
11645 (build_scalable_font_name): Likewise. Change RESX, and RESY
11646 fields.
11647 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11648
116492008-02-01 Kenichi Handa <handa@m17n.org>
11650
11651 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11652 (Qutf_16_le): Remove these variables.
11653 (syms_of_coding): Don't DEFSYM them.
11654 (decode_coding_utf_16): Fix handling of BOM.
11655 (encode_coding_utf_16): Fix handling of BOM.
11656
116572008-02-01 Kenichi Handa <handa@m17n.org>
11658
11659 * fileio.c (Finsert_file_contents): On replacing, before decoding
11660 the file into the work buffer, set point of the work buffer to the end.
11661
116622008-02-01 Dave Love <fx@gnu.org>
11663
11664 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11665
116662008-02-01 Dave Love <fx@gnu.org>
11667
11668 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11669 and fix C types.
11670
116712008-02-01 Kenichi Handa <handa@m17n.org>
11672
11673 * xdisp.c (SKIP_GLYPHS): New macro.
11674 (set_cursor_from_row): Pay attention to string display properties.
11675
11676 * category.c (copy_category_entry): Fix for the case that RANGE
11677 is an integer.
11678
11679 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11680
11681 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11682
116832008-02-01 Kenichi Handa <handa@m17n.org>
11684
11685 * charset.c (Fcharset_id_internal): New function.
11686 (syms_of_charset): Defsubr it.
11687
11688 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11689 with the last arg charset_list acquired from coding.
11690 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11691 the attribute coding_attr_ccl_valids.
11692
11693 * coding.h (enum define_coding_ccl_arg_index): Set the first
11694 member coding_arg_ccl_decoder to coding_arg_max.
11695
11696 * ccl.h (ccl_driver): Adjust prototype.
11697
11698 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11699 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11700 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11701 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11702 last arg Qnil.
11703
117042008-02-01 Kenichi Handa <handa@m17n.org>
11705
11706 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11707 call encode_char.
11708
11709 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11710
117112008-02-01 Dave Love <fx@gnu.org>
11712
11713 * composite.c (syms_of_composite): Make composition_hash_table weak.
11714
117152008-02-01 Kenichi Handa <handa@m17n.org>
11716
11717 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11718 (font_name_registry): Don't extern them.
11719 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11720
11721 * fontset.h (Qfontset): Don't extern it.
11722 (new_fontset_from_font_name): Extern it.
11723
11724 * fontset.c: Give 8 extra slots to fontset objects.
11725 (Qfontset_info): New variable.
11726 (syms_of_fontset): Defsym it.
11727 (FONTSET_FALLBACK): New macro.
11728 (fontset_face): Try also the default fontset.
11729 (make_fontset): Realize a fallback fontset from the default fontset.
11730 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11731 using split_font_name_into_vector and build_font_name_from_vector.
11732 (Fset_fontset_font): Access the elements of font_spec by enum
11733 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11734 name by using split_font_name_into_vector.
11735 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11736 generate a proper font name from the fontset name. Update
11737 Vfontset_alias_alist.
11738 (n_auto_fontsets): New variable.
11739 (new_fontset_from_font_name): New function.
11740 (Ffont_info): Store the information about fonts generated from the
11741 default fontset in the first extra slot of the returned char-table.
11742
11743 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11744 (font_name_registry): Delete function.
11745 (split_font_name_into_vector): New function.
11746 (build_font_name_from_vector): New function.
11747 (font_list): The argument REGISTRY is now a list of registry names.
11748 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11749 specifies an explicit font name, return the name as is. Make a
11750 list of registy names.
11751
11752 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11753 of x_new_fontset.
11754 (Fx_create_frame): Don't call x_new_fontset here. Just use
11755 x_list_fonts to check the existence of fonts.
11756
11757 * xterm.h (x_new_fontset): Adjust prototype.
11758
11759 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11760 string. Use new_fontset_from_font_name to create a fontset from a
11761 font name.
11762
117632008-02-01 Kenichi Handa <handa@m17n.org>
11764
11765 * syntax.c (Vfind_word_boundary_function_table): New name for
11766 Vnext_word_boundary_function_table.
11767 (find-word-boundary-function-table): New name for
11768 next-word-boundary-function-table.
11769
117702008-02-01 Dave Love <fx@gnu.org>
11771
11772 * Makefile.in: Fix some dependencies.
11773
11774 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11775 set it to nil before returning.
11776
11777 * composite.c (update_compositions): Fix type error.
11778
11779 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11780
117812008-02-01 Kenichi Handa <handa@m17n.org>
11782
11783 * xterm.c (x_new_font): Optimize for the case that the font is
11784 already set for the frame.
11785
117862008-02-01 Kenichi Handa <handa@m17n.org>
11787
11788 * chartab.c (char_table_ascii): Check if the char table contents
11789 is sub-char-table or not.
11790 (char_table_set, char_table_set_range): Fix argument to
11791 char_table_ascii.
11792
11793 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11794 (detect_coding_utf_8, detect_coding_utf_16)
11795 (detect_coding_emacs_mule, detect_coding_iso_2022)
11796 (detect_coding_sjis, detect_coding_big5)
11797 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11798 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11799 sequence is valid in this coding system. Change callers.
11800 (MAX_ANNOTATION_LENGTH): New macro.
11801 (ADD_ANNOTATION_DATA): New macro.
11802 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11803 ADD_ANNOTATION_DATA. Change the format of annotation data.
11804 (ADD_CHARSET_DATA): New macro.
11805 (emacs_mule_char): New argument ID. Change callers.
11806 (decode_coding_emacs_mule, decode_coding_iso_2022)
11807 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11808 Produce charset annotation data in coding->charbuf.
11809 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11810 to charset annotation data in coding->charbuf.
11811 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11812 coding->common_flags if the coding system is iso-2022 based and
11813 uses designation.
11814 (produce_composition): Adjust for the new annotation data format.
11815 (produce_charset): New function.
11816 (produce_annotation): Handle charset annotation.
11817 (handle_composition_annotation, handle_charset_annotation): New
11818 functions.
11819 (consume_chars): Handle charset annotation. Utilize the above two
11820 functions.
11821 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11822 buffer, get the deleted text as a string and set
11823 coding->src_object to that string.
11824 (detect_coding, detect_coding_system): Use the new struct
11825 coding_detection_info.
11826
11827 * coding.h (struct coding_detection_info): New structure.
11828 (struct coding_system): Adjust prototype of the member `detector'.
11829 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11830
118312008-02-01 Kenichi Handa <handa@m17n.org>
11832
11833 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11834
118352008-02-01 Dave Love <fx@gnu.org>
11836
11837 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11838 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11839 to new local and nullify apropos_accumulate before returning.
11840 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11841
118422008-02-01 Kenichi Handa <handa@m17n.org>
11843
11844 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11845 correctly.
e3eea1fc 11846
aac0c6e3
MR
118472008-02-01 Dave Love <fx@gnu.org>
11848
11849 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11850
118512008-02-01 Kenichi Handa <handa@m17n.org>
11852
11853 The following changes are to make character composition happen
11854 automatically on displaying.
11855
11856 * Makefile.in (lisp, shortlisp): Add composite.elc.
11857
11858 * composite.h (Qauto_composed, Vauto_composition_function)
11859 (Qauto_composition_function): Extern them.
11860
11861 * composite.c (Vcomposition_function_table)
11862 (Qcomposition_function_table): Delete variables.
11863 (Qauto_composed, Vauto_composition_function)
11864 (Qauto_composition_function): New variables.
11865 (run_composition_function): Don't call
11866 compose-chars-after-function.
11867 (update_compositions): Clear `auto-composed' text property.
11868 (compose_chars_in_text): Delete this function.
11869 (syms_of_composite): Staticpro Qauto_composed and
11870 Qauto_composition_function. Declare Vauto_composition_function as
11871 a Lisp variable.
11872
11873 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11874
11875 * xdisp.c (it_props): Add an entry for Qauto_composed.
11876 (handle_auto_composed_prop): New function.
11877
11878 * xselect.c (selection_data_to_lisp_data): Don't call
11879 compose_chars_in_text.
11880
118812008-02-01 Dave Love <fx@gnu.org>
11882
11883 * keyboard.c (read_char): Modify checking around use of
11884 Vkeyboard_translate_table.
11885
11886 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11887 and fix C types.
11888
118892008-02-01 Kenichi Handa <handa@m17n.org>
11890
11891 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11892 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11893 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11894 the case that the last byte is '\r' correctly.
11895 (decode_coding): Flush out the unprocessed data correctly.
11896 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11897
118982008-02-01 Dave Love <fx@gnu.org>
11899
11900 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11901 Add XK_ISO... case.
11902 (xaw_scroll_callback): Revert last change.
11903
119042008-02-01 Kenichi Handa <handa@m17n.org>
11905
11906 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11907
119082008-02-01 Kenichi Handa <handa@m17n.org>
11909
11910 * xfaces.c (Vface_resizing_fonts): New variable.
11911 (struct font_name): New member `resizing_ratio'.
11912 (font_resizing_ratio): New function.
11913 (split_font_name): Set font->resizing_ratio.
11914 (better_font_p): Pay attention to font->resizing_ratio.
11915 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11916 RESX, and RESY fields.
11917 (try_alternative_families): Try scalable fonts if
11918 Vscalable_fonts_allowed is not Qt.
11919 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11920
119212008-02-01 Dave Love <fx@gnu.org>
11922
11923 * xterm.c (xaw_scroll_callback): Cast correctly.
11924
119252008-02-01 Dave Love <fx@gnu.org>
11926
11927 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11928 (lispy_kana_keys): Comment out.
11929 (make_lispy_event) [XK_kana_A]: Comment out.
11930
11931 * xterm.c (xaw_scroll_callback): Cast call_data.
11932 (XTread_socket): Deal with ASCII keysyms.
11933 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11934
119352008-02-01 Dave Love <fx@gnu.org>
11936
11937 * xterm.c (Vx_keysym_table): New.
11938 (syms_of_xterm): Initialize it.
11939 (XTread_socket): Use it.
11940 From head: Eliminate incorrect optimization that tried to avoid
11941 decoding the output of X*LookupString.
11942 (x_get_font_repertory): Delete charset declaration.
11943
119442008-02-01 Kenichi Handa <handa@m17n.org>
11945
11946 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11947 return 0.
11948 (Fdefine_coding_system_internal): Setup
11949 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11950
119512008-02-01 Dave Love <fx@gnu.org>
11952
11953 * coding.c (Fcheck_coding_system): Doc fix.
11954
11955 * editfns.c (Finsert_byte): Return a proper value.
11956
119572008-02-01 Kenichi Handa <handa@m17n.org>
11958
11959 * coding.c (decode_coding): Fix args to translate_chars. Pay
11960 attention to Vstandard_translation_table_for_decode.
11961 (encode_coding): Fix args to translate_chars. Pay attention to
11962 Vstandard_translation_table_for_encode.
11963
11964 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11965 SINGLE_BYTE_CHAR_P.
11966
11967 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11968 not by SINGLE_BYTE_CHAR_P.
11969
11970 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11971 SINGLE_BYTE_CHAR_P.
11972
11973 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11974 SINGLE_BYTE_CHAR_P.
11975
11976 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11977 by SINGLE_BYTE_CHAR_P.
11978
11979 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11980 SINGLE_BYTE_CHAR_P.
11981
119822008-02-01 Dave Love <fx@gnu.org>
11983
11984 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11985
119862008-02-01 Dave Love <fx@gnu.org>
11987
11988 * fns.c (Flanginfo): Fix typo.
11989
11990 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11991
119922008-02-01 Kenichi Handa <handa@m17n.org>
11993
11994 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11995 (detect_coding_emacs_mule, detect_coding_iso_2022)
11996 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11997 incomplete byte sequence. Don't update *mask when correctly detected.
11998 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11999 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12000 (detect_coding, detect_coding_system): Adjust for the changes above.
12001
120022008-02-01 Kenichi Handa <handa@m17n.org>
12003
12004 * character.c (char_string): Rename from
12005 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12006 (string_char): Rename from string_char.
12007
12008 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12009 if C is greater than MAX_3_BYTE_CHAR.
12010 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12011 string_char instead of string_char_with_unification.
12012
120132008-02-01 Dave Love <fx@gnu.org>
12014
12015 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12016
120172008-02-01 Kenichi Handa <handa@m17n.org>
12018
12019 * keymap.c (push_key_description): Pay attention to force_multibyte.
12020
12021 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12022
120232008-02-01 Dave Love <fx@gnu.org>
12024
12025 * charset.c (define_charset_internal): Rename `supprementary'.
12026
12027 * Makefile.in (lisp, shortlisp): Remove latin-N.
12028
120292008-02-01 Dave Love <fx@gnu.org>
12030
12031 * xfns.c (x_window, x_window): Use use_xim.
12032
12033 * xterm.c (use_xim): Initialize.
12034 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12035 (x_term_init): Maybe set use_xim.
12036
12037 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12038
120392008-02-01 Kenichi Handa <handa@m17n.org>
12040
12041 * search.c (search_buffer): Fix case-fold-search of multibyte
12042 characters.
12043 (boyer_moore): Rename the last argument to char_high_bits.
12044
120452008-02-01 Kenichi Handa <handa@m17n.org>
12046
12047 * xdisp.c (display_string): Fix for the case of zero width glyph.
12048
12049 * xfns.c (x_set_font): Change the error message of the case that
12050 x_new_fontset returns Qt.
12051
12052 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12053 (Finternal_set_lisp_face_attribute): Use signal_error for the
12054 error of invalid fontset.
12055
12056 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12057 fontset, return Qt.
12058
120592008-02-01 Dave Love <fx@gnu.org>
12060
12061 * unexelf.c (unexec): Make .got handling not SGI-specific.
12062
12063 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12064
12065 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12066
12067 * keyboard.c (read_key_sequence): Fix type error.
12068
12069 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12070 type error.
12071
12072 * fontset.c (fontset_add): Return Lisp_Object.
12073
120742008-02-01 Dave Love <fx@gnu.org>
12075
12076 * charset.h (charset_ordered_list_tick): Declare extern.
12077
120782008-02-01 Kenichi Handa <handa@m17n.org>
12079
12080 The following changes (and some of 2008-02-01 changes of mine) are
12081 for handling syntax, category, and case conversion for unibyte
12082 characters by converting them to multibyte on the fly. With these
12083 changes, we don't have to setup syntax and case tables for unibyte
12084 characters in each language environment.
12085
12086 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12087 multibyte if necessary.
12088
12089 * bytecode.c (Fbyte_code): Likewise.
12090
12091 * character.h (LEADING_CODE_LATIN_1_MIN)
12092 (LEADING_CODE_LATIN_1_MAX): New macros.
12093 (unibyte_to_multibyte_table): Extern it.
12094 (unibyte_char_to_multibyte): New macro.
12095 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12096 (CHAR_LEADING_CODE): New macro.
12097 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12098
12099 * character.c (unibyte_to_multibyte_table): New variable.
12100 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12101 (multibyte_char_to_unibyte): If C is an eight-bit character,
12102 convert it to the corresponding byte value.
12103
12104 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12105 not 1, signals an error. Update the elements of
12106 unibyte_to_multibyte_table.
12107 (init_charset_once): Initialize unibyte_to_multibyte_table.
12108 (syms_of_charset): Define the charset `iso-8859-1'.
12109
12110 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12111 as is without converting it to unibyte. In a unibyte buffer,
12112 convert C to multibyte before checking the syntax.
12113
12114 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12115
12116 * minibuf.c (Fminibuffer_complete_word): Use the macro
12117 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12118
12119 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12120
12121 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12122 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12123 that is zero, convert an eight-bit char to multibyte.
12124 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12125 non-emacs case.
12126 (PATFETCH): Convert an eight-bit char to multibyte.
12127 (HANDLE_UNIBYTE_RANGE): New macro.
12128 (regex_compile): Setup the compiled pattern for multibyte chars
12129 even if the given regex string is unibyte. Use PATFETCH_RAW
12130 instead of PATFETCH in many places. To handle `charset'
12131 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12132 only for ASCII chars.
12133 (analyse_first) <exactn>: Simplify because the compiled pattern
12134 is multibyte.
12135 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12136 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12137 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12138 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12139 multibyte always 1.
12140 (re_search_2): In emacs, set the locale variable multibyte to 1,
12141 otherwise to 0. New local variable target_multibyte. Check it
12142 to decide the multibyteness of STR1 and STR2. If
12143 target_multibyte is zero, convert unibyte chars to multibyte
12144 before translating and checking fastmap.
12145 (TARGET_CHAR_AND_LENGTH): New macro.
12146 (re_match_2_internal): In emacs, set the locale variable multibyte
12147 to 1, otherwise to 0. New local variable target_multibyte. Check
12148 it to decide the multibyteness of STR1 and STR2. Use
12149 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12150 <charset, charset_not>: If multibyte is nonzero, check fastmap
12151 only for ASCII chars. Call bcmp_translate with
12152 target_multibyte, not with multibyte.
12153 <begline>: Declare the local variable C as `unsigned'.
12154 (bcmp_translate): Change the last arg name to target_multibyte.
12155
12156 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12157 the regexp pattern and the matching target. Set cp->buf.multibyte
12158 to the multibyteness of the regexp pattern. Set
12159 cp->but.target_multibyte to the multibyteness of the matching target.
12160 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12161 FETCH_STRING_CHAR_ADVANCE.
12162 (Freplace_match): Convert unibyte chars to multibyte.
12163
12164 * syntax.c (char_quoted, back_comment, scan_words)
12165 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12166 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12167 unibyte chars to multibyte.
12168 (skip_chars): Delete the arg syntaxp, and move the code for
12169 handling syntaxes to skip_syntaxes. Change callers.
12170 Fix the case that the multibyteness of STRING and the current
12171 buffer doesn't match.
12172 (skip_syntaxes): New function.
12173 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12174 SINGLE_BYTE_CHAR_P.
12175
121762008-02-01 Kenichi Handa <handa@m17n.org>
12177
12178 * xfaces.c (QCfontset): New variable.
12179 (LFACE_FONTSET): New macro.
12180 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12181 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12182 (Finternal_set_lisp_face_attribute)
12183 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12184 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12185 check also LFACE_FONTSET_INDEX.
12186 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12187 attrs[LFACE_FONT_INDEX].
12188 (syms_of_xfaces): Intern and staticpro QCfontset.
12189
12190 * dispextern.h (enum lface_attribute_index): New member
12191 LFACE_FONTSET_INDEX.
12192
12193 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12194
121952008-02-01 Kenichi Handa <handa@m17n.org>
12196
12197 * coding.c (coding_set_destination): Fix coding->destination for
12198 the case converting a region.
12199 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12200 (encode_coding_object): Fix coding->dst_pos and
12201 coding->dst_pos_byte for the case converting a region.
12202
12203 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12204
12205 * character.h (BYTE8_STRING): New macro.
12206
12207 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12208
122092008-02-01 Kenichi Handa <handa@m17n.org>
12210
12211 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12212 characters by octal form.
12213
12214 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12215
12216 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12217 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12218 _fetch_multibyte_char_len.
12219 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12220
12221 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12222
12223 * casefiddle.c (casify_object): Simplify. Handle the case that
12224 the case conversion change the byte length.
12225 (casify_region): Likewise.
12226
12227 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12228
12229 * character.c (_fetch_multibyte_char_len): Delete this variable.
12230 (syms_of_character): Setup Vprintable_chars.
12231
12232 * editfns.c (Fchar_equal): Fix for the unibyte case.
12233 (Finsert_byte): New function.
12234 (syms_of_editfns): Defsubr it.
12235
12236 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12237 of direct code 0x3ffff.
12238
12239 * search.c (Freplace_match): Fix for the unibyte case.
12240
122412008-02-01 Kenichi Handa <handa@m17n.org>
12242
12243 * lread.c (safe_to_load_p): Fix the logic.
12244
12245 * syntax.c (scan_words): Don't treat characters belonging to
12246 different scripts as constituting a word.
12247
12248 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12249
12250 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12251
12252 * emacs.c (main): In the case of --unibyte, instead of aborting on
12253 finding non-empty buffer, make it unibyte.
12254
122552008-02-01 Kenichi Handa <handa@m17n.org>
12256
12257 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12258 to create a fontset.
12259
122602008-02-01 Dave Love <fx@gnu.org>
12261
12262 * character.c (Funibyte_char_to_multibyte): Doc fix.
12263
12264 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12265
122662008-02-01 Kenichi Handa <handa@m17n.org>
12267
12268 * fontset.c (fontset_add): Make the type `int'.
12269 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12270
12271 * character.c (unibyte_char_to_multibyte)
12272 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12273 charset_unibyte, not charset_primary.
12274
12275 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12276
12277 * charset.c (charset_unibyte): Rename from charset_primary.
12278 (Funibyte_charset): Rename from Fprimary_charset.
12279 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12280 (syms_of_charset): Adjust for the above changes.
12281
12282 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12283 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12284 it->multibyte_p is zero.
12285
12286 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12287 Delete extern.
12288
122892008-02-01 Kenichi Handa <handa@m17n.org>
12290
12291 * coding.c (Fdefine_coding_system_internal): Fix category setting
12292 for a coding system of type iso-2022.
12293
122942008-02-01 Kenichi Handa <handa@m17n.org>
12295
12296 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12297
122982008-02-01 Kenichi Handa <handa@m17n.org>
12299
12300 * syntax.c (Vnext_word_boundary_function_table): New variable.
12301 (next-word-boundary-function-table): Declare it as a Lisp variable
12302 in syms_of_syntax.
12303 (scan_words): Call functions in Vnext_word_boundary_function_table
12304 if any.
12305
12306 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12307
12308 * fontset.c (fs_load_font): If fontp->charset is not negative,
12309 return fontp without setting its members.
12310
123112008-02-01 Dave Love <fx@gnu.org>
12312
12313 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12314
12315 * m/sparc.h (HAVE_ALLOCA): Delete.
12316
12317 * s/irix6-5.h: Don't include strings.h.
12318 (bcopy, bzero, bcmp): Don't undef.
12319
12320 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12321
12322 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12323 (TIOCSIGSEND): Don't test IRIX6.
12324 (bcopy, bzero, bcmp): Define conditionally.
12325
123262008-02-01 Kenichi Handa <handa@m17n.org>
12327
12328 * buffer.c (Qas, Qmake, Qto): New variables.
12329 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12330 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12331
12332 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12333 we are inserting a process output into a multibyte buffer.
12334
12335 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12336 multibyte_char_to_unibyte.
12337
12338 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12339 by the primary charset, make it eight-bit char.
12340 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12341
12342 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12343 (charset_8_bit__control, charset_8_bit_graphic)
12344 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12345 (define_charset_internal): New function.
12346 (syms_of_charset): Call define_charset_internal for pre-defined
12347 charsets.
12348
12349 * charset.h (charset_8_bit): Extern it.
12350
12351 * coding.c (make_conversion_work_buffer): Adjust for the change
12352 of Fset_buffer_multibyte.
12353 (encode_coding_raw_text): Increment p0 in the loop.
12354
12355 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12356
12357 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12358 for the change of Fset_buffer_multibyte.
12359
12360 * fns.c (Fstring_to_multibyte): New function.
12361 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12362
123632008-02-01 Dave Love <fx@gnu.org>
12364
12365 * xfns.c (x_put_x_image): Declare args.
12366
12367 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12368 (try_font_list): Declare an arg.
12369
12370 * xdisp.c (message2_nolog, set_message): Declare an arg.
12371
12372 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12373
12374 * syntax.c (scan_sexps_forward): Declare an arg.
12375
12376 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12377 Declare an arg.
12378
12379 * lisp.h (Fnew_fontset): Declare.
12380
12381 * keymap.c (push_key_description): Call CHARACTERP correctly.
12382
12383 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12384 (face_for_char): Delete unused vars.
12385 (Fset_fontset_font): Doc fix. Delete unused vars.
12386
12387 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12388
12389 * composite.c (update_compositions): Declare arg.
12390
12391 * cm.c (calccost, cmgoto): Declare args.
12392
12393 * charset.c: Remove `emacs' conditional. Doc fixes.
12394 (map_char_table_for_charset): Declare.
12395
12396 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12397
12398 * ccl.c: Remove `emacs' conditional.
12399
124002008-02-01 Kenichi Handa <handa@m17n.org>
12401
12402 The following changes are to allow specifying multiple font
12403 patterns for a character range (specified by script or charset).
12404
12405 * Makefile.in (abbrev.o): Depend on syntax.h.
12406 (xfaces.o): Depend on charset.h.
12407
12408 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12409 SINGLE_BYTE_CHAR_P.
12410
12411 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12412
12413 * character.h (Vchar_script_table): Extern it.
12414
12415 * character.c (Vscript_alist): Delete.
12416 (Vchar_script_table, Qchar_script_table): New variable.
12417 (syms_of_character): Declare Vchar_script_table as a lisp variable
12418 and initialize it.
12419
12420 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12421 have property char-table-extra-slots, make no extra slot.
12422
12423 * dispextern.h (struct face): Delete member `charset'.
12424 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12425 SINGLE_BYTE_CHAR_P.
12426 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12427 Add prototypes.
12428 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12429 (generate_ascii_font_name): Rename from generate_ascii_font.
12430
12431 * fontset.h (get_font_repertory_func): New prototype.
12432 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12433 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12434
12435 * fontset.c (Qprepend, Qappend): New variables.
12436 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12437 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12438 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12439 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12440 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12441 (load_font_get_repertory): New functions.
12442 (fontset_set): Delete.
12443 (fontset_face): New arg FACE. Return face ID, not face.
12444 Complete re-write to handle new fontset structure. Change caller.
12445 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12446 (face_for_char): Don't call lookup_face.
12447 (make_fontset_for_ascii_face): New arg FACE.
12448 (fs_load_font): New arg CHARSET_ID. Don't check
12449 Vfont_encoding_alist here.
12450 (find_font_encoding): New function.
12451 (list_fontsets): Use STRINGP, not ! NILP.
12452 (accumulate_script_ranges): New function.
12453 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12454 re-written to handle new fontset structure.
12455 (Ffontset_font): Return a copy of element.
12456 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12457 docstring of font-encoding-alist.
12458
12459 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12460 (Fset_fotset_font): Fix arguments to 5.
12461
12462 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12463
12464 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12465 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12466 (highlight_trailing_whitespace): Adjust for the change of
12467 lookup_named_face.
12468
12469 * xfaces.c: Include charset.h.
12470 (load_face_font): Delete argument C. Change caller.
12471 (generate_ascii_font_name): Rename from generate_ascii_font.
12472 (font_name_registry): New function.
12473 (cache_face): Store ascii faces before non-ascii faces in buckets.
12474 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12475 Lookup only ascii faces.
12476 (lookup_non_ascii_face): New function.
12477 (lookup_named_face): Delete argument C. Change caller.
12478 (lookup_derived_face): Delete argument C. Change caller.
12479 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12480 a string, just call font_list with it.
12481 (choose_face_font): Delete arguments FACE and C. New arg
12482 FONT_SPEC. Change caller.
12483 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12484 Change caller.
12485 (realize_non_ascii_face): New function.
12486 (realize_x_face): Call load_face_font here.
12487 (realize_tty_face): Delete argument C. Change caller.
12488 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12489 get a face ID.
12490 (dump_realized_face): Don't print charset of FACE.
12491
12492 * xfns.c (x_set_font): Always call x_new_fontset and
12493 store_frame_parameter.
12494 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12495 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12496
12497 * xterm.h (x_get_font_repertory): Extern it.
12498
12499 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12500 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12501 it->multibyte_p is zero.
12502 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12503 (x_new_fontset): If FONTSETNAME doesn't match any existing
12504 fontsets, create a new one.
12505 (x_get_font_repertory): New function.
12506
125072008-02-01 Kenichi Handa <handa@m17n.org>
12508
12509 * coding.c (Ffind_coding_systems_region_internal): Detect an
12510 ASCII only string correctly.
12511
12512 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12513 version is 0.
12514
125152008-02-01 Kenichi Handa <handa@m17n.org>
12516
12517 * lread.c: Include "coding.h".
12518 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12519 (load_each_byte, unread_char): New variables.
12520 (readchar_backlog): Delete.
12521 (readchar): Return a character unless load_each_byte is nonzero.
12522 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12523 cons. If unread_char is not -1, simply return it.
12524 (unreadchar): Handle the case that readcharfun is
12525 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12526 (read_multibyte): Delete.
12527 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12528 (read_emacs_mule_char): New functions.
12529 (Fload): Even if the file doesn't have the extension ".elc", if
12530 safe_to_load_p returns a positive version number, assume that the
12531 file contains bytecompiled code. If the version is less than 22,
12532 load the file while decoding multibyte sequences by emacs-mule.
12533 (readevalloop): Don't use readchar_backlog.
12534 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12535 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12536 (read_escape): Delete the arg BYTEREP.
12537 (read1): Set load_each_byte to 1 temporarily while handling
12538 #@NUMBER. Don't call read_multibyte.
12539 (read_vector): Call Fread with a cons. If readcharfun is
12540 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12541 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12542 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12543 and Qload_force_doc_strings.
12544
125452008-02-01 Kenichi Handa <handa@m17n.org>
12546
12547 * xdisp.c (face_before_or_after_it_pos): Call
12548 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12549
125502008-02-01 Kenichi Handa <handa@m17n.org>
12551
12552 * character.h (TRAILING_CODE_P): New macro.
12553 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12554 (string_char_with_unification): Fix prototype.
12555 (Vscript_alist): Extern it.
12556
12557 * character.c (Vscript_alist): New variable.
12558 (string_char_with_unification, str_as_unibyte)
12559 (string_escape_byte8): Add `const' to local variables.
12560 (syms_of_character): Declare script-alist as a Lisp variable.
12561
12562 * charset.h (Vcharset_ordered_list): Extern it.
12563 (charset_ordered_list_tick): Extern it.
12564 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12565 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12566 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12567 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12568 (Funify_charset): Adjust for the change of Funify_charset.
12569
12570 * charset.c (charset_ordered_list_tick): New variable.
12571 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12572 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12573 deunify intead of unify a charset.
12574 (string_xstring_p): Add `const' to local variables.
12575 (find_charsets_in_text): Add `const' to arguments and local variables.
12576 (encode_char): Adjust for the change of Funify_charset. Fix
12577 detecting of invalid code.
12578 (Fset_charset_priority): Increment charset_ordered_list_tick.
12579 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12580 and TO_CODE.
12581
12582 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12583 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12584 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12585 (decode_coding_ccl, consume_chars)
12586 (Ffind_coding_systems_region_internal)
12587 (Fcheck_coding_systems_region): Add `const' to local variables.
12588
12589 * print.c (print_object): Use octal form for printing the
12590 contents of a bool vector.
12591
125922008-02-01 Dave Love <fx@gnu.org>
12593
12594 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12595 <version == 20>: Refuse to load.
12596
125972008-02-01 Dave Love <fx@gnu.org>
12598
12599 * fns.c: Move coding.h.
12600 (Qcodeset, Qdays, Qmonths): New.
12601 (concat): Use CHARACTERP instead of INTEGERP.
12602 (Flocale_codeset): Delete.
12603 (Flanginfo): New function.
12604 (syms_of_fns): Change accordingly.
12605
12606 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12607
126082008-02-01 Dave Love <fx@gnu.org>
12609
12610 * casetab.c (init_casetab_once, init_casetab_once): Fix
12611 CHAR_TABLE_SET call.
12612
12613 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12614
12615 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12616
12617 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12618 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12619 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12620
12621 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12622
12623 * coding.c (ENCODE_DESIGNATION, decode_eol)
12624 (make_conversion_work_buffer, code_conversion_restore)
12625 (Fdefine_coding_system_internal): Convert Lisp types.
12626 (code_conversion_restore): Use EQ, not ==.
12627 (Fencode_coding_string): Fix code_convert_string call.
12628
12629 * coding.h (code_convert_region): Fix prototype.
12630
12631 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12632
12633 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12634 (Ffontset_info): Convert Lisp types.
12635
12636 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12637
12638 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12639
12640 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12641
12642 * chartab.c: Include "...h", not <...h> in some cases.
12643
12644 * callproc.c (Fcall_process): Remove unused variables.
12645
126462008-02-01 Dave Love <fx@gnu.org>
12647
12648 * coding.c (Fset_coding_system_priority): Allow null arg list.
12649
126502008-02-01 Dave Love <fx@gnu.org>
12651
12652 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12653 (Fself_insert_and_exit): Use CHARACTERP.
12654
12655 * callproc.c (Fcall_process): Remove unused vars.
12656
12657 * xterm.c (XTread_socket): Add extra dead keysyms.
12658
12659 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12660
12661 * dispextern.h: Remove prototypes for redraw_frame,
12662 redraw_garbaged_frames.
12663
12664 * cmds.c (Fself_insert_command): Use CHARACTERP.
12665
12666 * chartab.c (make_sub_char_table): Remove unused var.
12667 (Fset_char_table_default, Fmap_char_table): Doc fix.
12668
12669 * keymap.c (access_keymap): Remove generic char code.
12670 (push_key_description): Use CHARACTERP.
12671
126722008-02-01 Dave Love <fx@gnu.org>
12673
12674 * charset.c: Doc fixes.
12675 (Funify_charset): Extra checking.
12676
126772008-02-01 Dave Love <fx@gnu.org>
12678
12679 * lread.c: Remove some unused variables.
12680 (safe_to_load_p): If safe, return the magic number version byte.
12681 (Fload): Maybe use load-with-code-conversion.
12682
126832008-02-01 Kenichi Handa <handa@m17n.org>
12684
12685 * category.c (Fmodify_category_entry): Don't modify the contents
12686 of category_set for characters out of the range. Avoid
12687 unnecessary modification.
12688
12689 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12690 Vchar_unify_table. The default value of the table is now nil.
12691
12692 * character.c (syms_of_character): Setup Vchar_width_table for
12693 eight-bit-control and raw-byte chars.
12694
12695 * charset.h (enum define_charset_arg_index): Delete
12696 charset_arg_parents and add charset_arg_subset and
12697 charset_arg_superset.
12698 (enum charset_attr_index): Delete charset_parents and add
12699 charset_subset and charset_superset.
12700 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12701 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12702 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12703 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12704 (CHARSET_SUPERSET): New macros.
12705 (charset_work): Extern it.
12706 (ENCODE_CHAR): Use charset_work.
12707 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12708 (map_charset_chars): Extern it.
12709
12710 * charset.c (load_charset_map): Set the default value of encoder
12711 and deunifier char-tables to nil.
12712 (map_charset_chars): Change argument. Change callers. Use
12713 map_char_table_for_charset instead of map_char_table.
12714 (Fmap_charset_chars): New optional args from_code and to_code.
12715 (Fdefine_charset_internal): Adjust for the change of
12716 `define-charset' (:parents -> :subset or :superset).
12717 (charset_work): New variable.
12718 (encode_char, syms_of_charset): Adjust for the change of
12719 Fdefine_charset_internal.
12720 (Ffind_charset_string): Setup the vector `charsets' correctly.
12721
12722 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12723 the previous change.
12724 (char_table_ref_and_range): Adjust for the above change.
12725 (map_sub_char_table_for_charset): New function.
12726 (map_char_table_for_charset): New function.
12727
12728 * keymap.c (describe_vector): Handle a char-table directly here.
12729 (describe_char_table): Delete.
12730
12731 * lisp.h (map_charset_chars): Delete.
12732
127332008-02-01 Dave Love <fx@gnu.org>
12734
12735 * fns.c (count_combining): Comment out (unused).
12736 (Flocale_codeset): New.
12737 (syms_of_fns): Defsubr it.
12738
12739 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12740 (size_t): Remove.
12741
127422008-02-01 Dave Love <fx@gnu.org>
12743
12744 * Makefile.in (chartab.o): Depend on charset.h.
12745
127462008-02-01 Kenichi Handa <handa@m17n.org>
12747
12748 * character.c (syms_of_character): Set the default value of
12749 Vprintable_chars to Qnil.
12750
127512008-02-01 Dave Love <fx@gnu.org>
12752
12753 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12754
127552008-02-01 Kenichi Handa <handa@m17n.org>
12756
12757 * charset.c (load_charset_map): Handle the case that from < to
12758 correctly.
12759
12760 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12761 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12762 Pay attention to raw-8-bit chars.
12763
127642008-02-01 Kenichi Handa <handa@m17n.org>
12765
12766 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12767 It is not bytecompiled now.
12768
12769 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12770 (charset_jisx0208): New variables.
12771 (Fdefine_charset_internal): Setup them if appropriate.
12772 (init_charset_once): Initialize them to -1.
12773
12774 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12775 (charset_jisx0208): Extern them.
12776
12777 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12778 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12779 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12780 (setup_iso_safe_charsets): Fix arguments to Fassq.
12781 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12782 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12783 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12784 (encode_coding_iso_2022): Change the 1st arg to
12785 ENCODE_ISO_CHARACTER to a variable.
12786
127872008-02-01 Kenichi Handa <handa@m17n.org>
12788
12789 * charset.h (enum define_charset_arg_index): New enums
12790 charset_arg_min_code and charset_arg_max_code.
12791 (struct charset): New member char_index_offset.
12792
12793 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12794 Take charset->char_index_offset into account.
12795 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12796 args[charset_arg_max_code]. Setup charset.char_index_offset.
12797 (syms_of_charset): Fix args to Fdefine_charset_internal.
12798
127992008-02-01 Dave Love <fx@gnu.org>
12800
12801 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12802
128032008-02-01 Dave Love <fx@gnu.org>
12804
12805 * coding.c: Doc fixes.
12806 (Fcoding_system_aliases): Fix return value.
12807 (Qmac): Remove (duplicated) definition.
12808
128092008-02-01 Dave Love <fx@gnu.org>
12810
12811 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12812 functions.
12813
12814 * character.c (Fstring): Doc fix.
12815
12816 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12817
12818 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12819 ids.
12820 (font-encoding-alist): Doc fix.
12821
128222008-02-01 Dave Love <fx@gnu.org>
12823
12824 * term.c (costs_set): Declare static, non-initialized for pcc.
12825 (encode_terminal_code): Remove unused var.
12826
12827 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12828 for K&R.
12829
12830 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12831
12832 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12833 (suffixes): Move out of make_subsidiaries for K&R.
12834
12835 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12836
12837 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12838
128392008-02-01 Dave Love <fx@gnu.org>
12840
12841 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12842
12843 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12844
128452008-02-01 Yong Lu <lyongu@asia-infonet.com>
12846
12847 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12848
12849 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12850
128512008-02-01 Kenichi Handa <handa@m17n.org>
12852
12853 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12854 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12855
128562008-02-01 Kenichi Handa <handa@m17n.org>
12857
12858 * coding.c (decode_coding_charset): Adjust for the change of
12859 Fdefine_coding_system_internal.
12860 (Fdefine_coding_system_internal): For a coding system of
12861 `charset' type, store a list of charset IDs in
12862 `charset_attr_charset_valids' element of coding attributes.
12863
128642008-02-01 Kenichi Handa <handa@m17n.org>
12865
12866 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12867 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12868 caller. Handle 2-byte and 3-byte charsets correctly.
12869 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12870 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12871 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12872 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12873 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12874 sequence.
12875 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12876 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12877 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12878 and alt&rule composition.
12879 (decode_coding_iso_2022): Handle composition correctly.
12880 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12881
12882 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12883 re-defining a charset. If the charset has :emacs-mule-id, setup
12884 emacs_mule_bytes.
12885 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12886
128872008-02-01 Kenichi Handa <handa@m17n.org>
12888
12889 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12890 (encode_coding_big5, encode_coding_charset): If coding requires safe
12891 encoding, produce a character specified by
12892 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12893
128942008-02-01 Dave Love <fx@gnu.org>
12895
12896 * xterm.c (XSetIMValues): Declare.
12897
12898 * process.c: Conditionally include sys/wait.h, pty.h.
12899
12900 * print.c (print_object): Fix print format for 64-bit systems.
12901
12902 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12903
12904 * buffer.c (emacs_strerror): Declare.
12905
12906 * fontset.c (Fclear_face_cache): Declare.
12907 (accumulate_font_info): Comment-out (unused).
12908 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12909 variables.
12910
12911 * character.h (string_escape_byte8): Declare.
12912
12913 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12914 unused vars.
12915 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12916 (Fmap_charset_chars): Doc fix.
12917
12918 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12919 (Fset_coding_system_priority, Fset_coding_system_priority)
12920 (Fdefine_coding_system_internal): Doc fix.
12921
129222008-02-01 Dave Love <fx@gnu.org>
12923
12924 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12925
129262008-02-01 Kenichi Handa <handa@m17n.org>
12927
12928 * character.c (string_escape_byte8): Make multibyte string with
12929 correct size.
12930
12931 * charset.c (Fmake_char): Delete unnecessary code.
12932
129332008-02-01 Kenichi Handa <handa@m17n.org>
12934
12935 * xfns.c (x_encode_text): Allocate coding.destination here, and
12936 call encode_coding_object with dst_object Qnil.
12937
12938 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12939 multibyte form correctly.
12940
12941 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12942 against Vfont_encoding_alist.
12943
12944 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12945 handling of charset list.
12946 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12947 (decode_coding_object): Move point to coding->dst_pos before
12948 calling post-read-conversion function.
12949 (encode_coding_object): Give correct arguments to
12950 pre-write-conversion. Ignore the return value of
12951 pre-write-conversion function. Pay attention to the case that
12952 pre-write-conversion changes the current buffer. If dst_object is
12953 Qt, even if coding->src_bytes is zero, allocate at least one byte
12954 to coding->destination.
12955
12956 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12957
12958 * charset.c (Fmake_char): Make it more backward compatible.
12959 (Fmap_charset_chars): Fix docstring.
12960
129612008-02-01 Dave Love <fx@gnu.org>
12962
12963 * coding.c: Doc fixes.
12964 (Fdefine_coding_system_alias): Use names, not symbols, in
12965 coding-system-alist.
12966
129672008-02-01 Kenichi Handa <handa@m17n.org>
12968
12969 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12970 of calling free_realized_face.
12971
129722008-02-01 Yong Lu <lyongu@asia-infonet.com>
12973
12974 * charset.c (read_hex): Don't treat SPC as a comment starter.
12975 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12976 (Fdecode_char): Fix typo.
12977
129782008-02-01 Kenichi Handa <handa@m17n.org>
12979
12980 * charset.h (struct charset): New member `code_space_mask'.
12981
12982 * coding.c (coding_set_source): Delete the local variable beg_byte.
12983 (encode_coding_charset, Fdefine_coding_system_internal):
12984 Delete the local variable charset.
12985 (Fdefine_coding_system_internal): Setup
12986 attrs[coding_attr_charset_valids] correctly.
12987
12988 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12989 member to check if CODE is valid or not.
12990 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12991 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12992 is within the range of charset->min_code and carset->max_code.
12993
129942008-02-01 Dave Love <fx@gnu.org>
12995
12996 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12997
12998 * dispextern.h (generate_ascii_font): Fix return type.
12999
13000 * xfaces.c (generate_ascii_font): Fix arg declaration.
13001
13002 * coding.c (coding_inherit_eol_type)
13003 (Fset_terminal_coding_system_internal)
13004 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13005
130062008-02-01 Kenichi Handa <handa@m17n.org>
13007
13008 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13009 multiple charsets correctly.
13010
130112008-02-01 Kenichi Handa <handa@m17n.org>
13012
13013 * search.c (boyer_moore): Fix handling of multibyte character
13014 translation.
13015
13016 * xdisp.c (display_mode_element): When the variable `elt' is
13017 changed, update `this' and `lisp_string'.
13018
130192008-02-01 Kenichi Handa <handa@m17n.org>
13020
13021 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13022
13023 * callproc.c (Fcall_process): Be sure to give the current buffer
13024 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13025
13026 * charset.c (struct charset_map_entries): New struct.
13027 (load_charset_map): Rename from parse_charset_map. New args
13028 entries and n_entries. Change caller.
13029 (load_charset_map_from_file): Rename from load_charset_map.
13030 Change caller. New arg control_flag. Call load_charset_map at
13031 the tail.
13032 (load_charset_map_from_vector): New function.
13033 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13034 (encode_char): If the charset is compact, change a character index
13035 to a code point.
13036
13037 * coding.c (coding_alloc_by_making_gap): Check the case that the
13038 source and destination are the same correctly.
13039 (decode_coding_raw_text): Set coding->consumed_char and
13040 coding->consumed to 0.
13041 (produce_chars): If coding->chars_at_source is nonzero, update
13042 coding->consumed_char and coding->consumed before calling
13043 alloc_destination.
13044 (Fdefine_coding_system_alias): Register ALIAS in
13045 Vcoding_system_alist.
13046 (syms_of_coding): Define `no-conversion' coding system at the tail.
13047
13048 * fileio.c (Finsert_file_contents): Set coding_system instead of
13049 val. If the current buffer is multibyte, always call
13050 decode_coding_gap.
13051
13052 * xfaces.c (try_font_list): Give higher priority to fontset's
13053 family than face's family.
13054
130552008-02-01 Kenichi Handa <handa@m17n.org>
13056
13057 * callproc.c (Fcall_process): Be sure to give the current buffer
13058 to decode_coding_c_string.
13059
13060 * xfaces.c (try_font_list): Give a family specified in a fontset
13061 higher priority than a family specified in a face.
13062
130632008-02-01 Kenichi Handa <handa@m17n.org>
13064
13065 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13066 Fix arguments to insert_from_buffer.
13067
13068 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13069
130702008-02-01 Kenichi Handa <handa@m17n.org>
13071
13072 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13073 (decode_coding_gap): Set coding->dst_multibyte correctly.
13074
130752008-02-01 Kenichi Handa <handa@m17n.org>
13076
13077 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13078 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13079 (encode_coding_utf_16): Substitute coding->default_char for
13080 non-Unicode characters.
13081 (decode_coding): Don't call record_insert here.
13082 (setup_coding_system): Initialize `surrogate' of
13083 coding->spec.utf_16 to 0.
13084 (EMIT_ONE_BYTE): Fix for multibyte case.
13085
13086 * insdel.c (insert_from_gap): Call record_insert.
13087
130882008-02-01 Kenichi Handa <handa@m17n.org>
13089
13090 * casefiddle.c (casify_region): Fix multibyte case.
13091
13092 * character.c (c_string_width): Add return type `int'.
13093 (char_string_with_unification): Delete arg ADVANCED.
13094
13095 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13096 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13097 (CHAR_STRING_ADVANCE): Make it do-while statement.
13098
13099 * chartab.c (sub_char_table_set_range): Optimize for the case
13100 DEPTH == 3. Add workaround code for a GCC optimization bug.
13101
13102 * charset.c (parse_charset_map): Remove an unused variable.
13103
13104 * coding.c: Delete unused variables.
13105
13106 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13107 earlier. If inserted is zero and the coding system doesn't
13108 require flushing, don't call decode_coding_gap.
13109
13110 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13111
131122008-02-01 Kenichi Handa <handa@m17n.org>
13113
13114 The following changes are for using Unicode as an internal
13115 character model, and use UTF-8 format for buffer/string
13116 representation.
13117
13118 * .gdbinit (xchartable): Adjust for the change of char table structure.
13119 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13120
13121 * Makefile.in (obj): Add character.o and chartab.o.
13122 (lisp, shortlisp): Remove utf-8.elc.
13123 (*.o): For many files, change dependency on charset.h to
13124 character.h, and add dependency on character.h.
13125 (character.o, chartab.o): New targets.
13126
13127 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13128 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13129 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13130 of "charset.h".
13131
13132 * dired.c, filelock.c: Include "character.h".
13133
13134 * alloc.c: Include "character.h" instead of "charset.h".
13135 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13136 (syms_of_alloc): Remove defsubr for Smake_char_table.
13137
13138 * buffer.c: Include "character.h" instead of "charset.h", don't
13139 include "coding.h".
13140 (Fset_buffer_multibyte): Adjust for UTF-8.
13141
13142 * buffer.h: EXFUN Fbuffer_live_p.
13143
13144 * callproc.c: Include "character.h" instead of "charset.h".
13145 (Fcall_process): Big change for the new code-conversion APIs.
13146
13147 * casetab.c: Include "character.h" instead of "charset.h".
13148 (set_canon, set_identity, shuffle): Adjust for the new
13149 map_char_table spec.
13150 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13151 accessing the char table structure.
13152
13153 * chartab.c: New file that implements char table.
13154
13155 * category.c: Include "character.h".
13156 (copy_category_entry): New function.
13157 (copy_category_table): Call map_char_table and copy_category_entry.
13158 (Fmake_category_table): Initialize all top-level slots.
13159 (char_category_set): New function.
13160 (modify_lower_category_set): Delete.
13161 (Fmodify_category_entry): Call char_table_ref_and_range.
13162
13163 * category.h (CATEGORY_SET): Just call char_category_set.
13164
13165 * ccl.c: Include "character.h".
13166 (Qccl, Qcclp): New variables.
13167 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13168 it's less than 256.
13169 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13170 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13171 and DST type.
13172 (ccl_driver): Change types of argument, adjust code accordingly.
13173 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13174 ccl_driver.
13175 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13176
13177 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13178 New members src_multibyte, dst_multibyte, consumed, and produced.
13179 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13180 (CODING_SPEC_CCL_PROGRAM): New macro.
13181 (ccl_driver): Update prototype.
13182 (Qccl, Qcclp, Fccl_program_p): Extern them.
13183 (CHECK_CCL_PROGRAM): New macro.
13184
13185 * character.c, character.h, chartab.c: New files.
13186
13187 * charset.c: Mostly re-written. Move character and multibyte sequence
13188 handling codes to character.c.
13189
13190 * charset.h: Mostly re-written. Move character and multibyte sequence
13191 handling codes to character.h.
13192
13193 * coding.c, coding.h: Mostly re-written.
13194
13195 * composite.c: Include "character.h" instead of "charset.h".
13196 (CHAR_WIDTH): Move to character.h.
13197 (HASH_KEY, HASH_VALUE): Delete.
13198
13199 * composite.h (enum composition_method): Change order of enumeration
13200 symbols.
13201
13202 * data.c: Include "character.h" instead of "charset.h".
13203 (Faref): Call CHAR_TABLE_REF for a char table.
13204 (Faset): Call CHAR_TABLE_SET for a char table.
13205
13206 * dispextern.h (free_realized_face, check_face_attribytes)
13207 (generate_ascii_font): Extern them.
13208 (free_realized_multibyte_face): Delete extern.
13209
13210 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13211 table structure.
13212
13213 * editfns.c: Include "character.h" instead of "charset.h".
13214 (Fchar_to_string): Always call CHAR_STRING.
13215
13216 * emacs.c (main): Call init_charset_once, init_charset,
13217 syms_of_chartab, and syms_of_character.
13218
13219 * fileio.c: Include "character.h" instead of "charset.h".
13220 (Finsert_file_contents): Big change for the new code-conversion API.
13221 (choose_write_coding_system, Fwrite_region): Likewise.
13222 (build_annotations_2): Delete.
13223 (e_write): Big change for the new code-conversion API.
13224
13225 * fns.c: Include "character.h" instead of "charset.h".
13226 (copy_sub_char_table): Move to chartab.c.
13227 (Fcopy_sequence): Call copy_char_table for a char table.
13228 (concat): Delete codes calling count_multibyte.
13229 (string_char_to_byte, string_byte_to_char): Adjust for the new
13230 multibyte form.
13231 (internal_equal): Adjust for the change of char table structure.
13232 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13233 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13234 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13235 (char_table_translate, optimize_sub_char_table)
13236 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13237 chartab.c.
13238 (char_table_ref_and_index): Delete.
13239 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13240 (Fmd5): Call preferred_coding_system instead of accessing
13241 Vcoding_category_list. Adjust for the new code-conversion API.
13242 (syms_of_fns): Move defsubr for char table related functions to
13243 chartab.c.
13244
13245 * fontset.c: Mostly re-written.
13246
13247 * fontset.h (struct font_info): Change type of the member encoding_type.
13248 (enum FONT_SPEC_INDEX): New enum.
13249 (fontset_font_pattern, fs_load_font): Update prototype.
13250 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13251
13252 * indent.c: Include "character.h" instead of "charset.h".
13253 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13254
13255 * insdel.c: Include "character.h" instead of "charset.h".
13256 (copy_text): Don't refer to Vnonascii_translation_table.
13257 (insert_from_gap): New function.
13258
13259 * keyboard.c: Include "character.h" instead of "charset.h".
13260 (command_loop_1): Never call direct_output_forward_char before
13261 a non-ASCII character.
13262 (read_char): If Vkeyboard_translate_table is a char table, always
13263 translate a character.
13264
13265 * keymap.c: Include "character.h".
13266 (store_in_keymap): Handle the case that IDX is a cons.
13267 (Fdefine_key): Handle the case that KEY is a cons and the car part
13268 is also a cons (range).
13269 (push_key_description): Adjust for the new character code.
13270 (describe_vector): Call describe_char_table for a char table.
13271 (describe_char_table): New function.
13272
13273 * keymap.h (describe_char_table): Extern it.
13274
13275 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13276 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13277 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13278 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13279 Delete.
13280 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13281 structure.
13282 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13283 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13284 (CHARTAB_SIZE_BITS_3): New macros.
13285 (chartab_size): Extern it.
13286 (struct Lisp_Char_Table): Re-design.
13287 (struct Lisp_Sub_Char_Table): New structure.
13288 (HASH_KEY, HASH_VALUE): Move from fns.c.
13289 (CHARACTERBITS): Define as 22.
13290 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13291 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13292 (GC_SUB_CHAR_TABLE_P): New macro.
13293 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13294 (code_convert_string_norecord): Deleted extern.
13295 (init_character_once, syms_of_character, init_charset)
13296 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13297
13298 * lread.c: Include "character.h".
13299 (read_multibyte): New arg NBYTES.
13300 (read_escape): Change the meaning of returned *BYTEREP.
13301 (to_multibyte): Delete.
13302 (read1): Adjust the handling of char table and string.
13303
13304 * print.c: Include "character.h" instead of "charset.h".
13305 (print_string): Convert 8-bit raw bytes to octal form by
13306 string_escape_byte8.
13307 (print_object): Adjust for the new multibyte form. Print 8-bit
13308 raw bytes always in octal form. Handle sub char table correctly.
13309
13310 * process.c: Include "character.h" instead of "charset.h".
13311 (read_process_output, send_process): Adjust for the new
13312 code-conversion API.
13313
13314 * puresize.h (BASE_PURESIZE): Increase.
13315
13316 * regex.c: Include "character.h" instead of "charset.h".
13317 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13318 (regex_compile): Accept a range whose starting and ending
13319 character have different leading bytes.
13320 (analyse_first): Adjust for the above change.
13321
13322 * search.c: Include "character.h" instead of "charset.h".
13323 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13324 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13325
13326 * syntax.c: Include "character.h" instead of "charset.h".
13327 (syntax_parent_lookup): Delete.
13328 (Fmodify_syntax_entry): Accept a cons as CHAR.
13329 (skip_chars): Adjust for the new multibyte form.
13330 (init_syntax_once): Call char_table_set_range instead of directly
13331 accessing the structure of a char table.
13332
13333 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13334 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13335 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13336 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13337
13338 * term.c: Include "buffer.h" and "character.h".
13339 (encode_terminal_code, write_glyphs): Adjust for the new
13340 code-conversion API.
13341 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13342
13343 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13344
13345 * xdisp.c: Include "character.h".
13346 (get_next_display_element): Adjust for the new multibyte form.
13347 (disp_char_vector): Adjust for the new char table structure.
13348 (decode_mode_spec_coding): Adjust for the new structure of
13349 coding system.
13350 (decode_mode_spec): Adjust for the new code-conversion API.
13351
13352 * xfaces.c: Include "character.h" instead of "charset.h".
13353 (load_face_font): Adjust for the change of choose_face_font and
13354 FS_LOAD_FONT.
13355 (generate_ascii_font): New function.
13356 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13357 (set_font_frame_param): Adjust for the change of choose_face_font.
13358 (free_realized_face): Make it public.
13359 (free_realized_faces_for_fontset): Rename from
13360 free_realized_multibyte_face. Free also faces realized for ASCII.
13361 (choose_face_font): Change arguments. Adjust for the change of
13362 fontset_font_pattern and FS_LOAD_FONT.
13363
13364 * xfns.c: Include "character.h".
13365 (x_encode_text): Adjust for the new code-conversion API.
13366
13367 * xselect.c: Don't include "charset.h".
13368 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13369
13370 * xterm.c: Include "character.h".
13371 (x_encode_char): New argument CHARSET. Change caller.
13372 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13373 Call ENCODE_CHAR instead of SPLIT_CHAR.
13374 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13375 CHAR_WIDTH instead of CHARSET_WIDTH.
13376 (XTread_socket): Adjust for the new code-conversion API.
13377 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13378 (x_load_font): Adjust for the change of struct font.
13379
133802008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13381
13382 * xfaces.c (face_at_buffer_position): Remove unused vars.
13383
133842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13385
13386 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13387 Fix overflow checking.
13388
133892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13390
13391 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13392 Cancel previous change.
13393
133942008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13395
13396 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13397 ccl->eight_bit_control. Fix check for buffer overflow.
13398 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13399 (ccl_driver): Initialize extra_bytes to 0.
13400
134012008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13402
13403 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13404 return it ORed with ctrl_modifier.
13405
134062008-01-29 Miles Bader <miles@gnu.org>
13407
13408 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13409
134102008-01-28 Jason Rumney <jasonr@gnu.org>
13411
13412 * w32.c (stat): Don't double check for networked drive.
13413
134142008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13415
13416 * window.c (run_window_configuration_change_hook): New function.
13417 Code extracted from set_window_buffer. Set the selected frame.
13418 (set_window_buffer): Use it.
13419 * window.h (run_window_configuration_change_hook): Declare.
13420 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13421
13422 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13423
134242008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13425
13426 * Makefile.in: Remove references to unused macros.
13427
134282008-01-26 Eli Zaretskii <eliz@gnu.org>
13429
13430 * w32.c (g_b_init_get_sid_sub_authority)
13431 (g_b_init_get_sid_sub_authority_count): New static variables.
13432 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13433 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13434 (init_user_info): Use them to retrieve uid and gid.
13435 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13436 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13437 st_uid and st_gid of the file.
13438
134392008-01-26 Jason Rumney <jasonr@gnu.org>
13440
13441 * w32.c (logon_network_drive): New function.
13442 (stat): Use it.
13443
134442008-01-26 Chong Yidong <cyd@stupidchicken.com>
13445
13446 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13447 invisible text covered with an ellipsis.
13448
134492008-01-25 Richard Stallman <rms@gnu.org>
13450
13451 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13452 jump back to beginning. Move some other initializations after that.
13453 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13454 New variables.
13455 (syms_of_xdisp): Init them.
13456
13457 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13458
13459 * buffer.c (reset_buffer_local_variables):
13460 Implement `permanent-local-hook'.
13461 (Qpermanent_local_hook): New variable.
13462 (syms_of_buffer): Init and staticpro it.
13463
134642008-01-25 Michael Albinus <michael.albinus@gmx.de>
13465
13466 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13467
134682008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13469
13470 * fns.c (Fclrhash): Return TABLE.
13471
134722008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13473
13474 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13475 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13476 is set even without positional changes.
13477 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13478
13479 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13480
134812008-01-23 Jason Rumney <jasonr@gnu.org>
13482
13483 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13484
13485 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13486 the unicode range available in MULE by locale-coding-system.
13487 Improve dbcs lead byte detection. Set event timestamp and modifiers
13488 earlier.
13489
134902008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13491
13492 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13493 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13494 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13495 when used on child processes.
13496
134972008-01-21 Michael Albinus <michael.albinus@gmx.de>
13498
13499 * dbusbind.c (Fdbus_method_return_internal): Rename from
13500 Fdbus_method_return.
13501 (Fdbus_unregister_object): Move to dbus.el.
13502 (Fdbus_call_method, Fdbus_method_return_internal)
13503 (Fdbus_send_signal): Improve debug messages.
13504
135052008-01-20 Martin Rudalics <rudalics@gmx.at>
13506
13507 * undo.c (undo_inhibit_record_point): New variable.
13508 (syms_of_undo): Initialize it.
13509 (record_point): Don't record point when undo_inhibit_record_point
13510 is set.
13511
135122008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13513
13514 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13515
13516 * xdisp.c (Qauto_hscroll_mode): New var.
13517 (syms_of_xdisp): Initialize it.
13518 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13519 window's buffer.
13520 (hscroll_windows): Don't check automatic_hscrolling_p here.
13521
13522 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13523 vscroll if we're setting window-buffer to the value it already has.
13524
135252008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13526
13527 * m/intel386.h: Remove references to XENIX.
13528
135292008-01-17 Andreas Schwab <schwab@suse.de>
13530
13531 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13532 instead of HAVE_X86_64_LIB64_DIR.
13533 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13534
135352008-01-17 Glenn Morris <rgm@gnu.org>
13536
13537 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13538 to HAVE_X86_64_LIB64_DIR.
13539
135402008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13541
13542 * s/irix3-3.h:
13543 * s/irix4-0.h:
13544 * s/386-ix.h:
13545 * s/domain.h:
13546 * s/hpux9-x11r4.h:
13547 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13548
13549 * sysdep.c: Remove code containing references to symbols defined
13550 by unsupported systems.
13551
135522008-01-16 Glenn Morris <rgm@gnu.org>
13553
13554 * coding.c (select-safe-coding-system-function): Doc fix.
13555
135562008-01-15 Glenn Morris <rgm@gnu.org>
13557
13558 * config.in: Revert 2008-01-13 change: this is a generated file.
13559
135602008-01-13 Tom Tromey <tromey@redhat.com>
13561
13562 * lisp.h: Fix typo.
13563
135642008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13565
13566 * m/sequent-ptx.h:
13567 * m/sequent.h:
13568 * s/ptx.h:
13569 * s/ptx4-2.h:
13570 * s/ptx4.h: Remove files for systems no longer supported.
13571
13572 * callproc.c (Fcall_process): Fix previous change.
13573
135742008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13575
13576 * unexsunos4.c: Remove file, system not supported anymore.
13577
13578 * m/mips.h:
13579 * m/intel386.h:
13580 * callproc.c:
13581 * config.in:
13582 * ecrt0.c:
13583 * emacs.c:
13584 * fileio.c:
13585 * frame.c:
13586 * getpagesize.h:
13587 * keyboard.c:
13588 * lread.c:
13589 * process.c:
13590 * puresize.h:
13591 * sysdep.c:
13592 * systty.h:
13593 * syswait.h:
13594 * unexec.c:
13595 * xdisp.c:
13596 * alloc.c: Remove code containing references to symbols defined by
13597 unsupported systems.
13598
135992008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13600
13601 * coding.c (detect_coding_mask): Fix previous change.
13602
136032008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13604
13605 * coding.c (detect_coding_iso2022): New arg
13606 latin_extra_code_state. Allow Latin extra codes only
13607 when *latin_extra_code_state is nonzero.
13608 (detect_coding_mask): If there is a NULL byte, detect the encoding
13609 as UTF-16 or binary. If Latin extra codes exist, detect the
13610 encoding as ISO-2022 only when there's no other proper encoding is
13611 found.
13612
136132008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13614
13615 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13616 #ifdef MAC_OS.
13617
136182008-01-08 Richard Stallman <rms@gnu.org>
13619
13620 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13621
136222008-01-06 Nick Roberts <nickrob@snap.net.nz>
13623
13624 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13625 menu bar in parentheses.
13626
136272008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13628
13629 * m/7300.h:
13630 * m/acorn.h:
13631 * m/alliant-2800.h:
13632 * m/alliant.h:
13633 * m/alliant1.h:
13634 * m/alliant4.h:
13635 * m/altos.h:
13636 * m/amdahl.h:
13637 * m/apollo.h:
13638 * m/att3b.h:
13639 * m/aviion-intel.h:
13640 * m/aviion.h:
13641 * m/celerity.h:
13642 * m/clipper.h:
13643 * m/cnvrgnt.h:
13644 * m/convex.h:
13645 * m/cydra5.h:
13646 * m/delta88k.h:
13647 * m/dpx2.h:
13648 * m/dual.h:
13649 * m/elxsi.h:
13650 * m/f301.h:
13651 * m/gould-np1.h:
13652 * m/gould.h:
13653 * m/i860.h:
13654 * m/ibmps2-aix.h:
13655 * m/ibmrt-aix.h:
13656 * m/ibmrt.h:
13657 * m/irist.h:
13658 * m/is386.h:
13659 * m/isi-ov.h:
13660 * m/mega68.h:
13661 * m/mg1.h:
13662 * m/news-r6.h:
13663 * m/news-risc.h:
13664 * m/news.h:
13665 * m/nh3000.h:
13666 * m/nh4000.h:
13667 * m/ns16000.h:
13668 * m/ns32000.h:
13669 * m/nu.h:
13670 * m/orion.h:
13671 * m/orion105.h:
13672 * m/paragon.h:
13673 * m/pfa50.h:
13674 * m/plexus.h:
13675 * m/pyramid.h:
13676 * m/pyrmips.h:
13677 * m/sh3el.h:
13678 * m/sps7.h:
13679 * m/sr2k.h:
13680 * m/stride.h:
13681 * m/sun1.h:
13682 * m/sun2.h:
13683 * m/sun3-68881.h:
13684 * m/sun3-fpa.h:
13685 * m/sun3-soft.h:
13686 * m/sun3.h:
13687 * m/sun386.h:
13688 * m/symmetry.h:
13689 * m/tad68k.h:
13690 * m/tahoe.h:
13691 * m/targon31.h:
13692 * m/tek4300.h:
13693 * m/tekxd88.h:
13694 * m/tower32.h:
13695 * m/tower32v3.h:
13696 * m/ustation.h:
13697 * m/wicat.h:
13698 * m/xps100.h:
13699 * s/cxux.h:
13700 * s/cxux7.h:
13701 * s/dgux.h:
13702 * s/dgux4.h:
13703 * s/dgux5-4-3.h:
13704 * s/dgux5-4r2.h:
13705 * s/esix.h:
13706 * s/esix5r4.h:
13707 * s/hiuxmpp.h:
13708 * s/hiuxwe2.h:
13709 * s/iris3-5.h:
13710 * s/iris3-6.h:
13711 * s/isc2-2.h:
13712 * s/isc3-0.h:
13713 * s/isc4-0.h:
13714 * s/isc4-1.h:
13715 * s/newsos5.h:
13716 * s/newsos6.h:
13717 * s/osf1.h:
13718 * s/osf5-0.h:
13719 * s/riscix1-1.h:
13720 * s/riscix12.h:
13721 * s/sco4.h:
13722 * s/sco5.h:
13723 * s/sunos4-0.h:
13724 * s/sunos4-1.h:
13725 * s/sunos413.h:
13726 * s/sunos4shr.h:
13727 * s/umax.h:
13728 * s/unipl5-2.h:
13729 * s/xenix.h:
13730 * cxux-crt0.s:
13731 * unexapollo.c:
13732 * unexconvex.c:
13733 * unexenix.c:
13734 * unexsni.c: Remove files for systems no longer supported.
13735
13736 * m/intel386.h: Remove references to unsupported systems.
13737
13738 * w32.c (get_emacs_configuration): Remove reference to i860.
13739
13740 * sysdep.c: Remove dead code.
13741
137422008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13743
13744 * s/rtu.h:
13745 * m/masscomp.h: Remove files. Platform is obsolete.
13746
137472008-01-04 Michael Albinus <michael.albinus@gmx.de>
13748
13749 * dbusbind.c (Fdbus_method_return): New function.
13750 (xd_read_message): Add the serial number to the event.
13751 (Fdbus_register_method): Activate the function.
13752
137532008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13754
13755 * keyboard.c (read_key_sequence): Fix typo.
13756
137572008-01-03 Michael Albinus <michael.albinus@gmx.de>
13758
13759 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13760 (xd_signature, xd_append_arg): Handle element type detection for
13761 empty arrays.
13762 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13763 SDATA () calls; this must be solved more general.
13764 (Fdbus_register_signal): Use SBYTES instead of strlen.
13765
137662008-01-03 Magnus Henoch <magnus@zemdatav>
13767
13768 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13769 unsigned int for byte values (necessary for big-endian platform).
13770 (Fdbus_call_method): Handle the case of no returned arguments.
13771
137722007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13773
13774 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13775
137762007-12-31 Magnus Henoch <mange@freemail.hu>
13777
13778 * dbusbind.c (xd_signature): Signature of variant is just "v".
13779
137802007-12-30 Michael Albinus <michael.albinus@gmx.de>
13781
13782 * dbusbind.c: Fix several errors and compiler warnings.
13783 Reported by Tom Tromey <tromey@redhat.com>.
13784 (XD_ERROR, XD_DEBUG_MESSAGE)
13785 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13786 (xd_append_arg): Part for basic D-Bus types rewritten.
13787 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13788 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13789 appropriate.
13790 (xd_read_message): Return Qnil. Don't signal an error; it is not
13791 useful during event reading.
13792 (Fdbus_register_signal): Signal an error if the check for
13793 FUNCTIONP fails.
13794 (Fdbus_register_method): New function. The implementation is not
13795 complete, the call of the function signals an error therefore.
13796 (Fdbus_unregister_object): New function, renamed from
13797 Fdbus_unregister_signal. The initial check signals an error, if
13798 the object is not well formed.
13799
138002007-12-30 Richard Stallman <rms@gnu.org>
13801
13802 * textprop.c (get_char_property_and_overlay):
13803 Signal error if POSITION is out of range in a buffer.
13804
138052007-12-29 Martin Rudalics <rudalics@gmx.at>
13806
13807 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13808 because the original parameters are in pure storage now.
13809
138102007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13811
13812 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13813
138142007-12-22 Eli Zaretskii <eliz@gnu.org>
13815
13816 * callint.c (syms_of_callint) <command-history>: Add reference to
13817 history-length in the doc string.
13818
138192007-12-17 Jason Rumney <jasonr@gnu.org>
13820
13821 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13822 before passing as wParam.
13823
138242007-12-22 Michael Albinus <michael.albinus@gmx.de>
13825
13826 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13827 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13828 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13829 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13830 as number.
13831 (Fdbus_call_method): Fix docstring.
13832
138332007-12-21 Michael Albinus <michael.albinus@gmx.de>
13834
13835 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13836 New macros.
13837 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13838 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13839 Simplify.
13840 (xd_signature): New function.
13841 (xd_append_arg): Compute also signatures. Major rewrite.
13842 (xd_retrieve_arg): Make debug messages friendly.
13843 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13844 Check for signatures of arguments.
13845
138462007-12-19 Michael Albinus <michael.albinus@gmx.de>
13847
13848 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13849 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13850 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13851 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13852 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13853 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13854 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13855 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13856 (xd_retrieve_value): Remove. Functionality included in ...
13857 (xd_append_arg): New function.
13858 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13859
138602007-12-16 Michael Albinus <michael.albinus@gmx.de>
13861
13862 * dbusbind.c (top): Include <stdio.h>.
13863 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13864 dbus_message_new_method_call and dbus_message_new_signal.
13865 (Fdbus_register_signal): Rename unique_name to uname.
13866 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13867 non-existing unique name. Fix typos in matching rule. Return an
13868 object which is useful in Fdbus_unregister_signal.
13869 (Fdbus_unregister_signal): Reimplementation, in order to remove
13870 only the corresponding entry.
13871 (Vdbus_registered_functions_table): Change the order of entries.
13872 Apply these changes in xd_read_message and Fdbus_register_signal.
13873
138742007-12-16 Andreas Schwab <schwab@suse.de>
13875
13876 * fileio.c (Finsert_file_contents): Fix overflow check to not
13877 depend on undefined integer overflow.
13878
138792007-12-14 Jason Rumney <jasonr@gnu.org>
13880
13881 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13882 for characters above 127.
13883
138842007-12-13 Jason Rumney <jasonr@gnu.org>
13885
13886 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13887 before dereferencing array.
13888 (lookup_vk_code): Remove zero comparison.
13889
138902007-12-14 Michael Albinus <michael.albinus@gmx.de>
13891
13892 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13893 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13894 Use `unsigned int' instead of `uint'.
13895 (xd_read_message, Fdbus_register_signal): Split expressions into
13896 multiple lines before operators "&&" and "||", according to the
13897 GNU Coding Standards.
13898
138992007-12-14 Eli Zaretskii <eliz@gnu.org>
13900
13901 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13902
139032007-12-12 Juri Linkov <juri@jurta.org>
13904
13905 * buffer.c (Frename_buffer): In interactive spec replace
13906 `read-buffer' with `read-string' that uses `buffer-name-history'
13907 as history, and the current buffer's name as default.
13908
139092007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13910
13911 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13912 manipulating the backtrace manually.
13913 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13914 (struct backtrace, backtrace_list): Remove.
13915 (command_loop_1): Remove dead var `no_direct'.
13916
13917 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13918 preserve non-built-in buffer-local variables.
13919 (Fkill_all_local_variables): Don't re-create&re-set permanent
13920 buffer-local variables.
13921
139222007-12-09 Juri Linkov <juri@jurta.org>
13923
13924 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13925 Lisp code that uses `read-buffer' with current buffer as default.
13926
139272007-12-08 Michael Albinus <michael.albinus@gmx.de>
13928
13929 * dbusbind.c (xd_read_message): Generate an event for every
13930 registered handler. There might be several handlers registered
13931 for the same signal.
13932 (Fdbus_register_signal): Don't overwrite a registration for the
13933 same signal. Add a new registration if handlers are different.
13934 (Vdbus_registered_functions_table): Rework doc string.
13935
139362007-12-07 Michael Albinus <michael.albinus@gmx.de>
13937
13938 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13939 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13940 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13941 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13942 Unify argument lists.
13943 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13944 arguments and hash table keys. Use unique name for service.
13945 (Fdbus_unregister_signal): Remove checks.
13946 (Vdbus_registered_functions_table): Fix doc string.
13947
139482007-12-05 Magnus Henoch <mange@freemail.hu>
13949
13950 * process.c (make_process): Initialize pty_flag to 0.
13951
139522007-12-05 Jason Rumney <jasonr@gnu.org>
13953
13954 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13955 specified XBMs.
13956
139572007-12-05 Richard Stallman <rms@gnu.org>
13958
13959 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13960
139612007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13962
13963 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13964 New variable.
13965 (mac_try_close_socket) [MAC_OSX]: New function.
13966 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13967 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13968
13969 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13970 Use mac_try_close_socket.
13971
139722007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13973
13974 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13975 reloc_base.
13976 (copy_dysymtab): Compute relocation base here.
13977 (rebase_reloc_address) [__ppc64__]: New function.
13978 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13979 changed.
13980
139812007-12-05 Jason Rumney <jasonr@gnu.org>
13982
13983 * w32proc.c (sys_spawnve): Quote args with wildcards.
13984
139852007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13986
13987 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13988 __objc_* sections.
13989 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13990
139912007-12-05 Michael Albinus <michael.albinus@gmx.de>
13992
13993 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13994 Move check for Vdbus_registered_functions_table to
13995 xd_read_queued_messages.
13996 (xd_read_queued_messages): Protect xd_read_message calls by
13997 internal_condition_case_1.
13998
139992007-12-04 Michael Albinus <michael.albinus@gmx.de>
14000
14001 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14002 Qdbus_system_bus and Qdbus_session_bus, respectively.
14003 (Vdbus_intern_symbols): Remove.
14004 (Vdbus_registered_functions_table): New hash table.
14005 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14006 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14007 Rewrite in order to manage registered functions by hash table
14008 Vdbus_registered_functions_table.
14009
140102007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14011
14012 * xterm.c: Update URL to Window Manager Specification in comment.
14013
140142007-12-02 Michael Albinus <michael.albinus@gmx.de>
14015
14016 * config.in (HAVE_DBUS): Add.
14017
14018 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14019 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14020 (obj): Add $(DBUS_OBJ).
14021 (LIBES): Add $(DBUS_LIBS).
14022 (dbusbind.o): New target.
14023
14024 * dbusbind.c: New file.
14025
14026 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14027
14028 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14029 (Qdbus_event): New Lisp symbol.
14030 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14031 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14032 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14033
14034 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14035
140362007-12-01 Richard Stallman <rms@gnu.org>
14037
14038 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14039
140402007-11-30 Jason Rumney <jasonr@gnu.org>
14041
14042 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14043 (w32con_reset_terminal_modes): Clear screen buffer.
14044 (w32_face_attributes): Don't use color indexes that are out of range.
14045 Only reverse the default colors.
14046
14047 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14048 WINDOWSNT.
14049
14050 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14051
140522007-11-29 Jason Rumney <jasonr@gnu.org>
14053
14054 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14055 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14056 if the terminal colors are initialized.
14057 (unspecified_fg, unspecified_bg): Remove unused declarations.
14058
140592007-11-29 Andreas Schwab <schwab@suse.de>
14060
14061 * keyboard.c (apply_modifiers): Fix typo.
14062
140632007-11-29 Richard Stallman <rms@gnu.org>
14064
14065 * keymap.c (Fcurrent_local_map): Doc fix.
14066
140672007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14068
14069 * s/gnu-kfreebsd.h: New file.
14070
140712007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14072
14073 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14074 Don't cast redundantly.
14075
14076 * keyboard.c (KEY_TO_CHAR): New macro.
14077 (parse_modifiers, apply_modifiers): Accept integer arguments.
14078 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14079 for chars and symbol keys.
14080 After doing such remapping, apply function-key-map again.
14081
140822007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14083
14084 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14085 compiled anymore.
14086
140872007-11-26 Andreas Schwab <schwab@suse.de>
14088
14089 * process.c (list_processes_1): Fix indentation level of the
14090 command column.
14091
140922007-11-23 Andreas Schwab <schwab@suse.de>
14093
14094 * editfns.c (Fformat): Handle %c specially since it requires the
14095 argument to be of type int.
14096
140972007-11-23 Markus Triska <markus.triska@gmx.at>
14098
14099 * emacs.c (main): Call init_editfns before init_process, since
14100 init_process sets Vprocess_connection_type depending on OS release.
14101
141022007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14103
14104 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14105 (find_symbol_value): Use do_symval_forwarding.
14106
14107 * data.c (set_internal): Set the value in the `cons-cell' (for
14108 Buffer_Local_values) not only for frame-local variables.
14109
141102007-11-22 Andreas Schwab <schwab@suse.de>
14111
14112 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14113 values to sprintf.
14114 * keymap.c (Fsingle_key_description): Likewise.
14115 * print.c (print_object): Likewise.
14116
141172007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14118
14119 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14120 file for image is nil.
14121
141222007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14123
14124 * term.c: Include stdarg.h.
14125 (fatal): Implement using varargs.
14126 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14127
141282007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14129
14130 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14131 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14132 Update call to buffer_slot_type_mismatch.
14133 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14134 (buffer_slot_type_mismatch): Update.
14135 * buffer.c (buffer_local_types): Remove.
14136 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14137 (defvar_per_buffer): Set the type in the buffer_objfwd.
14138
141392007-11-21 Jason Rumney <jasonr@gnu.org>
14140
14141 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14142 CreateFileMapping returns NULL on failure.
14143
141442007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14145
14146 * search.c (Fset_match_data): Remove the `evaporate' feature.
14147 (unwind_set_match_data): Don't use the `evaporate' feature.
14148
141492007-11-21 Jason Rumney <jasonr@gnu.org>
14150
14151 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14152
14153 * w32console.c (w32con_write_glyphs): Remove unused variables.
14154
141552007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14156
14157 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14158
14159 * s/darwin.h (MULTI_KBOARD): Remove.
14160
14161 * macfns.c (x_create_tip_frame, Fx_create_frame)
14162 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14163
141642007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14165
14166 * buffer.c (Fbuffer_local_value): Remove redundant test.
14167 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14168 than in `current-buffer' to match the comment.
14169 Do the swap using swap_in_global_binding.
14170
14171 * data.c (store_symval_forwarding, set_internal):
14172 * eval.c (specbind): Remove dead code.
14173
14174 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14175 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14176 Since we do not want to see internal Lisp_*fwd objects here.
14177
141782007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14179
14180 * sysdep.c (init_system_name): Use getaddrinfo if available.
14181
14182 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14183 (x_scroll_bar_note_movement): start, end, with, height in struct
14184 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14185
141862007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14187
14188 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14189
141902007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14191
14192 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14193 This undoes Richard's change of 14-Oct-2002.
14194
14195 * alloc.c (allocate_other_vector):
14196 * lisp.h (allocate_other_vector): Remove.
14197
14198 * window.c (struct save_window_data): Move non-lisp data to the end
14199 and make it `int' rather than Lisp_Object.
14200 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14201 Done wrap/unwrap integer values.
14202 (Fset_window_configuration, compare_window_configurations):
14203 Update use of fields to their new types.
14204
14205 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14206 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14207 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14208 (SET_SCROLL_BAR_X_WINDOW): Remove.
14209 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14210 Access the new x_window field directly.
14211 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14212 Don't wrap/unwrap integers into Lisp_Objects.
14213 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14214 (x_scroll_bar_report_motion):
14215 Don't wrap/unwrap integers into Lisp_Objects.
14216 (x_term_init): Use SDATA.
14217 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14218 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14219 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14220 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14221 * xfns.c (x_set_background_color):
14222 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14223 Access the new x_window field directly.
14224
14225 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14226 (allocate_pseudovector): Make non-static.
14227
14228 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14229 (allocate_pseudovector): Declare.
14230 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14231
142322007-11-15 Andreas Schwab <schwab@suse.de>
14233
14234 * editfns.c (Fformat): Correctly format EMACS_INT values.
14235 Also take precision into account when formatting an integer.
14236
14237 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14238
142392007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14240
14241 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14242 (syms_of_keyboard): Defsubr it.
14243
14244 * data.c (swap_in_global_binding): Fix longstanding bug where
14245 store_symval_forwarding was not called with the right second argument,
14246 thus causing objfwd-ing from being dropped.
14247
142482007-11-14 Juanma Barranquero <lekktu@gmail.com>
14249
14250 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14251 (Fx_display_pixel_height, Fx_display_planes)
14252 (Fx_display_color_cells, Fx_server_max_request_size)
14253 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14254 (Fx_display_visual_class, Fx_display_save_under):
14255 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14256 (Fx_display_pixel_height, Fx_display_planes)
14257 (Fx_display_color_cells, Fx_server_max_request_size)
14258 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14259 (Fx_display_mm_height, Fx_display_mm_width)
14260 (Fx_display_backing_store, Fx_display_visual_class)
14261 (Fw32_select_font, Fx_display_save_under):
14262 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14263 (Fx_display_pixel_height, Fx_display_planes)
14264 (Fx_display_color_cells, Fx_server_max_request_size)
14265 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14266 (Fx_display_save_under): Fix typos in docstrings.
14267
142682007-11-14 Juanma Barranquero <lekktu@gmail.com>
14269
14270 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14271 corresponding to deleted entries; they are an implementation detail.
14272 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14273 Remove variables.
14274 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14275 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14276 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14277 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14278 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14279 (Fw32_define_rgb_color, Fw32_load_color_file)
14280 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14281 Fix typos in docstrings.
14282 (Fx_server_version): Reflow docstring.
14283 (Fw32_shell_execute): Doc fixes.
14284
142852007-11-13 Juanma Barranquero <lekktu@gmail.com>
14286
14287 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14288 if w32_parse_hot_key returned nil.
14289
142902007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14291
14292 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14293
142942007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14295
aac0c6e3
MR
14296 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14297
14298 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14299
14300 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14301 Remove W32_SCROLL_BAR_CLICK_EVENT.
14302
14303 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14304 Add MULTIMEDIA_KEY_EVENT.
14305
14306 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14307 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14308 (make_lispy_event) [WINDOWSNT]: Use it to translate
14309 MULTIMEDIA_KEY_EVENT.
14310
14311 * w32term.h (WM_APPCOMMAND): Define if not already.
14312 (GET_APPCOMMAND_LPARAM): Likewise.
14313
14314 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14315 WM_APPCOMMAND.
14316
14317 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14318 (syms_of_w32fns): Export and initialize it.
14319 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14320
143212007-11-09 Chong Yidong <cyd@stupidchicken.com>
14322
14323 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14324 twice.
14325
14326 * xdisp.c (handle_face_prop): Fix last change.
14327
143282007-11-09 Richard Stallman <rms@gnu.org>
14329
14330 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14331 not just for after-strings and before-strings.
14332 Call face_for_overlay_string and pass the overlay to it.
14333 (handle_display_prop): Determine whether property came from an overlay.
14334 Pass OVERLAY arg to handle_single_display_spec.
14335 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14336 (load_overlay_strings): Fill in it->string_overlays.
14337 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14338
14339 * xfaces.c (face_for_overlay_string): Function renamed from
14340 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14341
14342 * dispextern.h (struct it): New elt string_overlays.
14343 New elt from_overlay, also in stack.
14344 Rearrange a few elements.
14345 (face_for_overlay_string): Decl renamed from
14346 face_at_buffer_position_no_overlays, and add argument.
14347
143482007-11-09 Richard Stallman <rms@gnu.org>
14349
14350 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14351 to get the base face for an overlay string.
14352
14353 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14354
14355 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14356
14357 * xdisp.c (handle_stop): Move some code out of loop.
14358
143592007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14360
14361 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14362 Fix conversion from Lisp object to ATSUFontID.
14363
143642007-11-09 Jason Rumney <jasonr@gnu.org>
14365
14366 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14367
143682007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14369
14370 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14371 Don't assume regions are aligned to page boundary.
14372 (print_load_command_name): Add LC_UUID if defined.
14373
143742007-11-09 Richard Stallman <rms@gnu.org>
14375
14376 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14377
143782007-11-07 Jason Rumney <jasonr@gnu.org>
14379
14380 * s/windows95.h: Remove.
14381
143822007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14383
14384 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14385 abort with a message on unhandled store_type values.
14386
143872007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14388
14389 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14390 Remove HAVE_X11R5 and HAVE_X11R4.
14391
143922007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14393
14394 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14395
143962007-11-01 Johan Bockgård <bojohan@gnu.org>
14397
14398 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14399 Don't set s->stippled_p here, since it has already been set by
14400 x_set_glyph_string_gc from x_draw_glyph_string.
14401
144022007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14403
14404 * sunfns.c: Remove file.
14405
14406 * m/sun386.h:
14407 * m/sun2.h:
14408 * m/sparc.h: Remove Sun windows code.
14409
144102007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14411
14412 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14413 (init_keyboard): Set current_kboard's window-system to nil.
14414 (tty_read_avail_input): Typo.
14415 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14416
144172007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14418
14419 * s/usg5-4.h:
14420 * s/usg5-3.h:
14421 * s/ptx.h:
14422 * m/is386.h:
14423 * m/ibmps2-aix.h:
14424 * Makefile.in: Remove all mentions of X10.
14425
14426 * dispnew.c (syms_of_display): Don't mention version 10.
14427
144282007-10-28 Juanma Barranquero <lekktu@gmail.com>
14429
14430 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14431 ($(BLD)/abbrev.$(O)): Remove.
14432
144332007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14434
14435 Rewrite abbrev.c in Elisp.
14436 * image.c (Qcount): Don't declare as extern.
14437 (syms_of_image): Initialize and staticpro `Qcount'.
14438 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14439 * emacs.c (main): Don't call syms_of_abbrev.
14440 * Makefile.in (obj): Remove abbrev.o.
14441 (abbrev.o): Remove.
14442 * abbrev.c: Remove.
14443
144442007-10-26 Martin Rudalics <rudalics@gmx.at>
14445
14446 * window.c (window_min_size_2): Don't count header-line.
14447
144482007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14449
14450 * frame.h (struct frame): Move all bit fields after the first bit
14451 field to take advantage of the available space. Group all the
14452 chars together to reduce wasted space due to padding.
14453
144542007-10-26 Juanma Barranquero <lekktu@gmail.com>
14455
14456 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14457
14458 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14459 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14460 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14461 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14462 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14463 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14464 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14465 (last_marked, mark_object_loop_halt): Make static.
14466
14467 * frame.c (syms_of_frame) <delete-frame-functions>:
14468 Fix typo in docstring.
14469
144702007-10-25 Juanma Barranquero <lekktu@gmail.com>
14471
14472 * w32.c (init_environment): Fix tiny memory leak.
14473 (w32_get_resource): Remove unused variable `ok'.
14474
144752007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14476
14477 Make `window-system' into a keyboard-local variable (rather than
14478 frame-local as done originally by multi-tty).
14479
14480 * keyboard.h (struct kboard): Add Vwindow_system.
14481 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14482 (mark_kboards): Mark Vwindow_system.
14483
14484 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14485 (init_display): Don't set the obsolete `window-system' frame-param.
14486
14487 * xterm.c (x_term_init):
14488 * w32term.c (w32_create_terminal):
14489 * term.c (init_tty): Set Vwindow_system.
14490 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14491 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14492
14493 * xfns.c (Fx_create_frame, x_create_tip_frame):
14494 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14495 * macfns.c (Fx_create_frame):
14496 Don't set the obsolete `window-system' frame-param.
14497
14498 * frame.h (Qwindow_system): Remove.
14499 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14500 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14501
145022007-10-24 Richard Stallman <rms@gnu.org>
14503
14504 * frame.c (x_figure_window_size): For fullscreen case,
14505 set USPosition | PPosition without clobbering rest of window_prompting.
14506
14507 * keyboard.c (Fcurrent_idle_time): Doc fix.
14508
14509 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14510
145112007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14512
14513 * process.c (unwind_request_sigio): Only define if __ultrix__.
14514
14515 * callproc.c (child_setup): Remove spurious *.
14516
14517 * lisp.h (Fget_text_property): Declare.
14518 (have_menus_p): Declare it here rather than in sys-dep header files.
14519 * macterm.h (have_menus_p):
14520 * msdos.h (have_menus_p):
14521 * xterm.h (have_menus_p): Remove.
14522
14523 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14524 (Fmake_variable_frame_local): Just check the variable's const-ness
14525 rather than checking nil or t.
14526
145272007-10-22 Jason Rumney <jasonr@gnu.org>
14528
14529 * w32fns.c: Include math.h.
14530 (w32_abort): Declaration moved to nt/config.nt.
14531
14532 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14533 (abort): Redefinition moved to nt/config.nt.
14534
14535 * m/windowsnt.h: Remove.
14536
145372007-10-22 Juanma Barranquero <lekktu@gmail.com>
14538
14539 * emacs.c (Fdump_emacs): Fix typo in message.
14540 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14541 <installation-directory>: Reflow docstring.
14542
145432007-10-22 Juri Linkov <juri@jurta.org>
14544
14545 * minibuf.c: Allow minibuffer default to be a list of default values.
14546 With empty input use the first element of this list as returned default.
14547 (string_to_object)
14548 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14549 (read_minibuf): If defalt is cons, set histstring to its car.
14550 (Fread_string): If default_value is cons, set val to its car.
14551 (Fread_buffer): If def is cons, use its car.
14552 (Fcompleting_read): If defalt is cons, set val to its car.
14553
145542007-10-21 Michael Albinus <michael.albinus@gmx.de>
14555
14556 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14557
145582007-10-20 Juanma Barranquero <lekktu@gmail.com>
14559
14560 * doc.c (Fdocumentation): Check for advice in all cases.
14561
145622007-10-19 Chong Yidong <cyd@stupidchicken.com>
14563
14564 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14565
145662007-10-19 Richard Stallman <rms@gnu.org>
14567
14568 * doc.c (Fdocumentation): Check for and handle an advised function.
14569
145702007-10-19 Juanma Barranquero <lekktu@gmail.com>
14571
14572 * process.c (Fset_process_filter): Doc fix.
14573
145742007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14575
14576 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14577 which caused key-translation-map to applied repeatedly (thus breaking
14578 double-mode).
14579
145802007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14581
14582 * xselect.c (x_own_selection, x_handle_selection_clear)
14583 (x_clear_frame_selections):
14584 * w32menu.c (list_of_panes, list_of_items):
14585 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14586 * textprop.c (validate_plist, interval_has_all_properties)
14587 (interval_has_some_properties, interval_has_some_properties_list)
14588 (add_properties, text_property_list):
14589 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14590 * minibuf.c (Fassoc_string):
14591 * macselect.c (x_own_selection, x_clear_frame_selections)
14592 (Fx_disown_selection_internal):
14593 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14594 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14595
145962007-10-17 Chong Yidong <cyd@stupidchicken.com>
14597
14598 * process.c: Link to libs for calling res_init() if available.
14599 (Fmake_network_process): Call res_init() before getaddrinfo or
14600 gethostbyname, if possible.
14601
146022007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14603
14604 * lread.c (read1): Set pvectype for char_tables.
14605
14606 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14607 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14608 Add type checks.
14609 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14610
14611 * alloc.c (free_misc): Use XMISCTYPE.
14612 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14613
146142007-10-17 Glenn Morris <rgm@gnu.org>
14615
14616 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14617 (syms_of_minibuf): Add Qcompletion_ignore_case.
14618 * dired.c (Qcompletion_ignore_case): Change to external.
14619 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14620 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14621 (Fread_file_name): Use it rather than intern'ing.
14622
14623 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14624 (Fread_coding_system): Ignore case of user input.
14625
146262007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14627
14628 * xdisp.c (handle_display_prop): Ignore display specs after
14629 replacing one when string text is being replaced.
14630 (handle_single_display_spec): Pretend as if characters with display
14631 property haven't been consumed only when buffer text is being replaced.
14632
146332007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14634
14635 * xfns.c (Fx_create_frame, Fx_display_list):
14636 * window.c (window_fixed_size_p, enlarge_window)
14637 (shrink_window_lowest_first):
14638 * macterm.c (init_font_name_table):
14639 * macfns.c (Fx_create_frame, Fx_display_list):
14640 * lread.c (close_load_descs):
14641 * keyboard.c (read_char_x_menu_prompt):
14642 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14643 * coding.c (code_convert_region_unwind): Test the type of an object
14644 rather than just !NILP before extracting data from it.
14645
14646 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14647
14648 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14649 (XMISCANY): New macro.
14650 (XMISCTYPE): Use it.
14651 (struct Lisp_Misc_Any): New type.
14652 (union Lisp_Misc): Use it.
14653 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14654 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14655 (find_symbol_value, set_internal, default_value, Fset_default)
14656 (Fmake_variable_buffer_local, Fmake_local_variable)
14657 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14658 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14659 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14660 * alloc.c (allocate_buffer): Set the size and tag.
14661 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14662 Use XMISCANY.
14663 (die): Follow the GNU convention for error messages.
14664 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14665 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14666 tag any more.
14667 (set_buffer_internal_1):
14668 * frame.c (store_frame_param):
14669 * eval.c (specbind):
14670 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14671
14672 * doc.c (Fsnarf_documentation): Simplify.
14673
146742007-10-14 Juanma Barranquero <lekktu@gmail.com>
14675
14676 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14677 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14678
146792007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14680
14681 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14682
146832007-10-14 Juanma Barranquero <lekktu@gmail.com>
14684
14685 * eval.c (do_autoload): Don't save autoloads.
14686
14687 * data.c (Ffset): Save autoload of the function being set.
14688
146892007-10-07 John Paul Wallington <jpw@pobox.com>
14690
14691 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14692 parameter before setting up faces.
14693
146942007-10-13 Eli Zaretskii <eliz@gnu.org>
14695
14696 * ccl.c (Fregister_code_conversion_map):
14697 * keyboard.c (append_tool_bar_item): Reformat last change.
14698
14699 * lisp.h (eabs): Rename from `abs'. All callers changed.
14700
147012007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14702
14703 * buffer.c (add_overlay_mod_hooklist):
14704 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14705 * fontset.c (make_fontset):
14706 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14707 (append_tool_bar_item):
14708 * macmenu.c (grow_menu_items):
14709 * w32menu.c (grow_menu_items):
14710 * xmenu.c (grow_menu_items): Use larger_vector.
14711
147122007-10-13 Eli Zaretskii <eliz@gnu.org>
14713
14714 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14715 selected frame'' on MSDOS).
14716
147172007-10-12 Martin Rudalics <rudalics@gmx.at>
14718
14719 * frame.c (Qexplicit_name): New variable.
14720 (x_report_frame_params): Report it in parameter alist.
14721 (syms_of_frame): Intern and staticpro it.
14722
147232007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14724
14725 * macfns.c (x_create_tip_frame): Set terminal for frame.
14726
147272007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14728
14729 * frame.c (Qenvironment): Remove.
14730 (syms_of_frame) <Qenvironment>: Don't initialize.
14731 (Fdelete_frame): Don't treat the `environment' param specially.
14732 * frame.h (Qenvironment): Don't declare.
14733 * callproc.c (set_initial_environment): Don't set unused frame param.
14734
14735 * frame.c (Fframe_with_environment): Remove.
14736 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14737
14738 * lisp.h (Fframe_with_environment): Don't declare.
14739
147402007-10-10 Juanma Barranquero <lekktu@gmail.com>
14741
14742 * indent.c (indent_tabs_mode, last_known_column)
14743 (last_known_column_modified): Make static.
14744 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14745
147462007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14747
14748 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14749
147502007-10-09 Jason Rumney <jasonr@gnu.org>
14751
14752 * w32term.c (x_set_window_size): Disable code that attempts to tell
14753 Lisp code about a size change before it actually happens.
14754
147552007-10-09 Richard Stallman <rms@gnu.org>
14756
14757 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14758 return HANDLED_RETURN.
14759
147602007-10-08 Martin Rudalics <rudalics@gmx.at>
14761
14762 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14763 when there's an unread command event.
14764
14765 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14766 window autoselection act appropriately when leaving selected frame.
14767 (syms_of_frame): Initialize focus_follows_mouse.
14768 * frame.h (focus_follows_mouse): Extern it.
14769 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14770 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14771 * msdos.c (dos_rawgetc): Likewise.
14772 * w32term.c (w32_read_socket): Likewise.
14773 * xterm.c (handle_one_xevent): Likewise.
14774 * xdisp.c (syms_of_xdisp): In doc-string of
14775 mouse-autoselect-window mention focus-follows-mouse.
14776
147772007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14778
14779 * macterm.c (mac_load_query_font): Fix missing return value.
14780 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14781 Add BLOCK_INPUT.
14782
147832007-10-08 Richard Stallman <rms@gnu.org>
14784
14785 * xdisp.c (get_window_cursor_type): Implement documented behavior
14786 for cursor-in-non-selected-windows = t.
14787
147882007-10-08 Jason Rumney <jasonr@gnu.org>
14789
14790 * w32.c (w32_get_resource): Always close registry keys.
14791
147922007-10-08 Jason Rumney <jasonr@gnu.org>
14793
14794 * makefile.w32-in (LIBS): Add COMCTL32.
14795
14796 * w32fns.c (globals_of_w32fns): Init common controls.
14797
147982007-10-08 Richard Stallman <rms@gnu.org>
14799
14800 * image.c (our_memory_buffer): Rename from omfib_buffer.
14801
148022007-10-08 Richard Stallman <rms@gnu.org>
14803
14804 * buffer.c (Foverlays_at): Doc fix.
14805
148062007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14807
14808 * fns.c (Fplist_put): Preserve uneven tail data.
14809
148102007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14811
14812 * termhooks.h (enum event_kind): Remove trailing comma.
14813
14814 * frame.h (enum): Remove trailing comma.
14815
148162007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14817
14818 * w32proc.c (delete_child): Don't terminate threads of zombies.
14819
148202007-10-08 Martin Rudalics <rudalics@gmx.at>
14821
14822 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14823
14824 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14825 last-repeatable-command.
14826 (init_kboard): Initialize Vlast_repeatable_command.
14827 (command_loop_1): Set it to real_this_command unless that was
14828 bound to an input event.
14829 (mark_kboards): Mark it.
14830
148312007-10-08 Richard Stallman <rms@gnu.org>
14832
14833 * eval.c (condition-case): Doc fix.
14834
148352007-10-08 Masatake YAMATO <jet@gyve.org>
14836
14837 * xfaces.c (tty_supports_face_attributes_p): Fix code
14838 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14839 was copied and not edited.
14840
148412007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14842
14843 Add new `input-decode-map' keymap and use it for terminal
14844 escape sequences.
14845 * keyboard.h (struct kboard): Add Vinput_decode_map.
14846 Remove Vlocal_key_translation_map.
14847 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14848 (init_kboard): Init input-decode-map.
14849 Replace local-key-translation-map back with key-translation-map.
14850 (syms_of_keyboard): Declare input-decode-map.
14851 Remove local-key-translation-map. Update docstrings.
14852 (mark_kboards): Mark Vinput_decode_map.
14853 Don't mark Vlocal_key_translation_map.
14854 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14855 Replace local-key-translation-map back with key-translation-map.
14856 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14857 Bind in input-decode-map rather than function-key-map.
14858
14859 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14860 This was made redundant by the previous introduction of XSETPVECTYPE.
14861
148622007-10-09 Richard Stallman <rms@gnu.org>
14863
14864 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14865
148662007-09-29 Richard Stallman <rms@gnu.org>
14867
14868 * eval.c (internal_condition_case_2, internal_condition_case_1)
14869 (internal_condition_case): Reenable abort if x_catching_errors ()
14870 to see if that really happens and why.
14871
148722007-10-06 Andreas Schwab <schwab@suse.de>
14873
14874 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14875
148762007-10-04 Juanma Barranquero <lekktu@gmail.com>
14877
14878 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14879
148802007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14881
14882 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14883
148842007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14885
14886 * window.h (struct window):
14887 * window.c (struct save_window_data, struct saved_window):
14888 * termhooks.h (struct terminal):
14889 * process.h (struct Lisp_Process):
14890 * frame.h (struct frame):
14891 * buffer.h (struct buffer):
14892 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14893 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14894 The size field of (pseudo)vectors is now unsigned.
14895 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14896
14897 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14898 Turn `count' into an integer.
14899
14900 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14901 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14902 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14903 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14904 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14905
14906 * alloc.c (allocate_pseudovector): New fun.
14907 (ALLOCATE_PSEUDOVECTOR): New macro.
14908 (allocate_window, allocate_terminal, allocate_frame)
14909 (allocate_process): Use it.
14910 (mark_vectorlike): New function.
14911 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14912 (mark_terminals): Use it.
14913 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14914 (Fmake_byte_code): Use XSETPVECTYPE.
14915
14916 * frame.c (Fframe_parameters): Minor simplification.
14917
14918 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14919
14920 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14921
14922 * buffer.c (Fget_buffer_create, init_buffer_once):
14923 * lread.c (defsubr):
14924 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14925
14926 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14927 defined differently in the m/*.h files.
14928 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14929 (XSETPVECTYPE): New macro.
14930 (XSETPSEUDOVECTOR): Use it.
14931
14932 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14933 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14934
14935 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14936 * lread.c (defvar_per_buffer):
14937 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14938
14939 * window.c (candidate_window_p): Only consider as visible frames that
14940 are on the same terminal.
14941
14942 * m/ibms390x.h (MARKBIT): Remove unused macro.
14943
149442007-10-01 Juanma Barranquero <lekktu@gmail.com>
14945
14946 * lread.c (Fload): Fix typo in docstring.
14947
149482007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14949
14950 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14951 of a non-zero value can't yield zero.
14952
149532007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14954
14955 * term.c (term_clear_mouse_face, term_mouse_highlight)
14956 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14957
14958 * print.c (safe_debug_print): Use XHASH.
14959
14960 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14961 Lisp elements such as tags.
14962 (XHASH): New macro.
14963 (EQ): Use it.
14964 (SREF, SSET, STRING_COPYIN): Use SDATA.
14965 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14966
14967 * alloc.c (mark_terminal): Remove left-over declaration.
14968 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14969 (allocate_vectorlike): Remove type argument. Adjust callers.
14970 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14971 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14972
14973 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14974 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14975 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14976 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14977 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14978 Use them.
14979
14980 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14981 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14982 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14983
149842007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14985
14986 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14987 loaded by default.
14988
149892007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14990
14991 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14992 on this tty.
14993 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14994
14995 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14996 Update all users.
14997 (handle_one_term_event): Use Gpm_DrawPointer.
14998 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14999 Signal errors instead of returning nil. Always return nil.
15000 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15001 Make it a noop if gpm-mouse was not activated.
15002 (syms_of_term): Update names.
15003
150042007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15005
15006 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15007 (init_sys_modes): Check that gpm_tty is the current tty.
15008
15009 * alloc.c (allocate_terminal): Set the vector size to only count the
15010 lisp fields. Initialize those to nil.
15011 (mark_object): Don't treat terminals specially.
15012 (mark_terminal): Remove.
15013 (mark_terminals): Use mark_object instead.
15014
15015 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15016 the GC to the beginning.
15017
15018 * indent.h:
15019 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15020
15021 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15022
150232007-09-25 Jason Rumney <jasonr@gnu.org>
15024
15025 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15026
15027 * w32console.c (create_w32cons_output): Remove.
15028
15029 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15030
15031 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15032 (reset_sys_modes): Use reset_terminal_modes_hook.
15033
150342007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15035
15036 * eval.c (do_autoload): Don't output any message.
15037
150382007-09-24 Juri Linkov <juri@jurta.org>
15039
15040 * emacs.c (standard_args): Change priority of "--no-splash"
15041 from 40 to 3. Add "--no-desktop" with the same priority.
15042
150432007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15044
15045 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15046 and optimize the case where they are all 1.
15047
150482007-09-23 Johannes Weiner <hannes@saeurebad.de>
15049
15050 * lisp.h (abs): Define if not defined.
15051 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15052 Don't define `abs', since it's defined in lisp.h.
15053
150542007-09-22 Eli Zaretskii <eliz@gnu.org>
15055
15056 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15057 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15058 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15059 (init_tty): Use DEV_TTY instead of "/dev/tty".
15060 [WINDOWSNT]: No need to protect from NAME arg being null.
15061
150622007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15063
15064 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15065 up the tty state.
15066
150672007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15068
15069 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15070 (gpm_tty): Change its type.
15071 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15072 (gpm_tty): Change its type and initialize it.
15073 (Fterm_open_connection): Check the frame is indeed a tty.
15074 Use the new gpm_tty.
15075 (Fterm_close_connection): Use the new gpm_tty.
15076 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15077 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15078
150792007-09-21 Juanma Barranquero <lekktu@gmail.com>
15080
15081 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15082 underline_color, to draw strike-through.
15083
150842007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15085
15086 * lisp.h (allocate_terminal): Declare.
15087
15088 * window.c (candidate_window_p): Consider frames that are being placed
15089 by the user as somewhere between visible and iconified.
15090 (window_loop): Prefer windows on the current frame.
15091 (Fselect_window): Move the use of select-frame to the beginning so we
15092 can just delegate all the work (it'll call us back anyway).
15093
15094 * frame.c (Qdisplay_environment_variable):
15095 * frame.h (Qdisplay_environment_variable): Delete.
15096
15097 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15098 of the first arg, since that value may be a union.
15099
15100 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15101 parameter rather than Qdisplay_environment_variable. If all else
15102 fails, look for DISPLAY in initial-environment.
15103
151042007-09-21 Glenn Morris <rgm@gnu.org>
15105
15106 * Makefile.in (emacstool): Remove target.
15107 (lisp, shortlisp): Remove termdev.elc.
15108
151092007-09-21 Markus Triska <markus.triska@gmx.at>
15110
15111 * xterm.c (x_delete_display): Compile session management conditionally.
15112
151132007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15114
15115 * callproc.c (getenv_internal_1): New function.
15116 (getenv_internal): Use it.
15117 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15118
15119 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15120 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15121 (Fset_terminal_parameter): Work with dead terminals as well.
15122 (Fmodify_terminal_parameters): Remove.
15123
15124 * terminal.c (get_terminal): Handle terminals.
15125 Make sure the terminal returned is live.
15126 (create_terminal): Use allocate_terminal.
15127 (mark_terminals): Move to alloc.c.
15128 (delete_terminal): Use terminal->name as liveness status.
15129 NULL out fields after freeing their contents.
15130 Don't deallocate the object.
15131 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15132 rather than an int.
15133 (Fterminal_live_p): Accept non-integer arguments.
15134 (Fterminal_list): Return terminal objects rather than an ints.
15135
15136 * alloc.c (enum mem_type): New member for `terminal' objects.
15137 (allocate_terminal): New function.
15138 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15139 Handle terminals.
15140 (mark_terminal): New fun.
15141 (mark_terminals): Move from terminal.c.
15142
15143 * term.c (get_tty_terminal): Don't treat output_initial specially.
15144 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15145 (delete_tty): Use terminal->name as liveness status.
15146
15147 * termhooks.h (struct terminal): Make it into a pseudovector.
15148 Remove `deleted' replaced by checking `name's nullness.
15149
15150 * print.c (print_object): Handle terminals.
15151
15152 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15153 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15154
15155 * frame.c (make_terminal_frame):
15156 * keyboard.c (tty_read_avail_input):
15157 * w32term.c (x_delete_terminal):
15158 * xfns.c (Fx_create_frame, x_create_tip_frame):
15159 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15160
151612007-09-20 Glenn Morris <rgm@gnu.org>
15162
15163 * process.c (Fmake_network_process): Doc fix.
15164
151652007-09-19 Jason Rumney <jasonr@gnu.org>
15166
15167 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15168
151692007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15170
15171 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15172 Fix a C warning regarding variable constness.
15173
15174 * xterm.c (handle_one_xevent): Fix a C warning.
15175
151762007-09-18 Jason Rumney <jasonr@gnu.org>
15177
15178 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15179
151802007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15181
15182 * gtkutil.c (gdpy_def): New variable.
15183 (xg_initialize): Initialize gdpy_def.
15184 (xg_display_close): If no other display exists, set gdpy_def to a
15185 new connection.
15186
151872007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15188
15189 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15190 when we have no file name for the icon.
15191 (xg_tool_bar_expose_callback): Remove.
15192 (xg_create_tool_bar): Don't connect expose signal to
15193 xg_tool_bar_expose_callback.
15194 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15195
151962007-09-16 Andreas Schwab <schwab@suse.de>
15197
15198 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15199 values instead of zapping them.
15200
152012007-09-14 Glenn Morris <rgm@gnu.org>
15202
15203 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15204 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15205 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15206 scope and rename to omfib_buffer for clarity.
15207 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15208
152092007-09-14 Kenichi Handa <handa@m17n.org>
15210
15211 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15212
152132007-09-13 Jason Rumney <jasonr@gnu.org>
15214
15215 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15216
15217 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15218
15219 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15220 (mac_term_init): Call here instead, passing rif.
15221
152222007-09-13 Glenn Morris <rgm@gnu.org>
15223
15224 * s/hpux.h: No longer define `static' as nothing.
15225
152262007-09-13 Johan Bockgård <bojohan@gnu.org>
15227
15228 * callint.c (Fcall_interactively): Remove unused var `fun'.
15229
152302007-09-12 Romain Francoise <romain@orebokech.com>
15231
15232 * window.c (prefer_window_split_horizontally, display_buffer):
15233 Revert 2007-09-08 change.
15234
152352007-09-12 Glenn Morris <rgm@gnu.org>
15236
15237 * alloca.c: Remove file.
15238 * Makefile.in (alloca): Do not undef.
15239 (allocaobj, alloca.o): Remove.
15240 (otherobj): Remove allocaobj.
15241 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15242 * regex.c (C_ALLOCA): Remove all references and code that was only
15243 used when this was defined.
15244 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15245 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15246 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15247
15248 * Makefile.in (SOURCES, unlock, relock): Delete.
15249
15250 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15251 (menu_grab_callback): All uses changed.
15252
15253 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15254 (x_reply_selection_request): All uses changed.
15255
152562007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15257
15258 * lread.c (load_warn_old_style_backquotes): Change message to look
15259 better when it appears in the middle of byte-compiler messages.
15260
152612007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15262
15263 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15264
15265 * xterm.c (x_create_terminal): Add comment.
15266
15267 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15268
152692007-09-10 Richard Stallman <rms@gnu.org>
15270
15271 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15272
152732007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15274
15275 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15276 (DEFUN): Document `intspec', use it instead of `prompt'.
15277
15278 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15279
15280 * data.c (Finteractive_form): If the interactive specification starts
15281 with a `(', use it as a Lisp form.
15282
15283 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15284 name and file modes.
15285
15286 * callint.c (Fcall_interactively): Comment fixes.
15287
152882007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15289
15290 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15291 and compiled functions.
15292
152932007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15294
15295 * window.c (prefer_window_split_horizontally): New variable.
15296 (display_buffer): Consider splitting window horizontally depending
15297 on prefer_window_split_horizontally.
15298
152992007-09-08 Eli Zaretskii <eliz@gnu.org>
15300
15301 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15302
153032007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15304
15305 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15306
15307 * frame.c (x_set_frame_parameters): Check number is positive before
15308 using XFASTINT.
15309
15310 * window.c (freeze_window_start): Don't presume selected_window holds
15311 a window object.
15312 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15313
153142007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15315
15316 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15317
153182007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15319
15320 * window.c (Vsplit_window_preferred_function): New var.
15321 (Fdisplay_buffer): Use it.
15322 (syms_of_window): Export, and initialize it.
15323
153242007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15325
15326 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15327
153282007-09-06 Glenn Morris <rgm@gnu.org>
15329
15330 * gtkutil.c (menu_grab_callback) <cnt>:
15331 * xselect.c (x_reply_selection_request) <cnt>: Move static
15332 variable to file scope.
15333
153342007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15335
15336 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15337 consistent values of selected_frame and selected_window.
15338
153392007-09-04 Jason Rumney <jasonr@gnu.org>
15340
15341 * w32console.c (initialize_w32_display): Zero unused hooks.
15342
153432007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15344
15345 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15346 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15347
153482007-09-04 Jason Rumney <jasonr@gnu.org>
15349
15350 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15351 in w32console.c. Set up input. Remove XXX comments that have been
15352 confirmed as correct.
15353
15354 * s/ms-w32.h (MULTI_KBOARD): Define.
15355
15356 * w32console.c (one_and_only_w32cons): Remove.
15357 (initialize_w32_display): Take terminal argument.
15358
15359 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15360 initialize_w32_display.
15361 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15362
15363 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15364
15365 * keyboard.c (discard_mouse_events): Discard it.
15366 (make_lispy_event): Translate it to a lisp event.
15367 (lispy_wheel_names): Add wheel-left and right events.
15368 (syms_of_keyboard): Enlarge wheel_syms.
15369
15370 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15371 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15372
15373 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15374
15375 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15376 from WM_MOUSEHWHEEL.
15377 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15378
15379 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15380 terminal.
15381
15382 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15383 keyboard for the terminal.
15384
153852007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15386
15387 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15388 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15389 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15390 and resume-tty-function to resume-tty-hook.
15391 (Fsuspend_tty, Fresume_tty): Use new names.
15392
153932007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15394
15395 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15396 if it starts with "n:".
15397
153982007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15399
15400 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15401
154022007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15403
15404 * frame.h:
15405 * frame.c (Qterm_environment_variable): Remove.
15406 (syms_of_frame): Don't init and staticpro it.
15407
15408 * callproc.c (getenv_internal): Remove special case for $TERM.
15409
15410 * callproc.c (Vinitial_environment): New variable.
15411 (set_initial_environment): Initialize it.
15412 (syms_of_callproc): Declare it.
15413 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15414 TERM under which a process runs is never related to the TERM in which
15415 Emacs is running.
15416
154172007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15418
15419 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15420 * s/darwin.h: ... do it here.
15421
154222007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15423
15424 * lisp.h (set_initial_environment): Rename from set_global_environment.
15425
15426 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15427 removed by mistake on the multi-tty branch.
15428
15429 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15430 (Fmodify_frame_parameters): Return a value.
15431
15432 * image.c (png_load): Comment-out var only used in commented-out code.
15433
15434 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15435 before passing it to mark_object.
15436
15437 * xfaces.c (internal_resolve_face_name): Return a value.
15438 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15439
15440 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15441 (x_icon): Comment-out var only used in commented-out code.
15442
154432007-08-29 Romain Francoise <romain@orebokech.com>
15444
15445 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15446 QUIT hasn't been provided.
15447
154482007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15449
15450 * callproc.c (child_setup, getenv_internal): Use the
15451 display-environment-variable and term-environment-variable frame params.
15452 (set_initial_environment): Initialise Vprocess_environment.
15453
15454 * config.in: Disable multi-keyboard support on a mac.
15455
15456 * frame.c (Qterm_environment_variable)
15457 (Qdisplay_environment_variable): New variables.
15458 (syms_of_frame): Intern and staticpro them.
15459 (Fmake_terminal_frame): Disable output method test.
15460
15461 * frame.h: Declare them here.
15462
15463 * macfns.c (x_set_mouse_color): Get rif from the frame.
15464 (x_set_tool_bar_lines): Don't use updating_frame.
15465 (mac_window): Add 2 new parameters for consistency with other systems.
15466 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15467 frame parameters following what is done in X11 and w32. Don't use
15468 FRAME_MAC_DISPLAY_INFO.
15469 (Fx_open_connection, start_hourglass): Remove window-system check.
15470 (x_create_tip_frame): Get the keyboard from the terminal.
15471
15472 * macmenu.c: Reorder includes.
15473 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15474
15475 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15476 terminal parameter.
15477 (x_clear_frame): Add a frame parameter.
15478 (note_mouse_movement): Get rif from the frame.
15479 (mac_term_init): Initialize the terminal.
15480 (mac_initialize): Make static and move terminal initialization ...
15481 (mac_create_terminal): ... to this new function.
15482
15483 * macterm.h (struct mac_display_info): Add terminal.
15484 (mac_initialize): Delete declaration.
15485
15486 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15487
15488 * sysdep.c: Comment out text after #endif.
15489
15490 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15491 is defined. Better initialize ttys in windows. Use terminal
15492 specific mouse_position_hook.
15493
15494 * termhooks.h (union display_info): Add mac_display_info.
15495
15496 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15497 Set the default minibuffer frame, window_system and the rest of the
15498 frame parameters following what is done in X11.
15499
15500 * w32term.c (w32_initialize): Make static.
15501
15502 * xselect.c (x_handle_selection_clear): Only access
15503 terminal->kboard when MULTI_KBOARD is defined.
15504
15505 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15506 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15507
155082007-08-29 Jason Rumney <jasonr@gnu.org>
15509
15510 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15511 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15512
15513 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15514 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15515
15516 * keyboard.c (restore_kboard_configuration): Only define when
15517 MULTI_KBOARD defined.
15518
15519 * makefile.w32-in: Update dependancies from Makefile.in.
15520 (OBJ1): Add terminal.$(O)
15521
15522 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15523 Don't define function body.
15524 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15525
15526 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15527
15528 * w32.c (request_sigio, unrequest_sigio): Remove.
15529
15530 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15531 (w32con_clear_frame, w32con_clear_end_of_line)
15532 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15533 (w32con_delete_glyphs, w32con_set_terminal_window)
15534 (scroll_line, w32_sys_ring_bell): Add frame arg.
15535 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15536 Add terminal arg.
15537 (PICK_FRAME): Remove.
15538 (w32con_write_glyphs): Use frame specific terminal coding.
15539 (one_and_only_w32cons): New global variable.
15540 (initialize_w32_display): Use it for storing hooks.
15541 (create_w32cons_output): New function.
15542
15543 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15544 arg a frame.
15545
15546 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15547 Set window_system.
15548 (x_set_tool_bar_lines): Don't use updating_frame.
15549 (Fx_create_frame): Set terminal and ref count.
15550 (Fx_open_connection): Remove window-system check.
15551
15552 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15553
15554 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15555 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15556 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15557 Add frame arg.
15558 (x_delete_terminal, w32_create_terminal): New functions.
15559 (w32_term_init): Create a terminal.
15560 (w32_initialize): Move terminal specific initialization to
15561 w32_create_terminal.
15562
15563 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15564 (w32_clear_rect, w32_clear_area): Use background from frame.
15565 (w32_display_info): Add terminal.
15566 (w32_sys_ring_bell, x_delete_display): Declare here.
15567
15568 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15569
15570 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15571
155722007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15573
15574 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15575 Fix get_named_tty calls for the controlling tty.
15576
155772007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15578
15579 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15580
155812007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15582
15583 * term.c (tty_insert_glyphs): Add missing first parameter.
15584
155852007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15586
15587 * buffer.c (Fbuffer_list, Fbury_buffer):
15588 Take frame->buried_buffer_list into account.
15589
15590 * cm.c (current_tty): New variable, for cmputc().
15591 (cmputc): Use it.
15592 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15593 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15594 (cmgoto): Add tty parameter. Pass it on to calccost().
15595 Use emacs_tputs() instead of tputs().
15596
15597 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15598 tputs().
15599 (current_tty): New variable, for cmputc().
15600 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15601
15602 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15603 (internal_condition_case, internal_condition_case_1)
15604 (internal_condition_case_2): Don't abort when x_catching_errors.
15605
15606 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15607 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15608 prevent crashes caused by bogus longjmps in read_char.
15609
15610 * keymap.h (Fset_keymap_parent): Add EXFUN.
15611
15612 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15613 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15614 Remove redundant definition.
15615
15616 * macfns.c (x_set_mouse_color, x_make_gc):
15617 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15618
15619 * w32term.c (x_free_frame_resources):
15620 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15621 (w32_initialize): Use the accessor macros for terminal characteristics.
15622
15623 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15624 Use the accessor macros for terminal characteristics.
15625 * msdos.c (internal_terminal_init): Use the accessor macros for
15626 terminal characteristics.
15627 (ScreenVisualBell, internal_terminal_init):
15628 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15629
15630 * termopts.h (no_redraw_on_reenter): Declare.
15631
15632 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15633 (mark_terminals, mark_ttys): Declare.
15634 (Fgarbage_collect): Call them.
15635 (mark_object): Mark buried_buffer_list.
15636
15637 * prefix-args.c: Include stdlib.h for exit.
15638
15639 * syssignal.h: Add comment.
15640
15641 * indent.c: Include stdio.h.
15642
15643 * window.h (Vinitial_window_system): Declare.
15644 (Vwindow_system): Delete declaration.
15645
15646 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15647
15648 * image.c (lookup_image): Don't initialize `c' until the xasserts
15649 have been run.
15650
15651 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15652 FRAME_FOREGROUND_PIXEL.
15653
15654 * print.c (print_preprocess): Don't lose print_depth levels while
15655 iterating.
15656
15657 * widget.c (update_from_various_frame_slots):
15658 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15659
15660 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15661 frames.
15662 (window_internal_height): Remove bogus make_number call.
15663 (init_window_once): Call make_terminal_frame with two zero parameters.
15664
15665 * fileio.c (Fread_file_name): Update comment.
15666
15667 * callint.c (Fcall_interactively):
15668 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15669 Make sure it is correctly unwound.
15670
15671 * xsmfns.c (x_session_close): New function.
15672
15673 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15674 Delete declarations.
15675
15676 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15677 (x_output): Remove background_pixel and foreground_pixel fields.
15678 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15679 (x_delete_device, x_session_close): Declare.
15680
15681 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15682 (read_filtered_event): Call `read_char' with a local
15683 `wrong_kboard_jmpbuf'.
15684
15685 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15686 Don't call single_kboard_state. Use FRAME_RIF.
15687
15688 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15689 systems.
15690
15691 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15692 (Fframe_with_environment, Fset_input_meta_mode)
15693 (Fset_quit_char): EXFUN.
15694 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15695 (init_sys_modes, reset_sys_modes): Update prototypes.
15696 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15697
15698 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15699 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15700 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15701 Delete declarations.
15702 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15703 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15704 New declarations.
15705
15706 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15707 already does that during init_display(). Call syms_of_keymap
15708 before syms_of_keyboard. Call `syms_of_terminal'.
15709 Call set_initial_environment, not set_process_environment.
15710 (shut_down_emacs): Call reset_all_sys_modes() instead of
15711 reset_sys_modes().
15712
15713 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15714 (internal_resolve_face_name, resolve_face_name_error): New functions.
15715 (resolve_face_name): Protect against loops and errors thrown by Fget.
15716 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15717 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15718
15719 * scroll.c: Replace CURTTY() with local variables throughout the
15720 file (where applicable).
15721 (calculate_scrolling, calculate_direct_scrolling)
15722 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15723 characteristics.
15724
15725 * keymap.c (Vfunction_key_map): Remove.
15726 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15727 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15728 (Vkey_translation_map): Remove.
15729 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15730 (Fdescribe_buffer_bindings)
15731 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15732 Update for terminal-local key-translation-map.
15733
15734 * Makefile.in (callproc.o): Update dependencies.
15735 (lisp, shortlisp): Add termdev.elc.
15736 (obj): Add terminal.o.
15737 (terminal.o): Add dependencies.
15738 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15739 (data.o, fns.o): Add termhooks.h dependency.
15740 (SOME_MACHINE_LISP): Add dnd.elc.
15741 (minibuf.o): Fix typo.
15742 Update dependencies.
15743
15744 * data.c (do_symval_forwarding, store_symval_forwarding)
15745 (find_symbol_value): Use the selected frame's keyboard, not
15746 current_kboard.
15747
15748 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15749 Vwindow_system.
15750
15751 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15752 Fmenu_bar_open.
15753 (syms_of_xmenu): Update defsubr.
15754 (mouse_position_for_popup, Fx_popup_menu)
15755 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15756 (set_frame_menubar, free_frame_menubar)
b97439ce 15757 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15758 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15759 an X frame.
15760
15761 * xselect.c (x_own_selection): Abort if not an X frame.
15762 (some_frame_on_display): Check if it is an X frame.
15763 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15764
15765 * coding.c: Include frame.h and termhooks.h.
15766 (terminal_coding, keyboard_coding): Delete.
15767 (Fset_terminal_coding_system_internal)
15768 (Fset_keyboard_coding_system_internal)
15769 (Fkeyboard_coding_system)
15770 (Fterminal_coding_system): Add a terminal parameter.
15771 Get terminal_coding from the terminal.
15772 (init_coding_once): Don't call setup_coding_system here.
15773
15774 * dispextern.h (set_scroll_region, turn_off_insert)
15775 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15776 (tty_clear_end_of_line, tty_setup_colors)
15777 (delete_tty, updating_frame)
15778 (produce_special_glyphs, produce_glyphs, write_glyphs)
15779 (insert_glyphs): Remove.
15780 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15781 (tty_turn_off_highlight, get_tty_size): Add declaration.
15782 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15783
15784 * frame.h (enum output_method): Add output_initial.
15785 (struct x_output): Delete.
15786 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15787 Access foreground_pixel and background_pixel directly from the frame.
15788 (tty_display): Delete.
15789 (struct frame): Add buried_buffer_list, foreground_pixel,
15790 background_pixel and terminal. Delete kboard.
15791 (union output_data): Add tty.
15792 (FRAME_KBOARD): Get the kboard from the terminal.
15793 (FRAME_INITIAL_P): New macro.
15794 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15795 (Qterm_environment_variable, Qdisplay_environment_variable)
15796 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15797 New declarations.
15798
15799 * termchar.h (tty_output, tty_display_info): New structures.
15800 (tty_list): Declare.
15801 (FRAME_TTY, CURTTY): New macros.
15802 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15803 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15804 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15805 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15806
15807 * callproc.c: Include frame.h and termhooks.h, for terminal
15808 parameters.
15809 (add_env): New function.
15810 (child_setup): Use it.
15811 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15812 (getenv_internal): Fix get_terminal_param call.
15813 (Fgetenv_internal, egetenv): Update doc.
15814 (syms_of_callproc): Initialize Vprocess_environment to nil.
15815 Register and initialize them. Remove obsolete defvars. Update doc
15816 strings.
15817 (child_setup): Handle Vlocal_environment_variables.
15818 (getenv_internal): Add terminal parameter.
15819 Handle Vlocal_environment_variables.
15820 (Fgetenv_internal): Add terminal parameter.
15821 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15822 environment in a frame (not terminal) parameter. Update doc strings.
15823 (set_initial_environment): Rename from set_global_environment.
15824 Store Emacs environment in initial frame parameter.
15825
15826 * xdisp.c (redisplay_internal): Update references to
15827 `previous_terminal_frame'.
15828 (display_mode_line, Fformat_mode_line): Replace calls to
15829 `push_frame_kboard' with `push_kboard'.
15830 (get_glyph_string_clip_rects): Add extra parentheses and
15831 braces to prevent compiler warnings.
15832 (calc_pixel_width_or_height): Add xassert to check that the
15833 frame is alive. Don't call `lookup_image' on a termcap frame.
15834 (message2_nolog, message3_nolog, redisplay_internal)
15835 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15836 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15837 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15838 (Fx_display_pixel_width, Fx_display_pixel_height)
15839 (Fx_display_planes, Fx_display_color_cells)
15840 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15841 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15842 (Fx_display_backing_store, Fx_display_visual_class)
15843 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15844 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15845
15846 * xfns.c (x_set_foreground_color x_set_background_color)
15847 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15848 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15849 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15850 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15851 terminal that is being deleted.
15852 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15853 frame parameter, and make sure it overrides any user-supplied setting.
15854 (Fx_close_connection, Fx_synchronize): Unify argument names with
15855 the rest of the DEFUNs.
15856
15857 * dispnew.c (Fsend_string_to_terminal): Update call to
15858 `get_tty_terminal'.
15859 (Fredraw_frame, Fsend_string_to_terminal)
15860 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15861 FRAME_TERMCAP_P and FRAME_TTY.
15862 (window_change_signal): Don't believe width/height values that are
15863 impossibly small.
15864 (Vinitial_window_system): Rename from Vwindow_system.
15865 (termscript, Wcm, rif): Delete.
15866
15867 * termhooks.h (struct terminal): New struct containing the
15868 previously global text display hooks and new members NAME,
15869 DELETED and PARAM_ALIST.
15870 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15871 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15872 (FRAME_RIF): New macros.
15873 (get_terminal_param, get_device): New declarations.
15874 (termscript): Delete declaration.
15875
15876 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15877 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15878 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15879 FRAME_FOREGROUND_PIXEL.
15880 (x_fully_uncatch_errors): Disable definition.
15881 (x_scroll_bar_expose): Fix reference to foreground pixel.
15882 (XTread_socket): Disable loop on all X displays.
15883 (x_delete_terminal): Don't set terminal->deleted and let
15884 delete_terminal delete the frames on the terminal.
15885 (x_delete_display): Doc update to reflect changes in
15886 delete_terminal.
15887 (x_display_info) <terminal>: Move member earlier in the struct.
15888 (deleting_tty): Remove old variable.
15889 (Fsuspend_tty): Call clear_tty_hooks.
15890 (Fresume_tty, init_tty): Call set_tty_hooks.
15891 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15892 errors on X frames.
15893 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15894 (handle_one_xevent): Initialize `f' to NULL.
15895 (x_delete_terminal, x_create_terminal): New functions.
15896 (XTset_terminal_modes, XTreset_terminal_modes)
15897 (XTread_socket, x_connection_closed, x_term_init)
15898 (x_term_init, x_delete_display): Add terminal parameter.
15899 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15900 X connections.
15901
15902 * frame.c: Include termchar.h.
15903 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15904 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15905 (Qdisplay_environment_variable): New vars.
15906 (Fframep): Deal with output_initial.
15907 (Fframe-live-p): Doc fix.
15908 (Fwindow-system): New function.
15909 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15910 (make_terminal_frame): Don't create frames on a terminal that is
15911 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15912 (store_frame_param): Check for found_for_frame before calling XFRAME.
15913 (Fmake_terminal_frame): Handle NULL tty names correctly.
15914 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15915 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15916 frames to refer to a deleted frame in their 'environment parameter.
15917 (Fframe_with_environment): New function.
15918 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15919 (get_future_frame_param): New function.
15920 (Fmake_terminal_frame): Use it.
15921 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15922
15923 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15924 * sysdep.c (reset_sys_modes): Update for renames.
15925
15926 * keyboard.c (tty_read_avail_input): New function.
15927 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15928 (syms_of_keyboard): Defsubr them.
15929 (Fset_input_meta_mode, Fset_quit_char): New functions.
15930 (Fset_input_mode): Split to above functions.
15931 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15932 parameter. Use it in call to `read_char'.
15933 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15934 Set wrong_kboard_jmpbuf correctly in recursive calls.
15935 Use current_kboard to access Vkeyboard_translate_table.
15936 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15937 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15938 Update longjmp invocations. Remember the original current_kboard,
15939 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15940 changes it. Comment out unnecessary calls to
15941 `record_single_kboard_state' and `any_kboard_state'.
15942 Update recursive calls.
15943 (wrong_kboard_jmpbuf): Remove global variable.
15944 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15945 Handle deleted interrupted_kboards correctly; that is a legal
15946 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15947 and read_char calls. Abort if interrupted_kboard died in read_char.
15948 (any_kboard_state, single_kboard_state)
15949 (push_frame_kboard): Remove function.
15950 (pop_kboard): Switch out of single_kboard mode if the kboard has
15951 been deleted. Remove unused variable. Help debugging by not
15952 changing current_kboard unnecessarily. Set current_kboard to the
15953 kboard of the selected frame when the stored kboard object has
15954 been deleted before pop_kboard.
15955 (temporarily_switch_to_single_kboard): Change first parameter to a
15956 frame pointer. Throw an error when caller wants to change kboards
15957 while in single_kboard mode. Don't push_kboard if we weren't in
15958 single kboard state. Don't pop_kboard if we popped into any
15959 kboard state.
15960 (restore_kboard_configuration): Abort if pop_kboard changed the
15961 kboard in single_kboard mode. Call pop_kboard only after setting
15962 up single_kboard mode.
15963 (Frecursive_edit): Switch to single_kboard mode only in nested
15964 command loops.
15965 (cmd_error, command_loop, command_loop_1, timer_check):
15966 Comment out unnecessary call to `any_kboard_state' and
15967 `record_single_kboard_state'.
15968 (delete_kboard): Exit single_kboard mode if we have just deleted
15969 that kboard. Use FRAME_KBOARD.
15970 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15971 `fatal_error_signal'.
15972 (record_single_kboard_state): Don't push_kboard if we weren't in
15973 single kboard state. Don't pop_kboard if we popped into any
15974 kboard state.
15975 (push_frame_kboard): Rename to push_kboard.
15976 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15977 (read_avail_input): Read input from all terminals.
15978 (mark_kboards): Also mark Vkeyboard_translate_table.
15979 (kbd_buffer_store_event_hold): Simplify condition.
15980 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15981 (Vkeyboard_translate_table): Move to struct kboard.
15982 (init_kboard): Initialize Vkeyboard_translate_table.
15983 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15984 Vkeyboard_translate_table. Update doc strings. Update docs of
15985 local-function-key-map and function-key-map.
15986
15987 * terminal.c: New file.
15988
15989 * term.c: Include errno.h.
15990 (Vring_bell_function, device_list, initial_device)
15991 (next_device_id, ring_bell, update_begin, update_end)
15992 (set_terminal_window, cursor_to, raw_cursor_to)
15993 (clear_to_end, clear_frame, clear_end_of_line)
15994 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15995 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15996 (syms_of_term): Move their initialization to terminal.c.
15997 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15998 (Ftty_display_color_cells)
15999 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16000 (clear_tty_hooks, set_tty_hooks)
16001 (init_tty, maybe_fatal): New functions.
16002 (Ftty_type): Return nil if terminal is not on a tty instead of
16003 throwing an error. Doc update.
16004 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16005 Doc update. Initialize new subrs and variables.
16006 (delete_tty): Use terminal->deleted.
16007 (tty_set_terminal_modes): Rename from set_terminal_modes.
16008 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16009 (set_scroll_region): Rename to `tty_set_scroll_region'.
16010 (turn_on_insert): Rename to `tty_turn_on_insert'.
16011 (turn_off_insert): Rename to `tty_turn_off_insert'.
16012 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16013 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16014 (toggle_highligh): Rename to `tty_toggle_highlight'.
16015 (background_highlight): Rename to `tty_background_highlight'.
16016 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16017 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16018 (tty_set_scroll_region, tty_background_highlight)
16019 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16020 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16021 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16022 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16023 Add static modifier.
16024 (tty_reset_terminal_modes, tty_set_terminal_window)
16025 (tty_set_scroll_region, tty_background_highlight)
16026 (tty_highlight_if_desired, tty_cursor_to)
16027 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16028 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16029 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16030 renames.
16031
160322007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16033
16034 * keyboard.c: Qrtl is new.
16035 (parse_tool_bar_item): Handle :rtl keyword.
16036 (syms_of_keyboard): Intern :rtl keyword.
16037
16038 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16039
16040 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16041 so no Lisp code is executed.
16042 (file_for_image, find_rtl_image): New functions.
16043 (xg_get_image_for_pixmap): Use file_for_image.
16044 (update_frame_tool_bar): If direction is RTL, use RTL image if
16045 defined. Use Gtk stock images if defined.
16046
160472007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16048
16049 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16050 for nonexistent or zero-width glyph in composition glyph.
16051
160522007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16053
16054 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16055
16056 * xdisp.c (Finvisible_p): New function.
16057 (syms_of_xdisp): defsubr it.
16058
160592007-08-24 Juanma Barranquero <lekktu@gmail.com>
16060
16061 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16062 Doc fixes.
16063
160642007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16065
16066 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16067
160682007-08-24 Martin Rudalics <rudalics@gmx.at>
16069
16070 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16071 whether decoding has modified buffer contents.
16072
160732007-08-24 Jason Rumney <jasonr@gnu.org>
16074
16075 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16076 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16077 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16078 (init_svg_functions) [HAVE_NTGUI]: New function.
16079 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16080 (svg_load_image): Use them.
16081 (svg_load_image) [HAVE_NTGUI]: Implement background.
16082
160832007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16084
16085 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16086 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16087 (LIBX): Remove @RSVG_LIBS@.
16088 (LIBES): Add $(RSVG_LIBS).
16089
16090 * image.c (svg_load_image): Blend with specified background if exists.
16091 Use IMAGE_BACKGROUND. Add Mac OS Support.
16092
16093 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16094 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16095 Remove macros.
16096 [MAC_OSX] (socket_callback): Do nothing.
16097 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16098 ReceiveNextEvent.
16099 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16100 socket_callback.
16101 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16102
161032007-08-22 Glenn Morris <rgm@gnu.org>
16104
16105 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16106
161072007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16108
16109 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16110
16111 * image.c: Add support for SVG images. Some additional comments
16112 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16113 (svg_image_p): New function to test for SVG image.
16114 (svg_load): New function to load SVG image.
16115 (svg_load_image): New function, helper for svg_load.
16116 (Qsvg): New Lisp_object.
16117 (svg_keyword_index): New enum.
16118 (svg_format): New static `image_keyword' struct.
16119 (svg_type): New static `image_type' struct.
16120 (librsvg/rsvg.h): Include it.
16121
161222007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16123
16124 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16125
161262007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16127
16128 * lread.c (Qold_style_backquotes): New var.
16129 (syms_of_lread): Init and staticpro it.
16130 (load_warn_old_style_backquotes): New fun.
16131 (Fload): Use them to warn about old style backquotes.
16132 (end_of_file_error, Fload): Remove unused vars.
16133
16134 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16135
16136 * lread.c (Vold_style_backquotes): New var.
16137 (syms_of_lread): Init and export it to Elisp.
16138 (read1): Set it when we find an old-style (back)quote.
16139
161402007-08-22 Jason Rumney <jasonr@gnu.org>
16141
16142 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16143
161442007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16145
16146 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16147
161482007-08-19 Richard Stallman <rms@gnu.org>
16149
16150 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16151
161522007-08-19 Andreas Schwab <schwab@suse.de>
16153
16154 * alloc.c (pure): Round PURESIZE up.
16155
161562007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16157
16158 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16159 active frame.
16160
161612007-08-16 Richard Stallman <rms@gnu.org>
16162
16163 * eval.c (Fcommandp): Add parens to clarify.
16164
16165 * minibuf.c (Fall_completions): Use enum for type of table.
16166
16167 * emacs.c (USAGE2): Improve text.
16168
161692007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16170
16171 * term.c (tty_default_color_capabilities): Declare static
16172 variables in file scope, to avoid HPUX compiler problem.
16173
161742007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16175
16176 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16177 to gtk_toolbar_insert.
16178
161792007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16180
16181 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16182
16183 * insdel.c (reset_var_on_error): New fun.
16184 (signal_before_change, signal_after_change):
16185 Use it to reset (after|before)-change-functions to nil in case of error.
16186 Bind inhibit-modification-hooks to t.
16187 Don't bind (after|before)-change-functions to nil while they run.
16188
161892007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16190
16191 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16192 filling pixmap with stippled background.
16193
161942007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16195
16196 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16197 Don't use invisible frame as parent window for repositioning.
16198
161992007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16200
16201 * print.c (new_backquote_output): Rename from old_backquote_output.
16202 (print): Inverse its logic (according to its name) so as to match the
16203 behavior of new_backquote_flag in lread.c.
16204
162052007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16206
16207 * gmalloc.c (posix_memalign): New function.
16208
16209 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16210 ActivateControl/DeactivateControl here.
16211 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16212 frame-notice-user-settings is non-nil.
16213 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16214 for kEventParamFMFontStyle.
16215 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16216 mac_pass_command_to_system and mac_pass_control_to_system here.
16217 (XTread_socket): Call ActivateControl/DeactivateControl here.
16218 (XTread_socket) [TARGET_API_MAC_CARBON]:
16219 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16220 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16221 for window repositioning.
16222
162232007-08-08 Glenn Morris <rgm@gnu.org>
16224
16225 * Replace `iff' in doc-strings and comments.
16226
162272007-08-07 Chong Yidong <cyd@stupidchicken.com>
16228
16229 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16230
162312007-08-07 Martin Rudalics <rudalics@gmx.at>
16232
16233 * fileio.c (Finsert_file_contents): Run format-decode and
16234 after_insert_file_functions on entire buffer when REPLACE is
16235 non-nil and inhibit modification_hooks and point_motion_hooks.
16236 For consistency, run after_insert_file_functions iff something
16237 got inserted. Move signal_after_change and update_compositions
16238 after code running after_insert_file_functions. Make sure that
16239 undo_list doesn't record intermediate steps of the decoding process.
16240
162412007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16242
16243 * emacs.c (main)
16244 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16245 Call malloc_enable_thread on interactive startup.
16246
16247 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16248 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16249 [USE_PTHREAD]: Conditionalize with it.
16250 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16251 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16252 New functions.
16253
162542007-08-06 Chong Yidong <cyd@stupidchicken.com>
16255
16256 * xdisp.c (redisplay_window): When restoring original buffer
16257 position, make sure it is still valid.
16258
16259 * image.c (png_load): Ignore png-supplied background color.
16260
162612007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16262
16263 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16264 Use kCFAbsoluteTimeIntervalSince1970.
16265
16266 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16267 New variable.
16268 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16269 event loop should be quit.
16270 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16271 Quit dialog event loop if quit_dialog_event_loop is set.
16272
16273 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16274 (Selection): New typedef. Use instead of ScrapRef.
16275 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16276 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16277 (mac_clear_selection): Rename from clear_scrap.
16278 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16279 scrap_has_target_type. All uses changed.
16280 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16281 (mac_selection_has_target_p): New functions.
16282 (mac_put_selection_value): Rename from put_scrap_string.
16283 (mac_get_selection_value): Rename from get_scrap_string.
16284 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16285 (put_scrap_private_timestamp, scrap_has_target_type)
16286 (get_scrap_private_timestamp): Remove functions.
16287 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16288 (x_own_selection, x_get_local_selection):
16289 Use mac_valid_selection_value_p.
16290 (x_own_selection): Don't use put_scrap_private_timestamp.
16291 Record OWNERSHIP-INFO into Vselection_alist instead.
16292 (x_get_local_selection): Don't check type if request is local.
16293 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16294 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16295
162962007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16297
16298 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16299 add comment explaining why.
16300
163012007-08-03 Richard Stallman <rms@gnu.org>
16302
16303 * fileio.c (Fvisited_file_modtime): Use make_time.
16304
163052007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16306
16307 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16308 build.
16309
163102007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16311
16312 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16313
163142007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16315
16316 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16317
163182007-07-30 Richard Stallman <rms@gnu.org>
16319
16320 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16321
163222007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16323
16324 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16325
163262007-07-28 Nick Roberts <nickrob@snap.net.nz>
16327
16328 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16329 remote default-directory.
16330
16331 * buffer.c (mode-line-format): Update doc string.
16332
163332007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16334
16335 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16336 scroll bar gap.
16337 (x_scroll_bar_create): Set bar->fringe_extended_p.
16338 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16339 on frame edge. Check fringe background extension. Don't clear
16340 extended fringe background area.
16341
16342 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16343 (w32_fill_area): Enclose multiple statements with do ... while (0).
16344
16345 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16346 Extend fringe background to scroll bar gap.
16347 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16348 Set bar->fringe_extended_p.
16349 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16350 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16351 background extension. Don't clear extended fringe background area.
16352
16353 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16354 New member fringe_extended_p.
16355
163562007-07-25 Glenn Morris <rgm@gnu.org>
16357
16358 * Relicense all FSF files to GPLv3 or later.
16359
16360 * COPYING: Switch to GPLv3.
16361
163622007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16363
16364 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16365
16366 * data.c (Finteractive_form): Check for the presence of an
16367 `interactive-form' symbol property more thoroughly.
16368
16369 * data.c (Finteractive_form): Use an `interactive-form' property if
16370 present, analogous to the function-documentation property.
16371
163722007-07-24 Jason Rumney <jasonr@gnu.org>
16373
16374 * w32fns.c (x_real_positions): Get real position from OS instead of
16375 calculating it.
16376
163772007-07-23 Jason Rumney <jasonr@gnu.org>
16378
16379 * filelock.c (current_lock_owner): Allow for @ sign in username.
16380
163812007-07-22 Nick Roberts <nickrob@snap.net.nz>
16382
16383 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16384 remote default-directory.
16385
16386 * buffer.c (mode-line-format): Describe above case in doc string.
16387
163882007-07-20 Eli Zaretskii <eliz@gnu.org>
16389
16390 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16391 Define if not defined.
16392
163932007-07-18 Jason Rumney <jasonr@gnu.org>
16394
16395 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16396
163972007-07-18 Richard Stallman <rms@gnu.org>
16398
16399 * data.c (Fsetq_default): Doc fix.
16400
16401 * eval.c (Fsetq): Doc fix.
16402
164032007-07-18 Juanma Barranquero <lekktu@gmail.com>
16404
16405 * coding.c (Ffind_operation_coding_system):
16406 * eval.c (For, Fand): Doc fixes.
16407 Reported by Johan Bockgård.
16408
164092007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16410
16411 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16412
16413 * xterm.h: Declare x_ewmh_activate_frame.
16414
16415 * xterm.c (x_ewmh_activate_frame): New function.
16416 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16417
164182007-07-17 Martin Rudalics <rudalics@gmx.at>
16419
16420 * window.c (Fdisplay_buffer): If largest or LRU window is the
16421 only window, split it even if it is not eligible for splitting.
16422 This restores the original behavior broken by the 2007-07-15
16423 change.
16424
164252007-07-17 Glenn Morris <rgm@gnu.org>
16426
16427 * abbrev.c (abbrev_check_chars): New function.
16428 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16429 Call abbrev_check_chars to check abbrev characters are word
16430 constituents. Doc fix.
16431
164322007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16433
16434 * process.c (Fstart_process, Fmake_network_process)
16435 (read_process_output): Fix up last changes.
16436
164372007-07-16 Eli Zaretskii <eliz@gnu.org>
16438
16439 * makefile.w32-in (clean): Don't delete *~.
16440
164412007-07-16 Andreas Schwab <schwab@suse.de>
16442
16443 * window.c (Fdisplay_buffer): Use NILP.
16444 (Fset_window_scroll_bars): Likewise.
16445
164462007-07-15 Martin Rudalics <rudalics@gmx.at>
16447
16448 * window.c (window_min_size_2): New function.
16449 (window_min_size_1, size_window, Fdisplay_buffer)
16450 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16451 windows without mode- or header-lines when window-min-height is
16452 too small.
16453 (size_window): Reset nodelete_p after testing it, following an
16454 earlier note by Kim F. Storm.
16455 (display_buffer): Do not set split_height_threshold to twice the
16456 value of window_min_height to avoid changing the value of a
16457 customizable variable. Rather explicitly check whether the
16458 height of the window that shall be splitted is at least as large
16459 as split_height_threshold.
16460 (Fwindow_full_width_p): New defun.
16461 (syms_of_window): Defsubr it.
16462
16463 * window.h: Add EXFUN for Fwindow_full_width_p.
16464
164652007-07-14 Jason Rumney <jasonr@gnu.org>
16466
16467 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16468
164692007-07-14 Richard Stallman <rms@gnu.org>
16470
16471 * eval.c (maybe_call_debugger): New function.
16472 (find_handler_clause): Use maybe_call_debugger.
16473 Call it when the handler says `debug'.
16474 Eliminate DEBUGGER_VALUE_PTR.
16475 (Fsignal): Eliminate debugger_value.
16476 (Qdebug): New variable.
16477 (syms_of_eval): Initialize it.
16478
164792007-07-14 Juanma Barranquero <lekktu@gmail.com>
16480
16481 * eval.c (Fprogn):
16482 * keyboard.c (Ftrack_mouse):
16483 * print.c (Fwith_output_to_temp_buffer):
16484 * window.c (Fsave_window_excursion): Doc fix.
16485
164862007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16487
16488 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16489
164902007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16491
16492 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16493 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16494 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16495 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16496 Remove unused encoding_carryover.
16497 * process.c: Adjust all functions accordingly.
16498
164992007-07-12 Richard Stallman <rms@gnu.org>
16500
16501 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16502
165032007-07-11 Jason Rumney <jasonr@gnu.org>
16504
16505 * makefile.w32-in (LIBS): Include OLE32.
16506
16507 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16508 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16509
165102007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16511
16512 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16513 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16514 from a Lisp_Object into a bare pointer.
16515 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16516 Adjust the code correspondingly.
16517
16518 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16519
16520 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16521 (term_show_mouse_face): Remove unused var `j'.
16522 (handle_one_term_event): Remove unused vars `i' and `j'.
16523 Don't cast return value of ttyname since it's not necessary.
16524
165252007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16526
16527 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16528 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16529
16530 * fns.c (map_char_table): Use an array of int for `indices' rather than
16531 an array of Lisp_Objects (which are only ever integers anyway).
16532 (Fmap_char_table): Update caller.
16533 * lisp.h: Update prototype.
16534 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16535 * fontset.c (Ffontset_info):
16536 * casetab.c (set_case_table): Update callers.
16537
16538 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16539
16540 * keymap.c (struct accessible_keymaps_data)
16541 (struct where_is_internal_data): New structures.
16542 (accessible_keymaps_1, where_is_internal_1): Use them to change
16543 interface to adhere to the one used by map_keymap.
16544 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16545 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16546
16547 * keymap.h (map_keymap_function_t): More informative prototype.
16548
165492007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16550
16551 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16552 (looking_at_1): Don't change search_regs and last_thing_searched
16553 if `inhibit-changing-match-data' is non-nil.
16554 (string_match_1, search_buffer, set_search_regs): Likewise.
16555 (syms_of_search): Add Lisp level definition for
16556 `inhibit-changing-match-data' and set it to nil.
16557 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16558 start and end of the match, instead of using values in search_regs.
16559
165602007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16561
16562 * minibuf.c (Fcompleting_read): New value `confirm-only'
16563 for `require-match'.
16564
165652007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16566
16567 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16568 part of the 2007-06-27 change to syms_of_fileio.
16569
165702007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16571
16572 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16573 Check WINDOWP before using XWINDOW. Consolidate return statements.
16574
165752007-06-27 Richard Stallman <rms@gnu.org>
16576
16577 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16578
165792007-06-27 Juanma Barranquero <lekktu@gmail.com>
16580
16581 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16582
165832007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16584
16585 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16586 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16587 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16588 (_free_internal, memalign): Use them.
16589 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16590 Initialize to PTHREAD_MUTEX_INITIALIZER.
16591 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16592 (morecore_nolock): Rename from morecore. All uses changed.
16593 Use only nolock versions of internal allocation functions.
16594 (_malloc_internal_nolock, _realloc_internal_nolock)
16595 (_free_internal_nolock): New functions created from
16596 _malloc_internal, _realloc_internal, and _free_internal.
16597 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16598 Copy hook value to automatic variable before its use.
16599 (memalign): Copy hook value to automatic variable before its use.
16600
166012007-06-26 Kenichi Handa <handa@m17n.org>
16602
16603 * coding.c (Ffind_operation_coding_system): Docstring improved.
16604 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16605
166062007-06-25 David Kastrup <dak@gnu.org>
16607
16608 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16609 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16610 cater for additional parameter.
16611
16612 * keymap.h: Adjust number of parameters to `current-active-maps'.
16613
16614 * doc.c (Fsubstitute_command_keys): Adjust call of
16615 `current-active-maps'.
16616
166172007-06-25 David Kastrup <dak@gnu.org>
16618
16619 * callint.c (Fcall_interactively): Make the parsing of interactive
16620 specs somewhat more readable.
16621
166222007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16623
16624 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16625 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16626 if extended background has already been filled.
16627
166282007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16629
16630 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16631 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16632
16633 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16634 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16635 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16636 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16637 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16638 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16639 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16640 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16641 Run timers during dialog popup.
16642 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16643
166442007-06-21 Jason Rumney <jasonr@gnu.org>
16645
16646 * image.c (convert_mono_to_color_image): Swap fore and background.
16647
166482007-06-20 Jason Rumney <jasonr@gnu.org>
16649
16650 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16651 (w32_free_bdf_font): Unmap memory not handle.
16652
166532007-06-20 Sam Steingold <sds@gnu.org>
16654
16655 * gmalloc.c (__morecore): Fix the declaration to comply with the
16656 definition.
16657
166582007-06-20 Juanma Barranquero <lekktu@gmail.com>
16659
16660 * w32term.c (w32_delete_display): Remove leftover declaration.
16661 (w32_define_cursor, w32_initialize): Make static.
16662
16663 * w32.c (_wsa_errlist): Fix typo in error message.
16664 (init_environment): Ignore any environment variable from the
16665 registry having a null value.
16666
166672007-06-20 Glenn Morris <rgm@gnu.org>
16668
16669 * Makefile.in (LIBGIF): Default to -lgif.
16670
166712007-06-17 Jason Rumney <jasonr@gnu.org>
16672
16673 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16674 unicode strings.
16675
166762007-06-16 Juanma Barranquero <lekktu@gmail.com>
16677
16678 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16679 Fix typo in docstring.
16680
166812007-06-16 Eli Zaretskii <eliz@gnu.org>
16682
16683 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16684 and their keybindings.
16685
166862007-06-15 Chong Yidong <cyd@stupidchicken.com>
16687
16688 * composite.c (update_compositions): Fix last fix.
16689
166902007-06-14 Jason Rumney <jasonr@gnu.org>
16691
16692 * w32.c (get_process_times_fn): New function pointer.
16693 (globals_of_w32): Intialize it if present in kernel32.dll.
16694 (w32_get_internal_run_time): New function.
16695
16696 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16697
166982007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16699
16700 * composite.c (update_compositions): Check the validness of
16701 compositions.
16702
167032007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16704
16705 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16706 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16707
16708 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16709 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16710
16711 * macgui.h (USE_MAC_TOOLBAR): New define.
16712
16713 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16714 Return immediately unless popup is activated.
16715
16716 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16717 background to scroll bar gap.
16718 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16719 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16720 scroll bars on frame edge. Check fringe background extension.
16721 Don't clear extended fringe background area.
16722 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16723 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16724 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16725 [USE_MAC_TOOLBAR]: New macros.
16726 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16727 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16728 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16729 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16730 [USE_MAC_TOOLBAR]: New functions.
16731 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16732 manually if previous repositioning has failed.
16733 (mac_handle_keyboard_event): Use precomputed event kind.
16734 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16735 as tool bar item click. Handle mouse movement over tool bar items.
16736
16737 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16738 toolbar_win_gravity.
16739 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16740 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16741 Add externs.
16742
16743 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16744 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16745
167462007-06-14 Chong Yidong <cyd@stupidchicken.com>
16747
16748 * image.c (search_image_cache): Remove unused variable.
16749
167502007-06-13 Chong Yidong <cyd@stupidchicken.com>
16751
16752 * xfns.c, xmenu.c: Link to xaw3d if available.
16753
167542007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16755
16756 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16757 frame_foreground and frame_background.
16758
16759 * image.c (lookup_image): Save frame foreground and background colors.
16760 (search_image_cache): Check if saved and current frame colors match.
16761
167622007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16763
16764 * regex.c (regex_compile): Remove the `regnum' counter.
16765 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16766
167672007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16768
16769 * term.c: Include intervals.h to declare Fget_text_property.
16770
167712007-06-10 Jason Rumney <jasonr@gnu.org>
16772
16773 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16774
167752007-06-08 Juanma Barranquero <lekktu@gmail.com>
16776
16777 * callint.c (Fcall_interactively):
16778 * editfns.c (Fdelete_and_extract_region):
16779 * fileio.c (Fread_file_name):
16780 * fns.c (Fmapconcat):
16781 * keyboard.c (cmd_error_internal):
16782 * keymap.c (Fkey_description):
16783 * lread.c (openp):
16784 * minibuf.c (read_minibuf):
16785 * search.c (wordify):
16786 * sunfns.c (sel_read):
16787 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16788 * xfns.c (x_default_scroll_bar_color_parameter):
16789 * xmenu.c (menu_help_callback):
16790 * xselect.c (Fx_get_atom_name):
16791 * xterm.c (x_term_init): Use empty_unibyte_string.
16792
167932007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16794
16795 * alloc.c (init_strings): Initialize canonical empty strings.
16796 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16797 canonical empty string when the requested size is 0.
16798
16799 * emacs.c (empty_unibyte_string): Rename from empty_string.
16800 (empty_multibyte_string): New canonical empty string.
16801 (syms_of_emacs): Don't initialize empty_string.
16802
16803 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16804 string, if appropriate.
16805 (empty_unibyte_string, empty_multibyte_string): New externs.
16806 (empty_string): Remove extern.
16807
16808 * lread.c (syms_of_lread): Use empty_unibyte_string.
16809
168102007-06-07 Jason Rumney <jasonr@gnu.org>
16811
16812 * s/ms-w32.h: Don't define HAVE_TZNAME.
16813
16814 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16815
168162007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16817
16818 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16819
16820 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16821 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16822
16823 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16824 Don't call next handler.
16825 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16826 Remove argument. Install handler to application.
16827 (set_frame_menubar): Don't change deep_p.
16828 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16829 FRAME_OUTER_TO_INNER_DIFF_Y.
16830 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16831 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16832 [HAVE_DIALOGS]: New macros.
16833 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16834 Use them.
16835 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16836
16837 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16838 init_service_handler. All callers changed. Return OSStatus value.
16839
16840 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16841 All callers changed so as not to call SetPortWindowPort.
16842 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16843 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16844 mac_draw_string_common.
16845 (mac_draw_image_string_qd): Likewise.
16846 (mac_draw_string_common): Use them. Add INLINE.
16847 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16848 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16849 GetGlobalMouse.
16850 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16851 and FRAME_OUTER_TO_INNER_DIFF_Y.
16852 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16853 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16854 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16855 repositioning window to mac_handle_window_event.
16856 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16857 saving window location to mac_handle_window_event
16858 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16859 (install_menu_target_item_handler): Remove argument in extern.
16860 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16861 Also accept command events.
16862 (do_keystroke): New function created from XTread_socket.
16863 (init_command_handler): Remove functions.
16864 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16865 and save window location by kEventWindowShowing and kEventWindowHiding
16866 handlers here. Don't call next handler for window state change and
16867 focus events.
16868 (mac_handle_application_event, mac_handle_keyboard_event)
16869 [TARGET_API_MAC_CARBON]: New functions.
16870 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16871 kEventWindowShowing and kEventWindowHiding events. Move installation
16872 of mouse, font, text input and menu target item handlers to
16873 install_application_handler.
16874 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16875 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16876 New function.
16877 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16878 Register it.
16879 (XTread_socket) [TARGET_API_MAC_CARBON]:
16880 Consolidate SendEventToEventTarget calls.
16881 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16882 Move application activation handler to mac_handle_application_event.
16883 Move keyboard handler to mac_handle_keyboard_event.
16884 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16885 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16886 init_command_handler. Call install_application_handler.
16887
16888 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16889 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16890
168912007-06-07 Glenn Morris <rgm@gnu.org>
16892
16893 * emacs.c (main): Use `emacs-copyright' in --version output.
16894
168952007-06-06 Chong Yidong <cyd@stupidchicken.com>
16896
16897 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16898
168992007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16900
16901 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16902
16903 * macgui.h: Replace WindowPtr with WindowRef.
16904
16905 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16906 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16907 Replace ControlHandle with ControlRef.
16908 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16909
16910 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16911 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16912 Replace ControlHandle with ControlRef.
16913 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16914 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16915
16916 * macterm.h (struct scroll_bar): Rename member control_handle_low
16917 and control_handle_high to control_ref_low and control_ref_high.
16918 All uses changed.
16919 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16920 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16921 respectively. All uses changed.
16922 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16923 (install_window_handler, remove_window_handler): Replace WindowPtr
16924 with WindowRef in externs.
16925
169262007-06-05 Juanma Barranquero <lekktu@gmail.com>
16927
16928 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16929
169302007-06-03 Nick Roberts <nickrob@snap.net.nz>
16931
16932 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16933
16934 * frame.c (Fmouse_position, Fmouse_pixel_position):
16935 Condition on HAVE_GPM too.
16936
16937 * term.c (term_mouse_highlight): Remove unused variables.
16938 (Fterm_open_connection): Set gpm_zerobased to 1.
16939 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16940 Use zero based co-ordinates.
16941 (handle_one_term_event): Report a drag as mouse movement too.
16942
16943 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16944
169452007-06-03 Chong Yidong <cyd@stupidchicken.com>
16946
16947 * image.c (search_image_cache): New function. Require background
16948 color match if background color is unspecified in the image spec.
16949 (uncache_image, lookup_image): Use it.
16950
169512007-06-01 Juanma Barranquero <lekktu@gmail.com>
16952
16953 * window.c (Fshrink_window): Reflow docstring.
16954
169552007-06-02 Chong Yidong <cyd@stupidchicken.com>
16956
16957 * Version 22.1 released.
16958
169592007-06-01 Richard Stallman <rms@gnu.org>
16960
16961 * xfns.c (x_encode_text): Add GCPRO.
16962
169632007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16964
16965 * xfns.c (x_set_name_internal): Save encoded name before
16966 x_encode_text in case string data is relocated.
16967
169682007-05-31 Richard Stallman <rms@gnu.org>
16969
16970 * buffer.c (syms_of_buffer): Doc fix.
16971
169722007-05-30 Nick Roberts <nickrob@snap.net.nz>
16973
16974 * sysdep.c (init_sys_modes): Add rather than replace with
16975 O_NONBLOCK.
16976
16977 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16978 term_mouse_moveto.
16979
16980 * termhooks.h (term_mouse_moveto): New extern.
16981
16982 * term.c (mouse_face_window): Rename...
16983 (Qmouse_face_window): ...to this.
16984 (term_show_mouse_face, term_clear_mouse_face)
16985 (term_mouse_highlight): Use Qmouse_face_window.
16986 (term_mouse_moveto): New function.
16987 (term_mouse_position): Make it work.
16988 (syms_of_term): Uncomment assignment to mouse_position_hook.
16989 Staticpro Qmouse_face_window.
16990
169912007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16992
16993 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16994 around current_column call.
16995
169962007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16997
16998 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16999 * xdisp.c (next_element_from_buffer):
17000 * window.c (delete_window):
17001 * term.c (term_mouse_highlight):
17002 * msdos.c (getdefdir):
17003 * macterm.c (mac_create_bitmap_from_bitmap_data)
17004 (init_font_name_table):
17005 * fns.c (Fsxhash):
17006 * data.c (Fmake_local_variable):
17007 * ccl.c (ccl_driver): Likewise.
17008
170092007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17010
17011 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17012 Call mac_wakeup_from_rne on window size change.
17013
170142007-05-25 Chong Yidong <cyd@stupidchicken.com>
17015
17016 * image.c (uncache_image): Fix typo.
17017
170182007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17019
17020 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17021
170222007-05-22 Richard Stallman <rms@gnu.org>
17023
17024 * xterm.c (x_connection_closed): Remove NO_RETURN.
17025
170262007-05-22 Martin Rudalics <rudalics@gmx.at>
17027
17028 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17029
170302007-05-21 Chong Yidong <cyd@stupidchicken.com>
17031
17032 * image.c (uncache_image): New function.
17033 (Fimage_refresh): New function.
17034
170352007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17036
17037 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17038
170392007-05-20 Nick Roberts <nickrob@snap.net.nz>
17040
17041 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17042 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17043
170442007-05-20 Nick Roberts <nickrob@snap.net.nz>
17045
17046 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17047 conditional on [HAVE_GPM_H].
17048
170492007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17050
17051 * syntax.c (skip_chars): Update syntax-table only after we checked that
17052 the new location is valid.
17053
170542007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17055
17056 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17057 mac_get_window_bounds.
17058
170592007-05-20 Nick Roberts <nickrob@snap.net.nz>
17060
17061 * Makefile.in (LIBGPM): Allow it to be set from configure.
17062 If set then link Emacs with it.
17063
17064 * config.in: Regenerate.
17065
17066 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17067 New externs.
17068
17069 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17070 Include gpm.h.
17071 (handle_one_term_event, term_gpm): New externs.
17072
17073 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17074 and allow it to be interrupted by SIGIO.
17075
17076 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17077 (wait_reading_process_output): Wait on gpm_fd too.
17078 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17079 (add_gpm_wait_descriptor_called_flag): New variable.
17080 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17081
17082 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17083 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17084 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17085 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17086 (make_lispy_event): Add case GPM_CLICK_EVENT.
17087 (read_avail_input): Handle mouse input.
17088
17089 * term.c (write_glyphs_with_face): New function.
17090 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17091 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17092 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17093 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17094 (last_mouse_x, last_mouse_y): New variables.
17095 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17096 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17097 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17098 (Fterm_close_connection): New functions.
17099 (term_init): Initialise mouse_face_window.
17100
171012007-05-19 Chong Yidong <cyd@stupidchicken.com>
17102
17103 * xdisp.c (redisplay_window): If first window line is a
17104 continuation line, recompute the new window start instead of
17105 recentering.
17106
171072007-05-18 Glenn Morris <rgm@gnu.org>
17108
17109 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17110 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17111
171122007-05-17 Glenn Morris <rgm@gnu.org>
17113
17114 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17115
171162007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17117
17118 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17119 dead key repeat and up events.
17120
171212007-05-14 Chong Yidong <cyd@stupidchicken.com>
17122
17123 * image.c (pbm_load): Check image size for monochrome pbm.
17124
171252007-05-13 Chong Yidong <cyd@stupidchicken.com>
17126
17127 * xterm.c (XTread_socket): Revert last change.
17128
171292007-05-12 Chong Yidong <cyd@stupidchicken.com>
17130
17131 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17132
17133 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17134
171352007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17136
17137 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17138 mixup (YAILOM).
17139
171402007-05-07 Andreas Schwab <schwab@suse.de>
17141
17142 * keymap.c (Flookup_key): Fix typo in last change.
17143
171442007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17145
17146 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17147 mapping for unibyte strings.
17148
171492007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17150
17151 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17152 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17153
171542007-04-29 Richard Stallman <rms@gnu.org>
17155
17156 * insdel.c (replace_range): For undo, record insertion first.
17157
171582007-04-29 Andreas Schwab <schwab@suse.de>
17159
17160 * lisp.h (VECSIZE): Use OFFSETOF.
17161
171622007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17163
17164 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17165 disabled lines.
17166
171672007-04-28 Richard Stallman <rms@gnu.org>
17168
17169 * lread.c (read_escape): In a string, \s is always space.
17170
171712007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17172
17173 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17174
17175 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17176 submenu for menu bar items.
17177
17178See ChangeLog.10 for earlier changes.
17179
17180;; Local Variables:
17181;; coding: utf-8
17182;; add-log-time-zone-rule: t
17183;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17184;; End:
17185
76b6f707 17186 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17187
17188 This file is part of GNU Emacs.
17189
17190 GNU Emacs is free software: you can redistribute it and/or modify
17191 it under the terms of the GNU General Public License as published by
17192 the Free Software Foundation, either version 3 of the License, or
17193 (at your option) any later version.
17194
17195 GNU Emacs is distributed in the hope that it will be useful,
17196 but WITHOUT ANY WARRANTY; without even the implied warranty of
17197 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17198 GNU General Public License for more details.
17199
17200 You should have received a copy of the GNU General Public License
17201 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17202
17203;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40