(EDITION, UPDATED): Update.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
6288ae55
CY
12009-01-25 Chong Yidong <cyd@stupidchicken.com>
2
3 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
4 setting current_buffer directly.
5
289e7f8f
CY
62009-01-24 Chong Yidong <cyd@stupidchicken.com>
7
5ce87308
CY
8 * fontset.c (fontset_font): If we know there is no font, don't do
9 any work.
10
289e7f8f
CY
11 * font.c (font_parse_xlfd): Handle patterns of length < 2.
12
b3243e6f
AR
132009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
14
15 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
16 (ns_no_defaults): New declaration.
17 (main): Use it.
e0d2e69a 18
d900b2af 19 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 20
d900b2af 21 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 22
d900b2af
AR
23 * nsterm.m (ns_no_defaults): New variable.
24 (ns_initialize): Don't read defaults when ns_no_defaults.
25 (EmacsView-readSelectionFromPasteboard:)
26 (writeSelectionToPasteboard:types:): New stubbed-out methods for
27 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
28 (ns_dumpglyphs_stretch): New function.
29 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
30 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 31
e0d2e69a
AR
32 * nsimage.m (setPixmapData:): Set to ignore image DPI.
33
3ac71f5d
CY
342009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
35
36 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
37 call for Sparc64.
38
3fe53a83
AR
392009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
40
41 * nsfns.m:
42 * nsgui.h:
43 * nsmenu.m:
44 * nsselect.m:
45 * nsterm.h:
46 * nsterm.m: Remove '23' comments that indicated code added during
47 update from emacs-20 -> emacs-23.
48
10f87c6f 492009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
50
51 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 52 ns_alternate_modifier. (Bug#1217)
a3b53a85 53
c7cef62d
AR
54 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
55 Display all shortcuts, including those w/o super modifier.
56
575fb8bd
AR
57 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
58
918b848b
CY
592009-01-22 Chong Yidong <cyd@stupidchicken.com>
60
61 * fileio.c (Vwrite_region_post_annotation_function)
62 (Vwrite_region_annotation_buffers): New vars.
63 (build_annotations_unwind): Just reset
64 Vwrite_region_annotation_buffers.
65 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
66 Call write-region-post-annotation-function.
67 (build_annotations): Add to Vwrite_region_annotation_buffers if
68 buffer changes.
69
a39e2539
AR
702009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
71
72 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
73 Tiger.
74 * nsfns.m (ns_do_applescript): Conditionalize
75 typeUTF16ExternalRepresentation on Tiger.
76
35ed44db
AR
772009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
78
79 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
80
cbe0b5bf
AR
812009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
82
83 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 84
6049d3a0
AR
85 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
86
87 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
88 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
89 handle Ctrl-tab. (Bug#1841)
90 (ns_get_color): Use unsigned long long for scanned hex string value.
91 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 92 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 93 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 94 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 95 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 96 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 97 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 98
d3810c21 99 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 100 DPI. (Bug#1316)
d3810c21
AR
101 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
102 values in onTiger section.
4c7077c3 103
e301e634
CY
1042009-01-19 Chong Yidong <cyd@stupidchicken.com>
105
7f82490b
CY
106 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
107 Check return value of font_spec_from_name.
108 (Fx_list_fonts): Doc fix.
109
110 * font.c (font_spec_from_name): Return Qnil if font name could not
111 be parsed.
112 (font_parse_name): Treat a `?' character as part of an XLFD.
113
e301e634
CY
114 * fns.c (Fsubstring): Doc fix.
115
1c0db158
KH
1162009-01-19 Kenichi Handa <handa@m17n.org>
117
118 * ftfont.c (ftfont_lookup_cache): Check the return value of
119 FcFontList.
120 (ftfont_list): Likewise.
121
acf20901
JB
1222009-01-18 Juanma Barranquero <lekktu@gmail.com>
123
fff4e459
JB
124 * dbusbind.c (Fdbus_register_signal):
125 * process.c (conv_sockaddr_to_lisp):
126 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
127
acf20901
JB
128 * callproc.c (Fgetenv_internal): Doc fix.
129
e7abcdfb
CY
1302009-01-16 Chong Yidong <cyd@stupidchicken.com>
131
132 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
133 it is not even used.
134
b60861e6
GM
1352009-01-16 Glenn Morris <rgm@gnu.org>
136
137 * font.c (Ffont_variation_glyphs): Silence compiler.
138
8db52afe
JB
1392009-01-15 Juanma Barranquero <lekktu@gmail.com>
140
141 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
142 Reported by David Robinow <drobinow@gmail.com>.
143
4cddb209
KH
1442009-01-15 Kenichi Handa <handa@m17n.org>
145
146 * coding.c (detect_coding_system): Fix handling of
147 null_byte_found.
148
f247f67b
JR
1492009-01-14 Jason Rumney <jasonr@gnu.org>
150
151 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 152 never a fontset. (Bug#1562)
f247f67b 153
f56a4450
KH
1542009-01-14 Kenichi Handa <handa@m17n.org>
155
156 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 157 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 158
4e99855e
CY
1592009-01-13 Chong Yidong <cyd@stupidchicken.com>
160
161 * font.c (font_clear_prop): If clearing the family, clear the font
162 width index too.
163
fff4e459 164 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 165
24f01470
JB
1662009-01-12 Juanma Barranquero <lekktu@gmail.com>
167
168 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
169 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
170 functions, use sizeof.
171
a41240a3
MR
1722009-01-12 Martin Rudalics <rudalics@gmx.at>
173
174 * keyboard.c (read_char): Fix case where last_nonmenu_event
175 returned a bad value with submenus. (Bug#447)
176
944636b8
CY
1772009-01-12 Chong Yidong <cyd@stupidchicken.com>
178
179 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
180 family, clear the font width index too.
181
0dad7c6f
JR
1822009-01-11 Jason Rumney <jasonr@gnu.org>
183
184 * keyboard.c (cmd_error_internal): Exit when errors occur before
185 frame creation and not in daemon mode. (Bug#1836)
186
7c2363af
CY
1872009-01-10 Chong Yidong <cyd@stupidchicken.com>
188
189 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
190 of a display vector, backtrack.
191 (try_window_reusing_current_matrix): Check glyph type before
192 referencing charpos member.
193
97b1b294
EZ
1942009-01-10 Eli Zaretskii <eliz@gnu.org>
195
196 Fix Bug #876:
197
198 * coding.c (inhibit_null_byte_detection): New variable.
199 (detect_coding, detect_coding_system): Don't pay attention to null
200 bytes if inhibit_null_byte_detection is non-zero.
201 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
202 document.
203 <inhibit-iso-escape-detection>: Doc fix.
204
4624b6e3
JR
2052009-01-09 Jason Rumney <jasonr@gnu.org>
206
207 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 208 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
209 Only report Unicode Plane 2 fonts as unicode-sip.
210
323b840c
CY
2112009-01-09 Chong Yidong <cyd@stupidchicken.com>
212
213 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
214 version moved to faces.el.
215
216 * font.c (Ffont_family_list): Return a list of strings, not
217 symbols.
218
eba7400d
MR
2192009-01-09 Martin Rudalics <rudalics@gmx.at>
220
221 * frame.c (x_set_frame_parameters): Remember requested value for
222 fullscreen before it's reset by the parameter handler.
223
4b09796d
GM
2242009-01-09 Glenn Morris <rgm@gnu.org>
225
226 * keyboard.c (last_command_char): For clarity, rename to...
227 (last_command-event): ... and update all users.
228 (last_input_char): For clarity, rename to...
229 (last_input_event): ... and update all users.
230 (last-command-char, last-input-char): Move to subr.el as aliases.
231 * cmds.c, commands.h: Update for last_command_char rename.
232
14ccea62
CY
2332009-01-08 Chong Yidong <cyd@stupidchicken.com>
234
235 * font.c (font_open_for_lface): Handle unspecified height
236 attribute.
237
5f004711
JR
2382009-01-08 Jason Rumney <jasonr@gnu.org>
239
240 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
241 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
242 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
243 Don't declare.
fff4e459 244 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
245 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
246
b71f6f73
KH
2472009-01-07 Kenichi Handa <handa@m17n.org>
248
50b06221 249 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 250 remember the coding system used for decoding in
50b06221
KH
251 coding_system (Bug#1039).
252
b71f6f73 253 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 254 breaking the loop. (Bug#870)
b71f6f73
KH
255 (decode_coding_utf_16, decode_coding_emacs_mule)
256 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
257 (decode_coding_charset): Likewise.
258
56f668f7
MR
2592009-01-05 Martin Rudalics <rudalics@gmx.at>
260
261 * frame.c (x_set_frame_parameters): Make sure height (width) get
262 applied when fullwidth (fullheight) is set. (Bug#1522)
263
5da9424d
JB
2642009-01-04 Juanma Barranquero <lekktu@gmail.com>
265
266 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
267 (utc_base): Declare as ULONGLONG, not long double.
268 (convert_time_raw): Delete.
269 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
270 (initialize_utc_base): New function.
271 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
272 (convert_from_time_t): Use initialize_utc_base; compute result with
273 64-bit arithmetic.
274 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
275
c4605e09
EZ
2762009-01-03 Eli Zaretskii <eliz@gnu.org>
277
9acef61c 278 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
279 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
280 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
281 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
282 [!subprocesses]: Define.
283 (syms_of_process) [!subprocesses]: Intern and staticpro them.
284 (Flist_system_processes, Fsystem_process_attributes)
285 [!subprocesses]: Call list_system_processes and
286 system_process_attributes instead of returning Qnil.
287
9acef61c
JB
288 * dosfns.c (system_process_attributes, list_system_processes):
289 New functions.
c4605e09
EZ
290
291 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
292
293 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
294 Don't use the default (no-op) implementation.
295
8b7d0a16
JR
2962009-01-03 Jason Rumney <jasonr@gnu.org>
297
a6d46bc1
JR
298 * keyboard.c (parse_modifiers_uncached): Wheel events are
299 clicks (bug#687).
300
8b7d0a16
JR
301 * w32term.c (x_query_colors, x_query_color): New functions.
302
303 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
304 (svg_load_image): Cast returned pointers from dynamically loaded
305 functions. Eliminate W32 specific code.
306
bfe11752
DN
3072009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
308
89e2438a
DN
309 * nsfns.m (x_set_foreground_color, x_set_background_color)
310 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
311 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
312 x_ prefix instead of ns_. Update references.
313 (syms_of_nsfns): Add a FIXME comment.
314
315 * nsterm.m (x_set_cursor_type): New prototype.
316 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
317
bfe11752
DN
318 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
319 for Solaris instead of incorrectly providing Qutime and Qcutime.
320
031da700
EZ
3212009-01-02 Eli Zaretskii <eliz@gnu.org>
322
323 * w32.c (process_times): Compute sum of utime and stime.
324 (system_process_attributes): Add Qtime to the alist.
325
326 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
327 and add them to the alist.
328
329 * process.c (top level) <Qtime, Qctime>: New variables.
330 (syms_of_process): staticpro them.
331 (Fsystem_process_attributes): Add their documentation to the doc
332 string.
333
334 * process.h: Declare Qtime and Qctime.
335
df23bf08
JR
3362009-01-02 Jason Rumney <jasonr@gnu.org>
337
9acef61c 338 * image.c (Qgobject): New symbol.
df23bf08
JR
339 (syms_of_image): Initialize it.
340 (init_svg_functions): Load some functions from gobject library.
341
5bbdf7aa
DN
3422009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
343
344 * frame.c (make_terminal_frame): Remove redundant code and useless
345 block.
346
63136da6
AS
3472009-01-01 Andreas Schwab <schwab@suse.de>
348
349 * process.c (conv_sockaddr_to_lisp): Add workaround for
350 getsockname bug on BSD.
351
9ef69046
CY
3522009-01-01 Chong Yidong <cyd@stupidchicken.com>
353
d6fafbe0
CY
354 * xfns.c (x_create_tip_frame): Set border width of the X window.
355
9ef69046
CY
356 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
357 message.
358
f9c34147
JR
3592009-01-01 Jason Rumney <jasonr@gnu.org>
360
9acef61c 361 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
362 Don't block input, as per earlier xterm.c changes.
363
f5497e45
AR
3642008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
365
366 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
367 (ns_appkit_version_int): New function.
368 (x-server-version): Use ns_appkit_version_int and follow 21+
369 convention of returning 3 integers.
370
c19cab20
KH
3712008-12-30 Kenichi Handa <handa@m17n.org>
372
373 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
374 (CHAR_SURROGATE_PAIR_P): New macro.
375
376 * font.h (struct font_driver): New member get_variation_glyphs.
377
9acef61c 378 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
379 (Ffont_variation_glyphs): New function.
380 (syms_of_font): Defsubr it.
381
382 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
383 ftfont_variation_glyphs.
384 (setup_otf_gstring): New function.
385 (ftfont_drive_otf): Use it.
386 (ftfont_shape_by_flt): Handle variation selector.
387 (ftfont_variation_glyphs): New function.
388
28cd591f
MR
3892008-12-30 Martin Rudalics <rudalics@gmx.at>
390
391 * frame.c (Vemacs_iconified): Remove.
392
7f714baf
JR
3932008-12-30 Jason Rumney <jasonr@gnu.org>
394
395 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 396 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 397
9d2d22ab
CY
3982008-12-30 Chong Yidong <cyd@stupidchicken.com>
399
400 * indent.c (Fvertical_motion): Don't advance iterator if we have
401 reseated to the desired position.
402
403 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
404 checking for pos match.
405
545312c2
KH
4062008-12-30 Kenichi Handa <handa@m17n.org>
407
1ede3eb6
KH
408 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
409 just get the low 8-bit of the code.
410
545312c2
KH
411 * font.c (font_intern_prop): Validate str as multibyte.
412
bd7bbf29
DN
4132008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
414
31e0750e
DN
415 * dispextern.h (struct face): Move lface and hash from the middle
416 of bitfields.
417
bd7bbf29
DN
418 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
419
b5672e7c
DN
4202008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
421
422 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
423 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
424 instead of intervals.h.
425
d704470f
AS
4262008-12-26 Andreas Schwab <schwab@suse.de>
427
428 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
429 cons.
430
54b33868
MR
4312008-12-26 Martin Rudalics <rudalics@gmx.at>
432
433 * textprop.c (Qminibuffer_prompt): New variable.
434 (syms_of_textprop): Initialize it.
435 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
436 in minibuffer-prompt face. (Bug#1662)
437
40b615d6
JR
4382008-12-25 Jason Rumney <jasonr@gnu.org>
439
440 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
441
baae5c2d
JR
4422008-12-24 Jason Rumney <jasonr@gnu.org>
443
444 * ralloc.c (r_alloc_reset_variable): New function.
445
446 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 447 record of what points where. (Bug#716)
baae5c2d 448
a9051c88
DN
4492008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
450
451 * minibuf.c (read_minibuf): Follow the non-interactive case when
452 running as a daemon, before detaching.
453
8b146312
AS
4542008-12-22 Andreas Schwab <schwab@suse.de>
455
456 * buffer.c (init_buffer): Use realloc instead of xrealloc.
457 * gtkutil.c (free_widget_value): Use xfree instead of free.
458
56f2de10
MR
4592008-12-22 Martin Rudalics <rudalics@gmx.at>
460
461 * frame.c (delete_frame): New function derived from
462 Fdelete_frame to handle Qnoelisp value for FORCE argument.
463 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
464 (Fdelete_frame): Call delete_frame. Remove line from doc-string
465 saying that FORCE non-nil doesn't run `delete-frame-functions'.
466 * frame.h: Extern delete_frame.
467 * window.c (window_loop):
468 * terminal.c (delete_terminal):
469 * xterm.c (x_connection_closed):
470 * xfns.c (Fx_hide_tip):
9acef61c 471 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 472
1fc200d6
JR
4732008-12-21 Jason Rumney <jasonr@gnu.org>
474
475 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
476 when character maps to .notdef character.
477
5e252df2
SM
4782008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
479
480 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
481
99b72cc4
JR
4822008-12-20 Jason Rumney <jasonr@gnu.org>
483
484 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 485 a graphical frame on Windows. (Bug#1325)
99b72cc4 486
acc49a52
JD
4872008-12-20 Jan Djärv <jan.h.d@swipnet.se>
488
489 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
490
6ea15123
CY
4912008-12-20 Chong Yidong <cyd@stupidchicken.com>
492
493 * minibuf.c (Fread_buffer): Doc fix.
494
b2dab6c8
JR
4952008-12-20 Jason Rumney <jasonr@gnu.org>
496
54ea0c87 497 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 498 server name in UNC paths. (Bug#719)
54ea0c87 499
b2dab6c8 500 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 501 charbuf. (Bug#1035)
b2dab6c8 502
6d1921be
DN
5032008-12-19 Daniel Engeler <engeler@gmail.com>
504
505 * sysdep.c (serial_configure): Fix typo.
506
53934c98
DN
5072008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
508
509 * sysdep.c: Include alloca.h.
f4f634e8
DN
510 (system_process_attributes): Add implementation for Solaris.
511
512 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 513
06e111a6
DN
5142008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
515
516 Reorganize implementation of Flist_system_processes and
517 Fsystem_process_attributes. No functional changes.
518 * process.c: Don't #include pwd.h, grp.h and limits.h.
519 (Flist_system_processes): Just call list_system_processes.
520 (Fsystem_process_attributes): Just call system_process_attributes.
521 (procfs_list_system_processes, time_from_jiffies)
522 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
523 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
524
525 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
526 (list_system_processes): Rename from
527 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
528 Provide a do nothing implementation.
529 (system_process_attributes): Rename from
530 procfs_list_system_processes.
531 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 532 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
533
534 * w32.c (list_system_processes): Rename from
535 w32_list_system_processes.
536 (system_process_attributes): Rename from
537 w32_system_process_attributes.
538
539 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
540
541 * process.h (w32_list_system_processes)
542 (w32_system_process_attributes): Remove.
543 (list_system_processes, system_process_attributes): New
544 prototypes.
545
6a705b23
KH
5462008-12-19 Kenichi Handa <handa@m17n.org>
547
548 * xfont.c (xfont_decode_coding_xlfd): New function.
549 (xfont_encode_coding_xlfd): New function.
550 (xfont_list_pattern): Decode XLFD by iso-8859-1.
551 (xfont_list): Decode and encode XLFD by iso-8859-1.
552 (xfont_match): Likewise.
553 (xfont_list_family): Likewise.
554 (xfont_open): Likewise.
555
d66c0241 556 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
557 names are utf-8.
558
d66c0241 559 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
560 names are utf-8.
561
5a130941
JD
5622008-12-18 Jan Djärv <jan.h.d@swipnet.se>
563
564 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
565 changed.
bfd20325
JD
566 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
567 clicked on a detached tool bar button.
5a130941 568
fd95644b
DN
5692008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
570
571 * emacs.c (main): Print and error and exit when no data is read
572 from the pipe.
573
e6eee6ae
JR
5742008-12-17 Jason Rumney <jasonr@gnu.org>
575
576 * w32font.c (w32font_has_char): Always return -1.
577
a35dd56b
KH
5782008-12-16 Kenichi Handa <handa@m17n.org>
579
580 * font.c (font_open_entity): Fix previous change.
581
0e3635c2
DN
5822008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
583
584 * process.c: Include <limits.h>.
585
d4835507 5862008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
587
588 * font.c (font_update_drivers): Fix mistake in reconstructing the
589 driver list.
590
5912008-12-16 Chong Yidong <cyd@stupidchicken.com>
592
593 * font.c (font_clear_cache): Fix format of font cache data.
594
e2cbc401
CY
5952008-12-15 Chong Yidong <cyd@stupidchicken.com>
596
597 * xftfont.c (xftfont_open): Free Xft font pattern if
598 XftFontOpenPattern fails.
599
600 * xterm.c (x_free_frame_resources): Remove extraneous call to
601 free_frame_faces.
602
b131d535
CY
6032008-12-13 Chong Yidong <cyd@stupidchicken.com>
604
605 * xterm.c (x_delete_display): Move xim_close_dpy call to
606 x_delete_terminal.
607 (x_delete_terminal): Call xim_close_dpy.
608
e6df5336
JR
6092008-12-13 Jason Rumney <jasonr@gnu.org>
610
611 * w32font.c (intern_font_name): New function.
612 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
613 (w32font_open_internal, Fx_select_font): Decode font name.
614 (fill_in_logfont, list_all_matching_fonts): Encode font name.
615
616 * w32font.h (intern_font_name): Declare new function.
617
618 * w32uniscribe.c (add_opentype_font_name_to_list):
619 Use intern_font_name.
620
20d68145
CY
6212008-12-13 Chong Yidong <cyd@stupidchicken.com>
622
9f2554de
CY
623 * frame.c (Fdelete_frame): Call free_font_driver_list.
624
3d9bec9a
CY
625 * font.c (free_font_driver_list): Implement missing function.
626
20d68145
CY
627 * w32term.c (w32_term_init): Don't initialize the image cache
628 here; it will be done in init_frame_faces.
629
630 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
631 (struct x_display_info): Remove unused member null_pixel. New
632 member xim_callback_data.
633
634 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
635 (xim_initialize): Save pointer to callback function data.
636 (xim_close_dpy): Free callback function data. Call XCloseIM,
637 reverting 2008-11-04 change by David Smith.
638 (x_term_init): Don't initialize the image cache here; it will be
639 done in init_frame_faces. Remove ancient "null_pixel" cruft.
640 (x_delete_display): Free x_dnd_atoms member.
641
96f9306b
KH
6422008-12-13 Kenichi Handa <handa@m17n.org>
643
6dec9044
JB
644 * font.c (font_rescale_ratio): Moved from xfaces.c.
645 Argument type changed. Handle a font-spec too.
96f9306b 646 (font_score): Check Vface_font_rescale_alist.
6dec9044 647 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
648
649 * xfaces.c (font_rescale_ratio): Moved to font.c.
650
8d5b4964
CY
6512008-12-13 Chong Yidong <cyd@stupidchicken.com>
652
653 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
654
e6df5336
JR
6552008-12-12 Jason Rumney <jasonr@gnu.org>
656
657 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
658 Vwindow_system_version to the real w32 major version.
659
97c6058a
DN
6602008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
661
662 * term.c (init_tty): Move setting the terminal name before the
663 potential user: maybe_fatal.
664
ec4e88d7
CY
6652008-12-11 Chong Yidong <cyd@stupidchicken.com>
666
d4835507
JB
667 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
668 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 669
b4233ec9
JR
6702008-12-11 Jason Rumney <jasonr@gnu.org>
671
8ec71e23 672 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 673 SYMBOL_CHARSET. (Bug#547)
8ec71e23 674
b4233ec9 675 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 676 size for surrogates. (Bug#1096, bug#872)
b4233ec9 677
011a0143
JB
6782008-12-11 Juanma Barranquero <lekktu@gmail.com>
679
680 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
681
3c309f34
JB
6822008-12-11 Juanma Barranquero <lekktu@gmail.com>
683
684 * process.c (Fsystem_process_attributes, syms_of_process):
685 Fix typo in name of Ssystem_process_attributes.
686 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
687
fedc6ab5
JB
6882008-12-11 Juanma Barranquero <lekktu@gmail.com>
689
690 * syntax.c (Fmodify_syntax_entry): Doc fix.
691
ba3de0e8
JB
6922008-12-10 Juanma Barranquero <lekktu@gmail.com>
693
694 * font.c (Ffont_spec): Move usage to end of docstring.
695
174f1c74
JR
6962008-12-10 Jason Rumney <jasonr@gnu.org>
697
698 * w32font.c (Qcham): New symbol.
699 (font_supported_scripts): Add cham, and comments for other new
700 scripts in bitfield from OpenType spec.
9d32f818
JR
701 (add_font_entity_to_list): Limit unicode-sip fonts to those that
702 contain characters beyond the bmp.
174f1c74 703
7b649478
KH
7042008-12-10 Kenichi Handa <handa@m17n.org>
705
706 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 707 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
708 Qunicode_sip.
709
2133e2d1
JB
7102008-12-10 Juanma Barranquero <lekktu@gmail.com>
711
712 * coding.c (QCdefault_char): Rename from QCdefalut_char.
713 (Fcoding_system_put): Use QCdefault_char.
714 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
715
9af886ee
CY
7162008-12-09 Chong Yidong <cyd@stupidchicken.com>
717
74d819eb
CY
718 * xftfont.c (syms_of_xftfont): Fix typo.
719
4ccfa1c0 720 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 721
7c19d3ae
DN
7222008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
723
724 * emacs.c (main): Close daemon_pipe on exec.
725
567826bb
CY
7262008-12-08 Chong Yidong <cyd@stupidchicken.com>
727
728 * termchar.h (struct tty): New members termcap_term_buffer and
729 termcap_strings_buffer.
730
731 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 732 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
733 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
734 All callers changed.
735 (init_tty): Store termcap data and string buffers in new struct
736 tty members termcap_term_buffer and termcap_strings_buffer.
737 (delete_tty): Free them.
4ccfa1c0 738 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 739
aa96c42b
SZ
7402008-12-07 Seiji Zenitani <zenitani@mac.com>
741
742 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 743 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 744
b7e1d896
CY
7452008-12-06 Chong Yidong <cyd@stupidchicken.com>
746
747 * coding.c (make_conversion_work_buffer): Disable buffer
748 modification hooks in the work buffer.
749
b5ec91a5
EZ
7502008-12-05 Eli Zaretskii <eliz@gnu.org>
751
752 * process.c (procfs_system_process_attributes): If `nread' has a
753 negative value, assign zero to it.
754
a5d2a52b
CY
7552008-12-05 Chong Yidong <cyd@stupidchicken.com>
756
68c5540b 757 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 758
7bf1bb21
KH
7592008-12-05 Kenichi Handa <handa@m17n.org>
760
761 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
762 second character is a combining character.
763
2fdc7d00
EZ
7642008-12-05 Eli Zaretskii <eliz@gnu.org>
765
766 * process.c (procfs_system_process_attributes): Don't use cmd,
767 cmdsize, and q without initializing them first.
768
bf6bfba8
JR
7692008-12-04 Jason Rumney <jasonr@gnu.org>
770
771 * w32font.c (w32font_draw): Initialize orig_clip before getting
772 it, and delete it when finished.
773
a3b1a468
DN
7742008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
775
776 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
777 case when running as a daemon before detaching.
778
8b8be8eb
JB
7792008-12-03 Juanma Barranquero <lekktu@gmail.com>
780
805f2638 781 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 782
b1bde622
KH
7832008-12-03 Kenichi Handa <handa@m17n.org>
784
e500c47d
KH
785 * font.c (font_at): Set `multibyte' at first.
786
ca516334
KH
787 * coding.c (decode_coding_charset): Check type of an element of
788 vector VALIDS.
7bf1bb21 789 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 790
4ccfa1c0 791 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
792 (font_for_char): Likewise.
793
1e5ecd37
CY
7942008-12-03 Chong Yidong <cyd@stupidchicken.com>
795
d5b01609 796 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
797 (font_update_lface): Handle fonts with corrupted size specs,
798 i.e. non-int and non-float.
d5b01609 799
11e3a6e4 800 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 801 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 802 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 803
ab06788b
CY
804 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
805
1e5ecd37 806 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 807 underline_minimum_offset for underline position.
1e5ecd37 808
63c125ab
DN
8092008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
810
811 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
812
813 * character.c (c_string_width): Specify the type for LEN.
814
3a8406e1
KH
8152008-12-03 Kenichi Handa <handa@m17n.org>
816
4ccfa1c0 817 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 818 (decode_coding_utf_8): Likewise.
4ccfa1c0 819 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 820 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 821
651df7d9
CY
8222008-12-02 Chong Yidong <cyd@stupidchicken.com>
823
824 * keyboard.c (make_lispy_position): Only use PT if the selected
825 window is current.
826
1f625c6c
AS
8272008-12-02 Andreas Schwab <schwab@suse.de>
828
f7741ce9
AS
829 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
830
1f625c6c
AS
831 * doprnt.c (doprnt1): Fix size of charbuf.
832
92bc2678
CY
8332008-12-02 Chong Yidong <cyd@stupidchicken.com>
834
835 * keyboard.c (timer_check): Revert last change.
836
93b9e8cc
JB
8372008-12-02 Juanma Barranquero <lekktu@gmail.com>
838
839 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
840
fd7a37d5
JB
8412008-12-01 Juanma Barranquero <lekktu@gmail.com>
842
843 * makefile.w32-in: Update dependencies.
844 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
845
c115043b
AS
8462008-12-01 Andreas Schwab <schwab@suse.de>
847
848 * font.c (register_font_driver): Use xmalloc.
849 (font_put_frame_data): Likewise.
850
f5668d2a
CY
8512008-12-01 Chong Yidong <cyd@stupidchicken.com>
852
860d96be
CY
853 * xfaces.c (realize_x_face): Make abort condition clearer.
854
f5668d2a
CY
855 * gtkutil.c (update_frame_tool_bar): Initialize variable.
856
379c17e7
CY
8572008-11-30 Chong Yidong <cyd@stupidchicken.com>
858
859 * keyboard.c (timer_check): After a timer runs, ensure that the
860 selected window's buffer is current.
861
35f36d65
JB
8622008-11-30 Juanma Barranquero <lekktu@gmail.com>
863
f952c61c
JB
864 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
865 It was accidentally restored by the Unicode merge.
866
35f36d65
JB
867 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
868
b23077df
JB
8692008-11-29 Juanma Barranquero <lekktu@gmail.com>
870
871 * w32proc.c: Include "coding.h".
872 (Fw32_short_file_name): Encode filename passed to Windows API.
873 (Fw32_long_file_name): Encode filename passed to Windows API and
874 decode back the result. (Bug#1433)
875
b8ebe9dd
KH
8762008-11-29 Kenichi Handa <handa@m17n.org>
877
8cc53f96
KH
878 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
879 not before accessing it.
880
b8ebe9dd
KH
881 * charset.c (Fdefine_charset_internal): After calculating
882 min_char, max_char, and fastmap, copy the charset structure again.
883 (encode_char): Fix the previous change.
884
59bc82c0
SZ
8852008-11-28 Seiji Zenitani <zenitani@mac.com>
886
887 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
888
889 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
890
891 * nsterm.m (x_set_frame_alpha): New function.
892
32247e3d
EZ
8932008-11-27 Eli Zaretskii <eliz@gnu.org>
894
895 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
896
b003e5ff
JB
8972008-11-27 Juanma Barranquero <lekktu@gmail.com>
898
899 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
900 pointer to check_face_name.
901
708550f5
KH
9022008-11-27 Kenichi Handa <handa@m17n.org>
903
904 * category.h (SET_CATEGORY_SET): Call set_category_set.
905 (set_category_set): Extern it.
906
907 * category.c (hash_get_category_set): New function.
908 (Fmodify_category_entry): Adjusted for the change of
909 char_table_ref_and_range. Call hash_get_category_set to get a
910 category set to store in the table.
911
912 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
913 Funify_charset.
914
2ae37cf0 915 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
916 (DECODE_CHAR): Check if the decoder vector is ready.
917 (ENCODE_CHAR): Check if the encoder char-table is ready.
918 (maybe_unify_char): Extern it.
919
920 * charset.c (Vchar_unified_charset_table): Delete it.
921 (inhibit_load_charset_map): New variable.
922 (temp_charset_work): New variable.
923 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
924 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
925 New macros.
926 (load_charset_map): Meaning of control_flag changed. If
927 inhibit_load_charset_map is nonzero, setup a table in
928 temp_charset_work.
929 (load_charset): New argument control_flag.
930 (map_charset_for_dump): New function.
931 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
932 map_charset_for_dump.
933 (Fdefine_charset_internal): If the charset method is MAP, load
934 mapping tables by calling load_charset.
935 (Funify_charset): Don't load a mapping table but directly set
936 Vchar_unify_table.
937 (maybe_unify_char): New function.
938 (decode_char): Don't handle the deleted method MAP_DEFERRED.
939 Handle the case of inhibit_load_charset_map being nonzero.
940 (encode_char): Don't handle the deleted method MAP_DEFERRED.
941 Handle the case of inhibit_load_charset_map being nonzero.
942 (Fclear_charset_maps): Just free temp_charset_work.
943 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
944 variable.
945
946 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
947 change of char_table_ref_and_range.
948 (char_table_ref_and_range): Change the meaning of argument FROM
949 and TO. Now the caller must provide initial values for *FROM
950 and *TO.
951
952 * fontset.c (fontset_add): Adjusted for the change of
953 char_table_ref_and_range.
954 (fontset_get_font_group): Likewise.
955 (Ffontset_info): Likewise.
956
957 * keymap.c (describe_vector): Adjusted for the change of
958 char_table_ref_and_range. For char-table, put boundary between
959 non-ASCII and 8-bit characters.
960
961 * print.c (print_object): For bool-vector, delete unnecessary
962 check of ASCII_BYTE_P.
963
9196133b
JR
9642008-11-26 Jason Rumney <jasonr@gnu.org>
965
966 * w32font.c (w32font_open_internal): Don't include external
9acef61c 967 leading in font height. (Bug#879)
9196133b 968
9f688acf
GM
9692008-11-26 Glenn Morris <rgm@gnu.org>
970
971 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
972 redefinition with ifdef. (Bug#1383)
973
90d19aff
AR
9742008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
975
976 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
977
4ccfa1c0 9782008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
979
980 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
981 New EmacsView methods.
982 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
983 Fixes bug #1048,1357,1414.
984
9852008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
986
987 Fix bug #1362.
988 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
989 is not an indexed color.
990 * nsterm.m (free_indexed_color): Add argument checking.
991 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
992
e7d5ecb3
CY
9932008-11-24 Chong Yidong <cyd@stupidchicken.com>
994
995 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
996 Document confirm-after-completion value for
997 minibuffer-completion-confirm.
998
c285743c
JR
9992008-11-24 Jason Rumney <jasonr@gnu.org>
1000
1001 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1002 warning.
1003
b0857706
JR
10042008-11-23 Jason Rumney <jasonr@gnu.org>
1005
1006 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1007 restored before returning.
1008
1009 * w32font.c (check_face_name): New function.
1010 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1011 fonts. (Bug#642)
b0857706 1012
ee50ff07
MR
10132008-11-22 Martin Rudalics <rudalics@gmx.at>
1014
1015 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1016 confirm-nonexistent-file-or-buffer in doc-string.
1017
b8ff72fa
SM
10182008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1019
1020 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1021 Fix copy/paste typo. Add checks.
1022
cee53ed4
KH
10232008-11-21 Kenichi Handa <handa@m17n.org>
1024
1025 * coding.c (detect_coding_iso_2022): Reject invalid composition
1026 sequence.
1027 (DECODE_COMPOSITION_START): If the current source is the last
1028 block, and the current composition doesn't end, regard this
1029 sequence as invalid.
1030 (decode_coding_iso_2022): Handle invalid composition sequence.
1031
f6ef1e65
MR
10322008-11-20 Martin Rudalics <rudalics@gmx.at>
1033
1034 * window.c (coordinates_in_window): Don't return
1035 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1036 line when the window is not the rightmost one. (Bug#1372)
1037
e08b1705
MR
10382008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1039
1040 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1041
ad98e89f
EZ
10422008-11-15 Eli Zaretskii <eliz@gnu.org>
1043
1044 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1045 and bright_bg if noninteractive is non-zero.
1046
fb098a4b
CY
10472008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1048
1049 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1050 x_draw_glyph_string_background.
1051
1052 * w32term.c (x_draw_glyph_string): Likewise.
1053
ce952b6e
CY
10542008-11-15 Chong Yidong <cyd@stupidchicken.com>
1055
1056 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1057 the next glyph string once past the overhang width.
1058
1059 * nsterm.m (ns_draw_glyph_string): Likewise.
1060
1061 * w32term.c (x_draw_glyph_string): Likewise.
1062
26ea7079
CY
10632008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1064
1065 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1066 double file close.
1067
1c33c906
MR
10682008-11-14 Martin Rudalics <rudalics@gmx.at>
1069
1070 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1071 dedicated status of window before attempting to display another
1072 buffer in it.
1073
8fc29035
JB
10742008-11-14 Juanma Barranquero <lekktu@gmail.com>
1075
1076 * msdos.c (Fmsdos_long_file_names):
1077 (syms_of_msdos) <dos-unsupported-char-glyph>:
1078 * dosfns.c (Fint86): Fix typos in docstrings.
1079
55fb4286
EZ
10802008-11-14 Eli Zaretskii <eliz@gnu.org>
1081
1082 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1083
3fda0315
KY
10842008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1085
1086 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1087
7e849c17
CY
10882008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1089
1090 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1091
1092 * frame.h: Negative alpha means "don't touch".
1093
1094 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1095
1096 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1097
b9fd67bd
DN
10982008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1099
1100 * hftctl.c:
1101 * chpdef.h:
1102 * acldef.h: Remove files used only for systems no longer supported.
1103
1104 * Makefile.in: Fix .o alphabetical ordering.
1105 (hftctl.o): Remove dependency, file removed.
1106 (keymap.o, print.o): Depend on charset.h.
1107
d5998e03
KH
11082008-11-10 Kenichi Handa <handa@m17n.org>
1109
2ae37cf0 1110 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1111
be70e183
CY
11122008-11-08 Chong Yidong <cyd@stupidchicken.com>
1113
1114 * dired.c (file_name_completion): If completion_ignore_case is
1115 enabled, ignore case when checking completion-regexp-list.
1116
7cf94eac
EZ
11172008-11-08 Eli Zaretskii <eliz@gnu.org>
1118
1119 * vm-limit.c (get_lim_data): Fix last change.
1120
ee107a89
KH
11212008-11-08 Kenichi Handa <handa@m17n.org>
1122
1123 * character.c (Fget_byte): New function.
1124 (syms_of_character): Defsubr Fget_byte.
1125
5fd15622
CY
11262008-11-07 Chong Yidong <cyd@stupidchicken.com>
1127
1128 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1129 cursor position is valid after scrolling.
1130
13d62fad
JB
11312008-11-06 Juanma Barranquero <lekktu@gmail.com>
1132
1133 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1134
a1dd2936
GM
11352008-11-06 Glenn Morris <rgm@gnu.org>
1136
1137 * xterm.c (handle_one_xevent): Don't let popup menus cause
1138 mouse-autoselect-window related window switching. (Bug#1261)
1139
860cd236
CY
11402008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1141
1142 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1143
653a3150
AS
11442008-11-04 Andreas Schwab <schwab@suse.de>
1145
1146 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1147
870f5cac
CY
11482008-11-03 Chong Yidong <cyd@stupidchicken.com>
1149
1150 * xfns.c (Fx_wm_set_size_hint): New function.
1151
1e02f3cb
MR
11522008-11-03 Martin Rudalics <rudalics@gmx.at>
1153
1154 * textprop.c (Fprevious_single_char_property_change): Return 0
1155 when there's no change in a string. (Bug#1301)
1156
e630dfc6
MR
11572008-11-02 Martin Rudalics <rudalics@gmx.at>
1158
1159 * frame.c (do_switch_frame): New argument NORECORD passed to
1160 Fselect_window.
1161 (Fselect_frame): New argument NORECORD passed to
1162 do_switch_frame.
1163 (Fset_frame_selected_window): New argument NORECORD passed to
1164 Fselect_frame.
1165 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1166 in call of do_switch_frame.
1167 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1168 Handle NORECORD argument in call of Fselect_frame.
1169 * lisp.h (do_switch_frame, Fselect_frame)
1170 (Fset_frame_selected_window): Adjust declarations.
1171 * window.c (select_frame_norecord): New function.
1172 (run_window_configuration_change_hook): Use it and call
1173 Fselect_frame with NORECORD set.
1174 (Fselect_window): Pass NORECORD to Fselect_frame.
1175 (Fset_window_configuration): Handle NORECORD argument in call of
1176 do_switch_frame.
1177 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1178 Fset_frame_selected_window.
1179 * keyboard.c (command_loop_1): Handle NORECORD in call of
1180 Fselect_frame (currently ifdefd).
1181
9020b223
GM
11822008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1183
1184 * emacs.c (USAGE2): Untabify.
1185
793ffee8
SM
11862008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1187
1188 * composite.c (fill_gstring_header): Fix copy/paste typo.
1189
ab6d1131
MR
11902008-10-31 Martin Rudalics <rudalics@gmx.at>
1191
1192 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1193 (Fother_window): Rename argument and rewrite doc-string.
1194 (select_window_norecord): Fix return value. (Bug#1276)
1195
601a9cf1
JB
11962008-10-30 Juanma Barranquero <lekktu@gmail.com>
1197
1198 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1199 new frames overriding foreground for tooltips. Based on similar patch
1200 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1201
813b0652
CY
12022008-10-29 Chong Yidong <cyd@stupidchicken.com>
1203
1204 * emacs.c (Fdaemon_initialized): Initialize nfd.
1205
4414f58f
MR
12062008-10-29 Martin Rudalics <rudalics@gmx.at>
1207
1208 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1209 (Fwindow_text_height): Clarify doc-strings.
1210 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1211 doc-string of window-scroll-functions.
1212
ecdcaa09
RS
12132008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1214
1215 * category.c (syms_of_category): Fix typo in docstring.
1216
23fe745a
JB
12172008-10-28 Juanma Barranquero <lekktu@gmail.com>
1218
1219 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1220 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1221 Fix typos in docstrings.
1222
ff808935
DN
12232008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1224
1225 * emacs.c (daemon_pipe): Make non-static.
1226 (IS_DAEMON): Move definition ...
1227 * lisp.h (IS_DAEMON): ... here.
1228 (daemon_pipe): Declare.
1229 (is_daemon): Remove.
1230 * dispnew.c (init_display): Use IS_DAEMON.
1231
fc012771
SM
12322008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1233
1234 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1235 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1236
1237 * emacs.c (is_daemon): Remove.
1238 (main): Don't set is_daemon.
1239 (IS_DAEMON): New macro.
1240 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1241 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1242 parent exits.
1243 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1244
d8bdbe6f
CY
12452008-10-27 Chong Yidong <cyd@stupidchicken.com>
1246
d1a072bf
CY
1247 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1248 over-sized glyph, draw it with the default glyph width.
1249
e2e325aa
CY
1250 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1251 glyph, draw it with the default glyph width.
1252
1253 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1254 glyph, draw it with the default glyph width.
1255
d8bdbe6f
CY
1256 * xdisp.c (try_scrolling): When computing the distance from the
1257 scroll margin to PT, try moving some distance past the window
1258 bottom before giving up.
1259
7bfac547
MR
12602008-10-27 Martin Rudalics <rudalics@gmx.at>
1261
1262 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1263 (Fset_window_buffer): Explain in doc-string that a window can be
1264 "strongly" dedicated to its buffer.
1265
4ff029f6
DN
12662008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1267
1268 * emacs.c (daemon_name): New variable.
1269 (main): Deal with --daemon=SERVER_NAME.
1270 (Fdaemonp): Return a name if one was passed to --daemon.
1271
5790ef40
DN
12722008-10-26 Romain Francoise <romain@orebokech.com>
1273
f9bd0df9 1274 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1275 (main): Create a pipe before forking, make the parent exit only after
1276 the child has closed its end of the pipe. Move closing the
1277 descriptors ...
1278 (Fdaemon_initialized): ... here. New function.
1279
f5385255
SM
12802008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1281
4d632321
SM
1282 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1283 the previous unoptimized table.
1284
f5385255
SM
1285 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1286 the distinction between non-nil and non-t value of `dedicated'.
1287
6c56a0f3
CY
12882008-10-25 Chong Yidong <cyd@stupidchicken.com>
1289
1290 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1291 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1292
fec89261
MR
12932008-10-25 Martin Rudalics <rudalics@gmx.at>
1294
1295 * window.c (Fget_buffer_window, Fdelete_windows_on)
1296 (Freplace_buffer_in_windows): Make buffer argument optional and
1297 rename to buffer_or_name.
1298
34fcddd0
CY
12992008-10-24 Chong Yidong <cyd@stupidchicken.com>
1300
f5385255
SM
1301 * xdisp.c (handle_single_display_spec, handle_display_prop):
1302 Undo 2005-05-16 change.
34fcddd0
CY
1303 (handle_stop): Pop iterator if it's loaded with an empty string.
1304 (get_overlay_strings_1): Don't save iterator if it's loaded with
1305 an empty string (bug#1201).
1306
064766f2
KH
13072008-10-24 Kenichi Handa <handa@m17n.org>
1308
1309 * ftfont.c (ftfont_otf_features): Fix previous change.
1310 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1311 calling ftfont_otf_features.
1312
f9bd0df9 13132008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1314
1315 * font.c (font_match_p): Fix for the case that a vector of
1316 characters is in script-representative-chars.
1317
1dae9197
MA
13182008-10-24 Michael Albinus <michael.albinus@gmx.de>
1319
1320 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1321 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1322 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1323 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1324 macro. (Bug#1186).
1325
f9bd0df9 13262008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1327
1328 * s/sol2-10.h: New file.
1329
878a4584
JB
13302008-10-23 Juanma Barranquero <lekktu@gmail.com>
1331
1332 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1333 poor beast has survived 9+ years and the jump from xterm.c!).
1334
cd265ca6
MR
13352008-10-23 Martin Rudalics <rudalics@gmx.at>
1336
1337 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1338 Reword doc-string.
f5385255 1339 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1340
472a4dc9
JB
13412008-10-23 Juanma Barranquero <lekktu@gmail.com>
1342
1343 * character.c (syms_of_character) <script-representative-chars>:
1344 <unicode-category-table>: Doc fixes.
1345
159bd5a2
NF
13462008-10-23 Noah Friedman <friedman@splode.com>
1347
1348 * coding.c (make_conversion_work_buffer): Check that
1349 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1350 Fget_buffer_create.
1351
49f9c344
KH
13522008-10-23 Kenichi Handa <handa@m17n.org>
1353
1354 * font.c (font_add_log): Check the values of extra properties.
1355
12bb3111
MR
13562008-10-22 Martin Rudalics <rudalics@gmx.at>
1357
1358 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1359 Reword doc-string.
1360 (Fset_window_parameter): Use NILP.
1361 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1362 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1363
bbeb4e99
JB
13642008-10-22 Juanma Barranquero <lekktu@gmail.com>
1365
1366 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1367
13682008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1369
1370 * nsfns.m (ns_appkit_version): New function.
1371 (x-server-version): Use it.
1372 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1373 (x-server-vendor): Don't check_ns().
1374
1375 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1376
a9b555d3
JB
13772008-10-22 Juanma Barranquero <lekktu@gmail.com>
1378
1379 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1380 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1381
4626499f
KH
13822008-10-22 Kenichi Handa <handa@m17n.org>
1383
e3681952
KH
1384 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1385 scripts.
1386
4626499f
KH
1387 * category.c (word_boundary_p): Check scripts instead of charset.
1388 Handle nil value in word-separating-categories and
1389 word-combining-categories.
1390 (syms_of_category): Fix docstrings of word-separating-categories
1391 and word-combining-categories.
1392
1560f91a
EZ
13932008-10-21 Eli Zaretskii <eliz@gnu.org>
1394
1395 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1396 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1397
f4668441
MR
13982008-10-21 Martin Rudalics <rudalics@gmx.at>
1399
1400 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1401 Rename arg "buffer" to "buffer_or_name".
1402 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1403 it optional.
1404 (no_switch_window): Remove since the return value is not used.
a9b555d3 1405 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1406 Consider window as dedicated when Fwindow_dedicated_p returns a
1407 non-nil value.
1408 * lisp.h: Remove prototype for no_switch_window.
1409
fd75ddb2
JD
14102008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1411
1412 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1413 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1414
07295713
KH
14152008-10-21 Kenichi Handa <handa@m17n.org>
1416
1417 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1418 check Vlatin_extra_code_table.
1419
712adc82
EZ
14202008-10-20 Eli Zaretskii <eliz@gnu.org>
1421
1422 * fileio.c (Fset_file_modes): Doc fix.
1423
f549eb0b
MA
14242008-10-19 Michael Albinus <michael.albinus@gmx.de>
1425
1426 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1427 in arrays.
1428
aac0c6e3
MR
14292008-10-19 Martin Rudalics <rudalics@gmx.at>
1430
1431 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1432 Mention kill-buffer in doc-string.
1433 (Fset_window_buffer): Reinsert tem check removed in last commit.
1434 (Fenlarge_window, Fshrink_window): Have argument names and
1435 doc-string follow Elisp manual more closely.
1436
14372008-10-18 Eli Zaretskii <eliz@gnu.org>
1438
1439 * fileio.c (Fset_file_modes): Doc fix.
1440
14412008-10-18 Martin Rudalics <rudalics@gmx.at>
1442
1443 * window.c (Fwindow_width, Fset_window_start)
1444 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1445 (Fdelete_windows_on, Freplace_buffer_in_windows):
1446 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1447 (Fwindow_dedicated_p): Make window argument optional.
1448 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1449 (Fset_window_buffer): Respect any non-nil dedicated value for
1450 window. Rename "buffer" argument to "buffer_or_name".
1451
14522008-10-18 Ulrich Mueller <ulm@gentoo.org>
1453
1454 * m/sh3.h: New file, machine description for SuperH.
1455
14562008-10-17 Martin Rudalics <rudalics@gmx.at>
1457
1458 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1459
14602008-10-17 Kenichi Handa <handa@m17n.org>
1461
1462 * ftfont.c (ftfont_otf_features): Fix indexing
1463 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1464
14652008-10-16 Magnus Henoch <mange@freemail.hu>
1466
1467 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1468 (Fdbus_call_method_asynchronously): Ditto.
1469 This change makes C-h f display the argument list.
1470
14712008-10-16 Chong Yidong <cyd@stupidchicken.com>
1472
1473 * fileio.c (Fexpand_file_name): Doc fix.
1474
1475 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1476 of :foreground and :background equivalent to unspecified (20.x
1477 compatibility).
1478
14792008-10-15 Eli Zaretskii <eliz@gnu.org>
1480
1481 * buffer.c (syms_of_buffer): Doc fix.
1482
14832008-10-14 Kenichi Handa <handa@m17n.org>
1484
1485 * font.c (font_clear_prop): When clearing font width, clear the
1486 average width field too.
1487
14882008-10-12 Andreas Schwab <schwab@suse.de>
1489
1490 * ftfont.c (ftfont_shape_by_flt): Make static.
1491 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1492
1493 * font.c: Don't include <m17n-flt.h>.
1494
14952008-10-10 Eli Zaretskii <eliz@gnu.org>
1496
1497 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1498
14992008-10-09 Eli Zaretskii <eliz@gnu.org>
1500
1501 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1502 away code.
1503
15042008-10-09 Chong Yidong <cyd@stupidchicken.com>
1505
1506 * dispnew.c (update_text_area): Avoid looping due to large glyph
1507 overhangs (bug#1070).
1508
15092008-10-09 Kenichi Handa <handa@m17n.org>
1510
1511 * fontset.c (face_for_char): If face->fontset is negative, just
1512 return ascii_face.
1513
f5385255
SM
1514 * font.c (font_delete_unmatched): Fix previous change.
1515 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1516
15172008-10-09 Martin Rudalics <rudalics@gmx.at>
1518
1519 * frame.c (Fraise_frame): On text-only terminals select frame in
1520 order to make it visible. (Bug#1061)
1521
15222008-10-08 Chong Yidong <cyd@stupidchicken.com>
1523
1524 * fontset.c (fontset_find_font): Check frame validity.
1525
15262008-10-07 Chong Yidong <cyd@stupidchicken.com>
1527
a9b555d3 1528 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1529 (xg_display_close): Allow Emacs to close all displays (bug#985).
1530
15312008-10-06 Andreas Schwab <schwab@suse.de>
1532
f5385255 1533 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1534
15352008-10-06 Chong Yidong <cyd@stupidchicken.com>
1536
f5385255 1537 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1538
a9b555d3 1539 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1540
1541 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1542 during initialization.
1543
15442008-10-04 Eli Zaretskii <eliz@gnu.org>
1545
1546 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1547 whole thing on MSDOS frames as well as on a TTY.
1548
1549 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1550 well as for TTY.
1551 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1552 well as on a TTY.
1553
1554 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1555 as well as for TTY.
1556
1557 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1558
1559 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1560 MSDOS frames as well.
1561
15622008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1563
1564 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1565 correct arguments.
1566 * menu.c (find_and_return_menu_selection) Add cast.
1567
15682008-10-03 Glenn Morris <rgm@gnu.org>
1569
1570 * emacs.c (USAGE1): Add --daemon.
1571
15722008-10-02 Eli Zaretskii <eliz@gnu.org>
1573
1574 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1575 100, so it's in percents as advertised.
1576
15772008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1578
1579 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1580 (ns_output.current_cursor, ns_output.desired_cursor)
1581 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1582 (FRAME_NEW_CURSOR_COLOR): Remove.
1583
1584 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1585 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1586 enumeration (HOLLOW_BOX_CURSOR, etc.).
1587
1588 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1589 (draw_window_cursor): Simplify code.
f5385255
SM
1590 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1591 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1592 updates manually.
a9b555d3
JB
1593 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1594 Use core Emacs cursor types.
aac0c6e3 1595
b8ff72fa 1596 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1597
15982008-10-02 Martin Rudalics <rudalics@gmx.at>
1599
1600 * process.c (Faccept_process_output): Fix doc-string.
1601
16022008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1603
1604 * gmalloc.c (__sbrk): Also define for uClibc.
1605
1606 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1607 for uClibc.
1608
16092008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1610
1611 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1612 styles.
1613 (nsfont_open): Reenable the cache.
1614
16152008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1616
1617 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1618 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1619
16202008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1621
1622 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1623 a suspended terminal.
1624
16252008-09-30 Michael Albinus <michael.albinus@gmx.de>
1626
1627 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1628
16292008-09-30 Eli Zaretskii <eliz@gnu.org>
1630
1631 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1632
16332008-09-30 Chong Yidong <cyd@stupidchicken.com>
1634
1635 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1636 in a continued line coincides with a line beginning.
1637
16382008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1639
1640 * nsfont.m (nsfont_trait_distance): Fix bug.
1641 (nsfont_list): Return a list rather than a vector (syncs with Handa
1642 changes of 2008-05-14).
1643 (nsfont_open): Improve logging.
1644
16452008-09-29 Andreas Schwab <schwab@suse.de>
1646
1647 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1648
16492008-09-28 Martin Rudalics <rudalics@gmx.at>
1650
1651 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1652 name as char-resolve-modifiers.
1653 Reported by: Markus Triska <markus.triska@gmx.at>
1654
16552008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1656
1657 * dispnew.c (init_display): Return earlier when running as a daemon.
1658
16592008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1660
1661 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1662
16632008-09-27 Eli Zaretskii <eliz@gnu.org>
1664
1665 * composite.c (Fcomposition_get_gstring)
1666 (Fcompose_region_internal, Fcompose_string_internal)
1667 (Ffind_composition_internal): Doc fix.
1668 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1669 (syms_of_composite) <auto-composition-function>: Doc fix.
1670 (syms_of_composite) <composition-function-table>: Doc fix.
1671
16722008-09-25 Chong Yidong <cyd@stupidchicken.com>
1673
1674 * search.c (wordify): New argument for lax word-ends.
1675 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1676
16772008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1678
1679 * lisp.h (is_daemon): Declare.
1680 * dispnew.c (init_display): Do not try to initialize the terminal
1681 when running as a daemon.
1682
16832008-09-22 Chong Yidong <cyd@stupidchicken.com>
1684
1685 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1686 x_display_pixel_height.
1687
16882008-09-22 Martin Rudalics <rudalics@gmx.at>
1689
1690 * undo.c (record_point): Don't call Fundo_boundary for first
1691 change. (Bug#731)
1692
16932008-09-22 Juanma Barranquero <lekktu@gmail.com>
1694
1695 * emacs.c (Fdaemonp): Doc fix.
1696
16972008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1698
1699 * emacs.c (main): Place #ifdef in the proper place.
1700
17012008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1702
1703 * emacs.c (standard_args): Add --daemon.
1704 (main): Disconnect from the terminal when --daemon is passed.
1705 (is_daemon): New variable.
1706 (Fdaemonp): New function.
1707 (syms_of_emacs): Defsubr it.
1708
17092008-09-20 Chong Yidong <cyd@stupidchicken.com>
1710
1711 * xdisp.c (get_next_display_element): Handle string display
1712 correctly when checking for the end of a box run.
1713
17142008-09-20 Glenn Morris <rgm@gnu.org>
1715
1716 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1717 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1718 (Frename_file): Avoid copying to trash if a rename involves
1719 a delete. (Bug#964).
1720
17212008-09-20 Eli Zaretskii <eliz@gnu.org>
1722
1723 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1724 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1725 frames as well as termcap frames.
1726 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1727 get_named_tty.
1728
17292008-09-19 Eli Zaretskii <eliz@gnu.org>
1730
1731 * process.c (procfs_system_process_attributes): Fix cmdline in
1732 case /proc/PID/cmdline is empty.
1733
1734 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1735 x_display_pixel_height.
1736
17372008-09-19 Juanma Barranquero <lekktu@gmail.com>
1738
1739 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1740
1741 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1742 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1743
17442008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1745
1746 * dispextern.h (struct it): Move line_wrap away from the middle of
1747 bitfields. Move voffset in struct iterator_stack_entry after the
1748 bitfields. Move tab_width near after another short.
1749
17502008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1751
1752 * frame.h (struct frame): Move alpha from the middle of bitfields.
1753
1754 * window.h (struct window): Move frozen_window_start_p after the
1755 rest of the bitfields to reduce padding.
1756
17572008-09-18 Chong Yidong <cyd@stupidchicken.com>
1758
1759 * xterm.h (x_display_info): Remove `height' and `width' members.
1760
1761 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1762
1763 * w32term.h (w32_display_info): Remove `height', `width',
1764 `height_in', and `width_in' members.
1765
b8ff72fa
SM
1766 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1767 New functions.
aac0c6e3
MR
1768 (x_calc_absolute_position): Use them.
1769 (x_term_init): Omit removed `height' and `width' members.
1770
b8ff72fa
SM
1771 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1772 New functions.
aac0c6e3
MR
1773 (w32_read_socket, x_calc_absolute_position): Use them.
1774 (w32_initialize_display_info, w32_term_init): Omit removed members
1775 of w32_display_info.
1776
b8ff72fa
SM
1777 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1778 New functions.
1779 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1780
b8ff72fa
SM
1781 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1782 New functions.
aac0c6e3
MR
1783 (x_calc_absolute_position): Use them.
1784 (x_term_init): Omit removed `height' and `width' members.
1785
1786 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1787 (compute_tip_xy):
1788 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1789 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1790 x_display_pixel_width.
1791
17922008-09-18 Kenichi Handa <handa@m17n.org>
1793
1794 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1795 (composition_compute_stop_pos): Fix handling of static composition.
1796 (Fcomposition_get_gstring): Check FROM and TO at first.
1797
17982008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1799
1800 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1801 mixup (YAILOM).
1802
18032008-09-17 Chong Yidong <cyd@stupidchicken.com>
1804
1805 * indent.c (Fvertical_motion): Use position reported by iterator
1806 instead of PT for determining screen motion (bug#943).
1807
18082008-09-17 Romain Francoise <romain@orebokech.com>
1809
1810 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1811
18122008-09-17 Kenichi Handa <handa@m17n.org>
1813
1814 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1815
1816 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1817 if necessary.
1818
18192008-09-16 Kenichi Handa <handa@m17n.org>
1820
1821 * coding.c (make_conversion_work_buffer): Avoid calling
1822 Fget_buffer_create if it is not necessary.
1823
18242008-09-15 Martin Rudalics <rudalics@gmx.at>
1825
1826 * window.c (Fselect_window): Don't update window_select_count and
1827 use_time when norecord is not nil.
1828
18292008-09-14 Kenichi Handa <handa@m17n.org>
1830
1831 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1832 specpdl_ptr.
1833
18342008-09-12 Kenichi Handa <handa@m17n.org>
1835
1836 * indent.c (scan_for_column): Don't handle automatic composition
1837 if the current buffer is not associated with a window.
1838
1839 * composite.c (composition_reseat_it): If the current buffer is
1840 not associated with a window, ignore the automatic composition.
1841 (find_automatic_composition): Likewise.
1842
18432008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1844
1845 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1846 (Fgpm_mouse_stop): Use it.
1847 * termhooks.h (close_gpm): Declare.
1848 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1849 connection if Gpm_GetEvent fails.
1850
1851 * window.c (set_window_buffer): Always preserve current-buffer.
1852
18532008-09-12 Glenn Morris <rgm@gnu.org>
1854
1855 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1856
18572008-09-11 Glenn Morris <rgm@gnu.org>
1858
1859 * charset.c (charset-map-path): Doc fix.
1860
18612008-09-10 Kenichi Handa <handa@m17n.org>
1862
1863 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1864
1865 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1866 compose a grapheme cluster with the preceding base glyph.
1867
1868 * composite.c (composition_compute_stop_pos): Fix previous change.
1869 Reset cmp_it->id to -1 at first.
1870
18712008-09-10 Glenn Morris <rgm@gnu.org>
1872
1873 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1874
18752008-09-09 Chong Yidong <cyd@stupidchicken.com>
1876
1877 * keyboard.c (read_key_sequence): Reapply translation maps when
1878 switching keyboards.
1879
18802008-09-09 Kenichi Handa <handa@m17n.org>
1881
1882 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1883 characters.
1884
1885 * composite.c (FORWARD_CHAR): Fix calculation
1886 of (POSITION).pos_byte.
1887 (composition_compute_stop_pos): Limit the search of composition to
1888 at most 500 characters ahead. If we reach the limit or find a
1889 newline, set cmp_it->ch to -2 and return 0.
1890 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1891
18922008-09-08 Kenichi Handa <handa@m17n.org>
1893
1894 * indent.c (Fvertical_motion): Be sure to set
1895 it_overshoot_expected if it.cmp_it.id is non-negative.
1896
18972008-09-07 Andreas Schwab <schwab@suse.de>
1898
1899 * callproc.c (Fcall_process): Don't hold references to string data
1900 across garbage collection. Move initialisation of new_argv down
1901 to avoid compiler bug.
1902
19032008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1904
1905 * process.c (Fsystem_process_attributes): Doc fix.
1906
19072008-09-07 Chong Yidong <cyd@stupidchicken.com>
1908
1909 * callproc.c (Fcall_process): Canonicalize current directory name.
1910
1911 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1912 iterator advances to the next line if the current line ends in a
1913 continued tab.
1914
19152008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1916
1917 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1918 member to point to cmp_from.
1919
1920 * xdisp.c: Doc fix for references to gidx data member.
1921
19222008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1923
1924 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1925
19262008-09-07 Kenichi Handa <handa@m17n.org>
1927
1928 * composite.c (FORWARD_CHAR): Check STOP after
1929 incrementing (POSITION).pos.
1930
19312008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1932
1933 * process.c (Fsystem_process_attributes): Doc fix.
1934
19352008-09-06 Chong Yidong <cyd@stupidchicken.com>
1936
1937 * keyboard.c (Ftop_level): Doc fix.
1938
19392008-09-06 Eli Zaretskii <eliz@gnu.org>
1940
1941 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1942 minibuffer, don't let lower part of menu invade the echo area.
1943
1944 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1945 "char *q" to access menu text and advance through it. Revert the
1946 change that displayed ">" instead of ASCII character 0x10.
1947
19482008-09-05 Eli Zaretskii <eliz@gnu.org>
1949
1950 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1951 toggle boxes and radio buttons on MS-DOS as well.
1952
19532008-09-05 Kenichi Handa <handa@m17n.org>
1954
1955 * composite.c (autocmp_chars): Check lookback count.
1956 (composition_compute_stop_pos): Set cmp_it->lookback.
1957 (composition_reseat_it): Check lookback count.
1958 (struct position_record): New struct.
1959 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1960 (find_automatic_composition): New function.
1961 (composition_adjust_point): Use find_automatic_composition.
1962
1963 * dispextern.h (struct composition_it): New member lookback.
1964
19652008-09-02 Chong Yidong <cyd@stupidchicken.com>
1966
1967 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1968 if moving by a single line.
1969
19702008-09-02 Andreas Schwab <schwab@suse.de>
1971
1972 * xterm.c (x_delete_display): Fix merge error.
1973
1974 * fileio.c (Fexpand_file_name): Remove unused variables.
1975
19762008-09-02 Eli Zaretskii <eliz@gnu.org>
1977
1978 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1979 storage on all platforms, not just on DOS_NT.
1980
19812008-09-02 Jason Rumney <jasonr@gnu.org>
1982
b8ff72fa
SM
1983 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1984 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1985
19862008-09-01 Chong Yidong <cyd@stupidchicken.com>
1987
1988 * xfaces.c (Finternal_set_alternative_font_family_alist)
1989 (Finternal_set_alternative_font_registry_alist): Properly copy
1990 entire alist structure.
1991
19922008-09-01 Kenichi Handa <handa@m17n.org>
1993
d66c0241 1994 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1995 representative chars of the script is a vector.
d66c0241
JB
1996 (ftfont_list): Handle the case where the representative chars of
1997 the script is a vector.
aac0c6e3
MR
1998
1999 * character.c (syms_of_character): Docstring of
2000 script-representative-chars fixed.
2001
20022008-08-31 Eli Zaretskii <eliz@gnu.org>
2003
2004 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2005 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2006 the menu. Allocate larger buffer for `text', to account for
2007 possible ^C characters.
2008
20092008-08-31 Martin Rudalics <rudalics@gmx.at>
2010
2011 * xdisp.c (prepare_menu_bars): Don't call
2012 Vwindow_size_change_functions with arg Qt.
2013
20142008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2015
2016 * font.h (font_range):
2017 * fileio.c (report_file_error):
2018 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2019
20202008-08-30 Glenn Morris <rgm@gnu.org>
2021
2022 * data.c (Fmake_variable_frame_local): Doc fix.
2023
2024 * frame.c (Fmodify_frame_parameters): Doc fix.
2025
20262008-08-30 Eli Zaretskii <eliz@gnu.org>
2027
2028 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2029 needed by GetTokenInformation.
2030 (w32_system_process_attributes): Check return values of all system
2031 APIs.
2032
2033 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2034 only when the state changes.
2035 (IT_update_begin, IT_update_end): Add termscript trace.
2036
2037 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2038 clipboard is unavailable. Set dst to NULL if it doesn't point to
2039 malloc'ed data.
2040 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2041 passing random values to xfree.
2042
2043 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2044 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2045
20462008-08-29 Jason Rumney <jasonr@gnu.org>
2047
2048 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2049
20502008-08-29 Eli Zaretskii <eliz@gnu.org>
2051
2052 * composite.c (fill_gstring_body): Avoid compiler warnings.
2053
2054 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2055 LGLYPH_SET_CODE to avoid compiler warnings.
2056
2ae37cf0 2057 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2058
2059 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2060
2061 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2062 LGLYPH_SET_CODE.
2063
20642008-08-29 Kenichi Handa <handa@m17n.org>
2065
2066 * fileio.c (report_file_error): Don't downcase the first character
2067 of errstring if it is still unibyte.
2068
20692008-08-29 Kenichi Handa <handa@m17n.org>
2070
2071 These changes are to re-implement the automatic composition so
2072 that it doesn't use text properties.
2073
2074 * Makefile.in (ftfont.o): Depend on composite.h.
2075 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2076
2077 * character.h (Vunicode_category_table): Extern it.
2078
2079 * character.c (Vunicode_category_table): New variable.
2080 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2081
2082 * chartab.c (optimize_sub_char_table): Perform more greedy
2083 optimization.
2084
b8ff72fa
SM
2085 * composite.h (enum composition_method):
2086 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2087 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2088 (Vcomposition_function_table): Extern it.
2089 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2090 (composition_gstring_put_cache, composition_gstring_from_id)
2091 (composition_gstring_p, composition_gstring_width)
2092 (composition_compute_stop_pos, composition_reseat_it)
2093 (composition_update_it, composition_adjust_point): Extern them.
2094 (Fcomposition_get_gstring): EXFUN it.
2095
d66c0241 2096 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2097 (Vcomposition_function_table)
2098 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2099 (gstring_hash_table, gstring_work, gstring_work_headers):
2100 New variables.
aac0c6e3
MR
2101 (gstring_lookup_cache, composition_gstring_put_cache)
2102 (composition_gstring_from_id, composition_gstring_p)
2103 (composition_gstring_width, fill_gstring_header)
2104 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2105 (composition_reseat_it, composition_update_it)
b8ff72fa 2106 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2107 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2108 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2109 Defsubr compostion_get_gstring.
2110
2111 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2112 cmp_id.
2113 (struct glyph_string): Delete the member gidx. New members
2114 cmp_id, cmp_from, and cmp_to.
2115 (enum it_method): Delete GET_FROM_COMPOSITION.
2116 (struct composition_it): New struct.
2117 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2118 Delete c, len, cmp_id, cmp_len in u.comp.
2119
2120 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2121 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2122 (enum lglyph_indices): Likewise.
b8ff72fa 2123 (font_range): Adjust extern.
aac0c6e3
MR
2124 (font_fill_lglyph_metrics): Extern it.
2125
2126 * font.c (QCf): New variable.
2127 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2128 (font_prepare_composition): Delete this function.
2129 (font_range): Type and arguments changed.
2130 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2131 (font_fill_lglyph_metrics): New function.
b8ff72fa 2132 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2133 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2134 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2135 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2136
2137 * fontset.h (font_for_char): Extern it.
2138
2139 * fontset.c (font_for_char): New function.
2140
2141 * ftfont.c: Include composite.h.
2142 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2143 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2144
2145 * indent.c: Include composite.h and dispextern.h.
2146 (check_composition): Delete this function.
2147 (scan_for_column): Handle composition by
2148 composition_compute_stop_pos, composition_reseat_it, and
2149 composition_update_it.
2150 (compute_motion): Likewise.
2151 (Fvertical_motion): Fix checking of composition.
2152
2153 * keyboard.c (adjust_point_for_property): Check composition by
2154 composition_adjust_point.
2155
b8ff72fa 2156 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2157 struct glyph_string.
2158
b8ff72fa
SM
2159 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2160 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2161 struct glyph.
2162 (produce_composite_glyph): Likewise.
2163
b8ff72fa
SM
2164 * w32term.c (x_draw_composite_glyph_string_foreground):
2165 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2166 (x_draw_glyph_string): Likewise.
2167
2168 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2169 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2170
2171 * xdisp.c: Include font.h.
2172 (it_props): Delete the entry for Qauto_composed.
2173 (init_iterator): Initialize it->cmp_it.id to -1.
2174 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2175 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2176 (handle_auto_composed_prop): Delete it.
2177 (handle_composition_prop): Handle only static composition.
2178 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2179 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2180 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2181 (pop_it): Likewise.
2182 (get_next_element): Delete next_element_from_composition.
2183 (CHAR_COMPOSED_P): New macro.
2184 (get_next_display_element): For automatic composition, get a face
2185 from the font in the glyph-string.
2186 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2187 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2188 (next_element_from_string): Check if the character at the current
2189 position is composed by CHAR_COMPOSED_P.
2190 (next_element_from_buffer): Likewise.
d66c0241
JB
2191 (next_element_from_composition): Adjust for the change of struct it.
2192 Update it->cmp_it.
b8ff72fa
SM
2193 (dump_glyph): Adjust for the change of struct glyph.
2194 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2195 it and struct glyph. Don't handle automatic composition here.
2196 (fill_gstring_glyph_string): New function.
2197 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2198 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2199 (BUILD_GSTRING_GLYPH_STRING): New macro.
2200 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2201 automatic composition.
b8ff72fa 2202 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2203 struct glyph.
b8ff72fa 2204 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2205
b8ff72fa 2206 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2207 the change of struct glyph_string.
2208 (x_draw_glyph_string): Likewise.
2209
22102008-08-29 Glenn Morris <rgm@gnu.org>
2211
2212 * buffer.c (word-wrap): Doc fix.
2213 * xdisp.c (truncate-partial-width-windows): Doc fix.
2214 Increase default to 50.
2215
22162008-08-29 Chong Yidong <cyd@stupidchicken.com>
2217
2218 * xdisp.c (update_tool_bar_unwind): New function.
2219 (update_tool_bar): Temporarily set selected frame before building
2220 tool-bar items.
2221
22222008-08-28 Michael Albinus <michael.albinus@gmx.de>
2223
2224 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2225 snprintf, respectively.
2226 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2227
22282008-08-28 Chong Yidong <cyd@stupidchicken.com>
2229
2230 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2231 LDFLAGS to GNUstep CC invocation.
2232
22332008-08-27 Chong Yidong <cyd@stupidchicken.com>
2234
2235 * indent.c (Fvertical_motion): Revert last change. Handle the
2236 general case where we are moving forward, and PT spans multiple
2237 screen lines.
2238
2239 * eval.c (find_handler_clause): Temporarily increase
2240 max-lisp-eval-depth while printing the backtrace buffer, to
2241 guarantee that help-mode code can run.
2242
22432008-08-27 Eli Zaretskii <eliz@gnu.org>
2244
2245 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2246 colors under -rv.
2247 (IT_set_frame_parameters): Don't swap foreground and background
2248 colors if `(reverse . t)' is present in the frame properties.
2249 (internal_terminal_init): Call init_frame_faces only for the
2250 initial frame.
2251
22522008-08-27 Andreas Schwab <schwab@suse.de>
2253
2254 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2255
22562008-08-27 Andreas Schwab <schwab@suse.de>
2257
2258 * search.c (search_buffer): Set char_base to zero only at the end.
2259
22602008-08-27 Kenichi Handa <handa@m17n.org>
2261
b8ff72fa 2262 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2263
22642008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2265
2266 * xterm.c (x_term_init): Temporarily hide the partially
2267 initialized terminal while calling vendor-specific-keysyms.
2268
22692008-08-26 Eli Zaretskii <eliz@gnu.org>
2270
2271 * msdos.c (internal_terminal_init): Most initializations done only
2272 once, especially initial_screen_colors[] and termscript open.
2273
22742008-08-26 Chong Yidong <cyd@stupidchicken.com>
2275
2276 * eval.c (Fcondition_case): Doc fix.
2277
2278 * widgetprv.h (EmacsFramePart): Change font member to the new font
2279 struct.
2280
2281 * widget.c: Include character.h and font.h for XSETFONT.
2282 (setup_frame_gcs): Compute X font id from font struct, just once.
2283
22842008-08-26 Eli Zaretskii <eliz@gnu.org>
2285
2286 * term.c (get_named_tty): Fix last change.
2287
22882008-08-26 Chong Yidong <cyd@stupidchicken.com>
2289
2290 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2291 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2292
22932008-08-25 Eli Zaretskii <eliz@gnu.org>
2294
2295 * frame.c (do_switch_frame): Mark previously displayed frame as
2296 obscured for FRAME_MSDOS_P frames as well.
2297
22982008-08-24 Eli Zaretskii <eliz@gnu.org>
2299
2300 * frame.c (make_terminal_frame): Initialize f->terminal,
2301 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2302 Set the top frame to newly created frame.
2303 (Fmake_terminal_frame): Reuse the_only_display_info.
2304
2305 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2306 estimating available memory.
2307
b97439ce 23082008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2309
2310 * nsterm.m (ns_draw_window_cursor): Don't call
2311 NSDisableScreenUpdates and NSEnableScreenUpdates on
2312 non-NS_IMPL_COCOA systems.
2313
23142008-08-23 Andreas Schwab <schwab@suse.de>
2315
2316 * process.c (procfs_system_process_attributes): Fix use of
2317 uninitialized variables.
2318
23192008-08-23 Eli Zaretskii <eliz@gnu.org>
2320
2321 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2322
2323 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2324 calling tty-set-up-initial-frame-faces.
2325
b8ff72fa
SM
2326 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2327 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2328
2329 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2330 addition to output_termcap.
2331
2332 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2333
2334 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2335 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2336 highlight.
2337
2338 * process.c [!subprocesses]: Define QCname.
2339 (syms_of_process): Intern and staticpro it.
2340
2341 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2342 Adjust for changes in encoding/decoding routines.
2343 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2344 encode_coding and decode_coding.
2345
b8ff72fa 2346 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2347
2348 * dosfns.c: Include frame.h before termhooks.h.
2349 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2350 variable termscript.
2351
2352 * s/msdos.h (USER_FULL_NAME): Define.
2353 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2354
2355 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2356 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2357 pw->pw_gecos.
2358
2359 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2360 SELECTED_FRAME as additional (1st) argument.
2361 (tty_read_avail_input): Handle output_msdos_raw in
2362 addition to output_termcap.
2363
2364 * msdos.c: Include frame.h before termhooks.h.
2365 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2366 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2367 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2368 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2369 (IT_set_terminal_modes, IT_reset_terminal_modes)
2370 (IT_set_frame_parameters): Use tty->termscript instead of a global
2371 variable termscript.
2372 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2373 global variable terminal_coding. Don't refer to
2374 Vnonascii_translation_table.
2375 (internal_terminal_init): Set Vwindow_system in current_kboard.
2376 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2377 Announce date and time of session start, if termscript is open.
2378 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2379 term.c:init_tty). Open termscript only of not already open.
2380 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2381 here instead of dos_ttraw. Don't initialize display if this is an
2382 initial tty. Don't set FRAME_FONT.
2383 (Vwindow_system_version): Bump to 23.
2384 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2385 is available, set up mouse_position_hook.
2386 (dos_ttraw, IT_set_terminal_modes): If called with initial
2387 terminal, do nothing.
2388 (IT_set_frame_parameters): Handle the Qtty_type frame
2389 parameter by calling internal_terminal_init.
2390 (dos_set_window_size, show_mouse_face)
2391 (clear_mouse_face, IT_note_mode_line_highlight)
2392 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2393 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2394 (initialize_msdos_display): New function.
2395 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2396 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2397 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2398 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2399 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2400 (request_sigio, unrequest_sigio): Don't define, now defined on
2401 sysdep.c.
2402 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2403
2404 * term.c [MSDOS]: Include msdos.h.
2405 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2406 conditional to DOS_NT. Allow only one call to this function in a
2407 session. Don't allocate a new struct tty_display_info; instead,
2408 reuse the_only_display_info. Call get_tty_size to get screen
2409 dimensions. Call init_baud_rate to set bad_rate.
2410 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2411 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2412 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2413 (get_tty_terminal, get_named_tty, Ftty_type)
2414 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2415 output_termcap.
b8ff72fa
SM
2416 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2417 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2418 only when subprocesses are supported.
aac0c6e3
MR
2419
2420 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2421 f->output_data.x.
2422 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2423 terminal devices.
2424
5582fbc7 2425 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2426 x_output.
2427 (FRAME_FONT): Use output_data.tty.
2428 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2429 (struct x_display_info): Rename from display_info. Update all users in
2430 msdos.c.
aac0c6e3 2431 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2432 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2433 (dos_ttraw): Update prototype.
2434
2435 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2436 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2437
24382008-08-23 Jason Rumney <jasonr@gnu.org>
2439
2440 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2441 (fn_TIFFSetDirectory): New library function used.
2442 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2443 (tiff_load): Use :index to select among multiple images. Set count
2444 property when multiple images exist.
2445 (gif_format): Use :index, not :image.
2446
24472008-08-23 Chong Yidong <cyd@stupidchicken.com>
2448
2449 * xdisp.c (try_scrolling): Check INT_MAX instead of
2450 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2451 to obtain INT_MAX.
2452
24532008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2454
2455 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2456
24572008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2458
2459 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2460 GNUstep library location.
2461
24622008-08-21 Chong Yidong <cyd@stupidchicken.com>
2463
2464 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2465 before using it.
2466
2467 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2468
24692008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2470
2471 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2472 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2473 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2474 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2475 (EmacsApp-cursor_blink_handler): Remove declaration.
2476 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2477 match 01 Feb 2008 changes in xterm.c.
2478 (ns_read_socket): Add cast to avoid warning.
2479 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2480 GNUstep.
2481
24822008-08-20 Chong Yidong <cyd@stupidchicken.com>
2483
2484 * xselect.c (x_get_foreign_selection): Return nil if desired
2485 selection could not be obtained, instead of signalling an error.
2486
24872008-08-20 David Reitter <david.reitter@gmail.com>
2488
2489 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2490 * nsterm.m: Remove ns-specific code for cursor blinking.
2491 (ns_draw_window_cursor): Clear cursor properly rather than
2492 redrawing the area. Respect width of bar cursors.
2493 These changes enable the use of generic blink-cursor-mode and
2494 generic cursor types in NS and support smooth cursor movements (do
2495 not blink off after command).
2496 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2497 Nextstep, too.
2498
24992008-08-19 Kenichi Handa <handa@m17n.org>
2500
2501 * font.c (Vfont_log_deferred): New variable.
2502 (font_add_log): Check Vfont_log_deferred.
2503 (font_deferred_log): New function.
2504
2505 * font.h (font_deferred_log): Extern it.
2506
2507 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2508 for sorting.
2509 (face_for_char): Use deferred log.
2510
25112008-08-18 Kenichi Handa <handa@m17n.org>
2512
2513 * fontset.c (face_for_char): Add font log.
2514
2515 * font.c (font_add_log): Add the font properties :script, :lang,
2516 and :otf in the log.
2517
25182008-08-17 Chong Yidong <cyd@stupidchicken.com>
2519
2520 * xdisp.c: Remove dead code.
2521 (handle_invisible_prop, next_overlay_string): Defer call to
2522 setup_for_ellipsis.
2523 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2524
25252008-08-15 Chong Yidong <cyd@stupidchicken.com>
2526
2527 * xfaces.c (lookup_derived_face): Properly handle possible zero
2528 return value of get_lface_attributes.
2529 (merge_faces): Don't tell lookup_derived_face to signal an error
2530 if face is not found.
2531
2532 * dired.c (Fdirectory_files): Doc fix.
2533
2534 * process.c (make_process): Initialize kill_without_query struct
2535 member.
2536
25372008-08-15 Eli Zaretskii <eliz@gnu.org>
2538
2539 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2540 Alternative calculation of totphys for Visual Studio 6.
2541
2542 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2543
2544 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2545 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2546 All users changed.
2547 (stat): Only root directory passed to GetDriveType. Allow RAM
2548 disk as well as local fixed disk when w32-get-true-file-attributes
2549 is set to `local'.
2550 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2551 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2552 (w32_cached_id, w32_add_to_cache): New functions.
2553 (get_name_and_id): Look account names in the cache before calling
2554 lookup_account_sid.
2555 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2556 New initialization flags.
2557 (globals_of_w32): Initialize them to zero.
2558 (w32_system_process_attributes): Use w32_cached_id and
2559 w32_add_to_cache.
2560
25612008-08-14 Lawrence Mitchell <wence@gmx.li>
2562
2563 * lread.c (Fread_char, Fread_char_exclusive): If no character
2564 event is read before timeout is reached, return nil, rather than
2565 converting to a number.
2566
25672008-08-14 Chong Yidong <cyd@stupidchicken.com>
2568
2569 * fns.c (use_dialog_box): Doc fix.
2570
2571 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2572 on OS X.
2573
25742008-08-13 Chong Yidong <cyd@stupidchicken.com>
2575
2576 * frame.c (Qns_parse_geometry): New var.
2577 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2578
25792008-08-11 Chong Yidong <cyd@stupidchicken.com>
2580
2581 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2582 space character in calculating tabs.
2583
25842008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2585
2586 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2587
25882008-08-10 Glenn Morris <rgm@gnu.org>
2589
2590 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2591 silence gcc "limited range of data type" warnings in some
2592 make_fixnum_or_float calls.
2593
25942008-08-09 Eli Zaretskii <eliz@gnu.org>
2595
2596 * w32.c (w32_system_process_attributes): If the process does not
2597 exist, return nil.
2598
2599 * w32.c: Include thelp32.h, psapi.h and coding.h.
2600 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2601 declarations.
2602 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2603 (Process32Next_Proc): New typedefs.
2604 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2605 (g_b_init_process32_next, g_b_init_open_thread_token)
2606 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2607 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2608 (g_b_init_get_process_working_set_size)
2609 (g_b_init_global_memory_status_ex): New static variables.
2610 (globals_of_w32): Initialize them.
2611 (create_toolhelp32_snapshot, process32_first, process32_next)
2612 (open_thread_token, impersonate_self, revert_to_self)
2613 (get_process_memory_info, get_process_working_set_size)
2614 (global_memory_status, global_memory_status_ex): New wrapper
2615 functions.
2616 (w32_list_system_processes, w32_system_process_attributes)
2617 (enable_privilege, restore_privilege, ltime, process_times):
2618 New functions.
2619 (convert_time_raw): New function.
2620 (convert_time): Remove conversion of FILETIME into time in 100
2621 nsec units, call convert_time_raw instead.
2622
2623 * process.h (w32_list_system_processes, w32_system_process_attributes):
2624 Add prototypes.
2625 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2626 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2627 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2628 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2629
2630 * process.c (Fsystem_process_attributes): Doc fix.
2631
26322008-08-08 Chong Yidong <cyd@stupidchicken.com>
2633
2634 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2635 a continued multi-char glyph; if so, advance to the actual glyph.
2636
26372008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2638
2639 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2640
2641 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2642 (.m.o): Use it.
2643 * config.in: Regenerate.
2644
26452008-08-07 Chong Yidong <cyd@stupidchicken.com>
2646
2647 * xdisp.c (redisplay_window): Revert last change.
2648 (try_window): Check bottom scroll margin too.
2649
26502008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2651
2652 * config.in: Regenerate.
2653
2654 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2655 -list-load-path-shadows'.
2656 (nsgui.h): Reduce number of things depending on it.
2657
26582008-08-06 Chong Yidong <cyd@stupidchicken.com>
2659
2660 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2661 instead of window-end which does the wrong thing at eob.
2662 (try_cursor_movement): Minor optimization.
2663 (redisplay_window): If scroll margin is defined, don't assume
2664 window doesn't need scrolling.
2665
26662008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2667
2668 * config.in: Regenerate.
2669
2670 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2671 (mostlyclean): Don't delete *.d under NS.
2672
2673 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2674
26752008-08-06 Kenichi Handa <handa@m17n.org>
2676
2677 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2678
26792008-08-06 Andreas Schwab <schwab@suse.de>
2680
2681 * config.in: Regenerate.
2682
26832008-08-05 Chong Yidong <cyd@stupidchicken.com>
2684
2685 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2686 forcing a window start.
2687
2688 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2689 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2690
26912008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2692
2693 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2694 argument.
2695
26962008-08-05 Juanma Barranquero <lekktu@gmail.com>
2697
2698 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2699 <scroll-down-aggressively, before-change-functions>:
2700 <after-change-functions>: Reflow docstrings.
2701
27022008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2703 Ken Raeburn <raeburn@gnu.org>
2704
2705 Dock menu customization, based on a patch by Ken Raeburn, plus some
2706 other fixes.
2707 * nsmenu.m (dockMenu): New variable.
2708 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2709
2710 * nsterm.h (dockMenu): Declare.
2711
2712 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2713 (ns_term_init): Initialize dockMenu.
2714 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2715 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2716 left.
2717
2718 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2719
27202008-08-04 Chong Yidong <cyd@stupidchicken.com>
2721
2722 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2723
2724 * config.in: Regenerate.
2725
27262008-08-04 Seiji Zenitani <zenitani@mac.com>
2727
2728 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2729
27302008-08-04 Chong Yidong <cyd@stupidchicken.com>
2731
2732 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2733
27342008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2735
2736 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2737
2738 * keyboard.h: Comment an #endif.
2739
2740 * lisp.h (have_menus_p): Adjust comment.
2741
2742 * menu.c (find_and_return_menu_selection): Fix comparison with
2743 client_data.
2744
2745 * nsmenu.m (popup_activated_flag): New variable.
2746 (popup_activated): New function.
2747 (menu-or-popup-active-p): New exported lisp definition.
2748 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2749 when popup done.
2750 (ns_popup_dialog): Set popup_activated_flag.
2751
2752 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2753 version for GNUstep (handled by conditional typedef in nsterm.m).
2754 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2755 in rgb.txt).
2756
2757 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2758
2759 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2760
2761 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2762
2763 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2764 shortcircuit if popup_activated like GTK and X toolkit.
2765
2766 * m/inter386.h: Change DARWIN to DARWIN_OS.
2767
2768 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2769 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2770 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2771 comment on NO_SOCK_SIGIO.
2772
27732008-08-03 Chong Yidong <cyd@stupidchicken.com>
2774
2775 * nsterm.m (windowDidResize): Remove stopModal call.
2776
27772008-08-03 Andreas Schwab <schwab@suse.de>
2778
2779 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2780 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2781
27822008-08-02 Chong Yidong <cyd@stupidchicken.com>
2783
2784 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2785 Don't use uninitialized pointer variable when using getrlimit.
2786
27872008-08-02 Jason Rumney <jasonr@gnu.org>
2788
2789 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2790
27912008-08-02 Eli Zaretskii <eliz@gnu.org>
2792
2793 * alloc.c (NSTATICS): Bump to 0x640.
2794
2795 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2796
2797 * lisp.h: Add prototype for directory_files_internal.
2798
2799 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2800 New functions.
2801 (syms_of_process): Defsubr them. Add initializations for various
2802 Q* symbols used in procfs_system_process_attributes.
2803 (procfs_list_system_processes, procfs_system_process_attributes)
2804 [HAVE_PROCFS]: New functions.
2805 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2806 (procfs_get_total_memory): New functions.
2807
28082008-08-01 Juanma Barranquero <lekktu@gmail.com>
2809
2810 * xfaces.c (Fx_load_color_file): Fix previous change;
2811 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2812
28132008-08-01 Michael Albinus <michael.albinus@gmx.de>
2814
2815 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2816
28172008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2818
2819 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2820
28212008-08-01 Chong Yidong <cyd@stupidchicken.com>
2822
2823 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2824
2825 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2826 define NSApplicationDelegateReplySuccess.
2827 (EmacsView -converstationIdentifier): Use long instead of
2828 NSInteger for GNUstep, since it doesn't have NSInteger.
2829
2830 * xmenu.c: Revert last change.
2831
2832 * keyboard.h: Fix last change.
2833
28342008-08-01 Juanma Barranquero <lekktu@gmail.com>
2835
2836 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2837 on Windows.
2838
28392008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2840
2841 Warning clearing and clean-up in NS port.
2842 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2843 Add prototypes.
2844 * nsgui.h (FACE_DEFAULT): Remove, unused.
2845 (XGCValues): Change colors to unsigned long.
2846 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2847 nsterm.m.
2848 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2849 (ns_list_fonts): Remove, unused.
2850 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2851 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2852 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2853 (nsfont_draw): Compare face colors to 0, not nil.
2854 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2855 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2856 (-addSubmenuWithTitle:): Use NSMenuItem class.
2857 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2858 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2859 (ns_clip_to_row): Make gc arg a BOOL.
2860 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2861 ns_clip_to_row() call.
2862 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2863 used). Cast FRAME_FONT assignments.
2864 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2865 (ns_string_to_lispmod): Change arg to const char.
2866 (ns_term_init): Use NSMenuItem class.
2867 (EmacsApp -openFile:): Move to different section of file.
2868 (EmacsApp -application:openFiles:): Don't return a value, call
2869 -replyToOpenOrPrint:.
2870 (EmacsView -keyDown:): Fix up cast.
2871 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2872 (EmacsView -menuDown:): Cast tag in call to
2873 find_and_call_menu_selection().
2874 (ns_list_fonts): Remove, unused.
2875 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2876 (ns_fontname_to_xlfd): Make static.
2877 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2878 Remove prototypes (now in keyboard.h).
2879 (next_menubar_widget_id): Remove, unused.
2880 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2881 Remove prototypes (now in keyboard.h).
2882 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2883
28842008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2885
2886 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2887 (floatfns.o): Depend on syssignal.h.
2888 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2889
2890 * systty.h: Fix previous change that removed BSD_TERMIOS.
2891 Add comments to #ifdefs.
2892
28932008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2894
2895 * w32fns.c (w32-load-color-file): Remove.
2896 (x-open-connection): Use renamed Fx_load_color_file.
2897 * xfaces.c (x-load-color-file): Add.
2898 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2899 Emacs.clr.
2900 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2901
29022008-07-31 Michael Albinus <michael.albinus@gmx.de>
2903
2904 * dbusbind.c (Fdbus_call_method_asynchronously)
2905 (Fdbus_method_error_internal): New defuns.
2906 (xd_read_message): Handle also reply messages.
2907 (Vdbus_registered_functions_table): Extend docstring.
2908
29092008-07-31 Juanma Barranquero <lekktu@gmail.com>
2910
2911 * keyboard.c (gobble_input): Fix previous change.
2912
29132008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2914
2915 * bitmaps/README:
2916 * xfns.c:
2917 * termcap.c:
2918 * term.c:
2919 * syswait.h:
2920 * systty.h:
2921 * systime.h:
2922 * syssignal.h:
2923 * sysdep.c:
2924 * process.h:
2925 * process.c:
2926 * print.c:
2927 * ndir.h:
2928 * lread.c:
2929 * keyboard.c:
2930 * getpagesize.h:
2931 * floatfns.c:
2932 * fileio.c:
2933 * emacs.c:
2934 * doc.c:
2935 * dispnew.c:
2936 * dired.c:
2937 * data.c:
2938 * callproc.c:
2939 * buffer.c:
2940 * README:
2941 * Makefile.in:
2942 * s/template.h:
2943 * s/msdos.h:
2944 * m/vax.h: Remove VMS support.
2945 * s/vms.h:
2946 * vlimit.h:
2947 * uaf.h:
2948 * temacs.opt:
2949 * param.h:
2950 * ioctl.h: Remove file.
2951
29522008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2953
2954 * s/ms-w32.h (MULTI_KBOARD): Remove.
2955 * xterm.c:
2956 * xselect.c:
2957 * xfns.c:
2958 * window.c:
2959 * w32term.c:
2960 * w32fns.c:
2961 * terminal.c:
2962 * termhooks.h:
2963 * term.c:
2964 * sysdep.c:
2965 * keyboard.h:
2966 * keyboard.c:
2967 * frame.h:
2968 * frame.c:
2969 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2970 * config.in: Regenerate.
2971
29722008-07-30 Jason Rumney <jasonr@gnu.org>
2973
2974 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2975
2976 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2977 (w32font_open_internal): Get unicode version of textmetrics.
2978 Don't enable or disable glyph indices here.
2979 (w32font_open): Disable use of glyph indices.
2980
2981 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2982
29832008-07-30 Chong Yidong <cyd@stupidchicken.com>
2984
2985 * minibuf.c (Vread_buffer_function): Doc fix.
2986
29872008-07-30 John Paul Wallington <jpw@pobox.com>
2988
2989 * minibuf.c (read_buffer_completion_ignore_case): New var.
2990 (Fread_buffer): Use it.
2991
29922008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2993
2994 * systty.h (sensemode): Remove empty #if. Remove reference to
2995 BSD_TERMIOS, unused.
2996
2997 * sysdep.c: Remove reference to DGUX.
2998 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2999
3000 * config.in: Regenerate.
3001
30022008-07-30 Jason Rumney <jasonr@gnu.org>
3003
3004 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3005
30062008-07-29 Jason Rumney <jasonr@gnu.org>
3007
3008 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3009 is populated.
3010 (uniscribe_encode_char): Always use uniscribe.
3011 Avoid using context if cache is populated.
3012
30132008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3014
3015 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3016 open menu.
3017
3018 * gtkutil.c (menu_nav_ended): Remove.
3019 (create_menus): Remove signal connect for menu_nav_ended.
3020
30212008-07-28 Chong Yidong <cyd@stupidchicken.com>
3022
3023 * xdisp.c (redisplay_window): Check return value of
3024 compute_window_start_on_continuation_line before forcing a window
3025 start.
3026
30272008-07-28 Jason Rumney <jasonr@gnu.org>
3028
3029 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3030
3031 * w32term.c (w32_enable_unicode_output, cleartype_active):
3032 Remove obsolete display options.
3033 (x_draw_glyph_string_background): Don't use old cleartype_active
3034 workaround.
3035 (w32_initialize): Remove cleartype_active initialization.
3036 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3037
30382008-07-28 Andreas Schwab <schwab@suse.de>
3039
3040 * lisp.h (init_weak_hash_tables, syms_of_font)
3041 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3042 (remove_hash_entry): Don't declare.
3043 * eval.c (maybe_call_debugger): Make static and move before use.
3044 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3045 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3046 * xterm.h (x_set_frame_alpha): Declare.
3047
30482008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3049
3050 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3051 (create_menus): Connect selection-done to menu_nav_ended.
3052
30532008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3054
3055 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3056 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3057 parameter with read of 'alpha' one.
3058 (Qns_frame_parameter): Remove.
5582fbc7 3059 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3060 (next-selection-coding-system, Vselection_coding_system)
3061 (Vnext_selection_coding_system): Drop.
3062
30632008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3064
3065 * nsfns.m (do-applescript, do_applescript): Rename to
3066 ns-do-applescript, ns_do_applescript, and move within file.
3067
30682008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3069
3070 Remove support for Mac Carbon.
3071 * mactoolbox.c:
3072 * macterm.h:
3073 * macterm.c:
3074 * macselect.c:
3075 * macmenu.c:
3076 * macgui.h:
3077 * macfns.c:
3078 * mac.c: Remove file.
3079 * s/darwin.h:
3080 * m/intel386.h:
3081 * xfaces.c:
3082 * xdisp.c:
3083 * window.c:
3084 * tparam.c:
3085 * termhooks.h:
3086 * termcap.c:
3087 * term.c:
3088 * syssignal.h:
3089 * sysselect.h:
3090 * sysdep.c:
3091 * process.c:
3092 * lread.c:
3093 * lisp.h:
3094 * keyboard.c:
3095 * image.c:
3096 * fringe.c:
3097 * frame.h:
3098 * frame.c:
3099 * fontset.c:
3100 * font.h:
3101 * font.c:
3102 * fns.c:
3103 * fileio.c:
3104 * emacs.c:
3105 * dispnew.c:
3106 * dispextern.h:
3107 * config.in:
3108 * atimer.c:
2ae37cf0 3109 * Makefile.in: Remove code for Carbon.
aac0c6e3 3110
f0131492 31112008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3112
3113 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3114
31152008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3116
3117 * macterm.h (kCGBitmapByteOrder32Host): New define for
3118 non-universal SDKs.
3119
3120 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3121 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3122
3123 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3124 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3125
31262008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3127
3128 * w32inevt.c: Include dispextern.h.
3129
31302008-07-26 Andreas Schwab <schwab@suse.de>
3131
3132 * print.c (print_object): Fix off-by-one in last change.
3133
31342008-07-25 Juanma Barranquero <lekktu@gmail.com>
3135
3136 * term.c (syms_of_term): Don't initialize default_orig_pair,
3137 default_set_foreground and default_set_background on Windows.
3138
31392008-07-25 Jason Rumney <jasonr@gnu.org>
3140
3141 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3142 ScriptItemize. Clean up return value checking. Remove unused
3143 variables.
3144 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3145 shaping engine.
3146
3147 * w32font.c (w32font_has_char): Handle the case where we can't
3148 determine the script for a character.
3149
31502008-07-25 Chong Yidong <cyd@stupidchicken.com>
3151
3152 * term.c (syms_of_term): Initialize default_orig_pair,
3153 default_set_foreground, and default_set_background.
3154
3155 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3156 clash (bug#86).
3157 (getloadavg): Callers changed.
3158
3159 * image.c (svg_load_image): Fix last change.
3160 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3161 image size is valid. Use g_object_unref instead of deprecated
3162 rsvg_handle_free to free rsvg handle.
3163 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3164
31652008-07-25 Jason Rumney <jasonr@gnu.org>
3166
3167 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3168 surrogates before looking up glyph index.
3169 (w32font_text_extents): Encode as surrogates if falling back to
3170 functions that need UTF-16 wide chars.
3171
3172 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3173 BMP as surrogates before looking up glyph index.
3174
31752008-07-25 Chong Yidong <cyd@stupidchicken.com>
3176
3177 * image.c (svg_load_image): Check for failure in return value of
3178 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3179
31802008-07-25 Jason Rumney <jasonr@gnu.org>
3181
3182 * w32font.c (Fx_select_font): Reverse sense of second arg.
3183
31842008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3185
3186 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3187 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3188
3189 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3190 (PURESIZE): Use it.
3191
31922008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3193
3194 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3195 * m/alpha.h (TEXT_END):
3196 * m/ibmrs6000.h (TEXT_END):
3197 * m/macppc.h (TEXT_END):
3198 * s/darwin.h (TEXT_END):
3199 * s/msdos.h (TEXT_END): Remove, unused.
3200 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3201 * s/cygwin.h: Remove comment.
3202
3203 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3204 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3205 * m/intel386.h (DOT_GLOBAL_START):
3206 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3207 (USG): Remove, file not used on USG platforms.
3208
3209 * Makefile.in (HAVE_X11): Remove empty #else.
3210
32112008-07-24 Andreas Schwab <schwab@suse.de>
3212
3213 * fileio.c (Finsert_file_contents): Properly adjust undo list
3214 after format conversion.
3215
32162008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3217
3218 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3219 (menu_nav_ended): Remove.
3220 (create_menus): Remove signal connect for menu_nav_ended.
3221 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3222 create_menus.
3223 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3224
32252008-07-23 Jason Rumney <jasonr@gnu.org>
3226
3227 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3228 with opened font.
3229 (w32font_open): Set font type to gdi.
3230
3231 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3232
32332008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3234
3235 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3236 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3237 defines it.
3238 * unexec.c (ADDR_CORRECT): Define unconditionally.
3239
3240 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3241
3242 * unexec.c: Remove code depending on !COFF and USG, the file is
3243 not used for such systems.
3244
3245 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3246 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3247 (LD_SWITCH_SYSTEM_1): Remove, update users.
3248
3249 * s/darwin.h (DATA_END):
3250 * m/intel386.h (DATA_END):
3251 * m/ibmrs6000.h (DATA_END):
3252 * m/alpha.h (DATA_END): Remove, unused.
3253
3254 * config.in: Regenerate.
3255 * s/ms-w32.h (subprocesses): Define unconditionally.
3256 * s/template.h (subprocesses): Update comment.
3257 * s/vms.h (subprocesses):
3258 * s/usg5-4.h (subprocesses):
3259 * s/hpux10-20.h (subprocesses):
3260 * s/gnu-linux.h (subprocesses):
3261 * s/cygwin.h (subprocesses):
3262 * s/bsd-common.h (subprocesses):
3263 * s/aix4-2.h (subprocesses):
3264 * s/darwin.h (subprocesses): Do not define, defined by default now.
3265
3266 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3267 Remove all references.
3268 (temacs): Add GNUstep specific ld flags.
3269
3270 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3271 similarly to what X does.
3272
32732008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3274
3275 * nsfns.m (x-list-fonts): Remove.
3276 (syms_of_nsfns): Drop the x-list-fonts declaration.
3277 * nsterm.m: Get rid of remaining "//" comments.
3278
32792008-07-22 Chong Yidong <cyd@stupidchicken.com>
3280
3281 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3282
3283 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3284 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3285 (Fns_own_selection_internal, Fx_disown_selection_internal)
3286 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3287
3288 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3289 ... */' style of docstrings. Doc fixes.
3290
32912008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3292
3293 * terminfo.c (UP, BC, PC): Undo previous change.
3294
3295 * nsfns.m: Rename ns prefixed functions/variables to the
3296 corresponding x versions. Update references.
3297
32982008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3299
3300 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3301
33022008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3303
3304 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3305 Remove forwarding functions.
3306 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3307 non-static.
3308 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3309 non-static.
3310 (ns_frame_parm_handlers): Use the new names.
3311 (syms_of_nsfns): Move to the end of file.
3312
3313 * nsterm.m (syms_of_nsterm): Move to the end of file.
3314
3315 * dispnew.c (init_display): Remove code for X10.
3316
33172008-07-22 Jason Rumney <jasonr@gnu.org>
3318
3319 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3320 bare drive.
3321
33222008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3323
3324 * nsterm.m (syms_of_nsterm): Remove debugging println.
3325
33262008-07-22 David Reitter <david.reitter@gmail.com>
3327
3328 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3329 Carbon implementation of the same functionality: execute arbitrary
3330 AppleScript code.
3331
33322008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3333
3334 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3335 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3336 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3337 (Fx_display_mm_height, Fx_display_mm_width)
3338 (Fx_display_backing_store, Fx_display_visual_class)
3339 (Fx_display_save_under, Fx_open_connection)
3340 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3341 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3342 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3343 (Fx_display_pixel_width, Fx_display_pixel_height)
3344 (Fx_display_usable_bounds, Fx_display_planes)
3345 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3346 ... */' style of docstrings.
3347
33482008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3349
3350 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3351 on this platform.
3352 (mips):
3353 * m/iris4d.h (mips): Do not define.
3354 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3355
3356 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3357
3358 * image.c:
3359 * nsfns.m:
3360 * nsselect.m:
3361 * nsterm.h:
3362 * nsterm.m: Rename ns prefixed functions/variables to the
3363 corresponding x versions. Update references.
3364
3365 * m/ibms390x.h (NO_REMAP): Do not undefine.
3366
3367 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3368
33692008-07-21 Chong Yidong <cyd@stupidchicken.com>
3370
3371 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3372 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3373 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3374 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3375 (Fns_display_mm_height, Fns_display_mm_width)
3376 (Fns_display_backing_store, Fns_display_visual_class)
3377 (Fns_display_save_under, Fns_open_connection)
3378 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3379 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3380 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3381 (Fns_display_pixel_width, Fns_display_pixel_height)
3382 (Fns_display_usable_bounds, Fx_display_planes)
3383 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3384
33852008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3386
3387 * print.c (print_object): Check print_depth before searching for
3388 circularities.
3389
33902008-07-21 Michael Albinus <michael.albinus@gmx.de>
3391
3392 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3393 only sprintf.
3394
33952008-07-21 Kenichi Handa <handa@m17n.org>
3396
3397 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3398
33992008-07-20 Andreas Schwab <schwab@suse.de>
3400
3401 * syntax.c (find_start_pos, find_start_value)
3402 (find_start_value_byte, find_start_begv, find_defun_start)
3403 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3404
34052008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3406
3407 * s/sol2-3.h: Insert contents of s/sol2.h.
3408 (LD_SWITCH_SYSTEM): Remove redundant definition.
3409 * s/sol2.h: Remove, unused.
3410
34112008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3412
3413 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3414
34152008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3416
3417 * Makefile.in (ns_appdir): Fix typo in find command.
3418
34192008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3420
3421 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3422
3423 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3424 added not supported anymore.
3425
3426 * s/usg5-4-2.h (LIBS_SYSTEM):
3427 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3428
3429 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3430 * s/lynxos.h (GETPGRP_NO_ARG):
3431 * s/hpux10-20.h (NO_SIOCTL_H):
3432 * s/gnu.h (GETPGRP_NO_ARG):
3433 * s/gnu-linux.h (NO_SIOCTL_H):
3434 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3435 * s/cygwin.h (GETPGRP_NO_ARG):
3436 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3437 (C_DEBUG_SWITCH): Remove duplicate definition.
3438
3439 * m/ibms390.h: Remove boilerplate comments.
3440
3441 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3442
3443 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3444 (wait_reading_process_output): Remove code for SunOS, platform not
3445 supported anymore. Use SOLARIS2 instead of sun.
3446
34472008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3448
3449 * font.c (font_open_by_name): Under NS, default lface height to zero.
3450 (font_open_for_lface): Under NS, set size based on frame fontsize.
3451 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3452 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3453
34542008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3455
3456 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3457 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3458 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3459 YES/NO.
3460 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3461 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3462 * Makefile.in (clean): Clear out build destination dir.
3463
34642008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3465
3466 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3467 xterm, xselect.
3468 * lisp.h: Remove declaration of hash_remove.
3469 * nsgui.h: Remove redefinitions of hash_remove.
3470 * fns.c (hash_remove): Rename to hash_remove_from_table.
3471
34722008-07-19 Seiji Zenitani <zenitani@mac.com>
3473
3474 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3475 strdup() the family UTF8String before modifying it.
3476
34772008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3478
3479 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3480 NS_FACE_BACKGROUND with 0 instead of nil.
3481 * nsfont.m (nsfont_draw): Same.
3482
34832008-07-19 Chong Yidong <cyd@stupidchicken.com>
3484
3485 * nsfns.m (ns_set_background_color): Fix crash.
3486
34872008-07-18 Chong Yidong <cyd@stupidchicken.com>
3488
3489 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3490
34912008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3492
3493 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3494
34952008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3496
3497 * gtkutil.c: Include <config.h> instead of "config.h".
3498
3499 * lisp.h (Foverlay_buffer): Add EXFUN.
3500
3501 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3502 child process to complete child_setup. Undo 2005-09-21 change.
3503
3504 * s/darwin.h: Mention setsid after vfork.
3505
35062008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3507
3508 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3509 Depend on macgui.h.
3510
3511 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3512 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3513
3514 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3515 and f19.
3516 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3517
3518 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3519 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3520 Remove enumerators.
3521
3522 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3523 Check if FACE_FROM_ID returns NULL.
3524
35252008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3526
3527 * w32inevt.c (change_frame_size): Remove extern declaration.
3528 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3529 change_frame_size.
3530
35312008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3532
3533 * getloadavg.c: Revert last change (2008-07-15).
3534
35352008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3536
3537 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3538 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3539 from configure.
3540
35412008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3542
3543 * s/sol2.h:
3544 * s/sol2-4.h: Reorganize conditionals.
3545
3546 * ecrt0.c: Remove code depending on m68000, not used anymore.
3547
3548 * fns.c (hash_remove): Make static.
3549 * lisp.h (hash_remove): Don't prototype.
3550
3551 * m/ibmrs6000.h:
3552 * m/ibms390x.h:
3553 * m/macppc.h: Remove boilerplate comments.
3554
3555 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3556 Solaris, which does not need them.
3557
3558 * m/vax.h: Remove comments about unsupported systems.
3559
3560 * s/darwin.h: Reorganize ifdefs.
3561
35622008-07-17 Andreas Schwab <schwab@suse.de>
3563
3564 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3565
35662008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3567
3568 Use SDATA. Follow coding convention of placing operators at
3569 beginning of next line rather than end of previous line, and placing
3570 spaces around infix operators.
3571
3572 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3573 in case it was defined already.
3574 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3575 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3576 ns_default.
3577 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3578 Lisp_Objects.
3579 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3580 (ns_defined_color, ns_color_to_lisp): Declare.
3581 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3582 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3583 it's accepted even with USE_LISP_UNION_TYPE.
3584 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3585 (update_frame_tool_bar): Remove apparently obsolete tests for
3586 non-integerness of f->tool_bar_lines.
3587 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3588 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3589 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3590 (nsfont_open): Don't confuse NULL for Qnil.
3591 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3592 * menu.h (find_and_call_menu_selection):
3593 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3594 (find_and_return_menu_selection): Always return something.
3595 * frame.h: Include dispextern.h for Display_Info.
3596 (display_x_get_resource): Declare.
3597
35982008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3599
3600 * syntax.c: Remove stdio.h include accidentally introduced in
3601 Emacs.app commit.
3602 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3603 NS_IMPL_COCOA.
3604 * keyboard.c (handle_async_input, input_available_signal): Remove
3605 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3606
36072008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3608
3609 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3610 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3611 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3612 Use SDATA.
3613
3614 * keymap.c: Remove all NS-specific code.
3615 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3616 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3617 where_is_preferred_modifier, return a different value depending on how
3618 preferred is the binding.
3619 (where_is_internal): Adjust accordingly.
3620 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3621 Adjust to new preferred_sequence_p.
3622 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3623 * keyboard.c (parse_solitary_modifier): Not static any more.
3624 * keyboard.h (parse_solitary_modifier): Declare.
3625
36262008-07-16 Andreas Schwab <schwab@suse.de>
3627
3628 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3629 of easymenu.
3630
36312008-07-16 Chong Yidong <cyd@stupidchicken.com>
3632
3633 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3634 that we don't move off the line.
3635
36362008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3637
3638 * keyboard.c (Qsuper): Remove.
3639 (parse_menu_item): Don't call where_is_internal specially for NS.
3640
36412008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3642
3643 * s/gnu-linux.h: Remove boilerplate comments.
3644
3645 * m/alpha.h (__ELF__): Consolidate conditions.
3646
3647 * m/m68k.h (linux): Use GNU_LINUX instead.
3648 Remove boilerplate comments.
3649
3650 * m/intel386.h: Undo refactoring from previous change.
3651 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3652 too, remove dead code.
3653 (linux): Use GNU_LINUX instead.
3654
36552008-07-16 Jason Rumney <jasonr@gnu.org>
3656
3657 * w32gui.h: Repeat 26 June changes lost by last change.
3658
36592008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3660
3661 * systty.h: Remove code for Aix on 386, unsupported platform.
3662
3663 * s/ms-w32.h: Remove boilerplate comments.
3664 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3665
3666 * s/gnu-linux.h (TERM): Remove support.
3667 (HAVE_SYSVIPC): Remove, unused.
3668 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3669 for this system.
3670
3671 * process.c: Remove support for IRIS, unused.
3672 Remove support for TERM, not relevant anymore.
3673
3674 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3675 used with the definition.
3676
3677 * s/aix4-2.h (static): Do not undef.
3678
3679 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3680 only used on Aix.
3681 (HAVE_SYSVIPC): Remove, unused.
3682
3683 * m/hp800.h (CANNOT_DUMP): Do not undef.
3684
3685 * m/alpha.h: Fix comment.
3686
3687 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3688 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3689 used by this configuration.
3690 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3691 * unexec.c: Remove code depending on HPUX and
3692 USG_SHARED_LIBRARIES, not used with this file. Remove code
3693 depending on IRIS, unused. Remove if 0-ed code.
3694
3695 * s/template.h: Remove comments about static.
3696
3697 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3698 Remove if 0-ed code.
3699 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3700 were the same as the default.
3701 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3702 Remove boilerplate comments.
3703 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3704 (HAVE_SYSVIPC): Remove, unused.
3705 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3706
3707 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3708 Remove boilerplate comments.
3709 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3710 Remove boilerplate comments.
3711 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3712 Remove boilerplate comments.
3713 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3714
3715 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3716 USG systems which do not use DATA_SEG_BITS.
3717 Refactor code. Remove boilerplate comments.
3718
3719 * m/ibms390.h:
3720 * m/m68k.h:
3721 * s/bsd-common.h:
3722 * s/cygwin.h:
3723 * s/darwin.h:
3724 * s/freebsd.h:
3725 * s/gnu.h:
3726 * s/msdos.h: Remove boilerplate comments.
3727
3728 * m/iris4d.h: Remove boilerplate comments and code for systems that
3729 do not use this file.
3730 (IRIS_4D): Remove, unused.
3731
3732 * m/mips.h: Remove boilerplate comments and code for systems that
3733 do not use this file.
3734 (SIGN_EXTEND_CHAR):
3735 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3736 * unexmips.c: Remove file, unused.
3737
3738 * editfns.c (Fuser_full_name): Replace the only use of
3739 USER_FULL_NAME with its value.
3740 * config.in: Regenerate.
3741
37422008-07-16 David Reitter <david.reitter@gmail.com>
3743
3744 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3745 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3746
37472008-07-16 Glenn Morris <rgm@gnu.org>
3748
3749 * emacs.c (system-type): Doc fix.
3750
37512008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3752
3753 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3754 If the cache doesn't work, let's fix it, rather than work around it.
3755
37562008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3757
3758 * Makefile.in: Correct additions for nsfont.o in last commit.
3759 * nsfont.m: New file (forgot last commit).
3760
37612008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3762
3763 * callproc.c (set_initial_environment): Initialize
3764 Vprocess_environment under CANNOT_DUMP (fixes crash when
3765 batch-compiling for bootstrap).
3766
37672008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3768 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3769
3770 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3771 fix crash due to different init order.
3772
37732008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3774
3775 Changes and additions for NeXTstep windowing system (Cocoa and
3776 GNUstep) support.
3777
3778 * Makefile.in:
3779 * config.in: Support defines and build commands for NS port.
3780 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3781 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3782 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3783 windowing.
3784 (struct face): Add synth_ital field.
3785 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3786 (init_display): Initialize Vinitial_window_system to "ns" when so
3787 compiled.
3788 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3789 (display_arg): Use under NS.
3790 (main): Under NS, allocate autorelease pool and handle command line
3791 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3792 (standard_args): Add NS-specific args.
3793 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3794 * font.c (DEFAULT_ENCODING): New variable.
3795 (font_find_for_lface): Use it.
3796 (syms_of_font): Load syms_of_nsfont under NS.
3797 * font.h: Declare nsfont_driver when compiled under NS.
3798 * fontset.c: When compiling under NS, include nsterm.h.
3799 (fontset_from_font): Autoconstruct fontset under NS.
3800 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3801 symbol, document and use it.
3802 (do_switch_frame): When for_deletion under Cocoa, add
3803 Fraise_frame(Qnil).
3804 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3805 (x_get_arg): Allow "yes" and "no" as boolean values.
3806 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3807 Qright under Cocoa.
3808 (focus-follows-mouse): Default to 0 under NS.
3809 * frame.h (enum output_method): Add output_ns.
3810 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3811 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3812 (FRAME_WINDOW_P): NS-specific definition.
3813 * fringe.c (max_used_fringe_bitmap): Make public.
3814 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3815 (getloadavg): Use NeXT code under descendant OS's.
3816 * image.c (includes and header section, x_create_bitmap_from_data)
3817 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3818 (image_background_transparent, x_clear_image_1)
3819 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3820 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3821 (x_to_xcolors, x_from_xcolors, x_disable_image)
3822 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3823 other GUIs, including XPM support using code originally written for
3824 Carbon GUI.
3825 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3826 using NS API.
3827 (image_ascent): Use font metrics macros instead of direct struct field
3828 access.
3829 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3830 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3831 Also, handle NS as GTK for menu bar purposes.
3832 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3833 toolkit where they differ.
3834 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3835 use cachelist, still needed under NS.
3836 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3837 (struct widget_value): Define it here for menu.c.
3838 * keymap.c (includes): Include modifier internals.
3839 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3840 NS.
3841 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3842 support for preferring sequences using certain modifiers, specified by
3843 the FIRSTONLY argument.
3844 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3845 under NS GNUstep implementation.
3846 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3847 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3848 * menu.c: Include nsterm.h under NS.
3849 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3850 (free_menubar_widget_tree_value, update_submenu_strings)
3851 (find_and_call_menu_selection): Treat NS as X and NT.
3852 (find_and_return_menu_selection): New function, used for popup menus.
3853 * nsgui.h:
3854 * nsterm.h:
3855 * nsfns.m:
3856 * nsimage.m:
3857 * nsmenu.m:
3858 * nsselect.m:
3859 * nsterm.m: New files.
3860 * process.c (wait_reading_process_output): Under NS, call ns_select()
3861 instead of plain select().
3862 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3863 beginning of buffer.
3864 * sysselect.h (init_process): Rename when compiling under Cocoa to
3865 avoid name conflict.
3866 * termhooks.h (display_info): Add ns_display_info to union.
3867 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3868 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3869 COCOA environment.
3870 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3871 unexec() signature. (Note, this will dump, but the resulting file
3872 crashes; unexosx is used instead; keeping around for reference and
3873 possible aid in getting dump working under GNUstep.)
3874 * w32gui.h (button_type, widget_value): Remove definitions (now in
3875 keyboard.h).
3876 * window.c: Include nsterm.h when compiling under NS.
3877 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3878 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3879 other GUI windowing systems.
3880 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3881 GTK.
3882 (x_consider_frame_title): Under NS, set icon type and frame
3883 modified-state indicator; use ns_set_name_as_filename() when using
3884 formatted title.
3885 (update_window_cursor): Make public when compiling under NS.
3886 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3887 (hourglass_atimer, Vhourglass_delay
3888 * xfaces.c (header section, init_frame_faces, clear_font_table)
3889 (defined_color, unload_color, x_face_list_fonts)
3890 (prepare_face_for_display): Add NS support parallel to other GUIs.
3891 Emulate GCs like other non-X GUIs.
3892 (split_font_name): Don't lowercase font name under NS.
3893 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3894 under NS.
3895 * s/darwin.h: Add support for compilation under NS.
3896
38972008-07-15 Jason Rumney <jasonr@gnu.org>
3898
3899 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3900 (w32_show_hourglass): Rename from show_hourglass.
3901 (w32_hide_hourglass): Rename from hide_hourglass.
3902 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3903 (Vhourglass_delay): Declare extern.
3904 (hourglass_started): Remove.
3905
3906 * xdisp.c (Vhourglass_delay): Remove static.
3907 (hourglass_started, start_hourglass, cancel_hourglass):
3908 Don't include these versions on WINDOWSNT.
3909
39102008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3911
3912 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3913 variables (formerly in xfns.c).
3914 (show_hourglass, hide_hourglass): New prototypes (same).
3915 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3916 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3917 in xfns.c).
3918 (syms_of_xdisp): Declare/initialize display-hourglass,
3919 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3920 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3921 formerly in xfns.c.
3922 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3923 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3924 (start_hourglass, cancel_hourglass): Remove.
3925 (show_hourglass, hide_hourglass): Remove prototypes and static
3926 modifiers.
3927 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3928 hourglass_atimer, hourglass_shown_p declaration/initialization.
3929 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3930 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3931 (start_hourglass, cancel_hourglass): Remove.
3932 (show_hourglass, hide_hourglass): Remove prototypes and static
3933 modifiers.
3934 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3935 hourglass_atimer, hourglass_shown_p declaration/initialization.
3936 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3937 (DEFAULT_HOURGLASS_DELAY): Remove.
3938 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3939 hourglass_shown_p declaration/initialization.
3940
39412008-07-14 Jason Rumney <jasonr@gnu.org>
3942
3943 * w32fns.c (w32_get_arg): Remove wrapper function.
3944 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3945 directly.
3946 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3947
39482008-07-14 Kenichi Handa <handa@m17n.org>
3949
3950 * xfont.c (xfont_open): Add workaround for X's bug.
3951
39522008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3953
3954 * fontset.c: Include <stdio.h> unconditionally.
3955
39562008-07-13 Michael Albinus <michael.albinus@gmx.de>
3957
3958 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3959 for filtering.
3960
39612008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3962
3963 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3964
3965 * m/macppc.h:
3966 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3967
3968 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3969 (SPECIAL_EMACS_INT):
3970 * m/ia64.h (SPECIAL_EMACS_INT):
3971 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3972 * s/gnu.h (NLIST_STRUCT):
3973 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3974 * s/gnu-linux.h (LINUX):
3975 * s/msdos.h (HAVE_FACES):
3976 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3977
3978 * systty.h:
3979 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3980 anymore.
3981
39822008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3983
3984 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3985 always defined as int.
3986
3987 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3988 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3989 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3990 * s/freebsd.h (HAVE_WAIT_HEADER):
3991 * s/bsd-common.h (HAVE_UNION_WAIT):
3992 * s/aix4-2.h (HAVE_WAIT_HEADER):
3993 * m/mips.h (HAVE_UNION_WAIT):
3994 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3995 (COFF, static): Do not define, they are undefined later in the file.
3996
3997 * process.c (update_status): Don't use a union.
3998 (status_convert):
3999 (sigchld_handler): Use int instead of WAITTYPE.
4000
40012008-07-12 Chong Yidong <cyd@stupidchicken.com>
4002
4003 * indent.c (Fvertical_motion): Restore hscroll before moving to
4004 goal column.
4005
40062008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4007
4008 * lisp.h: Remove left over code.
4009
40102008-07-11 Andreas Schwab <schwab@suse.de>
4011
4012 * lisp.h: Fix logic in last change.
4013
4014 * menu.h: New file.
4015 * menu.c: Include it.
4016 * xmenu.c: Likewise.
4017 * Makefile.in: Update dependencies.
4018
40192008-07-11 Kenichi Handa <handa@m17n.org>
4020
4021 * fontset.c (fontset_from_font): Cancel the previous change.
4022
40232008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4024
4025 * lisp.h:
4026 * w32heap.c:
4027 * emacs.c:
4028 * alloc.c: Replace all references of NO_UNION_TYPE with
4029 USE_LISP_UNION_TYPE.
4030
4031 * m/xtensa.h (NO_UNION_TYPE):
4032 * m/vax.h (NO_UNION_TYPE):
4033 * m/template.h (NO_UNION_TYPE):
4034 * m/sparc.h (NO_UNION_TYPE):
4035 * m/mips.h (NO_UNION_TYPE):
4036 * m/macppc.h (NO_UNION_TYPE):
4037 * m/m68k.h (NO_UNION_TYPE):
4038 * m/iris4d.h (NO_UNION_TYPE):
4039 * m/intel386.h (NO_UNION_TYPE):
4040 * m/ibms390x.h (NO_UNION_TYPE):
4041 * m/ibms390.h (NO_UNION_TYPE):
4042 * m/ibmrs6000.h (NO_UNION_TYPE):
4043 * m/ia64.h (NO_UNION_TYPE):
4044 * m/hp800.h (NO_UNION_TYPE):
4045 * m/arm.h (NO_UNION_TYPE):
4046 * m/amdx86-64.h (NO_UNION_TYPE):
4047 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4048 defining it the same.
4049
40502008-07-10 Chong Yidong <cyd@stupidchicken.com>
4051
4052 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4053
40542008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4055
4056 * fileio.c:
4057 * sysdep.c
4058 * systty.h:
4059 * m/ibmrs6000.h:
4060 * m/iris4d.h:
4061 * s/aix4-2.h:
4062 * s/freebsd.h:
4063 * s/gnu-linux.h:
4064 * s/hpux10-20.h:
4065 * s/hpux11.h:
4066 * s/netbsd.h:
4067 * s/sol2-3.h:
4068 * s/sol2-4.h:
4069 * s/sol2.h:
4070 * s/usg5-4.h:
4071 * s/vms.h: Remove references to unused variables.
4072
40732008-07-10 Andreas Schwab <schwab@suse.de>
4074
4075 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4076 pattern before matching the generic family.
4077
40782008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4079
4080 * unexec.c:
4081 * s/vms.h:
4082 * s/usg5-4-2.h:
4083 * s/sol2-5.h:
4084 * s/freebsd.h:
4085 * s/darwin.h: Remove dead code.
4086
4087 * m/template.h:
4088 * m/sparc.h:
4089 * m/mips.h:
4090 * m/m68k.h:
4091 * m/iris4d.h:
4092 * m/intel386.h:
4093 * m/ibms390x.h:
4094 * m/ibms390.h:
4095 * m/ia64.h:
4096 * m/hp800.h:
4097 * m/arm.h:
4098 * m/amdx86-64.h: Remove dead code and references to unused
4099 and compiler defined symbols.
4100
4101 * unexmips.c:
4102 * unexelf.c: Remove references to desupported systems.
4103
4104 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4105
4106 * m/powermac.h: Remove boilerplate comments.
4107 (NO_REMAP): Remove unused definition.
4108
4109 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4110 define them.
4111
41122008-07-10 Kenichi Handa <handa@m17n.org>
4113
4114 * xfont.c (xfont_open): Log the reason of failure.
4115
41162008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4117
4118 * fontset.c (fontset_get_font_group):
4119 * font.c (font_check_otf): Specify argument types.
4120
41212008-07-09 Kenichi Handa <handa@m17n.org>
4122
4123 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4124 non-ASCII char is found.
4125
4126 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4127 (reorder_font_vector): Change the arg preferred_family to font.
4128 Prefer the spec matching with font.
4129 (fontset_get_font_group): New function.
4130 (fontset_find_font): Change the format of an element of a realized
4131 fontset. Use fontset_get_font_group.
4132 (fontset_font): Try the current fontset, the default fontset, the
4133 fallbacks of the current fontset, and the fallbacks of the default
4134 fontset in this order.
4135 (face_for_char): Delete the shortcut to use the current font.
4136 (fontset_from_font): Don't set fonts for Latin in the fontset.
4137
4138 * font.h (font_make_object, font_match_p): Adjust prototypes.
4139
4140 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4141
4142 * font.c (font_make_object): New arg entity and pixelsize.
4143 (font_check_otf_features, font_check_otf): New functions.
4144 (font_match_p): Check :lang, :script, and :otf properties.
4145
4146 * xfont.c (xfont_open): Adjust it for the change of
4147 font_make_object.
4148 (xfont_text_extents): Fix initial setting of metrics.
4149
4150 * ftfont.c (struct ftfont_info): New member index, delete member
4151 fc_charset_idx. Make the member order compatible with struct
4152 xftfont_info.
4153 (fc_charset_table): Change charset names to registry names.
4154 (ftfont_pattern_entity): Delete the args registry and
4155 fc_charset_idx. Change the value of :font-entity property
4156 to (FONTNAME . INDEX). Always set :registry property to
4157 `iso10646-1'.
4158 (struct ftfont_cache_data): New struct.
4159 (ftfont_lookup_cache): New arg for_face.
4160 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4161 (ftfont_driver): Set the member otf_capability.
4162 (ftfont_get_charset): Adjust it for the change of
4163 fc_charset_table.
4164 (OTF_TAG_SYM): New macro.
4165 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4166 for the change of fc_charset_table.
4167 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4168 ftfont_pattern_entity. Add FC_INDEX to objset.
4169 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4170 and ftfont_pattern_entity.
4171 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4172 font_make_object, struct ftfont_info.
4173 (ftfont_has_char): Use ftfont_get_fc_charset.
4174 (ftfont_otf_features, ftfont_otf_capability): New functions.
4175 (ftfont_shape): Use ftfont_get_otf.
4176 (ftfont_text_extents): Fix initial setting of metrics.
4177
4178 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4179 member order compatible with struct ftfont_info.
4180 (xftfont_open): Add FC_CHARSET to the pattern. Set
4181 xftfont_info->ft_size. Don't unlock the face. Check BDF
4182 properties if appropriate.
4183 (xftfont_close): Unlock the face.
4184 (xftfont_anchor_point, xftfont_shape): Deleted.
4185 (syms_of_xftfont): Don't set members anchor_point and shape of
4186 xftfont_driver.
4187
4188 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4189 font_make_object.
4190
4191 * w32font.c (w32font_open): Adjust it for the change of
4192 font_make_object.
4193 (w32font_open_internal): Don't set properties of font_object here.
4194
41952008-07-08 Chong Yidong <cyd@stupidchicken.com>
4196
4197 * macfns.c (x_create_tip_frame):
4198 * w32fns.c (x_create_tip_frame):
4199 * xfns.c (x_create_tip_frame): Pass parameter argument to
4200 face-set-after-frame-default.
4201
4202 * xfaces.c (Finternal_merge_in_global_face): Save merged
4203 attributes for the default face back into the face vector.
4204
42052008-07-08 Andreas Schwab <schwab@suse.de>
4206
4207 * fontset.h: Declare fontset_from_font. Don't declare
4208 new_fontset_from_font and fontset_from_font_name.
4209 * xterm.c: Include "fontset.h".
4210 * Makefile.in (xterm.o): Update dependencies.
4211
42122008-07-08 Glenn Morris <rgm@gnu.org>
4213
4214 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4215 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4216
42172008-07-07 Chong Yidong <cyd@stupidchicken.com>
4218
4219 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4220 (x_set_frame_parameters): Don't bind it.
4221
42222008-07-07 Juanma Barranquero <lekktu@gmail.com>
4223
4224 * w32fns.c (map_w32_filename): Declare extern.
4225
42262008-07-07 Jason Rumney <jasonr@gnu.org>
4227
4228 * w32term.c (WS_EX_LAYERED): Define if not already.
4229
42302008-07-06 Chong Yidong <cyd@stupidchicken.com>
4231
4232 * xfaces.c (set_font_frame_param): Don't try to set the font
4233 parameter if it is still unspecified in the lface.
4234
42352008-07-05 Chong Yidong <cyd@stupidchicken.com>
4236
4237 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4238 face if it didn't already exist.
4239
4240 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4241
42422008-07-05 Andreas Schwab <schwab@suse.de>
4243
4244 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4245
42462008-07-05 Chong Yidong <cyd@stupidchicken.com>
4247
4248 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4249 word-wrapping.
4250 (IT_DISPLAYING_WHITESPACE): New macro.
4251 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4252 when word-wrapping. Simplify word-wrapping logic. Use correct
4253 pixel positions when saving copies of the iterator.
4254 (display_line): Use proper wrap point if the last character on a
4255 line was preceded by whitespace.
4256
42572008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4258
4259 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4260
42612008-07-04 Kenichi Handa <handa@m17n.org>
4262
4263 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4264
4265 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4266
42672008-07-02 Jason Rumney <jasonr@gnu.org>
4268
4269 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4270 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4271
4272 * xdisp.c (next_element_from_display_vector): Move assignment out
4273 of if statement.
4274
42752008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4276
4277 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4278
4279 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4280 (syms_of_fileio): Initialize and export them.
4281 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4282
4283 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4284 (Fsystem_move_file_to_trash): New function.
4285 (syms_of_w32fns): Export it to lisp.
4286
42872008-07-01 Jason Rumney <jasonr@gnu.org>
4288
4289 * w32font.c (w32font_text_extents): Don't count overhang as part
4290 of width.
4291
42922008-06-30 Miles Bader <miles@gnu.org>
4293
4294 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4295 Add `avoid_cursor_p' field.
4296
4297 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4298 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4299 (append_glyph, append_composite_glyph, produce_image_glyph)
4300 (append_stretch_glyph): Initialize avoid_cursor_p.
4301 (get_it_property): Rename from `get_line_height_property'.
4302 (x_produce_glyphs): Use get_it_property.
4303 (handle_line_prefix, push_display_prop): New functions.
4304 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4305 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4306 New variables.
4307 (syms_of_xdisp): Initialize them.
4308
43092008-06-30 Kenichi Handa <handa@m17n.org>
4310
4311 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4312 XftDefaultSubstitute (they are called in XftFontMatch).
4313 (xftfont_open): Fix args to ftfont_font_format.
4314
4315 * ftfont.c (fc_charset_table): New member lang.
4316 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4317 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4318 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4319 (ftfont_open): Fix args to ftfont_font_format.
4320 (ftfont_font_format): New arg filename.
4321
43222008-06-30 Chong Yidong <cyd@stupidchicken.com>
4323
4324 * xfaces.c (Finternal_merge_in_global_face): If default face was
4325 modified, realize it again. Update the font face attribute.
4326
43272008-06-29 Jason Rumney <jasonr@gnu.org>
4328
4329 * w32term.c (x_set_frame_alpha): Fix logic.
4330
43312008-06-29 Kenichi Handa <handa@m17n.org>
4332
4333 * fontset.c (Finternal_char_font): Return font-object instead of
4334 font-name.
4335
4336 * composite.c (get_composition_id): Fix the width calculation for TAB.
4337
43382008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4339
4340 * indent.c (Fvertical_motion): Properly handle float column arg.
4341
43422008-06-28 Jason Rumney <jasonr@gnu.org>
4343
4344 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4345 (pfnSetLayeredWindowAttributes): New function pointer.
4346 (w32_initialize): Initialize it when supported.
4347 (x_set_frame_alpha): New function.
4348
4349 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4350 (w32_frame_parm_handlers): Set alpha handler.
4351
4352 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4353
43542008-06-27 Jason Rumney <jasonr@gnu.org>
4355
4356 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4357 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4358 (w32_to_x_charset, x_to_w32_charset)
4359 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4360 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4361 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4362 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4363 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4364 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4365 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4366 (Qw32_charset_unicode): Remove.
4367 (syms_of_w32fns): Update for above changes.
4368
4369 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4370 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4371 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4372 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4373 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4374 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4375 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4376 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4377 (syms_of_w32font): Update for above changes.
4378
43792008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4380
4381 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4382 removed #if.
4383 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4384
43852008-06-26 Juanma Barranquero <lekktu@gmail.com>
4386 Eli Zaretskii <eliz@gnu.org>
4387
4388 * makefile.w32-in (LOCAL_FLAGS):
4389 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4390
4391 * sysdep.c (_spawnlp, _getpid):
4392 Declare with explicit _cdecl instead of _CRTAPI1.
4393
4394 * editfns.c (Fget_internal_run_time):
4395 Check for WINDOWSNT with #ifdef, not #if.
4396
43972008-06-26 Jason Rumney <jasonr@gnu.org>
4398
4399 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4400
4401 * w32term.c (x_draw_glyph_string_foreground)
4402 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4403 Use FONT_HANDLE macro.
4404 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4405
4406 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4407 (uniscribe_encode_char): Use FONT_HANDLE macro.
4408
4409 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4410 (w32font_text_extents): Use precast w32_font.
4411 (w32font_close): Free cached metrics.
4412 (w32font_open_internal): Allocate space for name on stack.
4413
44142008-06-26 Chong Yidong <cyd@stupidchicken.com>
4415
4416 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4417
44182008-06-26 Jason Rumney <jasonr@gnu.org>
4419
4420 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4421 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4422
44232008-06-26 Juanma Barranquero <lekktu@gmail.com>
4424
4425 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4426
44272008-06-26 Jason Rumney <jasonr@gnu.org>
4428
4429 * w32bdf.c, w32bdf.h: Remove obsolete files.
4430
4431 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4432
4433 * w32gui.h: Don't include w32bdf.h.
4434 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4435 Remove obsolete font support.
4436
4437 * w32font.h (struct w32font_info): Remove compat_w32_font.
4438 Add hfont member.
4439 (FONT_COMPAT): Remove obsolete macro.
4440
4441 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4442 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4443 (w32font_open_internal): Remove compat code. Set new hfont member.
4444 (Fx_select_font): Use new hfont member.
4445
4446 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4447 (uniscribe_encode_char): Use new hfont member.
4448
4449 * w32term.c (x_draw_glyph_string_foreground)
4450 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4451 (x_draw_glyph_string): Use metrics in w32font_info.
4452
44532008-06-26 Kenichi Handa <handa@m17n.org>
4454
4455 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4456
44572008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4458
4459 * unexnext.c:
4460 * m/ews4800.h:
4461 * m/hp9000s300.h:
4462 * m/ibm370aix.h:
4463 * m/mips-siemens.h:
4464 * m/ncr386.h:
4465 * m/next.h:
4466 * m/pmax.h:
4467 * m/powerpcle.h:
4468 * m/tandem-s2.h:
4469 * s/386bsd.h:
4470 * s/bsd386.h:
4471 * s/bsd4-1.h:
4472 * s/bsd4-2.h:
4473 * s/bsdos2-1.h:
4474 * s/bsdos2.h:
4475 * s/bsdos3.h:
4476 * s/bsdos4.h:
4477 * s/nextstep.h:
4478 * s/ultrix4-3.h:
4479 * s/usg5-0.h:
4480 * s/usg5-2-2.h:
4481 * s/usg5-2.h:
4482 * s/usg5-4-3.h:
4483 * s/ux4800.h:
4484 * s/uxpds.h:
4485 * s/uxpv.h: Remove support for obsolete systems.
4486 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4487 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4488 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4489 Remove, insert contents in s/aix4-2.h.
4490 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4491 * s/bsd4-3.h: Rename to ...
4492 * s/bsd-common.h: ... this.
4493 * data.c:
4494 * doc.c:
4495 * ecrt0.c:
4496 * emacs.c:
4497 * fileio.c:
4498 * floatfns.c:
4499 * keyboard.c:
4500 * mem-limits.h:
4501 * print.c:
4502 * process.c:
4503 * sysdep.c:
4504 * syssignal.h:
4505 * systty.h:
4506 * syswait.h:
4507 * term.c:
4508 * unexec.c:
4509 * unexelf.c:
4510 * unexhp9k800.c:
4511 * m/hp800.h:
4512 * m/ibmrs6000.h:
4513 * m/mips.h:
4514 * m/vax.h:
4515 * s/darwin.h:
4516 * s/freebsd.h:
4517 * s/gnu.h:
4518 * s/ms-w32.h:
4519 * s/msdos.h:
4520 * s/netbsd.h:
4521 * s/template.h: Remove references to obsolete variables.
4522
4523 * Makefile.in: Add dependencies for all unexec files.
4524 (admindir): Remove unused variable.
4525 (UNEXEC_SRC): Remove references.
4526
45272008-06-25 Chong Yidong <cyd@stupidchicken.com>
4528
4529 * xfns.c (x_default_font_parameter): If Xft is available, first
4530 try Monospace-12 for the default font.
4531
45322008-06-25 Jason Rumney <jasonr@gnu.org>
4533
4534 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4535
45362008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4537
4538 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4539
4540 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4541
45422008-06-25 Juanma Barranquero <lekktu@gmail.com>
4543
4544 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4545 <scroll-conservatively>: Fix typo in docstring.
4546
4547 * xselect.c (Fx_send_client_event): Doc fix.
4548
45492008-06-25 Kenichi Handa <handa@m17n.org>
4550
4551 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4552
4553 * font.c (font_parse_fcname): Remove unused variables.
4554 (font_sort_entites): Delete the arg SPEC. Caller changed.
4555 Fix for the case of ! best_only.
4556 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4557
4558 * lisp.h (Fstring_to_unibyte): EXFUN it.
4559
4560 * character.h (str_to_unibyte): Extern it.
4561
4562 * character.c (str_to_unibyte): New function.
4563
4564 * fns.c (Fstring_to_unibyte): New function.
4565 (syms_of_fns): Defsubr it.
4566
45672008-06-24 Kenichi Handa <handa@m17n.org>
4568
4569 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4570 DPI too.
4571 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4572
45732008-06-24 Andreas Schwab <schwab@suse.de>
4574
4575 * Makefile.in (${lispsource}loaddefs.el): Rename from
4576 ../lisp/loaddefs.el.
4577 (bootstrap-clean): Do what distclean does but don't remove
4578 Makefile.
4579 (distclean): Depend on bootstrap-clean and remove Makefile.
4580
45812008-06-24 Chong Yidong <cyd@stupidchicken.com>
4582
4583 * buffer.h (struct buffer): New member word_wrap.
4584
4585 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4586 word-wrap.
4587 (init_buffer_once): Initialize them.
4588
4589 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4590 line_wrap enum possessing three possible values.
4591
4592 * termopts.h: Replace truncate_partial_width_windows with
4593 Vtruncate_partial_width_windows.
4594
4595 * dispnew.c (direct_output_for_insert): Avoid direct output when
4596 inserting a space with word wrap on.
4597
4598 * indent.c (compute_motion): Obey integer values of
4599 truncate-partial-width-windows.
4600
4601 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4602 replacing truncate_partial_width_windows.
4603 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4604 truncate only if the window width is below that integer.
4605 (start_display, resize_mini_window, produce_stretch_glyph)
4606 (display_string, move_it_in_display_line_to): Use line_wrap.
4607 (back_to_previous_visible_line_start, reseat_1): Reset
4608 string_from_display_prop_p.
4609 (display_line): Extend default face to end of line when wrapping.
4610
46112008-06-24 Kim F. Storm <storm@cua.dk>
4612
4613 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4614 to wrap continued lines at word boundaries.
4615
46162008-06-24 Jason Rumney <jasonr@gnu.org>
4617
4618 * font.c (Ffont_face_attributes): Multiply pixel size before point
4619 conversion to avoid multiplying rounding error.
4620
46212008-06-23 Jason Rumney <jasonr@gnu.org>
4622
4623 * w32term.c (x_draw_glyph_string_background)
4624 (x_draw_glyph_string): Remove old bdf font code.
4625
4626 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4627
46282008-06-22 Kenichi Handa <handa@m17n.org>
4629
4630 * font.c (font_find_for_lface): Try the adstyle specified in
4631 the property of LFACE_FONT of LFACE (if any).
4632
46332008-06-21 Seiji Zenitani <zenitani@mac.com>
4634 Ryo Yoshitake <ryo@shiftmode.net>
4635
4636 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4637
46382008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4639
4640 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4641 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4642 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4643 (witness-emacs): Remove.
4644 (lisp, shortlisp): Move loaddefs.el earlier.
4645 (mostlyclean): Forget about witness-emacs.
4646
46472008-06-22 Glenn Morris <rgm@gnu.org>
4648
4649 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4650 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4651
46522008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4653
4654 * Makefile.in (PRECOMP): Remove.
4655 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4656 (witness-emacs): Run `compile-first'.
4657 (.el.elc): Use the new compile-onefile target.
4658
46592008-06-21 Kenichi Handa <handa@m17n.org>
4660
4661 * xftfont.c (xftfont_open): Handle QCembolden only when
4662 FC_EMBOLDEN is defined.
4663
46642008-06-21 Andreas Schwab <schwab@suse.de>
4665
4666 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4667 (.el.elc): Likewise.
4668
46692008-06-21 Miles Bader <miles@gnu.org>
4670
4671 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4672 build dir, not the lisp source dir.
4673
46742008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4675
4676 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4677 (bootstrapclean): Remove.
4678 (.el.elc): New rule.
4679 (PRECOMP): New var.
4680 (../lisp/subdirs.el): Remove.
4681 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4682 (witness-emacs): New target.
4683 (mostlyclean): Remove witness-emacs as well.
4684 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4685 Add witness-emacs dependency.
4686
46872008-06-20 Chong Yidong <cyd@stupidchicken.com>
4688
4689 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4690 defined by the font.
4691
46922008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4693
4694 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4695 (bootstrap-clean): New target that keeps TAGS around.
4696 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4697 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4698
46992008-06-20 Jason Rumney <jasonr@gnu.org>
4700
4701 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4702 Remove obsolete font code.
4703
4704 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4705 to determine language support.
4706
47072008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4708
4709 * sysdep.c (cfsetspeed): New fun extracted from the code.
4710 (cfmakeraw): Move before first use.
4711
47122008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4713
4714 * sysdep.c (cfmakeraw): Provide fallback implementation.
4715 (serial_configure): Provide fallback implementation of cfsetspeed.
4716
47172008-06-20 Kenichi Handa <handa@m17n.org>
4718
4719 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4720 the pattern.
4721
4722 * fontset.c (fontset_from_font): Copy font_spec before changing
4723 the elements.
4724
4725 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4726
47272008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4728
4729 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4730 for explicit `font' parameters.
4731
4732 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4733
47342008-06-19 Kenichi Handa <handa@m17n.org>
4735
4736 * frame.c: Include <ctype.h>.
4737 (x_set_font_backend): Allow spacing characters in the X resource
4738 for FontBackend.
4739
47402008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4741
4742 * w32fns.c, xfns.c (Qfont_param): New var.
4743 (syms_of_w32fns): Initialize it.
4744 (x_default_font_parameter): Record explicit `font' into
4745 `font-parameter'.
4746
47472008-06-18 Kenichi Handa <handa@m17n.org>
4748
4749 * font.c (font_parse_xlfd): Fix previous change.
4750 (font_parse_fcname): Don't use :fc-unknown-spec.
4751 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4752 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4753 (font_add_log): Prepend the driver name to the resulting fonts.
4754
4755 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4756 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4757 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4758
4759 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4760 (QCembolden): New variables.
4761 (syms_of_xftfont): DEFSYM them.
4762 (xftfont_open): Call XftFontMatch. Don't trust the result of
4763 XftTextExtents8 if the pixel_size is less than 5.
4764
47652008-06-18 Andreas Schwab <schwab@suse.de>
4766
4767 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4768 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4769
47702008-06-18 Jason Rumney <jasonr@gnu.org>
4771
4772 * w32font.c (w32font_list, w32font_match): Add logging.
4773
4774 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4775
47762008-06-17 Chong Yidong <cyd@stupidchicken.com>
4777
4778 * font.c (font_parse_fcname): Store divider characters for
4779 unknown-spec list. For known key symbols, intern using correct
4780 symbol name.
4781
47822008-06-17 Kenichi Handa <handa@m17n.org>
4783
4784 * xfaces.c (realize_default_face): If the frame is not on window
4785 system, set the fontset of face to nil.
4786
47872008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4788
4789 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4790
47912008-06-16 Juanma Barranquero <lekktu@gmail.com>
4792
4793 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4794 (build_font_name_from_vector): Delete externs.
4795
4796 * xfaces.c (struct font_name): Don't declare.
4797
47982008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4799
4800 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4801
48022008-06-16 Chong Yidong <cyd@stupidchicken.com>
4803
4804 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4805
48062008-06-16 Juanma Barranquero <lekktu@gmail.com>
4807
4808 * font.c (Ffont_spec): Fix usage in docstring.
4809 (Ffont_face_attributes): Doc fix.
4810
48112008-06-16 Andreas Schwab <schwab@suse.de>
4812
4813 * font.c (Ffont_face_attributes): Fix definition.
4814
48152008-06-16 Jason Rumney <jasonr@gnu.org>
4816
4817 * font.h (font_style_symbolic_from_value): Remove.
4818
4819 * font.c (font_style_symbolic_from_value): Remove.
4820 (font_style_symbolic): Revert to pre 2008-06-13 version.
4821
4822 * w32font.c (w32_to_fc_weight): New function.
4823 (w32font_full_name, logfont_to_fcname): Use it.
4824
48252008-06-16 Kenichi Handa <handa@m17n.org>
4826
4827 * font.c (font_check_object): Delete it.
4828 (font_clear_cache): Check if a font-object is alive.
4829 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4830 font-object to nil.
4831 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4832 (font_at): Don't call font_check_object.
4833 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4834
48352008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4836
4837 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4838
48392008-06-16 Chong Yidong <cyd@stupidchicken.com>
4840
4841 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4842
48432008-06-15 Chong Yidong <cyd@stupidchicken.com>
4844
4845 * font.c (font_parse_fcname): Only one decimal point.
4846 (font_unparse_fcname): Handle data in family and foundry indices
4847 as symbols, not strings.
4848 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4849
4850 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4851
4852 * font.h (font_unparse_gtkname): Add prototype.
4853
48542008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4855
4856 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4857
48582008-06-15 Andreas Schwab <schwab@suse.de>
4859
4860 * font.c (font_update_drivers): Fix crash when no drivers match.
4861
48622008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4863
4864 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4865 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4866
48672008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4868
4869 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4870
48712008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4872
4873 * process.c (Fserial_process_configure, Fprocess_send_eof):
4874 Use EQ to compare Lisp_Objects.
4875
48762008-06-13 Jason Rumney <jasonr@gnu.org>
4877
4878 * w32fns.c (Fw32_select_font): Remove old font API function.
4879
4880 * w32font.c (logfont_to_fcname): New function.
4881 (Fx_select_font): New font dialog function compatible with
4882 GTK/fontconfig version.
4883
4884 * font.c (font_style_symbolic_from_value): New function.
4885 (font_style_symbolic): Use it.
4886
4887 * font.h (font_style_symbolic_from_value): Declare new function.
4888
48892008-06-13 Juanma Barranquero <lekktu@gmail.com>
4890
4891 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4892 <font-width-table>: Fix typos in docstrings.
4893
48942008-06-13 Daniel Engeler <engeler@gmail.com>
4895
4896 These changes add serial port access.
4897 * process.c: Add HAVE_SERIAL.
4898 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4899 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4900 (list_processes_1, select_wrapper, Fstop_process)
4901 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4902 (status_notify): Modify to handle serial processes.
4903 [HAVE_SERIAL] (Fserial_process_configure)
4904 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4905 New functions.
4906 * process.h (struct Lisp_Process): Add `type'.
4907 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4908 New functions.
4909 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4910 serial ports.
4911 (serial_open, serial_configure) New functions.
4912 * w32.h: Add FILE_SERIAL.
4913 (struct _child_process): Add ovl_read, ovl_write.
4914
49152008-06-13 Kenichi Handa <handa@m17n.org>
4916
4917 * dispextern.h (enum lface_attribute_index): New member
4918 LFACE_FOUNDRY_INDEX.
4919
4920 * font.c (font_score): Delete arg alternate_families. Check only
4921 weight, slant, width, and size. Ignore the difference of alias
4922 style symbols.
4923 (font_sort_entites): Adjust for the above change. Reflect the
4924 order of font-driver to scores.
4925 (font_list_entities): Don't check alternate_familes here.
4926 (font_clear_prop): Handle foundry.
4927 (font_update_lface): Don't parse "foundry-family" form here.
4928 Handle FONT_FOUNDRY_INDEX.
4929 (font_find_for_lface): Likewise. Handle alternate families here.
4930 If registry is nil, try iso8859-1 and ascii-0.
4931 (font_open_for_lface): Pay attention to size in ENTITY.
4932 (font_open_by_name): Simplify by calling font_load_for_lface.
4933 (free_font_driver_list): Delete it.
4934 (font_update_drivers): Preserve the order of backends.
4935 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4936 of font_score and font_sort_entites.
4937 (font_update_sort_order): Likewise.
4938
4939 * xfaces.c (LFACE_FOUNDRY): New macro.
4940 (check_lface_attrs): Check foundry.
4941 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4942 (merge_face_vectors): Check foundry.
4943 (merge_face_ref): Likewise.
4944 (Finternal_set_lisp_face_attribute): Likewise.
4945 (x_update_menu_appearance): Likewise.
4946 (Finternal_get_lisp_face_attribute): Likewise.
4947 (lface_hash): Likewise.
4948 (lface_same_font_attributes_p): Likewise.
4949 (x_supports_face_attributes_p): Likewise.
4950 (tty_supports_face_attributes_p): Likewise.
4951 (Finternal_set_alternative_font_family_alist): Intern strings.
4952 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4953 (realize_default_face): Set LFACE_FOUNDRY (lface).
4954
4955 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4956 font-driver at first.
4957
4958 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4959
49602008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4961
4962 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4963
49642008-06-12 Jim Meyering <meyering@redhat.com>
4965
4966 Make unexec_free handle NULL the same way free does.
4967 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4968
49692008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4970
4971 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4972 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4973 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4974 (WEAK_ALIAS): Simplify.
4975 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4976 when searching a unibyte buffer.
4977
49782008-06-12 Chong Yidong <cyd@stupidchicken.com>
4979
4980 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4981
49822008-06-12 Juanma Barranquero <lekktu@gmail.com>
4983
4984 * w32font.c: Include ctype.h.
4985
49862008-06-11 Jason Rumney <jasonr@gnu.org>
4987
4988 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4989 misreported as space.
4990 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4991 as aliases for registry iso10646-1.
4992
49932008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4994
4995 * buffer.c (clone_per_buffer_values): Skip `name'.
4996
49972008-06-11 Chong Yidong <cyd@stupidchicken.com>
4998
4999 * font.c (font_parse_fcname): Fix last change; accept decimal
5000 points in font size.
5001
50022008-06-10 Jason Rumney <jasonr@gnu.org>
5003
5004 * w32uniscribe.c (add_opentype_font_name_to_list):
5005 Skip non unicode fonts.
5006
50072008-06-10 Chong Yidong <cyd@stupidchicken.com>
5008
5009 * xfns.c (Fx_font_dialog): New function.
5010
5011 * gtkutil.c (xg_dialog_response_cb): Rename from
5012 xg_file_response_callback.
5013 (pop_down_dialog): Rename from pop_down_file_dialog.
5014 (xg_get_file_name): Callers changed.
5015 (xg_get_font_name): New function.
5016
5017 * gtkutil.h (xg_get_font_name): Insert prototype.
5018
50192008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5020
5021 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5022 x_underline_minimum_display_offset.
5023 (syms_of_xdisp): Declare it here rather than in xterm.c.
5024 * dispextern.h (underline_minimum_offset): Declare it.
5025 * w32term.c (x_draw_glyph_string): Use it.
5026 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5027 (syms_of_xterm): Don't declare it any more.
5028 (x_draw_glyph_string): Adjust to the new name.
5029
50302008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5031
5032 * xterm.c (x_underline_minimum_display_offset): New var.
5033 (x_draw_glyph_string): Use it.
5034 (syms_of_xterm): Declare it.
5035
50362008-06-10 Chong Yidong <cyd@stupidchicken.com>
5037
5038 * font.c (font_parse_fcname): Accept GTK-style font names too.
5039
50402008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5041
5042 * dired.c (file_name_completion): Don't return t if the match is exact
5043 but with different capitalization.
5044 * minibuf.c (Ftry_completion): Simplify.
5045
5046 * window.c (Vwindow_point_insertion_type): New var.
5047 (set_window_buffer): Use it.
5048 (syms_of_window): Init and export it to Lisp.
5049
50502008-06-10 Kenichi Handa <handa@m17n.org>
5051
5052 * font.h (font_intern_prop): Prototype adjusted.
5053
5054 * font.c (font_intern_prop): New arg force_symbol.
5055 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5056 Adjust for the change of font_intern_prop.
5057
5058 * ftfont.c (ftfont_pattern_entity):
5059 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5060 (w32_registry):
5061 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5062 the change of font_intern_prop.
5063
50642008-06-09 Juanma Barranquero <lekktu@gmail.com>
5065
5066 * w32menu.c (digest_single_submenu): Declare extern.
5067
50682008-06-09 Jason Rumney <jasonr@gnu.org>
5069
5070 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5071
5072 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5073 (parse_single_submenu): Remove.
5074 (digest_single_submenu): Remove.
5075 (syms_of_w32menu): Don't initialise variables that have moved
5076 to menu.c.
5077 (set_frame_menubar): Sync with version in xmenu.c.
5078 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5079
5080 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5081 Make static again.
5082
50832008-06-09 Jason Rumney <jasonr@gnu.org>
5084
5085 Changes to w32 files related to the move of common menu code
5086 to menu.c on 2008-06-08 by Chong Yidong.
5087
5088 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5089 defs to w32gui.h.
5090 (single_keymap_panes, push_menu_item, push_menu_pane):
5091 Make globally visible.
5092
5093 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5094 (local_free, malloc_widget_value, free_widget_value)
5095 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5096 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5097 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5098 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5099 (menu_items, menu_items_allocated, menu_items_used)
5100 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5101 (init_menu_items, finish_menu_items, discard_menu_items)
5102 (grow_menu_items, push_submenu_start, push_submenu_end)
5103 (push_left_right_boundary, push_menu_pane, push_menu_item)
5104 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5105 (free_menubar_widget_tree_value, parse_single_submenu)
5106 (update_submenu_strings): Remove functions.
5107 (xmalloc_widget_value): Remove and declare extern.
5108
5109 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5110 (OBJ1): Build it.
5111
5112 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5113 (local_heap, local_alloc, local_free, malloc_widget_value)
5114 (free_widget_value): Define here.
5115
51162008-06-09 Kenichi Handa <handa@m17n.org>
5117
5118 * font.h (Qascii_0): Extern it.
5119
5120 * font.c (Qascii_0): New variable.
5121 (syms_of_font): DEFSYM it.
5122 (font_open_by_name): If the registry "iso8859-1" fails, try also
5123 "ascii-0".
5124
5125 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5126
51272008-06-08 Kenichi Handa <handa@m17n.org>
5128
5129 * .gdbinit (xfont): New command.
5130
51312008-06-08 Andreas Schwab <schwab@suse.de>
5132
5133 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5134 * Makefile.in (menu.o): Update dependencies.
5135
5136 * Makefile.in (obj): Always add menu.o.
5137 * emacs.c (main): Always call syms_of_menu.
5138 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5139
51402008-06-08 Chong Yidong <cyd@stupidchicken.com>
5141
5142 * Makefile.in: Compile menu.c.
5143
5144 * lisp.h: Declare syms_of_menu.
5145
5146 * emacs.c (main): Call syms_of_menu.
5147
5148 * keyboard.h: Relocate platform-independent menu definitions from
5149 xmenu.c.
5150
5151 * menu.c: New file. Relocate platform-independent menu
5152 definitions from xmenu.c. Suggested by Adrian Robert.
5153
5154 * xmenu.c: Remove platform-independent menu definitions.
5155 (menu_items menu_items_inuse, menu_items_allocated)
5156 (menu_items_used, menu_items_n_panes)
5157 (menu_items_submenu_depth): Move to keyboard.h.
5158 (init_menu_items, finish_menu_items, unuse_menu_items)
5159 (discard_menu_items, restore_menu_items, save_menu_items)
5160 (grow_menu_items, push_submenu_start, push_submenu_end)
5161 (push_left_right_boundary, push_menu_pane, push_menu_item)
5162 (keymap_panes, single_keymap_panes, single_menu_item)
5163 (list_of_panes, list_of_items, find_and_call_menu_selection)
5164 (xmalloc_widget_value, free_menubar_widget_value_tree)
5165 (parse_single_submenu, digest_single_submenu)
5166 (update_submenu_strings): Move to menu.c.
5167
51682008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5169
5170 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5171
51722008-06-06 Miles Bader <miles@gnu.org>
5173
5174 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5175 face, not frame default.
5176
51772008-06-05 Martin Rudalics <rudalics@gmx.at>
5178
5179 * window.c (pop_up_windows, pop_up_frames)
5180 (display_buffer_reuse_frames, Vpop_up_frame_function)
5181 (Vdisplay_buffer_function, Veven_window_heights)
5182 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5183 (Vspecial_display_function, Vsame_window_buffer_names)
5184 (Vsame_window_regexps, split_height_threshold)
5185 (Vsplit_window_preferred_function): Move those vars to window.el.
5186 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5187 (Fdisplay_buffer): Move those functions to window.el.
5188 (syms_of_window): Remove corresponding declarations.
5189 (display_buffer): New function.
5190 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5191 * dispnew.c (Flast_nonminibuf_frame): New function.
5192 * buffer.c (Fpop_to_buffer): Move to window.el.
5193
51942008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5195
5196 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5197
51982008-06-05 Kenichi Handa <handa@m17n.org>
5199
5200 * coding.c (detect_coding): Fix previous change.
5201 (detect_coding_system): Likewise.
5202
52032008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5204
5205 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5206
5207 * keymap.c (Vminibuffer_local_filename_must_match_map):
5208 Rename from Vminibuffer_local_must_match_filename_map.
5209 (syms_of_keymap):
5210 * minibuf.c (Fcompleting_read): Adjust accordingly.
5211 * commands.h: Rename declaration as well.
5212
52132008-06-05 Kenichi Handa <handa@m17n.org>
5214
5215 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5216 family name.
5217 (Ffont_put): Likewise.
5218
5219 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5220 current font-spec.
5221
5222 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5223 is unspecified.
5224
5225 * xfaces.c (realize_x_face): If the font-related face attributes
5226 are the same as those of default face, realize a new fontset from
5227 default->fontset.
5228 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5229
52302008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5231
5232 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5233 (move_it_in_display_line): New wrapper.
5234
5235 * window.c (window_scroll_pixel_based_preserve_x)
5236 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5237 (window_scroll_pixel_based, window_scroll_line_based):
5238 Use them to preserve column positions.
5239 (syms_of_window): Initialize them.
5240
5241 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5242 (HPOS . VPOS) pair.
5243
5244 * dispextern.h (move_it_in_display_line): Declare.
5245
52462008-06-05 Juanma Barranquero <lekktu@gmail.com>
5247
5248 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5249 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5250 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5251
52522008-06-04 Juanma Barranquero <lekktu@gmail.com>
5253
5254 * window.c (Fset_window_parameter): Doc fix.
5255 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5256
52572008-06-04 Joakim Verona <joakim@verona.se>
5258
5259 * window.h (struct window): Add new member window_parameters.
5260
5261 * window.c (Fwindow_parameters, Fwindow_parameter)
5262 (Fset_window_parameter): New defuns.
5263 (syms_of_window): Defsubr the new defuns.
5264 (make_window): Initialize window_parameters to nil.
5265
52662008-06-04 John Paul Wallington <jpw@pobox.com>
5267
5268 * eval.c (Fdefmacro): Doc fix.
5269
52702008-06-04 Kenichi Handa <handa@m17n.org>
5271
5272 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5273 Be sure to call setup_coding_system when we find a proper coding system.
5274 (detect_coding_system): Fix handling of coding->head_ascii.
5275
52762008-06-03 Andreas Schwab <schwab@suse.de>
5277
5278 * font.c (font_prop_validate_spacing): Fix last change.
5279
52802008-06-03 Kenichi Handa <handa@m17n.org>
5281
5282 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5283 (font_parse_fcname): Fix handling of unknown key.
5284
5285 * xfont.c (xfont_list): Try an alias.
5286
5287 * charset.c (char_charset): Return NULL if the arg charset_list is
5288 specified and C doesn't belong to any of them.
5289
52902008-06-02 Chip Coldwell <coldwell@redhat.com>
5291
5292 * font.c (font_pixel_size): Don't take cdr of an integer.
5293
52942008-06-02 Jim Meyering <meyering@redhat.com>
5295
5296 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5297 * alloc.c (xfree): Return right away for a NULL arg.
5298 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5299 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5300 * mac.c (create_apple_event_from_event_ref): Likewise.
5301 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5302 Likewise.
5303 * doprnt.c (doprnt1): Likewise.
5304 * frame.c (frame): Likewise.
5305 * keyboard.c (wipe_kboard): Likewise.
5306 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5307 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5308 * term.c (tty_default_color_capabilities, maybe_fatal)
5309 (delete_tty): Likewise.
5310 * w16select.c (string): Likewise.
5311 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5312 * w32bdf.c (w32_free_bdf_font): Likewise.
5313 * w32fns.c (w32_unload_font): Likewise.
5314 * w32font.c (w32font_close): Likewise.
5315 * window.c (size_window): Likewise.
5316 * xselect.c (receive_incremental_selection): Likewise.
5317 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5318 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5319 * w32.c (stat): Likewise.
5320
5321 Remove useless if-before-free tests.
5322 * editfns.c (Fset_time_zone_rule): Likewise.
5323 * lread.c (nosuffix): Likewise.
5324 * ralloc.c (get_bloc): Likewise.
5325 * regex.c (reg_free): Likewise.
5326 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5327 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5328 * xsmfns.c (smc_save_yourself_CB): Likewise.
5329
53302008-06-02 Kenichi Handa <handa@m17n.org>
5331
5332 * font.c (font_find_for_lface): Handle float font size.
5333 (font_open_for_lface): Likewise.
5334
5335 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5336 comparing the properties.
5337
53382008-06-01 Jason Rumney <jasonr@gnu.org>
5339
5340 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5341 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5342 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5343 Don't add empty script list.
5344 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5345
53462008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5347
5348 * Makefile.in (dot, dotdot): Remove, update users.
5349 ".." has been used elsewhere in the file for a long time.
5350 (LIBXT_STATIC): Remove conditional based on unused variable.
5351
53522008-06-01 Miles Bader <miles@gnu.org>
5353
5354 * xfaces.c (Vface_remapping_alist): New variable.
5355 (syms_of_xfaces): Initialize it.
5356 (enum named_merge_point_kind): New type.
5357 (struct named_merge_point): Add `named_merge_point_kind' field.
5358 (push_named_merge_point): Make cycle detection respect different
5359 named-merge-point kinds.
5360 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5361 Remove face-name alias resolution.
5362 (lface_from_face_name): New definition using
5363 `lface_from_face_name_no_resolve'.
5364 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5365 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5366 (get_lface_attributes): New definition that layers face-remapping on
5367 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5368 (lookup_basic_face): New function.
5369 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5370 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5371 `get_lface_attributes'.
5372 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5373 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5374 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5375
5376 * xdisp.c (init_iterator): Pass base_face_id through
5377 `lookup_basic_face' when we actually use it as a face-id.
5378 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5379 DEFAULT_FACE_ID.
5380
5381 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5382 lookup the initial face-id.
5383
5384 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5385
53862008-06-01 Juanma Barranquero <lekktu@gmail.com>
5387
5388 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5389 (Fremove_text_properties): Fix typos in docstrings.
5390
53912008-05-31 Kenichi Handa <handa@m17n.org>
5392
5393 * font.c (font_list_entities): Fix the car part of data to be
5394 stored in the cache.
5395
5396 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5397
53982008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5399
5400 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5401 Add a `test' argument so another predicate than `equal' can be used.
5402 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5403 (map_char_table): Remove unused vars `c' and `i'.
5404 * lisp.h (Foptimize_char_table): Adjust declaration.
5405 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5406
54072008-05-30 Kenichi Handa <handa@m17n.org>
5408
5409 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5410 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5411 defined.
5412
54132008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5414
5415 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5416 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5417 frame-local settings for the same variable.
5418
54192008-05-30 Kenichi Handa <handa@m17n.org>
5420
5421 * fontset.c (Ffont_info): Move to font.c.
5422 (syms_of_fontset): Delete defsubr of Sfont_info.
5423
5424 * font.c (font_style_to_value, font_score): Delete casting of the
5425 args to xstcasecmp.
5426 (register_font_driver): Increment num_font_drivers only when
5427 registering the driver globally.
5428 (Ffont_info): Move from fontset.c. Handle a font object too.
5429 (syms_of_font): Defsubr Sfont_info.
5430
54312008-05-29 Kenichi Handa <handa@m17n.org>
5432
5433 * coding.h (enum define_coding_utf8_arg_index): New enum.
5434 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5435 coding_attr_utf_bom.
5436 (enum utf_bom_type): Rename from utf_16_bom_type.
5437 (struct utf_16_spec): Adjust for the above change.
5438 (struct coding_system): Add utf_8_bom in `spec' union.
5439
5440 * coding.c (CODING_UTF_8_BOM): New macro.
5441 (enum coding_category): Delete coding_category_utf_8, add
5442 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5443 coding_category_utf_8_sig.
5444 (CATEGORY_MASK_UTF_8): Delete it.
5445 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5446 (CATEGORY_MASK_UTF_8_SIG): New macros.
5447 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5448 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5449 CATEGORY_MASK_UTF_8_SIG.
5450 (CATEGORY_MASK_UTF_8): New macro.
5451 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5452 (detect_coding_utf_8): Check BOM.
5453 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5454 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5455 (encode_coding_utf_16): Likewise.
5456 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5457 (detect_coding, detect_coding_system): Handle utf-8-auto.
5458 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5459 (syms_of_coding): Fix setting up of Vcoding_category_table.
5460
54612008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5462
5463 * process.c (Faccept_process_output): If `millisec' is non-nil,
5464 `seconds' default to 0.
5465 (wait_reading_process_output): Also return non-nil if we read output
5466 from a non-running process.
5467
54682008-05-29 Jason Rumney <jasonr@gnu.org>
5469
5470 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5471 `raster' specified.
5472 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5473 in the uniscribe backend, but disallow any font that has no
5474 unicode subrange support.
5475
54762008-05-29 Juanma Barranquero <lekktu@gmail.com>
5477
5478 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5479 Fix typos in docstrings.
5480
54812008-05-29 Kenichi Handa <handa@m17n.org>
5482
5483 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5484 (Fx_family_fonts): Set frame correctly.
5485
54862008-05-28 Jason Rumney <jasonr@gnu.org>
5487
5488 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5489
54902008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5491
5492 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5493 calling build_annotations.
5494
54952008-05-28 Juanma Barranquero <lekktu@gmail.com>
5496
5497 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5498 (Fencode_coding_string):
5499 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5500 <latin-extra-code-table>: Fix typos in docstrings.
5501 (syms_of_coding) <coding-system-alist>: Doc fix.
5502 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5503
55042008-05-28 Kenichi Handa <handa@m17n.org>
5505
5506 * fontset.c (Ffont_info): Don't call font_close_object.
5507
5508 * font.c (font_parse_family_registry): Use Ffont_put to validate
5509 foundry and family.
5510 (font_delete_unmatched): Don't check spacing.
5511 (font_list_entities): Add spacing to the spec to list fonts.
5512
5513 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5514 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5515
5516 * coding.c (encode_coding_raw_text): Fix previous change.
5517 (encode_coding_object): When the dst_object is a buffer and is
5518 different from src_object, move gap to PT.
5519
55202008-05-27 Chong Yidong <cyd@stupidchicken.com>
5521
5522 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5523
55242008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5525
5526 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5527 all branches. Compute it differently.
5528
5529 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5530
55312008-05-27 Juanma Barranquero <lekktu@gmail.com>
5532
5533 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5534 into "else if () ... else ...".
5535
55362008-05-27 Jason Rumney <jasonr@gnu.org>
5537
5538 * w32font.c (w32font_open_internal): Determine if glyph indices
5539 are likely to work here.
5540
55412008-05-27 Chong Yidong <cyd@stupidchicken.com>
5542
5543 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5544 draw overlap glyphs with appropriate highlighting.
5545
55462008-05-27 Kenichi Handa <handa@m17n.org>
5547
5548 * xfont.c (xfont_open): Fix calculation of font->average_width.
5549
55502008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5551
5552 * casefiddle.c (casify_object): Try to guess better whether the
5553 argument is a byte or a char.
5554
55552008-05-26 Andreas Schwab <schwab@suse.de>
5556
5557 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5558 Always send multiples of format size.
5559
5560 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5561
55622008-05-26 Jason Rumney <jasonr@gnu.org>
5563
5564 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5565 (compute_metrics): Don't set failure if we just cleared the cache.
5566 (w32_weight_table): Remove unused variable.
5567 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5568 backwards compatibility.
5569
55702008-05-25 Kenichi Handa <handa@m17n.org>
5571
5572 * w32term.c (x_draw_glyph_string):
5573 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5574
5575 * xfaces.c: Delete unused function prototypes.
5576 (xstrlwr, font_frame): Delete them.
5577 (clear_face_cache): Delete unused variable.
5578
5579 * xftfont.c (xftfont_open): Delete unused variable.
5580 If underline_thickness is not 1, adjust underline_position.
5581
5582 * ftxfont.c (ftxfont_open): Delete unused variable.
5583
5584 * fontset.c (face_for_char): Optimize for the case of no charset
5585 property.
5586
5587 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5588 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5589 (otf_open, font_otf_capability, generate_otf_features)
5590 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5591 Comment out by surrounding "#if 0" and "#endif" for the moment.
5592 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5593 (syms_of_font): Codes for accessing above commented out.
5594
55952008-05-24 Eli Zaretskii <eliz@gnu.org>
5596
5597 * w32proc.c: Include dispextern.h.
5598
5599 * w32.c: Include dispextern.h.
5600
56012008-05-23 Juanma Barranquero <lekktu@gmail.com>
5602
5603 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5604 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5605 Fix typos in docstrings.
5606
56072008-05-23 Jason Rumney <jasonr@gnu.org>
5608
5609 * xsmfns.c: Remove includes that are already included by config.h.
5610
56112008-05-23 Kenichi Handa <handa@m17n.org>
5612
5613 * charset.c (Qemacs, charset_emacs): New variables.
5614 (char_charset): Fix for non-Unicode characters.
5615 (syms_of_charset): Define charset_emacs.
5616
5617 * w32term.c (x_draw_glyph_string): Be sure to update
5618 s->underline_thickness and s->underline_position. Be sure to draw
5619 underline within the current line area.
5620
5621 * xterm.c (x_draw_glyph_string): Be sure to update
5622 s->underline_thickness and s->underline_position. Be sure to draw
5623 underline within the current line area.
5624
5625 * fontset.c: Delete unused variables and add casting for char *
5626 throughout the file.
5627 (fontset_font): Try the fallback fonts of the current fontset
5628 before consulting the default fontset.
5629
5630 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5631
5632 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5633
56342008-05-22 Jason Rumney <jasonr@gnu.org>
5635
5636 * font.c: Don't include strings.h.
5637
5638 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5639
5640 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5641 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5642 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5643 to call xstrcasecmp.
5644
5645 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5646
5647 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5648
5649 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5650
5651 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5652
56532008-05-22 Kenichi Handa <handa@m17n.org>
5654
5655 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5656
5657 * font.c (font_prop_validate_style): Adjust for the format
5658 change of font_style_table.
5659
5660 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5661 two args.
5662
5663 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5664 two args.
5665
56662008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5667
5668 * minibuf.c (keys_of_minibuf): Delete.
5669 * lisp.h (keys_of_minibuf): Delete.
5670 * emacs.c (main): Don't call keys_of_minibuf.
5671
56722008-05-22 Kenichi Handa <handa@m17n.org>
5673
5674 * ftfont.c (ftfont_resolve_generic_family): Rename from
5675 ftfont_list_generic_family. Return a single family for each
5676 generic family.
5677 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5678 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5679 Call font_add_log.
5680 (ftfont_match): Call font_add_log.
5681
5682 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5683 (FONT_DEBUG): Define it.
5684 (font_add_log): Extern it.
5685 (font_assert): Rename from xassert.
5686
5687 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5688 (xfont_list_family): Call font_add_log.
5689 (xfont_match): Likewise.
5690 (memq_no_quit): Delete.
5691
5692 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5693 call of Ffont_xlfd_name.
5694
5695 * xfaces.c (struct table_entry, slant_table, weight_table)
5696 (swidth_table): Move to font.c.
5697
5698 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5699 xassert are changed to font_assert. Delete many unused variables.
5700 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5701 New variables.
5702 (struct table_entry): Move from xfaces.c and modified.
5703 (weight_table, slant_table, width_table): Move from xfaces.c and
5704 contents adjusted for the change of struct table_entry.
5705 (font_style_to_value, font_style_symbolic): Adjust for the
5706 format change of font_style_table.
5707 (font_parse_family_registry): Don't overwrite existing foundry and
5708 family of font_spec.
5709 (font_score): Fix calculation of diff for sizes.
5710 (font_sort_entites): Call font_add_log.
5711 (font_delete_unmatched): Return a newly created list.
5712 (font_list_entities): Fix previous change. Call font_add_log.
5713 (font_matching_entity, font_open_entity, font_close_entity):
5714 Call font_add_log.
5715 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5716 (Finternal_set_font_style_table): Delete.
5717 (BUILD_STYLE_TABLE): New macro.
5718 (build_style_table): New function.
5719 (Vfont_log, font_log_env_checked): New variables.
5720 (font_add_log): New function.
5721 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5722 Declare Lisp variables "font-weight-table", "font-slant-table",
5723 "font-width-table", and "font-log". Initialize font_style_table.
5724
57252008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5726
5727 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5728
57292008-05-21 Seiji Zenitani <zenitani@mac.com>
5730 Ryo Yoshitake <ryo@shiftmode.net>
5731
5732 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5733 (Vframe_alpha_lower_limit): New variable.
5734 (x_set_alpha): New function.
5735
5736 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5737
5738 * xfns.c (x-create-frame, Qalpha):
5739 Initialize the frame parameter `alpha'.
5740 * xterm.c (OPAQUE, OPACITY): New.
5741 (x_set_frame_alpha): New function.
5742 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5743
5744 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5745 * w32fns.c (w32_frame_parm_handlers): Likewise.
5746
57472008-05-20 Jason Rumney <jasonr@gnu.org>
5748
5749 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5750 truetype fonts to opentype list.
5751
57522008-05-20 Juanma Barranquero <lekktu@gmail.com>
5753
5754 * fontset.c (Ffontset_info): Doc fix.
5755 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5756 <ignore-relative-composition>: Fix typos in docstrings.
5757
5758 * font.c (syms-of-font) <font-encoding-alist>:
5759 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5760 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5761 (Ffont_otf_alternates): Doc fixes.
5762
57632008-05-20 Kenichi Handa <handa@m17n.org>
5764
5765 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5766 font.h through out the file.
5767 (FONT_DRIVERS): Rename from FONTOBJ.
5768 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5769 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5770
5771 * emacs.c (main): Call syms_of_font unconditionally.
5772
5773 * font.h (find_font_encoding): Extern it.
5774
5775 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5776 fontset.c.
5777 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5778 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5779 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5780 only when HAVE_WINDOW_SYSTEM is defined.
5781 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5782 when HAVE_WINDOW_SYSTEM is defined.
5783
5784 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5785 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5786
5787 * xfaces.c: Include font.h unconditionally.
5788 (merge_face_ref, merge_face_vectors)
5789 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5790
57912008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5792
5793 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5794 indirect_variable.
5795 * eval.c (lisp_indirect_variable): New fun.
5796 (Fuser_variable_p): Use it.
5797
57982008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5799
5800 * lisp.h (indirect_variable):
5801 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5802 Use Lisp_Symbol pointers rather than Lisp_Object.
5803 Adjust callers.
5804 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5805 To this end, change calling-convention.
5806
5807 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5808 if some non-hidden buffers are selected by string&pred.
5809
58102008-05-19 Chong Yidong <cyd@stupidchicken.com>
5811
5812 * process.c (wait_reading_process_output): Always check status
5813 when in batch mode.
5814
58152008-05-19 Kenichi Handa <handa@m17n.org>
5816
5817 * font.c (font_list_entities): Fix handling of cache.
5818 (font_matching_entity): Likewise.
5819
5820 * ftfont.c (cs_iso8859_1): Delete.
5821 (ft_face_cache): New variable.
5822 (struct ftfont_info): New member fc_charset_idx.
5823 (ftfont_build_basic_charsets): Delete.
5824 (fc_charset_table): New variable.
5825 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5826 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5827 Callers changed.
5828 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5829 (ftfont_spec_pattern): New argument fc_charset_idx.
5830 Check registry more rigidly. Change callers.
5831 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5832 change of :font-entity property of the font.
5833
5834 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5835 property of the font.
5836
58372008-05-18 Juanma Barranquero <lekktu@gmail.com>
5838
5839 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5840 (Funencodable_char_position, Fcheck_coding_systems_region)
5841 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5842 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5843 (Ffind_operation_coding_system, Fset_coding_system_priority)
5844 (Fcoding_system_eol_type): Doc fixes.
5845
58462008-05-17 Glenn Morris <rgm@gnu.org>
5847
5848 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5849
58502008-05-16 Eli Zaretskii <eliz@gnu.org>
5851
5852 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5853 and st_gid.
5854
5855 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5856 HAVE_WINDOW_SYSTEM is not defined.
5857
5858 * xfaces.c (merge_face_ref, merge_face_vectors)
5859 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5860 HAVE_WINDOW_SYSTEM is defined.
5861 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5862
58632008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5864
5865 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5866
58672008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5868
5869 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5870
58712008-05-15 Kenichi Handa <handa@m17n.org>
5872
5873 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5874 preference.
5875
58762008-05-15 Glenn Morris <rgm@gnu.org>
5877
5878 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5879
58802008-05-15 Chong Yidong <cyd@stupidchicken.com>
5881
5882 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5883 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5884
5885 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5886
58872008-05-15 Kenichi Handa <handa@m17n.org>
5888
5889 * ftfont.c (ftfont_list): Downcase family name to check generic
5890 families.
5891
5892 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5893 font-spec for QCfont value.
5894
5895 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5896 buffer. Check the return value of it.
5897
58982008-05-14 Jason Rumney <jasonr@gnu.org>
5899
5900 * w32term.c (w32_get_glyph_overhangs): Remove.
5901 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5902
59032008-05-14 Kenichi Handa <handa@m17n.org>
5904
5905 * font.c (font_prop_validate): Make nil a valid value.
5906 (font_clear_cache): Check if the cached vector of entities is nil
5907 or not.
5908
59092008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5910
5911 * emacs.c (main_thread): Conditionalize on
5912 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5913 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5914
5915 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5916 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5917 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5918
59192008-05-14 Kenichi Handa <handa@m17n.org>
5920
5921 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5922 has no corresponding coding system.
5923
59242008-05-14 Jason Rumney <jasonr@gnu.org>
5925
5926 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5927
5928 * w32font.h (w32font_open_internal): Update declaration.
5929
5930 * w32font.c (w32font_open_internal): Change last argument from
5931 w32font_info struct to font object. Fill in font object from
5932 font_entity. Get Outline metrics if possible. Use them to
5933 calculate underline position and thickness. Use xlfd name as name
5934 property. Don't set codepage.
5935 (w32font_open): Pass font_object to w32font_open_internal. Don't
5936 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5937 (w32font_draw): Use s->font.
5938 (clear_cached_metrics): Don't clear non-existent blocks.
5939
5940 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5941 font was not found.
5942 (x_draw_glyph_string): Use underline position and thickness from font.
5943
5944 * w32uniscribe.c (uniscribe_open): Pass font_object to
5945 w32font_open_internal.
5946
59472008-05-14 Kenichi Handa <handa@m17n.org>
5948
5949 These changes are to delete all legacy font-handling codes, and
5950 make Emacs use only font-backends.
5951
5952 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5953 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5954
5955 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5956
5957 * charset.h (Vcharset_non_preferred_head)
5958 (Vcurrent_iso639_language): Extern them.
5959
5960 * charset.c (Vcharset_non_preferred_head): New variable.
5961 (Vcurrent_iso639_language): New variable.
5962 (syms_of_charset): Declare it as a Lisp variable.
5963 (char_charset): Don't check non preferred charsets. As a last
5964 resort, return charset_unicode.
5965 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5966
5967 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5968 conditionals. Don't check enable_font_backend. Delete all codes
5969 used only when USE_FONT_BACKEND is not defined.
5970
5971 * dispextern.h (struct glyph_string): Change type of `font' to
5972 `struct font *'.
5973 (struct glyph_string): New member underline_position and
5974 underline_thickness.
5975 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5976 (struct face): Change type of `font' to `struct font *'. Remove
5977 members `font_name', `font_info_id'.
5978 (per_char_metric, encode_char): Delete externs.
5979 (calc_pixel_width_or_height): Adjust the prototype.
5980
5981 * emacs.c (enable_font_backend): Delete extern.
5982 (main): Don't set enable_font_backend. Don't check the command
5983 line argument "-disable-font-backend".
5984
5985 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5986 (enum font_property_index): New members FONT_DPI_INDEX,
5987 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5988 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5989 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5990 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5991 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5992 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5993 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5994 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5995 (struct font_spec, struct font_entity): New structs.
5996 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5997 (struct font): Many members from old "struct font_info" moved to
5998 here. Members font and entity deleted.
5999 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6000 the new font-related objects.
6001 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6002 (CHECK_FONT_GET_OBJECT): Likewise.
6003 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6004 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6005 (struct font_driver): New members case_sensitive anc check. Type
6006 of the member list and open changed.
6007 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6008 (font_symbolic_width, font_find_object, font_get_spec)
6009 (font_set_lface_from_name): Delete extern.
6010 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6011
6012 * font.c: Include <strings.h>.
6013 (enable_font_backend): Delete it.
6014 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6015 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6016 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6017 (null_string): Delete it.
6018 (null_vector): Make it static.
6019 (font_family_alist): Delete it.
6020 (Qnormal): Extern it.
6021 (QCextra, QClanguage): Delete it.
6022 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6023 (font_make_spec, font_make_entity, font_make_object)
6024 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6025 the string. Callers changed.
6026 (font_pixel_size): Adjusted for the format change of font-related
6027 objects.
6028 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6029 (font_style_to_value, font_style_symbolic): New function.
6030 (build_font_family_alist): Delete it.
6031 (font_registry_charsets): Use Fassoc_string instead of
6032 assq_no_quit.
6033 (font_prop_validate_symbol): Don't return null_string.
6034 (font_prop_validate_style): Adjusted for the change of
6035 style-related values in a font vector.
6036 (font_property_table): Delete entries for QClanguage and
6037 QCantialias, add entries for QCavgwidth.
6038 (get_font_prop_index): Delete the 2nd argument FROM.
6039 (font_prop_validate): Arguments changed.
6040 (font_put_extra): Adjusted for the change of font-related objects.
6041 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6042 (font_parse_fcname, font_unparse_fcname)
6043 (font_prepare_composition): Likewise.
6044 (font_parse_family_registry): Renamed from font_merge_old_spec.
6045 (otf_open): Delete the 1st arg entity.
6046 (font_otf_capability): Adjusted for the above change.
6047 (font_score): New arg alternate_families. Adjusted for the change
6048 of font-related objects.
6049 (font_sort_entites): New arg best_only.
6050 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6051 Delete them.
6052 (font_match_p): Check alternate families.
6053 (font_find_object): Delete it.
6054 (font_check_object): New function.
6055 (font_clear_cache): Adjusted for the change of font-related objects.
6056 (font_delete_unmatched): New arg.
6057 (font_list_entities): Call font_driver->list with a spec that
6058 doesn't specify style-related properties.
6059 (font_matching_entity): Arguments changed. Caller changed.
6060 (font_open_entity): Adjusted for the change of font-related objects.
6061 (font_close_object, font_has_char, font_encode_char)
6062 (font_get_name, font_get_spec): Likewise.
6063 (font_spec_from_name, font_clear_prop, font_update_lface):
6064 New functions.
6065 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6066 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6067 (font_at): Adjusted for the change of font-related objects.
6068 (font_range): New function.
6069 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6070 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6071 (Fcopy_font_spec, Fmerge_font_spec): New function.
6072 (Ffont_family_list): Renamed from list-families.
6073 (Finternal_set_font_style_table): Arguments changed.
6074 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6075 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6076 change of font-related objects.
6077 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6078
6079 * fontset.h (struct font_info): Delete it. Most members go to
6080 struct font.
6081 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6082 (enum FONT_SPEC_INDEX): Delete it.
6083 (font_info, list_fonts_func, load_font_func, query_font_func)
6084 (set_frame_fontset_func, find_ccl_program_func)
6085 (get_font_repertory_func, new_fontset_from_font_name): Delete
6086 externs.
6087 (fontset_from_font_name): Extern it.
6088 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6089 (FONT_INFO_FROM_FACE): Deleted.
6090 (face_for_font): Adjust prototype.
6091
6092 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6093 conditionals. Don't check enable_font_backend. Delete all codes
6094 used only when USE_FONT_BACKEND is not defined.
6095 (get_font_info_func, list_font_func, load_font_func)
6096 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6097 (get_font_repertory_func): Delete them.
6098 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6099 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6100 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6101 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6102 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6103 (fontset_compare_rfontdef): New function.
6104 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6105 rfont-defs by qsort. Adjusted for the change of font-group vector.
6106 (load_font_get_repertory): Deleted.
6107 (fontset_find_font): Use new macros to ref/set elements of
6108 font-def and rfont-def.
6109 (fontset_font): Fix the timing of remembering that no font for C.
6110 (free_face_fontset): Do nothing if the face has no fontset.
6111 (face_suitable_for_char_p): Use new macros to ref/set elements of
6112 rfont-def.
6113 (face_for_char): Likewise. Call face_for_char with font_object.
6114 (fs_load_font): Delete. Delete #pragma surrounding it.
6115 (fs_query_fontset): Use strcasecmp instead of strcmp.
6116 (generate_ascii_font_name): Adjusted for the format change of
6117 font-spec.
6118 (Fset_fontset_font): Likewise. Use new macros to set elements of
6119 font-def.
6120 (Fnew_fontset): Use font_unparse_xlfd to generate
6121 FONTSET_ASCII (fontset).
6122 (new_fontset_from_font_name): Deleted.
6123 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6124 a fontset is already created for the font. FIx updating of
6125 Vfontset_alias_alist.
6126 (fontset_ascii_font): Deleted.
6127 (Ffont_info): Adjusted for the format change of font-spec.
6128 (Finternal_char_font): Likewise.
6129 (Ffontset_info): Likewise.
6130 (syms_of_fontset): Don't check load_font_func.
6131
6132 * fns.c (internal_equal): Handle PREV_FONT.
6133
6134 * frame.h: Delete USE_FONT_BACKEND conditional.
6135
6136 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6137 conditionals. Don't check enable_font_backend. Delete all codes
6138 used only when USE_FONT_BACKEND is not defined.
6139 (x_set_font): Call x_new_font, not x_new_fontset2.
6140 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6141 already set for the frame.
6142
6143 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6144 a font-entity by font_make_entity. Use font_intern_prop instead
6145 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6146 font property. If a font is scalable, set avgwidth property to 0.
6147 Set font-entity property by font_put_extra.
6148 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6149 (ffont_driver): Adjusted for the change of struct font_driver.
6150 (ftfont_spec_pattern): New function.
6151 (ftfont_list): Return a list, not vector.
6152 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6153 (ftfont_list_family): Don't downcase names.
6154 (ftfont_free_entity): Deleted.
6155 (ftfont_open): Return a font-object. Adjusted for the change of
6156 struct font. Get underline_thickness and underline_position from
6157 font property. Don't update dpyinfo->smallest_font_height and
6158 dpyinfo->smallest_char_width.
6159 (ftfont_close): Don't free `struct font'.
6160 (ftfont_has_char): Adjusted for the format change of font-entity.
6161 (ftfont_encode_char, ftfont_text_extents): Likewise.
6162
6163 * ftxfont.c (ftxfont_list): Return a list, not vector.
6164 (ftxfont_open): Return a font-object. Adjusted for the change of
6165 struct font. Get underline_thickness and underline_position from
6166 font property. Don't update dpyinfo->smallest_font_height and
6167 dpyinfo->smallest_char_width.
6168 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6169 (ftxfont_draw): Adjusted for the change of struct font.
6170
6171 * image.c (image_ascent): Don't include "charset.h". Include
6172 "character.h" and "font.h".
6173
6174 * lisp.h (enum pvec_type): New member PREV_FONT.
6175 (Fassoc_string): EXFUN it.
6176
6177 * print.c: Include font.h.
6178 (print_object): Handle font-related objects.
6179
6180 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6181 conditionals. Don't check enable_font_backend. Delete all codes
6182 used only when USE_FONT_BACKEND is not defined.
6183 (handle_auto_composed_prop): Do nothing if it->f is not on a
6184 window system. Check how many following characters can be
6185 displayed by the same font.
6186 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6187 'struct font *'.
6188 (get_char_face_and_encoding): Assign the whole encoding task to
6189 the `encode-char' method of a font driver.
6190 (fill_composite_glyph_string): Adjusted for the change of `struct
6191 face' and `struct glyph_string'.
6192 (fill_glyph_string): Likewise.
6193 (get_per_char_metric): Arguments changed.
6194 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6195 and `struct glyph_string'.
6196 (produce_stretch_glyph, calc_line_height_property)
6197 (x_produce_glyphs): Likewise.
6198
6199 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6200 conditionals. Don't check enable_font_backend. Delete all codes
6201 used only when USE_FONT_BACKEND is not defined. Use
6202 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6203 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6204 (Qp): Extern them.
6205 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6206 Deleted.
6207 (struct font_name): Deleted.
6208 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6209 (compare_fonts_by_sort_order): New function.
6210 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6211 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6212 Deleted.
6213 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6214 compare_fonts_by_sort_order.
6215 (Fx_font_family_list): Call Ffont_family_list.
6216 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6217 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6218 (face_symbolic_slant, face_symbolic_swidth)
6219 (split_font_name_into_vector, build_font_name_from_vector)
6220 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6221 (font_rescale_ratio, split_font_name, build_font_name)
6222 (free_font_names, sort_fonts, x_face_list_fonts)
6223 (face_font_available_p, sorted_font_list, cmp_font_names)
6224 (font_list_1, concat_font_list, font_list, remove_duplicates):
6225 Deleted.
6226 (Fx_list_fonts): Use Ffont_list.
6227 (LFACE_AVGWIDTH): Deleted.
6228 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6229 by FONTP.
6230 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6231 (set_lface_from_font_name): Delete it.
6232 (set_lface_from_font): Renamed from
6233 set_lface_from_font_and_fontset. Caller changed. Don't set
6234 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6235 for face.
6236 (merge_face_vectors): Copy font-spec if necessary.
6237 Clear properties of the font-spec if necessary.
6238 (merge_face_ref): Clear properties of the font-spec if necessary.
6239 (Finternal_set_lisp_face_attribute): Likewise.
6240 (set_font_frame_param): Use font_load_for_lface to load a
6241 font-object, and call Fmodify_frame_parameters with it.
6242 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6243 font name by Ffont_xlfd_name.
6244 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6245 QCslant, and QCwidth.
6246 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6247 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6248 Compare fonts by EQ.
6249 (lookup_non_ascii_face): Deleted.
6250 (face_for_font): The 2nd argument changed.
6251 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6252 Check atomic font properties by case insensitive.
6253 (realize_non_ascii_face): Set face->overstrike correctly.
6254 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6255 (dump_realized_face): Get font name from
6256 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6257
6258 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6259 conditionals. Don't check enable_font_backend. Delete all codes
6260 used only when USE_FONT_BACKEND is not defined.
6261 (xic_create_xfontset): Original code deleted and renamed from
6262 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6263 (x_make_gc): Don't set GCFont in GCs.
6264 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6265 opened by "fixed".
6266 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6267 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6268 get_font_repertory_func.
6269
6270 * xfont.c: Include <stdlib.h> and "ccl.h".
6271 (struct xfont_info): New structure.
6272 (xfont_query_font): Deleted.
6273 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6274 moved from xterm.c.
6275 (xfont_driver): Adjusted for the change of struct font_driver.
6276 (compare_font_names): New function.
6277 (xfont_list_pattern): Sort font names case insensitively. Make
6278 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6279 (xfont_list): Return a list, not vector.
6280 (xfont_match): If the font doesn't have QCname property, generate
6281 a name from the other font properties.
6282 (xfont_open): Return a font-object. Adjusted for the change of
6283 struct font. Get underline_thickness and underline_position from
6284 font property. Don't update dpyinfo->smallest_font_height and
6285 dpyinfo->smallest_char_width.
6286 (xfont_close): Don't free struct font.
6287 (xfont_prepare_face): Adjusted for the change of struct font.
6288 (xfont_done_face): Deleted.
6289 (xfont_has_char): Adjusted for the change of struct font.
6290 (xfont_encode_char, xfont_draw): Likewise.
6291 (xfont_check): New function.
6292
6293 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6294 callback function.
6295 (xftfont_match): Adjusted for the format change of font-entity.
6296 (xftfont_open): Adjusted for the format change of font-entity and
6297 font-object. Adjusted for the change of struct font. Return a
6298 font-object. Don't update dpyinfo->smallest_font_height and
6299 dpyinfo->smallest_char_width.
6300 (xftfont_close): Block input while calling XftFontClose.
6301 (xftfont_prepare_face): Don't block input while calling
6302 xftfont_get_colors. Adjusted for the change of struct font.
6303 (xftfont_shape): Return value of error case fixed.
6304
6305 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6306
6307 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6308 conditionals.
6309 (FONT_WIDTH): Return (f)->max_width.
6310 (struct x_display_info): Delete member `font'.
6311 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6312 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6313 (struct x_output): Change type of `font' to `struct font *'.
6314
6315 * xterm.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. Don't include ccl.h.
6318 (x_per_char_metric, x_encode_char): Deleted.
6319 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6320 (x_compute_glyph_string_overhangs): Adjusted for the change of
6321 `struct face'.
6322 (x_draw_glyph_string_foreground)
6323 (x_draw_composite_glyph_string_foreground): Likewise.
6324 (x_draw_glyph_string): Likewise. Use font->underline_position and
6325 font->underline_thickness.
6326 (x_new_font): Renamed from x_new_fontset2.
6327 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6328 (x_check_font): Call `check' method of a font driver.
6329 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6330 (x_query_font, x_get_font_repertory): Deleted.
6331 (x_find_ccl_program): Renamed and moved to xfont.c.
6332 (x_redisplay_interface): Adjusted for the change of `struct
6333 redisplay_interface'.
6334
6335 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6336 conditionals. Don't check enable_font_backend. Delete all codes
6337 used only when USE_FONT_BACKEND is not defined. Surround non-used
6338 code by "#ifdef OLD_FONT" and "endif".
6339 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6340
6341 * w32font.h (struct w32font_info): New member.
6342 (FONT_COMPAT): New macro.
6343 (w32font_open_internal): Prototype adjusted.
6344
6345 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6346 OLD_FONT" and "endif".
6347
6348 * w32font.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.
6351 (w32font_open): Return a font-object. Make a font-object by
6352 font_make_object. Adjusted for the change of struct w32font_info.
6353 (w32font_close): Don't free struct font. Adjusted for the change
6354 of struct w32font_info.
6355 (w32font_encode_char, w32font_text_extents, w32font_draw):
6356 Adjusted for the change of struct w32font_info.
6357 (w32font_draw): Likewise.
6358 (w32font_list_internal): Return a list, not vector.
6359 (w32font_open_internal): Change the 4th arg to font-object.
6360 Adjusted for the change of struct w32font_info and font-object format.
6361 (add_font_name_to_list): Don't downcase names.
6362 (w32_enumfont_pattern_entity): Make a font-entity by
6363 font_make_entity. Adjusted for the format change of font-entity.
6364 Use FONT_SET_STYLE to set a style-related font property. If a
6365 font is scalable, set avgwidth property to 0. Set font-entity
6366 property by font_put_extra.
6367 (font_matches_spec): Adjusted for the format change of font-entity.
6368 (w32_weight_table, w32_decode_weight): New variables.
6369 (w32_encode_weight): New function.
6370 (fill_in_logfont): Adjusted for the format change of font-spec.
6371 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6372 weight value.
6373 (w32font_driver): Adjusted for the change of struct font_driver.
6374
6375 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6376 conditionals. Don't check enable_font_backend. Surround non-used
6377 code by "#ifdef OLD_FONT" and "endif".
6378 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6379 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6380
6381 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6382 conditionals. Don't check enable_font_backend. Delete all codes
6383 used only when USE_FONT_BACKEND is not defined. Surround non-used
6384 code by "#ifdef OLD_FONT" and "endif".
6385
6386 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6387 (uniscribe_open): Return value changed to font-object.
6388 Adjusted for the format change of font-object.
6389 (uniscribe_otf_capability): Adjusted for the change of struct font.
6390 (add_opentype_font_name_to_list): Don't downcase names.
6391 (uniscribe_font_driver): Adjusted for the change of struct
6392 font_driver.
6393
63942008-05-13 Chong Yidong <cyd@stupidchicken.com>
6395
6396 * dispnew.c (update_frame_1): Check if tty output is still valid
6397 before flushing it.
6398
63992008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6400
6401 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6402 to Gtk+ menus.
6403
64042008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6405
6406 * dired.c (file_name_completion): Tweak the code so as to always do it
6407 in a single pass. Tighten the scope of some variables.
6408
6409 * dired.c (Qdefault_directory): New var.
6410 (file_name_completion): Use it instead of Fexpand_file_name.
6411 (syms_of_dired): Initialize it.
6412
64132008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6414
6415 * fileio.c (double_dollars): Remove dead code.
6416
64172008-05-10 Eli Zaretskii <eliz@gnu.org>
6418
6419 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6420 Mention w32-get-true-file-attributes in doc string.
6421
6422 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6423
64242008-05-09 Glenn Morris <rgm@gnu.org>
6425
6426 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6427 2008-04-23.
6428
64292008-05-09 Eli Zaretskii <eliz@gnu.org>
6430
6431 Support for reporting owner and group of each file on MS-Windows:
6432 * dired.c (stat_uname, stat_gname): New functions, with special
6433 implementation for w32.
6434 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6435
6436 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6437 (dflt_group_name): New static variable.
6438 (dflt_group): Rename from the_group.
6439 (init_user_info): Init dflt_group fields. Get user's group name
6440 from LookupAccountSid.
6441 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6442 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6443 New initialization states.
6444 (globals_of_w32): Initialize them to zero. Initialize the default
6445 group name to "None".
6446 (GetFileSecurity_Name): New global var, the name of the function
6447 to call for GetFileSecurity.
6448 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6449 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6450 (get_file_security, get_security_descriptor_owner)
6451 (get_security_descriptor_group, is_valid_sid)
6452 (get_file_security_desc, get_rid, get_name_and_id)
6453 (get_file_owner_and_group): New functions.
6454 (stat): Use get_file_security_desc and get_file_owner_and_group to
6455 report the owner and primary group of each file. Don't ignore the
6456 high 32 bits of file's size, now that st_size is 64-bit wide.
6457 Fix test when to get true file attributes.
6458 (init_user_info): Use get_rid instead of equivalent inline code.
6459 (fstat): Don't ignore the high 32 bits of file's size.
6460
64612008-05-09 Chong Yidong <cyd@stupidchicken.com>
6462
6463 * image.c (png_load): Use correct bit-depth for setting background
6464 color.
6465
64662008-05-08 Eli Zaretskii <eliz@gnu.org>
6467
6468 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6469 epa-hook.elc.
6470
64712008-05-08 Juanma Barranquero <lekktu@gmail.com>
6472
6473 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6474
64752008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6476
6477 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6478 because the original parameters are in pure storage now.
6479 (mac_window): Remove unused params. Update callers.
6480
64812008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6482
6483 * lread.c (substitute_object_recurse): Use lower-level primitives.
6484 Don't signal errors when traversing sub-char-tables.
6485 Don't loop over all the possible characters when traversing char-tables.
6486
6487 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6488 just like we do in print.c.
6489
64902008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6491
6492 * minibuf.c (Ftry_completion): Remove code left over from when we used
6493 scmp instead of Fcompare_strings.
6494
64952008-05-04 Juanma Barranquero <lekktu@gmail.com>
6496
6497 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6498
64992008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6500
6501 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6502 Create bitmap context in native byte order.
6503
6504 * macterm.c (XDrawLine)
6505 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6506 context in native byte order.
6507
65082008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6509
6510 * config.in: Regenerate.
6511
6512 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6513 New definitions for Image I/O support.
6514 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6515 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6516 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6517 (mac_data_provider_release_data, image_load_image_io)
6518 [USE_MAC_IMAGE_IO]: New functions.
6519 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6520 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6521 (init_image_func_pointer) [MAC_OSX]: Remove function.
6522 (image_load_quartz2d) [MAC_OSX]: Check availability of
6523 CGImageCreateWithPNGDataProvider at compile time.
6524 Use lowercase `false' for boolean constant.
6525 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6526 Use image_load_image_io.
6527 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6528 Don't check MyCGImageCreateWithPNGDataProvider.
6529 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6530 Don't call init_image_func_pointer.
6531
6532 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6533
6534 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6535 Make variable non-static.
6536 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6537 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6538
6539 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6540 (RED_FROM_ULONG): Mask off higher bits.
6541 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6542
6543 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6544 Include AvailabilityMacros.h.
6545 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6546 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6547
65482008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6549
6550 * chartab.c (Fset_char_table_range): If range is t, really set all
6551 chars to that value.
6552
65532008-05-03 Eli Zaretskii <eliz@gnu.org>
6554
6555 * dired.c (Ffile_attributes): Don't allow the device number become
6556 negative.
6557
65582008-05-02 Daiki Ueno <ueno@unixuser.org>
6559
6560 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6561
65622008-05-02 Juri Linkov <juri@jurta.org>
6563
6564 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6565 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6566 DEFAULT argument as a list of default values in docstrings.
6567
65682008-05-01 Chong Yidong <cyd@stupidchicken.com>
6569
6570 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6571
65722008-05-01 Martin Rudalics <rudalics@gmx.at>
6573
6574 * dispnew.c (change_frame_size_1): Preserve small windows when
6575 shrinking frames by calling set_window_height|width with third
6576 arg 2.
6577
6578 * window.h (struct window): Replace field too_small_ok by field
6579 resize_proportionally.
6580
6581 * window.c (make_window): Initialize resize_proportionally.
6582 (enlarge_window): Temporarily set resize_proportionally to make
6583 sure that shrink_windows does scale the window proportionally.
6584 (shrink_windows): When window has resize_proportionally set try
6585 to shrink it proportionally by stealing from other windows.
6586 (struct saved_window, Fset_window_configuration)
6587 (compare_window_configurations): Handle resize_proportionally.
6588 (WINDOW_TOTAL_SIZE): New macro.
6589 (window_min_size, shrink_windows, size_window): Use it.
6590 (check_min_window_sizes): Remove. Invalid values of
6591 window-min-height|width are handled by window_min_size_2 now.
6592 (size_window, Fsplit_window, enlarge_window)
6593 (adjust_window_trailing_edge, grow_mini_window): Don't call
6594 check_min_window_sizes.
6595 (window_min_size_2, window_min_size_1, window_min_size):
6596 New argument safe_p for retrieving "safe" minimum sizes.
6597 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6598 (adjust_window_trailing_edge, grow_mini_window):
6599 Adjust arguments of window_min_size... functions.
6600 (shrink_windows): Argument min_size removed. New argument
6601 safe_p allows shrinking windows to their safe minimum sizes.
6602 Calculate minimum size and decide whether a window shall be
6603 deleted for each window individually.
6604 (size_window): When nodelete_p equals 2, tell shrink_windows to
6605 delete windows only if their new minimum size is no more safe.
6606 (shrink_window_lowest_first): Call window_min_size_1 to make
6607 sure to preserve modeline of bottom-most window when resizing
6608 the minibuffer.
6609 (Fset_window_configuration, Fcurrent_window_configuration)
6610 (compare_window_configurations): Do not handle
6611 window-min-height|width any more.
6612 (syms_of_window): Clarify window-min-height|width doc-strings.
6613
66142008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6615
6616 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6617 some more. Copy some of the code from Ftry_completions.
6618 Remove special case code that dates back to initial revision when the
6619 slash was only added when necessary and that can't trigger nowadays.
6620
66212008-04-27 Kenichi Handa <handa@m17n.org>
6622
6623 * font.c (font_prop_validate): Signal `error' instead of `font'.
6624
66252008-04-29 Jason Rumney <jasonr@gnu.org>
6626
6627 * w32fns.c (Fw32_battery_status): New defun.
6628 (syms_of_w32fns): Defsubr it.
6629
66302008-04-28 Andreas Schwab <schwab@suse.de>
6631
6632 * dired.c (file_name_completion): Fix another mixing of encoded
6633 and decoded names.
6634
66352008-04-28 Juanma Barranquero <lekktu@gmail.com>
6636
6637 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6638
66392008-04-27 Juanma Barranquero <lekktu@gmail.com>
6640
6641 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6642
66432008-04-27 Andreas Schwab <schwab@suse.de>
6644
6645 * dired.c (file_name_completion): Fix inappropriate mixing of
6646 encoded and decoded names.
6647
6648 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6649
6650 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6651
66522008-04-26 Eli Zaretskii <eliz@gnu.org>
6653
6654 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6655 2008-03-31, it's not needed anymore with `struct stat' definition
6656 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6657 for the same reasons.
6658
66592008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6660
6661 * m/sparc.h: Additional redefinitions for GNU/Linux.
6662
66632008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6664
6665 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6666 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6667 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6668 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6669 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6670 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6671 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6672 Likewise.
6673
6674 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6675 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6676 (mac_ax_number_of_characters): Add externs.
6677 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6678 [USE_MAC_TSM]: Likewise.
6679 (mac_handle_text_input_event) [MAC_OSX]:
6680 Handle kEventTextInputOffsetToPos for no active input area case.
6681 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6682 (mac_handle_document_access_event)
6683 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6684 (install_application_handler) [MAC_OSX]: Register handlers for
6685 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6686 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6687 Register mac_handle_document_access_event.
6688
6689 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6690 Make functions non-static.
6691
66922008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6693
6694 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6695 (read_file_name_completion_ignore_case, insert_default_directory)
6696 (Qdefault_directory): Move to minibuffer.el.
6697 (Fread_file_name): Call the new `read-file-name' instead.
6698
66992008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6700
6701 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6702 Make function non-static.
6703 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6704 Remove function.
6705 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6706 Move to mactoolbox.c.
6707 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6708
6709 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6710 (mac_rect_make): New macro.
6711
6712 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6713 instead of float.
6714 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6715 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6716 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6717 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6718 CGRectMake.
6719 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6720 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6721 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6722 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6723 instead of WindowRef in argument type.
6724 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6725 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6726 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6727 instead of DISPLAY. All uses changed.
6728 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6729 (x_calc_absolute_position): Simplify so as not to use
6730 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6731
6732 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6733 instead of WindowRef in argument type.
6734 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6735 [TARGET_API_MAC_CARBON]: Remove externs.
6736 (create_apple_event, mac_event_parameters_to_lisp)
6737 [TARGET_API_MAC_CARBON]: Add externs.
6738
6739 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6740 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6741 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6742 is clicked.
6743 (x_activate_menubar): Remove extern for saved_menu_event_location.
6744 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6745 Move from mac.c.
6746
67472008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6748
6749 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6750 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6751
67522008-04-23 Jason Rumney <jasonr@gnu.org>
6753
6754 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6755 attributes only for local files.
6756
6757 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6758 default to Qlocal.
6759
67602008-04-22 Juri Linkov <juri@jurta.org>
6761
6762 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6763 read-buffer-to-switch instead of using the letter "B".
6764
67652008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6766
6767 * fileio.c (Qdefault_directory): New variable.
6768 (Fread_file_name): Use it to pass `dir' to the completion functions.
6769
67702008-04-20 Chong Yidong <cyd@stupidchicken.com>
6771
6772 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6773
67742008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6775
6776 * keyboard.c (Vpre_help_message): Remove.
6777 (show_help_echo): Remove default C code.
6778
6779 * dired.c (directory_files_internal, file_name_completion):
6780 Only call ENCODE_FILE if the string is indeed decoded.
6781
67822008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6783
6784 * Makefile.in (TOOLKIT_DEFINES): Remove.
6785 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6786
67872008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6788
6789 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6790 (mactoolbox.o): New target.
6791
6792 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6793 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6794
6795 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6796 Use mac_set_frame_window_background instead of XSetWindowBackground.
6797 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6798 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6799 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6800 instead of SetWindowTitleWithCFString.
6801 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6802 Move function to mactoolbox.c.
6803 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6804 Use mac_set_window_modified instead of SetWindowModified.
6805 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6806 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6807 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6808 FrontNonFloatingWindow. Use mac_activate_window instead of
6809 ActivateWindow. Use mac_active_non_floating_window instead of
6810 ActiveNonFloatingWindow.
6811 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6812 Use mac_show_hourglass and mac_hide_hourglass.
6813 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6814 instead of GetGlobalMouse.
6815 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6816 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6817 Use mac_bring_window_to_front instead of BringToFront.
6818 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6819 mactoolbox.c.
6820 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6821 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6822 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6823 mactoolbox.c.
6824
6825 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6826 (XtPointer): Move typedef from macmenu.c.
6827 (enum button_type): Move enum from macmenu.c.
6828 (widget_value): Move typedef from macmenu.c.
6829 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6830 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6831 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6832 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6833 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6834 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6835 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6836 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6837 (Selection): Move typedef from macselect.c.
6838 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6839 macterm.c.
6840 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6841 (mac_is_window_collapsed, mac_bring_window_to_front)
6842 (mac_send_window_behind, mac_hide_window, mac_show_window)
6843 (mac_collapse_window, mac_front_non_floating_window)
6844 (mac_active_non_floating_window, mac_activate_window)
6845 (mac_move_window_structure, mac_move_window, mac_size_window)
6846 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6847
6848 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6849 (enum mac_menu_kind): Move enum to mactoolbox.c.
6850 (min_menu_id): Move variable to mactoolbox.c.
6851 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6852 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6853 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6854 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6855 [TARGET_API_MAC_CARBON]: Likewise.
6856 (XtPointer): Move typedef to macgui.h.
6857 (enum button_type): Move enum to macgui.h.
6858 (widget_value): Move typedef to macgui.h.
6859 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6860 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6861 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6862 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6863 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6864 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6865 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6866 (popup_activated_flag): Make variable non-static.
6867 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6868 (add_menu_item, fill_menu, dispose_menus):
6869 Move functions to mactoolbox.c.
6870 (restore_show_help_function, menu_target_item_handler)
6871 (install_menu_target_item_handler, mac_handle_dialog_event)
6872 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6873 [TARGET_API_MAC_CARBON]: Likewise.
6874 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6875 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6876 (find_and_call_menu_selection, name_is_separator): Make function
6877 non-static.
6878 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6879 to mactoolbox.c.
6880 (set_frame_menubar): Don't call install_menu_quit_handler.
6881 (menu_item_selection): New variable.
6882 (mac_menu_show): Use create_and_show_popup_menu.
6883 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6884 selection but set variable menu_item_selection. All uses changed.
6885 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6886 Call install_menu_quit_handler. Move to mactoolbox.c.
6887
6888 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6889 (Selection): Move typedef to macgui.h.
6890 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6891 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6892 Make variables non-static.
6893 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6894 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6895 Make functions non-static.
6896 (Vmac_service_selection) [MAC_OSX]: Likewise.
6897 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6898 (mac_valid_selection_target_p, mac_clear_selection)
6899 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6900 (mac_put_selection_value, mac_selection_has_target_p)
6901 (mac_get_selection_value, mac_get_selection_target_list)
6902 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6903 Move functions to mactoolbox.c.
6904 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6905 Likewise.
6906 (copy_scrap_flavor_data, mac_handle_service_event)
6907 (install_service_handler) [MAC_OSX]: Likewise.
6908 (syms_of_macselect) <Vmac_dnd_known_types>:
6909 Use mac_dnd_default_known_types.
6910
6911 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6912 Move to mactoolbox.c.
6913 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6914 (Fx_selection_owner_p): Add EXFUN.
6915 (install_window_handler, remove_window_handler, XSetWindowBackground):
6916 Remove externs.
6917 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6918 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6919 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6920 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6921 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6922 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6923 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6924 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6925 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6926 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6927 (mac_valid_selection_target_p, mac_clear_selection)
6928 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6929 (mac_put_selection_value, mac_selection_has_target_p)
6930 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6931 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6932 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6933 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6934 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6935 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6936 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6937 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6938 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6939
6940 * mactoolbox.c: New file.
6941
69422008-04-18 Jason Rumney <jasonr@gnu.org>
6943
6944 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6945
69462008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6947
6948 * character.c (Fmultibyte_char_to_unibyte):
6949 Return latin1 chars unchanged.
6950
6951 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6952 relocated if it points to `name'.
6953
69542008-04-17 Kenichi Handa <handa@m17n.org>
6955
6956 * data.c (Faset): Allow setting a multibyte character in an
6957 ASCII-only unibyte string.
6958
6959 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6960
69612008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6962
6963 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6964 done in config.h.
6965
69662008-04-16 Juanma Barranquero <lekktu@gmail.com>
6967
6968 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6969 (Fchar_direction): Add usage in the docstring.
6970
69712008-04-15 Chong Yidong <cyd@stupidchicken.com>
6972
6973 * keyboard.c (read_key_sequence): Remove always-true checks.
6974
69752008-04-14 Jason Rumney <jasonr@gnu.org>
6976
6977 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6978 compatibility struct, for better underline positioning.
6979
69802008-04-13 David Hansen <david.hansen@gmx.net>
6981
6982 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6983 string.
6984
69852008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6986
6987 * m/hp800.h (XUINT, XSET): Remove.
6988
69892008-04-12 Juanma Barranquero <lekktu@gmail.com>
6990
6991 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6992 previous change.
6993
69942008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6995
6996 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6997 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6998
69992008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7000
7001 * keymap.h (map_keymap_canonical): Declare.
7002 * xmenu.c (single_keymap_panes): Use it.
7003
70042008-04-11 Glenn Morris <rgm@gnu.org>
7005
7006 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7007 set the target's value to that of the alias.
7008
70092008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7010
7011 * term.c (set_tty_color_mode): Left over typo.
7012
70132008-04-10 Michael Albinus <michael.albinus@gmx.de>
7014
7015 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7016 only after check for file name handler functions. Signal, when
7017 native functionality is not supported.
7018 (syms_of_fileio): Declare it unconditionally.
7019
70202008-04-10 Jason Rumney <jasonr@gnu.org>
7021
7022 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7023 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7024
7025 * w32.c (logon_network_drive): Also logon to remote drives that
7026 are mapped to drive letters.
7027
70282008-04-10 Glenn Morris <rgm@gnu.org>
7029
7030 * xdisp.c (truncate-partial-width-windows): Doc fix.
7031
70322008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7033
7034 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7035 Move functions to minibuffer.el.
7036 (syms_of_fileio): Don't declare them.
7037
70382008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7039
7040 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7041 (syms_of_minibuf): Remove its initialization.
7042
7043 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7044
70452008-04-09 Juanma Barranquero <lekktu@gmail.com>
7046
7047 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7048
70492008-04-09 Jason Rumney <jasonr@gnu.org>
7050
7051 * makefile.w32-in (distclean): Delete makefile too.
7052 (maintainer-clean): New target.
7053
7054 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7055
7056 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7057 for new font backend and composite cases.
7058
70592008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7060
7061 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7062 Most of the code moved to run_timers.
7063 (do_pending_atimers): Call run_timers.
7064 (run_timers): New function.
7065
7066 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7067 run atimers.
7068
7069 * process.c (wait_reading_process_output): The same as above.
7070
70712008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7072
7073 * minibuf.c (last_exact_completion): Remove variable.
7074 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7075 (complete_and_exit_1, complete_and_exit_2)
7076 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7077 (Fdisplay_completion_list, display_completion_list_1)
7078 (Fminibuffer_completion_help, Fself_insert_and_exit)
7079 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7080 minibuffer.el.
7081 (syms_of_minibuf): Remove corresponding initializations.
7082
7083 * keyboard.c (Qdeactivate_mark): New var.
7084 (command_loop_1): Use it to call `deactivate-mark'.
7085 (syms_of_keyboard): Initialize it.
7086
7087 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7088 to another frame.
7089 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7090 Don't call set_tty_color_mode.
7091 (store_frame_param): Reset previous_frame rather than call
7092 set_tty_color_mode.
7093 * term.c (set_tty_color_mode): Rewrite.
7094 * dispextern.h (set_tty_color_mode): New type.
7095 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7096
70972008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7098
7099 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7100 for generic chars, which do not exist any more in emacs-unicode.
7101
71022008-04-08 Michael Albinus <michael.albinus@gmx.de>
7103
7104 * coding.c (detect_coding_emacs_mule)
7105 (Ffind_operation_coding_system): Fix typo.
7106
71072008-04-08 Jason Rumney <jasonr@gnu.org>
7108
7109 * w32uniscribe.c (SNAME): Extract only symbol name.
7110
7111 * w32font.h (struct w32_metric_cache): New struct.
7112 (w32font_info): Use it.
7113 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7114 (CACHE_BLOCKSIZE): New constants.
7115
7116 * w32font.c (Qja, Qko, Qzh): New symbols.
7117 (syms_of_w32font): Initialise them.
7118 (font_matches_spec): Use them to filter by language.
7119 (recompute_cached_metrics): Remove function.
7120 (compute_metrics, clear_cached_metrics): New functions.
7121 (w32font_encode_char): Use them to manage metric cache.
7122 (w32font_text_extents): Cache metrics for all glyphs on demand.
7123 Delay converting glyph indices to WORD until needed.
7124 (w32font_open_internal): Initialize metric cache to empty.
7125 (registry_to_w32_charset): Charset should always be a symbol.
7126 (fill_in_logfont, list_all_matching_fonts): Family should
7127 always be a symbol.
7128
71292008-04-06 Jason Rumney <jasonr@gnu.org>
7130
7131 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7132 Give up if glyph indices not supported. Use uniscribe obtained
7133 ABC widths for individual metrics. Map glyph clusters back to
7134 characters using fClusterStart flag. Return number of glyphs
7135 produced, not chars processed.
7136 (uniscribe_shape): Map char at FROM to current glyph.
7137
71382008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7139
7140 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7141 Use SetMenuItemHierarchicalMenu.
7142
71432008-04-05 Jason Rumney <jasonr@gnu.org>
7144
7145 * image.c (pbm_load): Allow color values up to 65535.
7146 Throw an error if max_color_idx is outside the supported range.
7147 Report an error when image size is invalid.
7148 Read two bytes at a time when raw images have max_color_idx above 255.
7149
71502008-04-05 Eli Zaretskii <eliz@gnu.org>
7151
7152 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7153 cFileName a file name that includes `?' characters, use the 8+3
7154 alias in cAlternateFileName instead.
7155
71562008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7157
7158 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7159 append "CCL: Quitted" when the CCL program is quitted.
7160 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7161
7162 * ccl.h (struct ccl_program): New member quit_silently.
7163
71642008-04-05 Chong Yidong <cyd@stupidchicken.com>
7165
7166 * search.c (compile_pattern_1): Treat non-nil and non-string of
7167 search-spaces-regexp as nil.
7168
7169 * minibuf.c (Fassoc_string): Tweak docstring.
7170
71712008-04-05 Eli Zaretskii <eliz@gnu.org>
7172
7173 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7174 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7175 2008-03-14 to force inode be positive.
7176
7177 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7178 _S_* ones, since we now use our own sys/stat.h.
7179 (stat, fstat): Don't mangle the inode number.
7180 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7181
71822008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7183
7184 * frame.h (struct frame): Give one more bit to `visible' since we use
7185 values larger than 1 to indicate obscured frames on ttys.
7186
7187 * keymap.c (Qkeymap_canonicalize): New var.
7188 (Fmap_keymap_internal): New fun.
7189 (describe_map): Use keymap-canonicalize.
7190
7191 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7192 (Fundo_boundary): Set them.
7193 (syms_of_undo): Initialize them.
7194 (record_point): Use them instead of last_point_position*.
7195 (last_undo_buffer): Change type.
7196
71972008-04-04 Jason Rumney <jasonr@gnu.org>
7198
7199 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7200 (recompute_cached_metrics): Don't set ascent and descent per char.
7201
7202 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7203 (uniscribe_check_otf): Add GC protection before consing.
7204 Rearrange loop for counting features.
7205
72062008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7207
7208 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7209 buffer with byte-size of source buffer.
7210
72112008-04-03 Chong Yidong <cyd@stupidchicken.com>
7212
7213 * callint.c (Fcall_interactively): Handle temporary region even
7214 when shift-select-mode is off.
7215
72162008-04-03 Jason Rumney <jasonr@gnu.org>
7217
7218 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7219
72202008-04-03 Kenichi Handa <handa@m17n.org>
7221
7222 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7223 (CATEGORY_MASK_UTF_16): Likewise.
7224 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7225 binary file.
7226 (detect_coding): Add null-byte detection for a binary file.
7227 (detect_coding_system): Likewise.
7228
72292008-04-03 Jason Rumney <jasonr@gnu.org>
7230
7231 * w32uniscribe.c: New file.
7232
7233 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7234
7235 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7236
7237 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7238 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7239 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7240 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7241 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7242 (Qphonetic): New symbols.
7243 (syms_of_w32font): Initialize them.
7244 (font_supported_scripts): Use them.
7245 (w32font_list_family): List all charsets.
7246 (w32font_text_extents, recompute_cached_metrics): Fix metric
7247 calculations.
7248 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7249 Give opentype fonts their own format.
7250 (font_matches_spec): New arguments backend and logfont.
7251 Handle :otf spec for uniscribe backend.
7252 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7253 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7254
7255 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7256 font backend.
7257 (globals_of_w32fns): Initialize uniscribe font backend.
7258
7259 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7260 dependencies.
7261 (w32uniscribe.$(O)): New file to build.
7262 (FONT_OBJ): Include w32uniscribe.$(O).
7263 (LIBS): Add uniscribe libraries.
7264
7265 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7266
72672008-04-02 Chong Yidong <cyd@stupidchicken.com>
7268
7269 * callint.c (Vshift_select_mode): New var.
7270 (Finteractive): Document new ^ spec.
7271 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7272 is present.
7273
7274 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7275 (command_loop_1): Avoid running the direct display versions of
7276 forward-char and backward-char if shift-selection may occur.
7277 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7278 shift-translation takes place.
7279
7280 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7281 avoid clobbering by define-minor-mode.
7282
7283 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7284 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7285
7286 * syntax.c (Fforward_word): Add ^ interactive spec.
7287
7288 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7289 (Fscroll_right): Add ^ interactive spec.
7290
72912008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7292
7293 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7294
7295 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7296
7297 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7298
72992008-03-31 Juri Linkov <juri@jurta.org>
7300
7301 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7302
73032008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7304
7305 * gtkutil.c (xg_set_geometry): Fix indentation.
7306 (xg_resize_outer_widget): Remove.
7307 (x_wm_size_hint_off): Fix indentation.
7308 (xg_frame_set_char_size): Call flush_and_sync after
7309 gtk_window_resize.
7310 (x_wm_set_size_hint): Pass NULL as geometry window to
7311 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7312 Add menu bar and tool bar height to base height.
7313 (xg_update_frame_menubar, free_frame_menubar)
7314 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7315 (update_frame_tool_bar, free_frame_tool_bar):
7316 Change xg_resize_outer_widget to xg_frame_set_char_size.
7317
73182008-03-30 Michael Albinus <michael.albinus@gmx.de>
7319
7320 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7321 (Fdbus_call_method): New parameter TIMEOUT.
7322 (dbus-send-signal): Optimize UNGCPRO call.
7323
73242008-03-29 Juri Linkov <juri@jurta.org>
7325
7326 * window.c (Fdisplay_buffer): Move call to
7327 Vsplit_window_preferred_function out of conditions that check
7328 if window is eligible for vertical splitting.
7329 When Vsplit_window_preferred_function is non-nil, call it and use
7330 its non-nil return value as window. Otherwise, continue doing
7331 vertical splitting using Fsplit_window with arg horflag=nil.
7332 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7333 default value from `split-window' to nil.
7334
73352008-03-29 Juri Linkov <juri@jurta.org>
7336
7337 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7338 for interactive code letters 'b' and 'B'.
7339
73402008-03-29 Eli Zaretskii <eliz@gnu.org>
7341
7342 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7343 multibyte string.
7344
73452008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7346
7347 * keyboard.c (pending_funcalls): New var.
7348 (timer_check): Run it.
7349 (syms_of_keyboard): Initialize it.
7350 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7351 (Vdelete_terminal_functions): New vars.
7352 (syms_of_terminal): Initialize them.
7353 (Fdelete_terminal): Run delete-terminal-functions.
7354 * xdisp.c (safe_eval): Rewrite.
7355 (safe_call2): New fun.
7356 * frame.c (Qdelete_frame_functions): New var.
7357 (syms_of_frame): Initialize it.
7358 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7359 * lisp.h (safe_call2, pending_funcalls): Declare.
7360
73612008-03-28 Andreas Schwab <schwab@suse.de>
7362
7363 * indent.c (Fmove_to_column): Move declaration before statements.
7364
73652008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7366
7367 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7368 (struct frame): Use bit fields for boolean vars.
7369
7370 * process.c (server_accept_connection): Simplify naming.
7371 (emacs_get_tty_pgrp): Use SDATA.
7372
7373 * coding.c (decode_coding_object): Fix last change.
7374
73752008-03-27 Jason Rumney <jasonr@gnu.org>
7376
7377 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7378
73792008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7380
7381 * charset.c (Fdefine_charset_internal): Change the way of
7382 registering charsets in Vcharset_order_list.
7383 (syms_of_charset): Make the charset `eight-bit' supplementary.
7384
73852008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7386
7387 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7388 operations, to avoid having the difference between pointers
7389 overflow.
7390
73912008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7392
7393 * indent.c (check_display_width): New fun.
7394 (scan_for_column): Use it.
7395
7396 * data.c (syms_of_data): Mark most-positive-fixnum and
7397 most-negative-fixnum as constants.
7398
7399 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7400
7401 * indent.c (scan_for_column): Extract from current_column_1.
7402 Merge with the same code from Fmove_to_column.
7403 (current_column_1, Fmove_to_column): Use it.
7404
74052008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7406
7407 * keymap.c (map_keymap_internal): New fun.
7408 (map_keymap): Use it.
7409 (Fmap_keymap_internal): New fun.
7410 (Fmap_keymap): Remove left-out test from before make_save_value.
7411
7412 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7413
7414 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7415 Use XCAR/XCDR.
7416
7417 * process.h (struct Lisp_Process): Remove filter_multibyte.
7418 * process.c (QCfilter_multibyte): Remove.
7419 (setup_process_coding_systems): Don't use filter_multibyte.
7420 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7421 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7422 (Fset_process_filter_multibyte): Change the coding-system to
7423 approximate the previous behavior.
7424 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7425 coding-system.
7426
7427 * coding.c (decode_coding_object): When not decoding into a buffer,
7428 obey the coding system's preference of (uni|multi)byte.
7429
74302008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7431
7432 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7433 every char is changed and has a different byte-length.
7434 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7435 Fix int -> EMACS_INT.
7436
74372008-03-23 David Hansen <david.hansen@gmx.net>
7438
7439 * dbusbind.c (xd_read_message): Remove extra copying of message
7440 strings. Check for NULL `interface' or `member'.
7441
74422008-03-22 Eli Zaretskii <eliz@gnu.org>
7443
7444 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7445 cFileName a file name that includes `?' characters, use the 8+3
7446 alias in cAlternateFileName instead.
7447
74482008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7449
7450 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7451
74522008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7453
7454 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7455 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7456 work on current_buffer only instead (that was already the case
7457 for some of the code anyway).
7458 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7459 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7460 (SET_PT, SET_PT_BOTH): Adjust.
7461 * intervals.h (set_point, temp_set_point, set_point_both)
7462 (temp_set_point_both): Remove redundant declarations.
7463
74642008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7465
7466 * fileio.c (Finsert_file_contents):
7467 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7468 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7469 when buffer != current_buffer anyway.
7470
74712008-03-20 Andreas Schwab <schwab@suse.de>
7472
7473 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7474 as default.
7475
74762008-03-19 Jason Rumney <jasonr@gnu.org>
7477
7478 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7479 (syms_of_w32fns): Initialize them.
7480 (HOURGLASS_ID): New constant.
7481 (x_window_to_frame): Don't check hourglass_window.
7482 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7483 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7484 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7485 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7486 Only change the cursor if hourglass is not active.
7487 (Fx_create_frame): Initialize frame's current_cursor.
7488 (hourglass_atimer): Remove.
7489 (hourglass_started): New function.
7490 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7491 (show_hourglass): Adapt to w32, changing argument to frame.
7492
7493 * w32term.h (struct w32_output): Remove hourglass_window.
7494 Add current_cursor.
7495
7496 * eval.c (call_debugger, Fsignal):
7497 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7498 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7499 (Fexecute_extended_command, cancel_hourglass_unwind):
7500 * minibuf.c (read_minibuf):
7501 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7502
75032008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7504
7505 * window.c (run_funs): New fun.
7506 (run_window_configuration_change_hook): Use it to run the buffer-local
7507 and the global part of the hook.
7508
7509 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7510 (unwind_format_mode_line): Restore selected window.
7511 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7512
75132008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7514
7515 * editfns.c (Fchar_equal): Check they are valid characters.
7516
7517 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7518
75192008-03-17 Andreas Schwab <schwab@suse.de>
7520
7521 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7522 against a charset.
7523
7524 * lisp.h (Fbuffer_list): Declare.
7525
75262008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7527
aac0c6e3
MR
7528 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7529 handlebox_widget is != 0.
7530
75312008-03-16 Juri Linkov <juri@jurta.org>
7532
7533 * callint.c (Fcall_interactively): For interactive code letters
7534 'b' and 'B' put the buffer list into the list of default "future"
7535 values of the minibuffer.
7536
75372008-03-16 Andreas Schwab <schwab@suse.de>
7538
7539 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7540 modifiers.
7541
7542 * regex.c (re_match_2_internal): Correct matching of a charset
7543 against latin-1 characters.
7544
75452008-03-16 Kenichi Handa <handa@m17n.org>
7546
7547 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7548 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7549 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7550 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7551 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7552 CHAR_STRING_ADVANCE.
7553 (produce_chars): Fix for the case that the source and the
7554 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7555 instead of CHAR_STRING_ADVANCE.
7556 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7557 STRING_CHAR_ADVANCE.
7558
75592008-03-15 Andreas Schwab <schwab@suse.de>
7560
7561 * regex.c (re_match_2_internal): Correct matching of eight bit
7562 characters in unibyte strings.
7563
75642008-03-15 Martin Rudalics <rudalics@gmx.at>
7565
7566 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7567 at end of range when it coincides with the end of the buffer.
7568
75692008-03-14 Eli Zaretskii <eliz@gnu.org>
7570
7571 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7572
7573 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7574
75752008-03-14 Jason Rumney <jasonr@gnu.org>
7576
7577 * editfns.c (initial_tz): New variable.
7578 (syms_of_editfns): Initialize it.
7579 (Fset_time_zone_rule): Set it when first called.
7580 Use it when TZSTRING is nil.
7581
7582 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7583 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7584 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7585 (globals_of_w32fns): Initialize them.
7586 (compute_tip_xy): Use them to position tooltips.
7587
75882008-03-14 Glenn Morris <rgm@gnu.org>
7589
7590 * emacs.c (main): Revert previous change.
7591 (standard_args): Revert -internal-script back to -scriptload,
7592 and remove the long-option form.
7593
75942008-03-13 Glenn Morris <rgm@gnu.org>
7595
7596 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7597 Remove option -enable-font-backend.
7598
75992008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7600
7601 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7602
76032008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7604
7605 * xterm.c (x_connection_closed): For GTK: If this is the last
7606 terminal just exit without closing the display.
7607
76082008-03-11 Jason Rumney <jasonr@gnu.org>
7609
7610 * w32font.c (w32font_full_name): Use floor to round.
7611
f0131492 76122008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7613
7614 * sound.c (alsa_configure): Declare vol at beginning of block.
7615
7616 * fontset.c (Ffontset_info): Remove extra semicolon.
7617
76182008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7619
7620 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7621 size of resulting string.
7622
76232008-03-10 Jason Rumney <jasonr@gnu.org>
7624
7625 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7626
76272008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7628
7629 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7630 Don't pretend as if characters with display property haven't been
7631 consumed for string-replacing-string case.
7632
76332008-03-08 Kim F. Storm <storm@cua.dk>
7634
7635 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7636 (get_next_display_element, next_element_from_string)
7637 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7638
76392008-03-08 Andreas Schwab <schwab@suse.de>
7640
7641 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7642
76432008-03-06 Jason Rumney <jasonr@gnu.org>
7644
7645 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7646 when charset not specified. Only translate ANSI to unicode when
7647 font_type is truetype.
7648 (w32font_coverage_ok): New function.
7649 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7650
76512008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7652
7653 * lread.c (Fread_char): Resolve modifiers.
7654 (Fread_char_exclusive): Likewise.
7655
7656 * character.c (char_resolve_modifier_mask): New function.
7657 (char_string): Use char_resolve_modifier_mask.
7658 (Fchar_resolve_modifiers): New function.
7659 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7660 function.
7661
76622008-03-04 Jason Rumney <jasonr@gnu.org>
7663
7664 * makefile.w32-in: Always include w32font.c in the build.
7665 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7666
76672008-03-04 Andreas Schwab <schwab@suse.de>
7668
7669 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7670 (versionclean): Likewise.
7671
76722008-03-04 Juanma Barranquero <lekktu@gmail.com>
7673
7674 * .cvsignore: Add oo.
7675
76762008-03-03 Andreas Schwab <schwab@suse.de>
7677
7678 * coding.c (decode_coding_object): Inhibit gap shrinking while
7679 decoding in place.
7680
76812008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7682
7683 * w32term.c: Remove unused include "gnu.h".
7684 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7685
7686 * gnu.h: Rename to ...
7687 * emacs-icon.h: ... this.
7688 * xterm.c: Use emacs-icon.h instead of gnu.h.
7689 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7690
76912008-03-03 Juanma Barranquero <lekktu@gmail.com>
7692
7693 * w32font.c: Include math.h.
7694
76952008-03-03 Jason Rumney <jasonr@gnu.org>
7696
7697 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7698 Compute options separately.
7699 (w32font_open_internal): Set glyph_idx before caching metrics.
7700
7701 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7702 Define if system headers don't.
7703 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7704 (w32font_encode_char): Don't declare here.
7705
7706 * w32font.c (Quniscribe, QCformat): New symbols.
7707 (syms_of_w32font): Define them.
7708 (w32font_has_char): Indicate uncertainty.
7709 (w32font_encode_char): Encode as glyph point. Make static.
7710 (recompute_cached_metrics): New function.
7711 (w32font_open_internal): Use it. Set font to use glyph points
7712 initially. Set format based on type of font.
7713 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7714 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7715 on it. Set format based on information available here.
7716 (add_font_entity_to_list): Identify backend based on opentype_only.
7717
77182008-03-02 Andreas Schwab <schwab@suse.de>
7719
7720 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7721
7722 * coding.c (decode_coding_big5, produce_chars):
7723 Fix typos in last change.
7724
77252008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7726
7727 * gnu.h: New icon.
7728
77292008-03-02 Kenichi Handa <handa@m17n.org>
7730
7731 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7732 `dos', don't decode '\r' if that is the last in the source.
7733 (decode_coding_utf_16, decode_coding_emacs_mule)
7734 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7735 (decode_coding_raw_text, decode_coding_charset): Likewise.
7736 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7737
77382008-03-01 Jason Rumney <jasonr@gnu.org>
7739
7740 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7741
77422008-03-01 Kim F. Storm <storm@cua.dk>
7743
7744 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7745
77462008-03-01 Jason Rumney <jasonr@gnu.org>
7747
7748 * w32font.c (w32font_full_name): New function.
7749 (w32font_open_internal): Use it.
7750
77512008-03-01 Kim F. Storm <storm@cua.dk>
7752
7753 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7754
77552008-03-01 Jason Rumney <jasonr@gnu.org>
7756
7757 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7758
77592008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7760
7761 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7762 xg_frame_resized when the event is for the edit widget.
7763
7764 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7765
7766 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7767 set_char_size.
7768 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7769 operations on widgets here. Just set frame size if needed.
7770 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7771 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7772 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7773 the whole frame.
7774 (xg_create_tool_bar): Move attachment of the tool bar to
7775 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7776 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7777
77782008-03-01 Jason Rumney <jasonr@gnu.org>
7779
7780 * w32fns.c (w32_msg_pump): Disable debug code.
7781
77822008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7783
7784 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7785
77862008-02-29 Chong Yidong <cyd@stupidchicken.com>
7787
7788 * xdisp.c (next_overlay_string): Don't set
7789 overlay_strings_at_end_processed_p if we're currently reading from
7790 a display string.
7791
77922008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7793
7794 * xdisp.c (get_overlay_strings_1): Fix typo.
7795
77962008-02-29 Chong Yidong <cyd@stupidchicken.com>
7797
7798 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7799
78002008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7801
7802 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7803
7804 * xdisp.c (display_mode_element): Cancel the previous change.
7805 (decode_mode_spec): Likewise.
7806 (handle_auto_composed_prop): Don't make composition if it->string
7807 is a string.
7808
78092008-02-27 Kim F. Storm <storm@cua.dk>
7810
7811 * lisp.h (GLYPH): Change type from int to struct with separate char
7812 and face_id members.
7813 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7814 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7815 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7816 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7817 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7818 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7819 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7820 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7821 handle new Lisp glyph code encoding, either an integer or a cons.
7822
7823 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7824 (GLYPH_ALIAS): Delete.
7825 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7826 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7827 (GLYPH_FROM_CHAR): Replace macro by ...
7828 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7829
7830 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7831 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7832 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7833 (GLYPH_INVALID_P): New macro.
7834 (spec_glyph_lookup_face): Update prototype.
7835
7836 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7837 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7838 new glyph code encoding.
7839 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7840 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7841
7842 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7843 Adapt to new glyph type and new glyph code encoding.
7844
7845 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7846
7847 * indent.c (current_column, current_column_1, Fmove_to_column)
7848 (compute_motion): Adapt to new glyph code encoding.
7849
7850 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7851
78522008-02-27 Chong Yidong <cyd@stupidchicken.com>
7853
7854 * process.c (wait_reading_process_output): Check for window
7855 changes caused by timers.
7856 Suggested by Johan Bockgård.
7857
78582008-02-27 Glenn Morris <rgm@gnu.org>
7859
7860 * emacs.c (USAGE1): Add `--disable-font-backend'.
7861
78622008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7863
7864 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7865 is made to the buffer.
7866
78672008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7868
7869 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7870 (face_at_string_position):
7871 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7872 (face_at_string_position):
7873 * xdisp.c (display_string, next_overlay_change):
7874 * buffer.h (overlays_at):
7875 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7876 Update callers.
7877
78782008-02-26 Chong Yidong <cyd@stupidchicken.com>
7879
7880 * editfns.c (Fformat): Doc fix.
7881
78822008-02-26 Juanma Barranquero <lekktu@gmail.com>
7883
7884 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7885 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7886 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7887
78882008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7889
7890 * buffer.c (Fbuffer_swap_text): New function.
7891 (syms_of_buffer): Defsubr it.
7892
78932008-02-25 Chong Yidong <cyd@stupidchicken.com>
7894
7895 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7896
78972008-02-25 Jason Rumney <jasonr@gnu.org>
7898
7899 * w32font.c (w32font_draw): Draw one character at a time when padding.
7900
79012008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7902
7903 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7904 Handle a nil arg. Use run_window_configuration_change_hook.
7905 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7906 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7907 Use run_window_configuration_change_hook.
7908
79092008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7910
7911 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7912 1-pixel width.
7913
79142008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7915
7916 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7917 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7918 if the glyph in the font is zero pixel with.
7919
7920 * dispextern.h (struct glyph_string): New member padding_p.
7921
7922 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7923
7924 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7925
7926 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7927
7928 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7929
7930 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7931
79322008-02-25 Jason Rumney <jasonr@gnu.org>
7933
7934 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7935
79362008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7937
7938 Allow fine-grained image-cache flushing.
7939 * dispextern.h (struct image): Add `dependencies' field.
7940 (clear_image_caches): Change arg to Lisp_Object.
7941 * image.c (make_image): Initialize `dependencies' field.
7942 (clear_image_cache): Change arg to allow fine-grained flushing.
7943 Perform the flush even if image-cache-eviction-delay is nil.
7944 (clear_image_caches): Change arg to Lisp_Object.
7945 (Fclear_image_cache): Expand meaning of the argument.
7946 (mark_image): Mark `dependencies' field.
7947 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7948 (lface_hash): Use XHASH rather than XFASTINT.
7949 (face_at_buffer_position): Fix int -> EMACS_INT position.
7950 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7951 (select_frame_for_redisplay): Remove code duplication.
7952 (redisplay_internal): Adapt arg to call to clear_image_caches.
7953
79542008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7955
7956 * s/vms4-0.h:
7957 * s/vms4-2.h:
7958 * s/vms4-4.h:
7959 * s/vms5-5.h: Remove, unused.
7960
7961 * s/irix5-2.h:
7962 * s/irix6-0.h:
7963 * s/riscos5.h:
7964 * s/mach-bsd4-3.h:
7965 * m/mips4.h: Remove files for obsolete systems.
7966
7967 * Makefile.in:
7968 * filelock.c:
7969 * unexmips.c:
7970 * m/hp9000s300.h:
7971 * m/iris4d.h:
7972 * s/aix3-1.h:
7973 * s/hpux.h:
7974 * s/msdos.h:
7975 * s/usg5-0.h:
7976 * s/usg5-2-2.h:
7977 * s/usg5-2.h:
7978 * s/usg5-3.h: Remove references to obsolete variables.
7979
7980 * s/irix5-0.h: Remove, move all the contents ...
7981 * s/irix6-5.h: ... here. Simplify.
7982 * config.in: Regenerate.
7983
79842008-02-24 Jason Rumney <jasonr@gnu.org>
7985
7986 * w32term.c (x_draw_glyph_string_background): Clear the background
7987 manually when cleartype is in use.
7988 (x_draw_glyph_string_foreground): Draw text transparently when
7989 cleartype is in use.
7990
7991 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7992 a font into it unless we have to.
7993
79942008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7995
7996 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7997 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7998
aac0c6e3
MR
79992008-02-18 Jason Rumney <jasonr@gnu.org>
8000
8001 * w32fns.c (Fw32_shell_execute): Encode parameters.
8002
80032008-02-09 Eli Zaretskii <eliz@gnu.org>
8004
8005 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8006
80072008-02-05 Juanma Barranquero <lekktu@gmail.com>
8008
8009 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8010
80112008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8012
8013 * xterm.c (x_set_offset): Don't change the gravity if
8014 CHANGE_GRAVITY is -1.
8015
80162008-02-23 Chong Yidong <cyd@stupidchicken.com>
8017
8018 * fileio.c (auto_save_error_occurred): New var.
8019 (auto_save_error): Set it.
8020 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8021 error occurred.
8022
80232008-02-23 Eli Zaretskii <eliz@gnu.org>
8024
8025 * w32.c (globals_of_w32): Add initializations for
8026 g_b_init_get_sid_sub_authority and
8027 g_b_init_get_sid_sub_authority_count.
8028
80292008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8030
8031 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8032 (font_parse_xlfd): Use them for sanity check.
8033 (Finternal_set_font_style_table): Make sure the table is bijective.
8034
8035 Consolidate the image_cache to the terminal struct.
8036 * termhooks.h (P_): Remove redundant def.
8037 (struct terminal): New field `image_cache'.
8038 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8039 of FRAME_X_IMAGE_CACHE.
8040 * xterm.h (struct x_display_info): Remove image_cache field.
8041 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8042 * w32term.h (struct w32_display_info): Remove image_cache field.
8043 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8044 * macterm.h (struct mac_display_info): Remove image_cache field.
8045 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8046 * xterm.c (x_term_init):
8047 * w32term.c (w32_term_init):
8048 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8049 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8050 Remove declarations.
8051 (clear_image_caches, mark_image_cache): New declarations.
8052 * xfaces.c (clear_face_cache):
8053 * xdisp.c (redisplay_internal): Use clear_image_caches.
8054 * image.c (clear_image_cache): Don't check that a frame is on
8055 a window-system before checking if it shares the same cache.
8056 (clear_image_caches): New function.
8057 (Fclear_image_cache): Use it.
8058 (mark_image): Move from allo.c.
8059 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8060 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8061 (mark_object): Don't call mark_image_cache for frames.
8062 (mark_terminals): Call mark_image_cache.
8063
8064 * lisp.h (Fdelete_terminal): Declare.
8065
8066 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8067 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8068 wrong_type_argument.
8069
80702008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8071
8072 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8073 malayalam.el, and tamil.el. Add sinhala.el.
8074
80752008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8076
8077 * xterm.c (x_connection_closed): Consolidate identical tests.
8078 (x_delete_terminal): Don't crash if called via x_connection_closed.
8079
80802008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8081
8082 * xdisp.c (decode_mode_spec): New arg string.
8083 (display_mode_element): Adjust for the above change.
8084
80852008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8086
8087 * callint.c (Fcall_interactively): Use AREF.
8088
80892008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8090
8091 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8092
80932008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8094
8095 * xfns.c (Fx_show_tip): Set string to " " if empty.
8096
80972008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8098
8099 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8100 with Qt.
8101
81022008-02-17 Kenichi Handa <handa@m17n.org>
8103
8104 * ftfont.c (ftfont_shape): Return Lispy number.
8105
8106 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8107 for GCs.
8108 (Finternal_set_font_selection_order): Call font_update_sort_order
8109 only when enable_font_backend is set.
8110 (realize_x_face): Set face->font_info to that of default face only
8111 when enable_font_backend is set.
8112
8113 * xdisp.c (handle_composition_prop): Set it->c to the fist
8114 character of the composed region.
8115 (fill_composite_glyph_string): Set base_face->font_info to
8116 s->font_info. Get a face for ascii from base_face->ascii_face.
8117 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8118 with a face already decided.
8119 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8120 non-negative.
8121 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8122 call font_prepare_composition unconditionally.
8123
8124 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8125
8126 * xterm.h (struct x_display_info): New member font.
8127
8128 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8129 (x_set_mouse_face_gc, x_new_font): Likewise.
8130 (x_term_init): Setup display_info->font.
8131 (x_delete_terminal): Free display_info->font.
8132
8133 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8134
8135 * ftxfont.c (ftxfont_default_fid): Delete it.
8136 (ftxfont_open): Set xfont->fid to 0.
8137 (ftxfont_end_for_frame): Clear data specific to the frame and the
8138 font-driver.
8139
8140 * xftfont.c (xftfont_default_fid): Delete it.
8141 (xftfont_open): Set xfont->fid to 0.
8142
8143 * fontset.c (FONTSET_OBJLIST): New macro.
8144 (fontset_find_font): Update font-object list of the fontset.
8145 (free_realized_fontset): New function.
8146 (free_face_fontset): Call free_realized_fontset.
8147 (Ffont_info): Call font_close_object only when enable_font_backend
8148 is set.
8149
8150 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8151 [HAVE_NTGUI]: Include w32term.h.
8152 [MAC_OS]: Include macterm.ch.
8153 (font_otf_ValueRecord): Use make_number.
8154 (font_finish_cache): Fix handling of reference count.
8155 (font_clear_cache): Update num_fonts.
8156 (font_open_entity): Update smallest_char_width and
8157 smallest_font_height of the frame.
8158 (font_close_object): Update num_fonts.
8159 (Fclear_font_cache): Fix finding the target cache data.
8160
81612008-02-16 Glenn Morris <rgm@gnu.org>
8162
8163 * fontset.c (Finternal_char_font): Fix compilation warning.
8164
81652008-02-16 Eli Zaretskii <eliz@gnu.org>
8166
8167 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8168 instead of char arrays. Enlarge the size of array passed to
8169 get_token_information.
8170
8171 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8172 warnings.
8173
81742008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8175
8176 * .gdbinit: Don't set `args', it breaks gdb --args.
8177
81782008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8179
8180 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8181 within a narrowed buffer.
8182
81832008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8184
8185 * coding.c (decode_coding_object, encode_coding_object):
8186 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8187
81882008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8189
8190 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8191 hardcoding 1.
8192 (detect_coding_system):
8193 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8194 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8195 * insdel.c (insert_from_gap):
8196 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8197 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8198 (string_to_multibyte):
8199 * character.c (chars_in_text, multibyte_chars_in_text):
8200 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8201
8202 * character.h (FETCH_STRING_CHAR_ADVANCE)
8203 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8204 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8205 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8206
8207 * casefiddle.c (casify_region): Only call after-change and composition
8208 functions on the part of the region that was changed.
8209
8210 * keyboard.c (read_avail_input):
8211 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8212
82132008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8214
8215 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8216 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8217
82182008-02-11 Juanma Barranquero <lekktu@gmail.com>
8219
8220 * w32menu.c (push_submenu_start, push_submenu_end)
8221 (push_left_right_boundary, push_menu_pane, push_menu_item):
8222 * keyboard.c (read_key_sequence): Don't pass args with side effects
8223 to AREF, it fails when compiling with -DENABLE_CHECKING.
8224
82252008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8226
8227 * Makefile.in (${lispsource}international/charprop.el):
8228 Delete this target.
8229
8230 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8231 emacs-unicode-2.
8232
82332008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8234
8235 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8236
82372008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8238
8239 * frame.c (Qnoelisp): New symbol.
8240 (syms_of_frame): Initialize it.
8241 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8242 harmless Elisp code, from a strong `force' from x_connection_closed.
8243 * frame.h (Qnoelisp): Declare.
8244 * xterm.c (x_connection_closed): Pass `noelisp'.
8245
8246 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8247 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8248 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8249 rather than `int' for the type of `type'.
8250
82512008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8252
8253 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8254
8255 * Makefile.in (GNUC): Remove support for gcc-1.x.
8256
82572008-02-10 Richard Stallman <rms@gnu.org>
8258
8259 * lisp.h (ASET): Use AREF, not ASLOT.
8260
82612008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8262
8263 * lisp.h (ASET): Check bounds.
8264
82652008-02-10 Glenn Morris <rgm@gnu.org>
8266
8267 * buffer.c (mode-name): Doc fix.
8268
82692008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8270
8271 * Makefile.in:
8272 * emacs.c:
8273 * gmalloc.c:
8274 * keyboard.c:
8275 * lisp.h:
8276 * m/ibm370aix.h:
8277 * process.c:
8278 * regex.c:
8279 * s/hpux.h:
8280 * sysdep.c:
8281 * sysselect.h:
8282 * systty.h:
8283 * unexec.c:
8284 * w32term.c:
8285 * xsmfns.c:
8286 * xterm.c: Remove code that deals with obsolete variables.
8287
8288 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8289
8290 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8291 nothing else needs it anymore.
8292
82932008-02-09 Eli Zaretskii <eliz@gnu.org>
8294
8295 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8296 instead of unibyte_char_to_multibyte.
8297
82982008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8299
8300 * s/gnu-linux.h: Remove commented out code.
8301
8302 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8303
8304 * Makefile.in: Update what RMS says about using autoconf.
8305 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8306 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8307 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8308 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8309
83102008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8311
8312 * keymap.c (Fkey_description): Move side effect outside of macro call.
8313
8314 * xfaces.c (Finternal_make_lisp_face):
8315 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8316
8317 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8318 (syms_of_fontset): Use ASET.
8319
8320 * fns.c (concat): Move side effect outside of macro call.
8321 (hash_clear): Use ASET.
8322
83232008-02-08 Richard Stallman <rms@gnu.org>
8324
8325 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8326 If FORCE, and frame has a surrogate minibuffer for another frame,
8327 delete the other frame first.
8328
83292008-02-07 Timo Savola <timo.savola@iki.fi>
8330
8331 * xterm.c (x_detect_focus_change): Handle embed client message.
8332 (handle_one_xevent): Ditto.
8333 (handle_one_xevent): If embedded and we get a button press/release,
8334 request focus.
8335 (xembed_set_info, xembed_send_message): New functions.
8336 (x_make_frame_visible): Call xembed_set_info if embedded.
8337 (x_make_frame_invisible): Call xembed_set_info if embedded.
8338 (x_term_init): Initialize Xatom_XEMBED.
8339 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8340 (x_iconify_frame): Ditto.
8341
8342 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8343 (enum xembed_info, enum xembed_message, enum xembed_focus)
8344 (enum xembed_modifier, enum xembed_accelerator): New.
8345 (xembed_set_info, xembed_send_message): Declare.
8346 (FRAME_X_EMBEDDED_P): New.
8347
8348 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8349 gtk_plug_new.
8350
8351 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8352 window ID of a frame.
8353 (x_window): Reparent frame if embedded.
8354 (Fx_create_frame): Don't set border width if embedded.
8355
8356 * emacs.c (USAGE3): Add --parent-id.
8357 (standard_args): Ditto.
8358
83592008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8360
8361 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8362
83632008-02-07 Jim Meyering <meyering@redhat.com>
8364
8365 Use "do...while (0)", not "if (1)...else" in macro definitions.
8366 The latter provokes a warning from gcc about the empty else, when
8367 followed by ";". Also, without that trailing semicolon, it would
8368 silently swallow up any following statement.
8369 * syntax.h (SETUP_SYNTAX_TABLE)
8370 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8371 * buffer.h (DECODE_POSITION): Likewise.
8372 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8373 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8374 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8375 (FETCH_CHAR_ADVANCE): Likewise.
8376 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8377
83782008-02-07 Jim Meyering <meyering@redhat.com>
8379
8380 * lread.c [lint]: Don't include <sys/inode.h>.
8381
83822008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8383
8384 * xselect.c (x_handle_dnd_message):
8385 * xmenu.c (digest_single_submenu, xmenu_show):
8386 * xdisp.c (with_echo_area_buffer_unwind_data)
8387 (format_mode_line_unwind_data, unwind_format_mode_line)
8388 (display_menu_bar):
8389 * eval.c (Ffetch_bytecode):
8390 * doc.c (store_function_docstring):
8391 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8392 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8393 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8394
83952008-02-07 Kenichi Handa <handa@m17n.org>
8396
8397 * ftxfont.c (ftxfont_open): Don't set
8398 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8399
8400 * ftfont.c (ftfont_open): Fix previous change.
8401
84022008-02-06 Jason Rumney <jasonr@gnu.org>
8403
8404 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8405 Use cached metrics for ASCII characters.
8406 (w32font_open_internal): Don't set font's owning_frame.
8407 Cache metrics for ASCII characters.
8408
8409 * w32font.h (struct w32font_info): Add ascii_metrics.
8410 Remove owning_frame.
8411
84122008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8413
8414 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8415 to negative value.
8416
8417 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8418
8419 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8420
8421 * charset.c (syms_of_charset): Set QCtest and Qeq.
8422
84232008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8424
8425 * process.c (Fstart_process):
8426 * callproc.c (Fcall_process): Handle the case where
8427 Funhandled_file_name_directory returns nil.
8428
8429 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8430 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8431 * font.c (check_gstring): Use them and AREF to access the vector before
8432 we know it's really a gstring.
8433 (Ffont_shape_text): Fix typo.
8434 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8435
8436 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8437 Declare.
8438
8439 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8440
84412008-02-05 Jason Rumney <jasonr@gnu.org>
8442
8443 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8444 Set smallest_font_height and smallest_char_width in display info.
8445
84462008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8447
8448 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8449
84502008-02-05 Miles Bader <miles@gnu.org>
8451
8452 * xfaces.c (get_lface_attributes, merge_named_face)
8453 (lookup_named_face, lookup_derived_face, realize_named_face):
8454 Revert 2008-02-01 change by cyd@stupidchicken.com.
8455
84562008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8457
8458 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8459 fallback fonts.
8460 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8461
84622008-02-04 Jason Rumney <jasonr@gnu.org>
8463
8464 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8465 set full_name.
8466 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8467
84682008-02-03 Jason Rumney <jasonr@gnu.org>
8469
8470 * makefile.w32-in (OBJ1): Include font.o here.
8471 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8472
84732008-02-02 Jason Rumney <jasonr@gnu.org>
8474
8475 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8476
84772008-02-01 Jason Rumney <jasonr@gnu.org>
8478
8479 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8480
8481 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8482
84832008-02-01 Andreas Schwab <schwab@suse.de>
8484
8485 * Makefile.in (shortlisp, lisp): Update for rename of
8486 ../lisp/language/myanmar.el.
8487
84882008-02-01 Chong Yidong <cyd@stupidchicken.com>
8489
8490 * xfaces.c (get_lface_attributes): Delete function.
8491 (merge_named_face, lookup_named_face, lookup_derived_face)
8492 (realize_named_face): Call lface_from_face_name directly, and use
8493 the fact that merge_face_vectors does not alter its FROM argument.
8494
84952008-02-01 Jason Rumney <jasonr@gnu.org>
8496
8497 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8498 input in the default locale. Handle non-Unicode multibyte input.
8499
85002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8501
8502 * fontset.c (reorder_font_vector): Exclude nil elements from the
8503 font group. Don't try multiple fonts.
8504 (fontset_font): Adjust for the above change.
8505 (Finternal_char_font): Return nil if the found font doesn't
8506 contain the character ch.
8507
8508 * Makefile.in (lisp, shortlisp): Add cham.el.
8509
85102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8511
8512 * font.h (FONTP): Make it return 1 also for a font-object.
8513
8514 * .gdbinit (xfontset): New function.
8515
8516 * font.c (font_find_for_lface): Check if the character C is
8517 supported or not only for the first font.
8518
8519 * fontset.c (reorder_font_vector): Fix typo.
8520 (fontset_find_font): Don't add a font-spec specifying a script.
8521 Use 0 (not Qt) for the indication of empty font-group. Change the
8522 format of RFONT-DEF. Return Qt if no font in the font-group
8523 support the character.
8524 (fontset_font): Adjust for the above change. If no font was
8525 found the character, remember that.
8526 (face_for_char): Adjust for the change of RFONT-DEF.
8527 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8528 no font for the target.
8529 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8530
85312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8532
8533 * font.c (font_load_for_face): Handle the case that the font in
8534 face->lface is a string.
8535
85362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8537
8538 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8539
85402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8541
8542 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8543 Fix previous change. If the frame is not on a window system,
8544 signal an error.
8545
85462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8547
8548 * coding.c (decode_coding_object, encode_coding_object): Adjust
8549 marker positions after conversion.
8550
8551 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8552
85532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8554
8555 * font.c (font_find_for_lface): Fix the handling of the return
8556 value of font_has_char.
8557 (Ffont_shape_text): Fix previous change.
8558
8559 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8560 (fontset_ref_and_range): Delete it.
8561 (fontset_find_font): Call char_table_ref_and_range instead of
8562 FONTSET_REF_AND_RANGE.
8563 (make_fontset): Don't setup font groups of Latin here.
8564 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8565 (new_fontset_from_font): Make the specified font the default for
8566 all Latin characters.
8567
85682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8569
8570 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8571 is on a window system before accessing the fontset of the frame.
8572
85732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8574
8575 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8576
8577 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8578 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8579
8580 * font.c (Ffont_shape_text): If the font driver doesn't have a
8581 shaper function, make zero-width glyphs to have at least one-pixel
8582 width. Fix setting of `to' field of glyphs.
8583
85842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8585
8586 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8587 glyphs.
8588
8589 * font.h (struct font_driver): Improve docstring of member `shape'.
8590
85912008-02-01 Kenichi Handa <handa@m17n.org>
8592
8593 * composite.c (syms_of_composite): Fix docstring of
8594 auto-composition-function.
8595
8596 * font.h (LGLYPH_SIZE): New macro.
8597
8598 * font.c (Ffont_fill_gstring): Stop filling when a character not
8599 supported by the font is found.
8600 (Ffont_shape_text): When a shape callback function returns nil,
8601 try at most two more times with larger gstring.
8602 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8603
8604 * xdisp.c (handle_auto_composed_prop): Change the argument to
8605 auto-composition-function.
8606
8607 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8608 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8609 Lispy glyph and store it in the lgstring.
8610
8611 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8612
8613 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8614
86152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8616
8617 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8618
8619 * fontset.c (Vfont_encoding_charset_alist): New variable.
8620 (syms_of_fontset): DEFVAR it.
8621 (reorder_font_vector, fontset_find_font): Optimize for the case of
8622 no need of reordering.
8623 (face_for_char): Map the charset property by
8624 Vfont_encoding_charset_alist.
8625
86262008-02-01 Jason Rumney <jasonr@gnu.org>
8627
8628 * w32font.c (logfonts_match): Don't check adstyle here.
8629 (font_matches_spec): Check here against physical font instead.
8630 (add_font_entity_to_list): Avoid some substitutions.
8631
8632 * font.c (font_parse_fcname): Default weight and slant to normal.
8633 (font_score): Prefer normal fonts if weight or slant unspecified.
8634 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8635 match freetype scores.
8636
86372008-02-01 Jason Rumney <jasonr@gnu.org>
8638
8639 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8640 font, as it may have been deleted.
8641 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8642 most common hyphenless variation.
8643 (logfonts_match): Check generic family.
8644 (font_matches_spec): Don't check generic family here.
8645 (fill_in_logfont): Set generic family based on adstyle.
8646
8647 * w32font.h (w32font_get_cache): Update declaration.
8648
86492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8650
8651 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8652
8653 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8654 If none of the new drivers are available, call font_update_drivers
8655 with the old drivers.
8656
8657 * w32font.c (w32font_get_cache): Adjust the argument type.
8658
8659 * xfont.c (xfont_get_cache): Adjust the argument type.
8660
8661 * font.h (struct font_driver): Change argument type of get_cache.
8662
8663 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8664
8665 * font.c (Ffont_get): Fix arguments to Fassoc.
8666 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8667 (font_clear_cache): New function.
8668 (font_list_entities, font_matching_entity): Use font_get_cache.
8669 (font_update_drivers): Call font_clear_cache when finishing a driver.
8670
8671 * fontset.c (fontset_find_font): Fix previous change.
8672
86732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8674
8675 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8676 dpyinfo->font_table.
8677 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8678 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8679
8680 * font.c (font_at): Handle the case that the arg C is negative.
8681 Handle the unibyte case.
8682 (Ffont_at): Call font_at with the arg C -1.
8683
8684 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8685 the position here, and call font_at with the arg C -1.
8686 Don't check the range of the existing composition at the point.
8687
86882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8689
8690 * fontset.c (fontset_add): New args charset_id and family.
8691 Change caller.
8692 (load_font_get_repertory, fontset_find_font): Assume that
8693 font_spec is always a font-spec object.
8694 (Fset_fontset_font): Always store a font-spec object in a fontset.
8695
8696 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8697 instead of get_property_and_range.
8698
86992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8700
8701 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8702 (xftfont_open): Don't keep locking face.
8703 (xftfont_close): Don't unlock face.
8704 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8705
8706 * fontset.c (fontset_find_font): Don't prefer a font of
8707 supplementary charset.
8708
87092008-02-01 Kenichi Handa <handa@m17n.org>
8710
8711 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8712 script, langsys_tag to langsys, new member script.
8713 (OTF_TAG_STR): Terminate by '\0'.
8714 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8715 listing to the script specified in that property. Fix arg to
8716 OTF_check_features.
8717
87182008-02-01 Jason Rumney <jasonr@gnu.org>
8719
8720 * w32font.h: New file.
8721
8722 * w32font.c: Include it.
8723 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8724 (w32font_open): Set owning_frame.
8725 (w32font_text_extents): Use owning_frame.
8726 (struct font_callback_data): Add opentype_only field.
8727 (add_font_entity_to_list): Use it to filter fonts.
8728 Don't check against full name.
8729 (w32font_list_internal): New function.
8730 (w32font_list): Use it.
8731 (w32font_match_internal): New function.
8732 (w32font_match): Use it.
8733 (w32font_open_internal): New function.
8734 (w32font_open): Use it.
8735 (w32font_get_cache, w32font_close, w32font_has_char)
8736 (w32font_encode_char, w32font_text_extents, w32font_draw):
8737 Make non-static.
8738
8739 * makefile.w32-in (w32font.o): Depend on w32font.h.
8740
87412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8742
8743 * charset.c (Fdefine_charset_internal): Record a supplementary
8744 charset at the tail of Vcharset_order_list.
8745
8746 * font.c (Ffont_shape_text): Fix the return value.
8747
8748 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8749
8750 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8751
87522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8753
8754 * ftfont.c (struct OpenTypeSpec): New struct.
8755 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8756 (ftfont_get_open_type_spec): New function.
8757 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8758
8759 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8760
87612008-02-01 Jason Rumney <jasonr@gnu.org>
8762
8763 * w32font.c (add_font_entity_to_list): Compare only the beginning
8764 of full name.
8765
87662008-02-01 Kenichi Handa <handa@m17n.org>
8767
8768 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8769 Never return HANDLED_RECOMPUTE_PROPS.
8770
87712008-02-01 Kenichi Handa <handa@m17n.org>
8772
8773 * font.c (font_gstring_produce): Delete it.
8774
8775 * composite.h (COMPOSITION_METHOD):
8776 Handle COMPOSITION_WITH_GLYPH_STRING.
8777
87782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8779
8780 * xfont.c (Qx): Delete.
8781 (syms_of_xfont): Don't initialize Qx.
8782
8783 * composite.h (enum composition_method):
8784 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8785
87862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8787
8788 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8789 (choose_face_font): Accept new form of font-spec.
8790
8791 * frame.h (font_driver_list): Declare it unconditionally.
8792 (struct frame): Define members font_driver_list and font_data_list
8793 unconditionally.
8794
8795 * fontset.c: Include "font.h" unconditionally.
8796 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8797 (Fset_fontset_font): Accept a font-spec object.
8798
8799 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8800 PIXEL_SIZE part a wild card.
8801
8802 * dispextern.h (struct glyph_string): Define members clip and
8803 num_clips unconditionally.
8804 (struct face): Define members font_info and extra unconditionally.
8805
8806 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8807 ftfont_info only when HAVE_LIBOTF is defined.
8808
88092008-02-01 Andreas Schwab <schwab@suse.de>
8810
8811 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8812 and end.
8813
88142008-02-01 Jason Rumney <jasonr@gnu.org>
8815
8816 * w32font.c (w32font_driver): Add new fields.
8817
88182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8819
8820 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8821 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8822 (LIBES): Add @M17N_FLT_CFLAGS@.
8823
8824 * composite.c (compose_text): Don't treat the new style
8825 composition specially.
8826
8827 * emacs.c (main): Call syms_of_font unconditionally.
8828
8829 * font.h (FONT_ENTITY_NOT_LOADABLE)
8830 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8831 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8832 (struct font_driver): New member shape.
8833 (font_registry_charsets): Extern it.
8834 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8835 (font_otf_capability, font_drive_otf): Delete their externs.
8836
8837 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8838 (font_charset_alist, font_registry_charsets): Move from xfont.c
8839 and rename.
8840 (font_prop_validate_otf): New function.
8841 (font_property_table): Register it for QCotf.
8842 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8843 (font_drive_otf): Delete.
8844 (font_prepare_composition): New arg F. Adjust for the change of
8845 lispy gstring.
8846 (font_find_for_lface): New arg C.
8847 (font_load_for_face): Adjust for the change of font_find_for_lface.
8848 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8849 lispy gstring.
8850 (Ffont_shape_text): New function.
8851 (Fopen_font): If the font size is not given, use 12-pixel.
8852 (Ffont_at): New arg STRING.
8853 (syms_of_font): Initalize font_charset_alist.
8854 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8855 conditionally.
8856
8857 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8858 fonts of the same font-spec. Change the format of RFONT-DEF.
8859 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8860 Adjust for the change of RFONT-DEF.
8861 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8862
8863 * ftfont.h: New file.
8864
8865 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8866 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8867 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8868 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8869 font_otf_capability and font_drive_otf, set ftfont_shape.
8870 (ftfont_list): Adjust for the change of :otf property value.
8871 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8872 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8873 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8874 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8875 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8876 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8877
8878 * w32term.c (x_draw_composite_glyph_string_foreground):
8879 Adjust for the change of lispy gstring.
8880
8881 * xdisp.c (handle_composition_prop): Adjust for the change of
8882 lispy gstring. Call a function for auto-composition with the
8883 third arg it->window.
8884 (fill_composite_glyph_string): Adjust for the change of lispy string.
8885 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8886
8887 * xfaces.c (set_font_frame_param): Adjust for the change of
8888 font_find_for_lface.
8889
8890 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8891 (xfont_registry_charsets): Likewise. Change caller.
8892 (syms_of_xfont): Don't handle x_font_charset_alist.
8893
8894 * xftfont.c: Include "ftfont.h".
8895 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8896 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8897 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8898 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8899 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8900 Set xftfont_driver.shape to xftfont_shape.
8901
8902 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8903 the change of lispy gstring.
8904
89052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8906
8907 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8908
89092008-02-01 Jason Rumney <jasonr@gnu.org>
8910
8911 * w32font.c (w32font_draw): Fill background manually.
8912
89132008-02-01 Jason Rumney <jasonr@gnu.org>
8914
8915 * font.c (Qfontp): Remove unused symbol.
8916 (QCantialias): New symbol.
8917 (syms_of_font): Define it.
8918 (font_property_table): Set a validator for QCantialias.
8919
8920 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8921 Define if not already.
8922 (QCfamily): Share with xfaces.c.
8923 (Qstandard, Qsubpixel, Qnatural): New symbols.
8924 (syms_of_w32font): Define them. Don't define QCfamily here.
8925 (w32_antialias_type, lispy_antialias_type): New functions.
8926 (w32_enumfont_pattern_entity): New arg requested_font.
8927 Set antialias parameter if non-default was requested.
8928 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8929
89302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8931
8932 * lread.c (read1): Undo the previous change.
8933
89342008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8935
8936 * frame.c (Fdelete_frame): Call font_update_drivers only when
8937 USE_FONT_BACKEND is defined.
8938
89392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8940
8941 * font.h (struct font_bitmap): New member bits_per_pixel.
8942 (struct font_driver): New members start_for_frame and end_for_frame.
8943 (struct font_data_list): New struct.
8944 (font_put_frame_data, font_get_frame_data): Extern them.
8945
8946 * frame.h (struct frame): New member font_data_list.
8947
8948 * font.c (font_update_drivers): Call driver->start_for_frame and
8949 driver->end_for_frame at proper timings.
8950 (font_put_frame_data, font_get_frame_data): New functions.
8951 (Ffont_spec): Add usage in the docstring.
8952
8953 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8954 (Fdelete_frame): Call font_update_drivers.
8955
8956 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8957 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8958 (xftfont_get_xft_draw): New function.
8959 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8960 (xftfont_end_for_frame): New function.
8961 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8962
8963 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8964 Change argument. Cache GCs in the per-frame data.
8965 (struct ftxfont_frame_data): New struct.
8966 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8967 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8968 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8969 (ftxfont_end_for_frame): New function.
8970 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8971
8972 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8973
89742008-02-01 Kenichi Handa <handa@m17n.org>
8975
8976 * xselect.c (Vselection_coding_system)
8977 (Vnext_selection_coding_system): Delete them.
8978 (syms_of_xselect): Don't declare selection-coding-system and
8979 next-selection-coding-system. They are declared in select.el.
8980
89812008-02-01 Jason Rumney <jasonr@gnu.org>
8982
8983 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8984
8985 * w32fns.c: Include imm.h.
8986 (get_composition_string_fn, get_ime_context_fn): New optional
8987 system functions.
8988 (globals_of_w32fns): Load them from imm32.dll.
8989 (ignore_ime_char): New flag.
8990 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8991 WM_IME_ENDCOMPOSITION messages.
8992
8993 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8994 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8995
89962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8997
8998 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8999 (READCHAR_REPORT_MULTIBYTE): New macro.
9000 (readchar): New 2nd arg MULTIBYTE.
9001 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9002 Make symbol's name multibyte according to the multibyteness of the
9003 source.
9004
90052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9006
9007 * xfaces.c (face_for_overlay_string): Call lookup_face with
9008 correct arguments (fix of synching with the trunk).
9009
90102008-02-01 Kenichi Handa <handa@m17n.org>
9011
9012 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9013 (font_prop_validate_non_neg, font_prop_validate_spacing):
9014 Delete argument prop_index.
9015 (font_property_table): Change arguments to validater. Change Callers.
9016 (font_lispy_object): Delete.
9017 (font_at): Use font_find_object instead fo font_lispy_object.
9018
90192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9020
9021 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9022 and file names.
9023
90242008-02-01 Jason Rumney <jasonr@gnu.org>
9025
9026 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9027 (font_matches_spec): Remove debug output.
9028 (add_font_entity_to_list): Avoid using substituted fonts.
9029
90302008-02-01 Jason Rumney <jasonr@gnu.org>
9031
9032 * doc.c (Fsnarf_documentation):
9033 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9034
90352008-02-01 Miles Bader <miles@gnu.org>
9036
9037 * dispextern.h (struct glyph_row): Only define "clip" field if
9038 HAVE_WINDOW_SYSTEM is defined.
9039
90402008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9041
9042 Fix up multi-tty merge.
9043
9044 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9045 and indentation.
9046
9047 * xfaces.c (free_realized_face, clear_face_gcs):
9048 Include font_done_for_face in the input_blocked section, just in case.
9049
9050 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9051 (get_char_face_and_encoding): Undo last change and remove the *other*
9052 duplicate definition (i.e. keep the one that's better scoped and that
9053 includes code for the font-backend).
9054
9055 * terminal.c (create_terminal): Default keyboard_coding to
9056 `no-conversion' and terminal_coding to `undecided'.
9057
9058 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9059
9060 * fontset.c (free_realized_fontsets): Check that the table entry does
9061 contain a fontset before trying to compare it to `base'.
9062
9063 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9064 syms_of_charset, and syms_of_coding earlier because init_window_once
9065 now needs Vcoding_system_hash_table to be setup.
9066
9067 * coding.h (default_buffer_file_coding): Remove.
9068
9069 * coding.c (default_buffer_file_coding): Remove.
9070 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9071 than ->symbol, and use the terminal-local coding system.
9072 (syms_of_coding): Don't setup the coding-systems that are not
9073 terminal-local.
9074 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9075
9076 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9077 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9078
9079 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9080 in chartab.c and were re-added here by mistake.
9081 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9082
9083 * doc.c (Fsnarf_documentation):
9084 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9085 src to etc.
9086
9087 * ChangeLog.10: Add mistakenly removed entry.
9088
90892008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9090
9091 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9092
90932008-02-01 Miles Bader <miles@gnu.org>
9094
9095 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9096 Add extra args to FACE_FOR_CHAR.
9097
90982008-02-01 Kenichi Handa <handa@m17n.org>
9099
9100 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9101 in sequence.
9102
9103 * chartab.c (map_sub_char_table, map_char_table): If the range
9104 contains just one character, call the function with that character
9105 even if the depth is not 3.
9106
91072008-02-01 Jason Rumney <jasonr@gnu.org>
9108
9109 * w32font.c (w32font_text_extents): Calculate metrics for the
9110 whole string.
9111
91122008-02-01 Jason Rumney <jasonr@gnu.org>
9113
9114 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9115
91162008-02-01 Jason Rumney <jasonr@gnu.org>
9117
9118 * w32term.c (x_set_glyph_string_clipping): Use
9119 get_glyph_string_clip_rects.
9120 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9121 Adjust for the change of struct glyph_string.
9122
9123 * w32font.c (w32font_draw): Do clipping here.
9124
91252008-02-01 Kenichi Handa <handa@m17n.org>
9126
9127 * xftfont.c (xftfont_draw): Adjust for the change of struct
9128 glyph_string.
9129
9130 * xterm.c (x_set_glyph_string_clipping): Use
9131 get_glyph_string_clip_rects.
9132 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9133 Adjust for the change of struct glyph_string.
9134
9135 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9136 the resulting clip(s}.
9137 (expose_overlaps): Add arg r. Change callers. Set it to
9138 row->clip temporarily.
9139 (expose_window): Redraw rows overlapping the exposed area.
9140
9141 * dispextern.h (struct glyph_row): New member clip.
9142 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9143 clip_height, new member clip, and num_clips.
9144
91452008-02-01 Kenichi Handa <handa@m17n.org>
9146
9147 * data.c (Fchar_or_string_p): Fix docstring.
9148
91492008-02-01 Kenichi Handa <handa@m17n.org>
9150
9151 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9152 create a temporary XftDraw object.
9153
91542008-02-01 Kenichi Handa <handa@m17n.org>
9155
9156 * font.c (Ffontp): Fix docstring.
9157
9158 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9159 strong evidence of ISO-2022.
9160
91612008-02-01 Kenichi Handa <handa@m17n.org>
9162
9163 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9164 SYNTAX_ENTRY_FOLLOW_PARENT.
9165
91662008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9167
9168 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9169 its type.
9170 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9171 Update to the new type of weak_hash_tables and next_weak.
9172
9173 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9174 a plain C pointer to Lisp_Hash_Table.
9175
9176 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9177 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9178 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9179 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9180 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9181 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9182 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9183 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9184 (GC_EQ): Remove since they've been identical to their non-GC_
9185 alter-egos ever since the markbit was eradicated.
9186
9187 * alloc.c:
9188 * buffer.c:
9189 * buffer.h:
9190 * data.c:
9191 * fileio.c:
9192 * filelock.c:
9193 * fns.c:
9194 * frame.h:
9195 * lisp.h:
9196 * macterm.c:
9197 * print.c:
9198 * process.c:
9199 * w32fns.c:
9200 * w32menu.c:
9201 * w32term.c:
9202 * xfns.c:
9203 * xmenu.c:
9204 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 * chartab.c (map_sub_char_table): Make it work for the top-level
9209 char-table. Fix handling of parent char-table.
9210 (map_char_table): Adjust for the above change.
9211
92122008-02-01 Jason Rumney <jasonr@gnu.org>
9213
9214 * w32font.c (Qgdi): Rename from Qw32.
9215
92162008-02-01 Jason Rumney <jasonr@gnu.org>
9217
9218 * w32bdf.c (get_quoted_string): Make function static.
9219
92202008-02-01 Kenichi Handa <handa@m17n.org>
9221
9222 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9223 bigger ascent and descent than those of the font, use them as
9224 font's ascent and descent.
9225
92262008-02-01 Kenichi Handa <handa@m17n.org>
9227
9228 * Makefile.in (${lispsource}international/charprop.el): Move this
9229 target within "#ifdef HAVE_UNIDATA" and "#endif".
9230
92312008-02-01 Kenichi Handa <handa@m17n.org>
9232
9233 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9234 (shortlisp): Add ../lisp/language/tai-viet.el.
9235
92362008-02-01 Ulrich Mueller <ulm@gentoo.org>
9237
9238 * Makefile.in (${lispsource}international/charprop.el): Depend on
9239 temacs${EXEEXT}.
9240
92412008-02-01 Jason Rumney <jasonr@gnu.org>
9242
9243 * w32font.c (w32font_close): Delete the GDI font object.
9244
9245 * w32menu.c: Include character.h.
9246
9247 * w32proc.c: Likewise.
9248
9249 * w32select.c: Likewise.
9250
9251 * makefile.w32-in (w32proc.o): Depend on character.h.
9252
92532008-02-01 Jason Rumney <jasonr@gnu.org>
9254
9255 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9256
9257 * w32menu.c (syms_of_w32menu): Likewise.
9258
9259 * w32proc.c (syms_of_ntproc): Likewise.
9260
9261 * w32select.c (syms_of_w32select): Likewise.
9262
9263 * w32term.c (syms_of_w32term): Likewise.
9264
92652008-02-01 Jason Rumney <jasonr@gnu.org>
9266
9267 * w32font.c (w32font_draw): Delete brush after using it.
9268
92692008-02-01 Jason Rumney <jasonr@gnu.org>
9270
9271 * w32font.c (w32font_open): Don't set font_idx.
9272 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9273 to font settings.
9274 (w32font_draw): Fill background explicitly.
9275
92762008-02-01 Jason Rumney <jasonr@gnu.org>
9277
9278 * w32term.c (w32_initialize): Don't call w32font_initialize.
9279
9280 * w32font.c (w32font_info): Remove subranges.
9281 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9282 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9283 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9284 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9285 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9286 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9287 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9288 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9289 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9290 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9291 New symbols.
9292 (font_callback_data): New struct.
9293 (w32font_list, w32font_match): Use it.
9294 (w32font_open): Don't populate subranges.
9295 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9296 (w32font_encode_char): Always return unicode code-point as-is.
9297 (w32font_text_extents): Supply a transformation matrix to
9298 GetGlyphOutline. Never look up by glyph index. Avoid looping
9299 twice. Use unicode version of GetTexExtentPoint32 instead of
9300 glyph index version.
9301 (set_fonts_frame): Remove.
9302 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9303 set frame parameter. Use backward compatible fake foundries.
9304 Save generic family in extra slot under QCfamily. Make width slot
9305 constant. Save QCspacing value. Save list of scripts instead of
9306 binary subranges.
9307 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9308 (add_font_entity_to_list): Use font_callback_data struct. Filter
9309 unwanted fonts.
9310 (add_one_font_entity_to_list): Use font_callback_data struct.
9311 (w32_registry): Default to iso10646_1.
9312 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9313 string font registries. Don't fill in font name if it is a generic
9314 family name, fill family instead. Use spacing, family and script
9315 extra info to fill pitch, family and charset fields.
9316 (list_all_matching_fonts): Use font_callback_data struct.
9317 (unicode_range_for_char): Remove.
9318 (font_supported_scripts): New function.
9319 (w32font_initialize): Remove.
9320 (syms_of_w32font): Update which symbols are defined.
9321
93222008-02-01 Jason Rumney <jasonr@gnu.org>
9323
9324 * font.c (font_pixel_size): Reverse assq_no_quit args.
9325
9326 * w32term.h (FONT_WIDTH): Report max width, not average.
9327 (FONT_MAX_WIDTH): Remove.
9328 (FONT_AVG_WIDTH): New macro.
9329
9330 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9331 redefinition of FONT_WIDTH.
9332
9333 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9334 (w32_cache_char_metrics): Use FONT_WIDTH.
9335
9336 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9337
93382008-02-01 Jason Rumney <jasonr@gnu.org>
9339
9340 * w32font.c (w32font_open): Make lfHeight negative.
9341
9342 * w32fns.c (x_default_font_parameter): Use new style font name.
9343 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9344
93452008-02-01 Jason Rumney <jasonr@gnu.org>
9346
9347 * w32font.c (QCsubranges): New symbol.
9348 (w32font_open, w32font_has_char): Get subranges from subproperty
9349 of extra.
9350 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9351 (syms_of_w32font): Define :subranges symbol.
9352
9353 * font.c (font_put_extra): Expose externally.
9354
9355 * font.h (font_put_extra): Move declaration from font.c.
9356
9357 * font.c (Ffont_get): Use font driver to determine otf capability.
9358 (adjust_anchor): Check if driver defines anchor_point before using.
9359
9360 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9361 (w32font_draw): Use options.
9362 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9363 Fix detection of truetype fonts.
9364 (registry_to_w32_charset): Handle charsets other than iso8859-1
9365 expressed as lisp symbols.
9366 (w32_registry): Express charset as lisp symbol.
9367 (fill_in_logfont): Reverse pixel and point height logic.
9368 Don't set width here. Set quality to default.
9369
9370 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9371 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9372
9373 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9374 Remove redundant loop and allocation.
9375
9376 * makefile.w32-in (font.o, w32font.o): New objects.
9377 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9378 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9379
9380 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9381 STORE_XCHARB a valid l-value.
9382
9383 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9384 calculations for non-Truetype fonts.
9385 (x_draw_glyph_string): Sync with xterm.c.
9386 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9387 Remove redundant code.
9388 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9389
9390 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9391 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9392
9393 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9394 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9395
9396 * w32font.c: New file for w32 font backend.
9397
93982008-02-01 Kenichi Handa <handa@m17n.org>
9399
9400 * term.c: Don't include "buffer.h" twice.
9401
94022008-02-01 Kenichi Handa <handa@m17n.org>
9403
9404 * character.c (Funibyte_string): New function.
9405 (syms_of_character): Defsubr it.
9406
94072008-02-01 Jason Rumney <jasonr@gnu.org>
9408
9409 * w32term.c [USE_FONT_BACKEND]:
9410 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9411 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9412 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9413 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9414 (x_free_frame_resources): Sync with xterm.c.
9415
94162008-02-01 Andreas Schwab <schwab@suse.de>
9417
9418 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9419 char-table size.
9420
94212008-02-01 Kenichi Handa <handa@m17n.org>
9422
9423 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9424
94252008-02-01 Kenichi Handa <handa@m17n.org>
9426
9427 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9428 font_otf_gpos, add font_drive_otf.
9429
9430 * fontset.c (fontset_find_font): Pay attention to font size
9431 specified for a font.
9432 (reorder_font_vector): Check contents of font_def.
9433
9434 * font.c (struct otf_list): Delete it.
9435 (otf_list): Make it a lisp variable.
9436 (otf_open): Use lispy otf_list.
9437 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9438 (check_otf_features): New function.
9439 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9440 New functions.
9441 (font_drive_otf): New function merging font_otf_gsub and
9442 font_otf_gpos.
9443 (font_open_for_lface): New arg spec. Change argument order.
9444 (font_load_for_face): Adjust for the change of font_open_for_lface.
9445 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9446 Ffont_otf_gpos.
9447 (syms_of_font): Staticpro otf_list. Delete defsubr of
9448 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9449
9450 * xfaces.c (set_font_frame_param): Adjust for the change of
9451 font_open_for_lface.
9452
9453 * font.h (font_open_for_lface): Adjust prototype.
9454 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9455 member otf_drive.
9456 (font_otf_gsub, font_otf_gpos): Delete externs.
9457 (font_drive_otf): Extern it.
9458
94592008-02-01 Kenichi Handa <handa@m17n.org>
9460
9461 * font.c (font_at): If the window W is not on a window system,
9462 return Qnil.
9463
9464 * coding.c (produce_chars, encode_coding): Don't call
9465 insert_from_gap if no characters to produce.
9466
94672008-02-01 Kenichi Handa <handa@m17n.org>
9468
9469 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9470 Fclear_face_cache.
9471
9472 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9473
94742008-02-01 Miles Bader <miles@gnu.org>
9475
9476 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9477 Parse "--disable-font-backend" option.
9478 (standard_args): Add "--disable-font-backend" option.
9479
94802008-02-01 Kenichi Handa <handa@m17n.org>
9481
9482 * fontset.c (fontset_find_font): New function.
9483 (fontset_font): Use fontset_find_font.
9484 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9485 Register the specified font for all Latin characters.
9486 (new_fontset_from_font): Register the specified font for all Latin
9487 characters.
9488 (dump_fontset): For a realized fontset, include the base fontset
9489 name in the returned vector.
9490
94912008-02-01 Kenichi Handa <handa@m17n.org>
9492
9493 * character.h (CHAR_STRING): Cast C to unsigned on calling
9494 char_string.
9495
9496 * character.c (char_string): Type of arg C changed to unsigned.
9497 Signal an error if C is an invalid character code.
9498
9499 * editfns.c (general_insert_function, Fchar_to_string):
9500 Use CHARACTERP, not INTEGERP.
9501
95022008-02-01 Kenichi Handa <handa@m17n.org>
9503
9504 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9505 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9506
9507 * regex.c (analyse_first): Fix for multibyte characters in "case
9508 charset:" and "case categoryspec:".
9509
95102008-02-01 Andreas Schwab <schwab@suse.de>
9511
9512 * Makefile.in (LIBES): Move standard libraries to the end.
9513
95142008-02-01 Kenichi Handa <handa@m17n.org>
9515
9516 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9517 nonzero, don't shrink the buffer nextb.
9518
9519 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9520
9521 * coding.c (coding_alloc_by_making_gap): New arg offset.
9522 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9523 offset.
9524 (decode_coding_iso_2022): Update coding->safe_charsets.
9525 (decode_coding_gap): Temporarily set
9526 current_buffer->text->inhibit_shrinking to 1.
9527
95282008-02-01 Kenichi Handa <handa@m17n.org>
9529
9530 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9531 indexing into elements of s->cmp and s->char2b.
9532
95332008-02-01 Juanma Barranquero <lekktu@gmail.com>
9534
9535 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9536
95372008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9540 target_multibyte instead of multibyte.
9541 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9542 (bcmp_translate): Change the argument name from multibyte to
9543 target_multibyte.
9544
95452008-02-01 Kenichi Handa <handa@m17n.org>
9546
9547 These changes are to compile a regexp into a pattern that can be
9548 used both for multibyte and unibyte targets.
9549
9550 * Makefile.in (search.o): Depend on charset.h.
9551
9552 * character.c (multibyte_char_to_unibyte_safe): New function.
9553
9554 * search.c: Include "charset.h".
9555 (compile_pattern_1): Delete argument multibyte. Don't set
9556 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9557 (compile_pattern): Don't compare cp->buf.target_multibyte.
9558 Compare cp->buf.charset_unibyte.
9559 (compile_pattern): Set cp->buf.target_multibyte.
9560
9561 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9562
9563 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9564
9565 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9566 multibyte. Change callers.
9567 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9568 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9569 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9570 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9571 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9572 (regex_compile): Make the compiled pattern usable both for
9573 multibyte and unibyte targets.
9574 (analyse_first): Make the fastmap usable both for multibyte and
9575 unibyte targets.
9576 (TRANSLATE_VIA_MULTIBYTE): Delete.
9577 (re_match_2_internal): Pay attention to the case that the
9578 multibyteness of bufp and target may be different.
9579
95802008-02-01 Kenichi Handa <handa@m17n.org>
9581
9582 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9583 empty box occupy at least one column width.
9584
95852008-02-01 Miles Bader <miles@gnu.org>
9586
9587 * Makefile.in: Remove redundant HAVE_XFT clause.
9588
95892008-02-01 Kenichi Handa <handa@m17n.org>
9590
9591 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9592
95932008-02-01 Kenichi Handa <handa@m17n.org>
9594
9595 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9596 being nil.
9597
95982008-02-01 Kenichi Handa <handa@m17n.org>
9599
9600 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9605
96062008-02-01 Kenichi Handa <handa@m17n.org>
9607
9608 * search.c (simple_search): Fix previous change.
9609
96102008-02-01 Kenichi Handa <handa@m17n.org>
9611
9612 * xftfont.c (ftfont_font_format): Extern declaration.
9613
9614 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9615
9616 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9617 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9618
9619 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9620 (ftfont_font_format): Fix previous change.
9621
9622 * font.h (Ffont_xlfd_name): EXFUN it.
9623
9624 * font.c (font_parse_xlfd): Fix the array size of `f'.
9625 (register_font_driver): Use EQ to compare driver->type.
9626
9627 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9628 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9629 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9630
96312008-02-01 Kenichi Handa <handa@m17n.org>
9632
9633 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9634 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9635
96362008-02-01 Kenichi Handa <handa@m17n.org>
9637
9638 * xfont.c (xfont_open): Set font->format.
9639
9640 * xftfont.c (xftfont_open): Set font->format.
9641
9642 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9643 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9644 (ftfont_open): Set font->format.
9645 (ftfont_font_format): New function.
9646
9647 * font.h (struct font): New member format.
9648
9649 * font.c (Qopentype): New variable.
9650 (syms_of_font): Defsym it.
9651 (Fquery_font): Change the format of the last element of the return
9652 value.
9653
96542008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9657 last resort.
9658
96592008-02-01 Kenichi Handa <handa@m17n.org>
9660
9661 * coding.c (detect_coding_charset): Fix detection of multi-byte
9662 charset.
9663
96642008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9665
9666 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9667
96682008-02-01 Kenichi Handa <handa@m17n.org>
9669
9670 * xdisp.c (get_next_display_element): Set it->face_id for the
9671 first component of a composition.
9672 (x_produce_glyphs): Check if the font is changed or not for composition.
9673
96742008-02-01 Kenichi Handa <handa@m17n.org>
9675
9676 * fontset.c (Qlatin): New variable.
9677 (syms_of_fontset): Define it as a lisp symbol.
9678 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9679
96802008-02-01 Kenichi Handa <handa@m17n.org>
9681
9682 * font.c (font_unparse_fcname): Pay attention to the case that
9683 some of font property is a null string.
9684
96852008-02-01 Kenichi Handa <handa@m17n.org>
9686
9687 * term.c: Include "composite.h".
9688 (encode_terminal_code): Output all components of composition.
9689 Check the size of encode_terminal_src.
9690 (produce_glyphs): For composition, call produce_composite_glyph.
9691 (append_composite_glyph, produce_composite_glyph): New functions.
9692
9693 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9694 is not found, get font_info from the current ascii face.
9695
96962008-02-01 Kenichi Handa <handa@m17n.org>
9697
9698 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9699 buffer-file-name to Qnil before calling insert_from_buffer.
9700
9701 * font.c (font_unparse_fcname): Pay attention to the case that
9702 foundry is a null string.
9703
97042008-02-01 Kenichi Handa <handa@m17n.org>
9705
9706 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9707
9708 * font.c (Qunicode_sip): New variable.
9709 (syms_of_font): Declare it as a Lisp symbol.
9710
9711 * font.h (Qunicode_sip): Extern it.
9712
97132008-02-01 Kenichi Handa <handa@m17n.org>
9714
9715 * composite.c (get_composition_id): Pay attention to TAB component.
9716
9717 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9718 TAB. Adjust for the change of s->char2b which always points to
9719 the first element of allocated memory.
9720
9721 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9722
9723 * xdisp.c (handle_composition_prop): Set it->c to the first
9724 non-TAB component.
9725 (fill_composite_glyph_string): Change argument.
9726 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9727 (x_produce_glyphs): Fix handling of left/right padding.
9728
97292008-02-01 Kenichi Handa <handa@m17n.org>
9730
9731 * coding.c (detect_coding_system): Fix for handling off
9732 inhibit_iso_escape_detection. Fix for the case that no coding
9733 system is defined for a specific coding category.
9734
97352008-02-01 Kenichi Handa <handa@m17n.org>
9736
9737 * font.c (font_matching_entity): Delete unused local var.
9738
9739 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9740 opening a font.
9741
9742 * fileio.c (Finsert_file_contents): On recovering a file, assume
9743 Unix-like eol.
9744 (choose_write_coding_system): On auto-saving a file, force
9745 Unix-like eol.
9746
9747 * coding.c (setup_coding_system): Fix setting of
9748 coding->common_flags based on eol_type.
9749 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9750 inherit from it.
9751
97522008-02-01 Kenichi Handa <handa@m17n.org>
9753
9754 * alloc.c (NSTATICS): Increas to 0x600.
9755
97562008-02-01 Kenichi Handa <handa@m17n.org>
9757
9758 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9759 (ftfont_list): Don't check :name property.
9760 (ftfont_match): New function.
9761 (ftfont_pattern_entity): If the pattern doesn't contain
9762 FC_SPACING, don't assume FC_MONO.
9763
9764 * font.h (struct font_driver): New member `match'.
9765 (font_update_drivers): Adjust prototype.
9766
9767 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9768 property of FONT.
9769 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9770 them unconditionally.
9771 (font_matching_entity): New function.
9772 (font_open_by_name): Try font_matching_entity if exact match is
9773 not found.
9774 (font_update_drivers): Delete the arg FONT. Return a list of
9775 actually used backends. Don't free faces, font caches here.
9776 Don't store data in frame parameters. Don't call x_set_font.
9777 (Ffont_spec): Store :name property as is.
9778 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9779 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9780 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9781 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9782 Call font->driver->otf_gsub instead of font_otf_gsub.
9783
9784 * frame.c (x_set_font_backend): Do more works that were done in
9785 font_update_drivers before.
9786
9787 * xfont.c (xfont_match): New function.
9788 (xfont_driver): Set xfont_driver.match to xfont_match.
9789 (xfont_draw): Set font in GC if necessary.
9790
9791 * ftxfont.c (ftxfont_match): New function.
9792 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9793
9794 * xftfont.c (xftfont_match): New function.
9795 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9796
97972008-02-01 Kenichi Handa <handa@m17n.org>
9798
9799 * font.h (struct font): New member scalable.
9800 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9801 (font_otf_gsub): Adjust prototype.
9802
9803 * font.c (font_otf_capability): Fix handling of the default langsys.
9804 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9805 Check the contents of SPEC.
9806 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9807 (check_gstring): New function.
9808 (REPLACEMENT_CHARACTER): New macro.
9809 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9810 glyph codes of GSTRING.
9811 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9812 (font_prepare_composition): Set cmp->glyph_len.
9813 (font_open_entity): Set font->scalable.
9814 (Ffont_get): Handle :otf property.
9815 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9816 functions.
9817 (Fquery_font): Use font->font.full_name.
9818 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9819 Sfont_otf_alternates.
9820
9821 * ftfont.c (ftfont_open): Set font->font.full_name and
9822 font->font.name properly. Fix calculation of font->font.height
9823 and font->min_width.
9824
9825 * ftxfont.c (ftxfont_create_gcs): New function.
9826 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9827 (ftxfont_draw_backgrond): Fix filling region.
9828 (ftxfont_default_fid): New function.
9829 (ftxfont_open): Set xfont->fid to the return value of
9830 ftxfont_default_fid.
9831 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9832 (ftxfont_done_face): Free only GCs that are created by
9833 ftxfont_create_gcs.
9834 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9835
9836 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9837 Clip to src->width, etc (not src->clip_XXX).
9838
9839 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9840 FontBackend frame parameter.
9841
98422008-02-01 Kenichi Handa <handa@m17n.org>
9843
9844 * font.h (struct font_driver_list): New member `on'.
9845 (Fclear_font_cache): EXFUN it.
9846 (font_update_drivers): Extern it.
9847
9848 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9849 (font_list_entities): Check driver_list->on.
9850 (register_font_driver): Initalize `on' member to 0.
9851 (font_update_drivers): New function.
9852 (Fclear_font_cache): Check driver_list->on.
9853
9854 * frame.h (Qfont_backend): Extern it.
9855 (x_set_font_backend): Extern it.
9856
9857 * frame.c (Qfont_backend): New variable.
9858 (frame_parms): New element for font-backend.
9859 (x_set_font_backend): New function.
9860
9861 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9862 FontBackend frame parameter.
9863 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9864 x_set_font_backend.
9865
9866 * xfont.c (xfont_list): Don't try listing by :name property if the
9867 name is not for XLFD.
9868
98692008-02-01 Kenichi Handa <handa@m17n.org>
9870
9871 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9872 (LGLYPH_SET_TO): New macros.
9873 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9874 element of G is vector or not.
9875 (font_at): Extern it.
9876
9877 * font.c: Include window.h.
9878 (font_lispy_object): New function.
9879 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9880 end of valid glyph.
9881 (font_close_object): Fix getting (struct font *).
9882 (font_at): New function.
9883 (Ffont_get): If FONT is a font-object, get entity from it.
9884 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9885 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9886 range check.
9887 (Ffont_at): New function.
9888 (syms_of_font): Defsubr Sfont_at.
9889
9890 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9891 before the entry for Qcomposition.
9892 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9893 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9894 the font in gstring.
9895 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9896 LGLYPH_FORM (g) to detect the end of valid glyph.
9897 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9898 we are composing with gstring.
9899
9900 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9901 Check if adjustment is vector or not.
9902
9903 * Makefile.in (font.o): Make it depends on window.h.
9904
99052008-02-01 Kenichi Handa <handa@m17n.org>
9906
9907 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9908 adjustment is vector or not.
9909
99102008-02-01 Miles Bader <miles@gnu.org>
9911
9912 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9913
99142008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9917 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9918 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9919
9920 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9921 (DEVICE_DELTA): Fix typo.
9922 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9923 LGLYPH format.
9924
9925 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9926 the change of LGLYPH format.
9927
99282008-02-01 Kenichi Handa <handa@m17n.org>
9929
9930 * ftfont.c (ftfont_list): Fix typo.
9931 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9932
99332008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9934
9935 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9936
9937 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9938 xftface_info is non-NULL.
9939
99402008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9941
9942 * ftfont.c (ftfont_list): Move misplaced #endif.
9943
99442008-02-01 Kenichi Handa <handa@m17n.org>
9945
9946 * ftfont.c (ftfont_list): Pay attention to the case that
9947 FC_CAPABILITY is not defined.
9948
99492008-02-01 Kenichi Handa <handa@m17n.org>
9950
9951 * xftfont.c (xftfont_open): Set charset related members to -1.
9952
9953 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9954 QCname.
9955 (ftfont_open): Set charset related members to -1.
9956
9957 * fontset.c (Votf_script_alist): New variable.
9958 (syms_of_fontset): Initialize it.
9959 (fontset_font): Delete unused variable.
9960
9961 * fontset.h (Votf_script_alist): Extern it.
9962
9963 * font.c (font_find_for_lface): Optimize code.
9964
9965 * font.h (font_close_object, font_merge_old_spec): Extern them.
9966
99672008-02-01 Kenichi Handa <handa@m17n.org>
9968
9969 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9970 (syms_of_font): Initialize them.
9971 (font_pixel_size): Allow float value in dpi.
9972 (font_prop_validate_type): Delete.
9973 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9974 Change caller.
9975 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9976 (font_prop_validate_extra): Delete.
9977 (font_prop_validate_spacing): New function.
9978 (font_property_table): Add elements for all known properties.
9979 (get_font_prop_index): Rename from check_font_prop_name. New
9980 argument FROM. Change caller.
9981 (font_prop_validate): Validate all known properties.
9982 (font_put_extra): Delete argument force. Change caller.
9983 (font_expand_wildcards): Make it static. Fix the way of shrinking
9984 the possible range.
9985 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9986 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9987 Change caller.
9988 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9989 (font_parse_fcname): Delete argument merge. Fix parsing of point
9990 size. Don't validate properties values here. Change caller.
9991 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9992 (font_open_by_name): Delete unused variable.
9993 (Ffont_spec): Likewise. Validate property values.
9994 (Ffont_match_p): New function.
9995
9996 * font.h (QCscalable): Extern it.
9997 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9998
9999 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10000
10001 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10002 (xfont_list_pattern): New function.
10003 (xfont_list): Use xfont_list_pattern.
10004
100052008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * font.h (Flist_fonts): EXFUN it.
10008
100092008-02-01 Jason Rumney <jasonr@gnu.org>
10010
10011 * w32term.c (w32_initialize): Add back smoothing_type and
10012 smoothing_enabled definitions.
10013
100142008-02-01 Kenichi Handa <handa@m17n.org>
10015
10016 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10017 s->face->font on determining underline position.
10018
100192008-02-01 Kenichi Handa <handa@m17n.org>
10020
10021 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10022 (font_has_char): Accept font-object too.
10023 (font_find_for_lface): Try at first with a size specified in face.
10024
100252008-02-01 Kenichi Handa <handa@m17n.org>
10026
10027 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10028 font_open_by_name.
10029
100302008-02-01 Kenichi Handa <handa@m17n.org>
10031
10032 * font.h (QCspacing, QCdpi): Extern them.
10033 (enum font_spacing): New enum.
10034 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10035
10036 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10037 (QCspacing, QCdpi): New variables.
10038 (syms_of_font): Initialize them.
10039 (font_pixel_size): New function.
10040 (font_put_extra): New function.
10041 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10042 in FONT_EXTRA.
10043 (font_parse_fcname): Handle enumerated values (e.g. bold).
10044 Fix handling font size. Add QCname property that contains only
10045 unknown properties.
10046 (font_score): Change argument. Change caller. Pay attention to
10047 FONT_PIXEL_SIZE_QUANTUM.
10048 (font_sort_entites, font_list_entities, font_find_for_lface)
10049 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10050 (Ffont_spec): Add QCname property that contains only unknown properties.
10051
10052 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10053 include weight in listing pattern, instead check weight of each
10054 listed font. Don't include scalable in pattern. Pay attention to
10055 FONT_PIXEL_SIZE_QUANTUM.
10056
100572008-02-01 Kenichi Handa <handa@m17n.org>
10058
10059 * font.c (font_parse_fcname): Fix parsing of point-size.
10060 (font_unparse_fcname): Produce symbolic names for style properties.
10061 (font_list_entities): Handle float size correctly.
10062 (font_open_by_name): Prefer `normal' property values if the name
10063 doesn't specify them.
10064
10065 * fontset.c (Finternal_char_font): Use font_get_name, not
10066 Ffont_xlfd_name.
10067
10068 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10069 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10070 pattern. Don't force scalable.
10071
10072 * xftfont.c (xftfont_open): For generating a name, start from
10073 96-byte buffer.
10074
100752008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10076
10077 * frame.h (x_new_fontset2): Fix prototype.
10078
100792008-02-01 Kenichi Handa <handa@m17n.org>
10080
10081 * font.h (struct font_driver): Delete member parse_name.
10082 (font_match_p, font_get_spec, font_parse_fcname)
10083 (font_unparse_fcname): Extern them.
10084 (font_get_name): Adjust prototype.
10085
10086 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10087 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10088 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10089 unnecessary checks for weight, slant, and swidth.
10090 (font_parse_fcname): New function.
10091 (font_unparse_fcname): New function.
10092 (font_parse_name): New function.
10093 (font_match_p): New function.
10094 (font_get_name): Change return value to Lisp string.
10095 (font_get_spec): New function.
10096 (Qunspecified, Qignore_defface): Don't extern them.
10097 (font_find_for_lface): Assume that LFACE is fully specified.
10098 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10099 object, use it for FACE.
10100 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10101 driver->parse_name.
10102 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10103
10104 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10105 prototype.
10106
10107 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10108 argument F. Don't call Fnew_fontset. Instead, directly call
10109 make_fontset.
10110
10111 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10112
10113 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10114 of x_new_fontset2.
10115
10116 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10117 (Qsans__serif): New variables.
10118 (ftfont_generic_family_list): New variable.
10119 (syms_of_ftfont): Initialize the above variables.
10120 (ftfont_pattern_entity): Delete argument NAME.
10121 (ftfont_list_generic_family): New function.
10122 (ftfont_parse_name): Delete this function.
10123 (ftfont_list): Try generic family only when FcFontList found no font.
10124 (ftfont_list_family): Fix args to FcObjectSetBuild.
10125
10126 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10127 object in attrs[LFACE_FONT_INDEX].
10128 (set_lface_from_font_name): Cancel all changes for font-backend.
10129 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10130 function.
10131 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10132 font object in QCfont attribute.
10133 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10134 (realize_default_face) [USE_FONT_BACKEND]: Call
10135 set_lface_from_font_and_fontset.
10136
10137 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10138 "fixed", and signal error here if no suitable font was found.
10139
10140 * xfont.c (xfont_parse_name): Delete this function.
10141
10142 * xftfont.c (xftfont_open): Change coding style of error
10143 handling. Generate fontconfig's fontname pattern.
10144
10145 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10146 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10147
10148 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10149 Both args FONTSET and FONT_OBJECT must be existing ones.
10150
101512008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10152
10153 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10154
101552008-02-01 Kenichi Handa <handa@m17n.org>
10156
10157 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10158
10159 * font.h (struct font): Fix typo.
10160
10161 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10162 XLFD_XXX_INDEX.
10163 (enum xlfd_field_mask): New enum.
10164 (intern_font_field): Changed argument. Change caller. If digits
10165 are followed by non-digits, return a symbol.
10166 (font_expand_wildcards): New function.
10167 (font_parse_xlfd): Fix wildcard handling.
10168 (Ffont_spec): If :name is specified, reflect the info in the other
10169 properties.
10170
10171 * ftfont.c (ftfont_pattern_entity): Fix typo.
10172 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10173 locale.
10174
101752008-02-01 Kenichi Handa <handa@m17n.org>
10176
10177 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10178
10179 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10180 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10181 registry doesn't specify encoding part.
10182 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10183 (font_open_by_name): At first try parsing the name.
10184 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10185 as Lisp symbols.
10186
10187 * fontset.c (reorder_font_vector): Pay attention to the case that
10188 the 3rd element of font_def is nil.
10189 (fontset_font): For the default fontset, append one more fontset
10190 elements for a script-based font specification. Don't add script
10191 attribute on finding a font.
10192 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10193 font name.
10194 (fontset_ascii_font): If a font can't be opened, return nil.
10195
10196 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10197 (ftfont_pattern_entity): New function.
10198 (ftfont_get_cache): Assume that freetype_font_cache is already
10199 initialized.
10200 (ftfont_list): Handle the case that a file is specified in font
10201 name. Use ftfont_pattern_entity to generate entities.
10202 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10203 (syms_of_ftfont): Initialize freetype_font_cache.
10204
10205 * xftfont.c (xftfont_open): Make the font name fontconfig's
10206 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10207 (xftfont_close): Free font->font.name if not NULL.
10208
10209 * xfont.c (xfont_list): If script is specified for a font, return
10210 null_vector.
10211 (xfont_list_family): Declare argument type.
10212
10213 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10214 name, set LFACE_FONT (lface) to nil.
10215
10216 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10217 return Qnil.
10218
102192008-02-01 Kenichi Handa <handa@m17n.org>
10220
10221 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10222 (standard_args): Add "-enable-font-backend".
10223
102242008-02-01 Kenichi Handa <handa@m17n.org>
10225
10226 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10227 (struct xftdraw_list, xftdraw_list): Delete them.
10228 (register_xftdraw, check_xftdraw): Delete them.
10229 (xftfont_prepare_face): Don't call register_xftdraw.
10230 (xftfont_done_face): Don't call check_xftdraw.
10231 (xftfont_draw): Get background color only when with_background is
10232 nonzero.
10233
10234 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10235
102362008-02-01 Kenichi Handa <handa@m17n.org>
10237
10238 These changes are for the new font handling codes.
10239
10240 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10241 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10242 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10243 (FONTSRC, FONTOBJ): New variables.
10244 (obj): Add $(FONTOBJ).
10245 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10246 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10247 @LIBOTF_LIBS@.
10248 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10249 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10250
10251 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10252
10253 * character.h (Vscript_representative_chars): Extern it.
10254
10255 * character.c (Vscript_representative_chars): New variable.
10256 (syms_of_character): Declare it as a Lisp variable.
10257
10258 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10259 enable_font_backend is nonzero, accept the composition method
10260 COMPOSITION_WITH_GLYPH_STRING.
10261
10262 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10263 enumeration COMPOSITION_WITH_GLYPH_STRING.
10264
10265 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10266 members clip_x, clip_y, clip_width, and clip_height.
10267 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10268
10269 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10270 --enable-font-backend. Call syms_of_font.
10271
10272 * fns.c (assoc_no_quit): New function.
10273
10274 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10275 (face_for_font, new_fontset_from_font)
10276 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10277
10278 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10279 (fontset_font, fontset_ascii, face_for_char)
10280 (make_fontset_for_ascii_face, Ffont_info)
10281 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10282 is nonzero, use font-backend mechanism.
10283 (find_font_encoding): Make it non-static.
10284 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10285 New functions.
10286
10287 * frame.h (struct frame): New members resx and resy.
10288 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10289 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10290
10291 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10292 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10293
10294 * lisp.h (assoc_no_quit): Extern it.
10295
10296 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10297 Through out the file, use FONT_INFO_FROM_FACE instead of
10298 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10299 rif->per_char_metric.
10300 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10301 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10302 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10303 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10304 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10305 nonzero, use font-backend mechanism.
10306 (get_per_char_metric): New function.
10307
10308 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10309 (set_lface_from_font_name)
10310 (set_font_frame_param, free_realized_face)
10311 (prepare_face_for_display, clear_face_gcs)
10312 (Finternal_set_font_selection_order, realize_x_face)
10313 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10314 font-backend mechanism.
10315 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10316 (load_face_font) [USE_FONT_BACKEND]: Abort.
10317 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10318 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10319
10320 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10321 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10322 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10323 nonzero, register all available font drivers. Call
10324 x_default_font_parameter for deciding a font.
10325 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10326
10327 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10328 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10329 (x_set_glyph_string_clipping_exactly)
10330 (x_compute_glyph_string_overhangs)
10331 (x_draw_glyph_string_foreground)
10332 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10333 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10334 enable_font_backend is nonzero, use font-backend mechanism.
10335 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10336
103372008-02-01 Kenichi Handa <handa@m17n.org>
10338
10339 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10340 system_eol_type.
10341 (syms_of_coding): Initialize system_eol_type.
10342
10343 * process.c (Fset_process_coding_system): Inherit system's eol
10344 format if necessary.
10345
103462008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10347
10348 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10349
103502008-02-01 Kenichi Handa <handa@m17n.org>
10351
10352 * coding.c (decode_eol): Pay attention to buffer relocation in
10353 del_range_2.
10354 (decode_coding): Call decode_eol before restoring undo_list.
10355
103562008-02-01 Kenichi Handa <handa@m17n.org>
10357
10358 * charset.c (Fdefine_charset_internal): Fix setting of
10359 emacs_mule_bytes.
10360
103612008-02-01 Kenichi Handa <handa@m17n.org>
10362
10363 * keyboard.c (read_char): Check if C is a character or not before
10364 looking up Vkeyboard_translate_table.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10369 condition to terminate the loop.
10370
103712008-02-01 Kenichi Handa <handa@m17n.org>
10372
10373 * coding.c (produce_composition): Compare charbuf[i] instead of
10374 args[i] against 0.
10375 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10376
103772008-02-01 Kenichi Handa <handa@m17n.org>
10378
10379 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10380 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10381 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10382 detect_coding.
10383 (emacs_mule_char): Handle old style (Emacs 20) component character
10384 of a composition.
10385 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10386 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10387 composition rule.
10388 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * coding.c (encode_coding_ccl): Allocate destination dynamically
10393 when necessary.
10394
103952008-02-01 Kenichi Handa <handa@m17n.org>
10396
10397 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10398 the loop. When quitted, show a proper error message.
10399
104002008-02-01 Kenichi Handa <handa@m17n.org>
10401
10402 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10403 src->clip_head and src->clip_tail temporarily instead of src->hl.
10404
10405 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10406 character sequence.
10407 (Fccl_execute_on_string): Use ASET, not XSET.
10408
104092008-02-01 Kenichi Handa <handa@m17n.org>
10410
10411 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10412
104132008-02-01 Kenichi Handa <handa@m17n.org>
10414
10415 * coding.c (decode_coding): Fix the condition of terminating the
10416 decoding loop.
10417
104182008-02-01 Kenichi Handa <handa@m17n.org>
10419
10420 * data.c (Faset): On setting a character bigger than 255 in a
10421 unibyte string, signal an error instead of make the string multibyte.
10422
104232008-02-01 Kenichi Handa <handa@m17n.org>
10424
10425 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10426 made by a mapping table.
10427
104282008-02-01 Kenichi Handa <handa@m17n.org>
10429
10430 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10431 not.
10432 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10433 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10434
10435 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10436 s->face is NULL or not.
10437
104382008-02-01 Kenichi Handa <handa@m17n.org>
10439
10440 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10441 (x_draw_glyph_string): Fix drawing of right_overhang and
10442 left_overhang around/on cursor.
10443
10444 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10445
104462008-02-01 Kenichi Handa <handa@m17n.org>
10447
10448 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10449
104502008-02-01 Kenichi Handa <handa@m17n.org>
10451
10452 * coding.c (Fdefine_coding_system_internal)
10453 (Fdefine_coding_system_alias): Avoid a duplicated element in
10454 Vcoding_system_alist.
10455
104562008-02-01 Kenichi Handa <handa@m17n.org>
10457
10458 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10459
10460 * coding.c (Qcoding_system_define_form): New variable.
10461 (syms_of_coding): Intern and staticpro it.
10462 (Fcoding_system_p): Check Qcoding_system_define_form.
10463 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10464
10465 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10466 Fcoding_system_p.
10467 (CHECK_CODING_SYSTEM): If ID is not available, call
10468 Fcheck_coding_system.
10469 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10470 Try also Fcheck_coding_system.
10471
104722008-02-01 Kenichi Handa <handa@m17n.org>
10473
10474 * coding.c (code_conversion_restore): GCPRO arg.
10475
104762008-02-01 Kenichi Handa <handa@m17n.org>
10477
10478 * character.c (lisp_string_width): Check multibyteness of STRING.
10479
104802008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10481
10482 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10483 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10484 (decode_mac_font_name): Use decode_coding_c_string instead of
10485 decode_coding.
10486 (x_load_font): Initialize fontp->fontset to -1. Set
10487 fontp->encoding_type.
10488
104892008-02-01 Kenichi Handa <handa@m17n.org>
10490
10491 * search.c (search_buffer): Give up BM search on case-fold-search
10492 if one of a target character has a case-equivalence of different
10493 byte length even if that target charcter is an ASCII.
10494 (simple_search): Fix calculation of byte length of matched text.
10495 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10496
104972008-02-01 Kenichi Handa <handa@m17n.org>
10498
10499 * coding.c (decode_coding): Fix handling of invalid bytes.
10500
105012008-02-01 Kenichi Handa <handa@m17n.org>
10502
10503 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10504 Unicode characters.
10505
105062008-02-01 Kenichi Handa <handa@m17n.org>
10507
10508 * coding.c (encode_coding_object): If a pre-write-conversion
10509 function makes a new buffer, kill it.
10510
105112008-02-01 Kenichi Handa <handa@m17n.org>
10512
10513 * coding.c (QCascii_compatible_p): New variable.
10514 (syms_of_coding): Initialize it.
10515 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10516 calling string_char.
10517 (record_conversion_result): Add `default:' case.
10518 (coding_charset_list): Delete unused variable `coding_type'.
10519 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10520 property in the plist of the coding system.
10521 (Fcoding_system_put): Check QCascii_compatible_p.
10522
105232008-02-01 Miles Bader <miles@gnu.org>
10524
10525 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10526 removed calculation of frame `f', as it's now used.
10527
105282008-02-01 Kenichi Handa <handa@m17n.org>
10529
10530 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10531 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10532 (UNIDATA): New variable.
10533 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10534 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10535 $(RUN_TEMACS) unconditionally.
10536
105372008-02-01 Kenichi Handa <handa@m17n.org>
10538
10539 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10540 (admindir): New variable.
10541 ($(lispsource)international/charprop.el): New target.
10542
105432008-02-01 Miles Bader <miles@gnu.org>
10544
10545 * character.c (chars-in-region): Remove obsolete function.
10546 (syms_of_character): Remove its initialization.
10547
105482008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10549
10550 * w32select.c (validate_coding_system)
10551 (setup_windows_coding_system): New functions.
10552 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10553 setup_windows_coding_system.
10554 (setup_config, Fw32_get_clipboard_data): Use
10555 validate_coding_system.
10556 (Fx_selection_exists): Move call to setup_config to a place
10557 where signals are allowed.
10558
10559 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10560 (Fcheck_coding_system): Add declarations.
10561
105622008-02-01 Kenichi Handa <handa@m17n.org>
10563
10564 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10565
105662008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10567
10568 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10569 string as the second argument for x_new_fontset.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10574 (encode_coding_object): Use safe_call instead of call2.
10575
105762008-02-01 Kenichi Handa <handa@m17n.org>
10577
10578 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10579
10580 * Makefile.in (lisp): Include charprop.el.
10581
105822008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10583
10584 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10585 Not sure if it's unnecessary.
10586
105872008-02-01 Steven Tamm <steventamm@mac.com>
10588
10589 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10590 some possibly unnecessary fontset checking code that crashed
10591 when creating a new frame.
10592
105932008-02-01 Kenichi Handa <handa@m17n.org>
10594
10595 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10596 lookup_face.
10597
10598 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10599
10600 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10601
106022008-02-01 Kenichi Handa <handa@m17n.org>
10603
10604 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10605 (coding_charset_list): New function.
10606
10607 * coding.h (coding_charset_list): Extern it.
10608
106092008-02-01 Kenichi Handa <handa@m17n.org>
10610
10611 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10612 concatenation of family and registry.
10613
106142008-02-01 Kenichi Handa <handa@m17n.org>
10615
10616 * character.h (BYTE8_STRING): Fix typo.
10617
10618 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10619 string to multibyte (sync to HEAD).
10620
10621 * casefiddle.c (casify_region): Handle changes in byte-length
10622 using replace_range_2 (sync to HEAD).
10623
106242008-02-01 Andreas Schwab <schwab@suse.de>
10625
10626 * chartab.c (map_char_table): GCPRO table and arg.
10627
106282008-02-01 Kenichi Handa <handa@m17n.org>
10629
10630 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10631 already at limit.
10632
106332008-02-01 Kenichi Handa <handa@m17n.org>
10634
10635 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10636 instead of fast_c_string_match_ignore_case.
10637 (find_font_encoding): Change argument to Lisp_Object. Use
10638 fast_string_match_ignore_case instead of
10639 fast_c_string_match_ignore_case. Change caller.
10640
106412008-02-01 Kenichi Handa <handa@m17n.org>
10642
10643 * xdisp.c (get_next_display_element): In unibyte case, decide to
10644 display in octal form by checking a character by
10645 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10646
10647 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10648
10649 * character.c (unibyte_has_multibyte_table): New variable.
10650
10651 * character.h (unibyte_has_multibyte_table): Extern it.
10652 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10653
106542008-02-01 Kenichi Handa <handa@m17n.org>
10655
10656 * coding.c (encode_coding_iso_2022): Fix handling of charset
10657 annotation.
10658
106592008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 * coding.c (setup_coding_system): If coding_system is nil, use
10662 Qundecided.
10663 (Fterminal_coding_system): Return nil if terminal coding system is
10664 `undecided'.
10665 (syms_of_coding): Define coding-system `undecided' here. Setup
10666 terminal_coding as `undecided'.
10667
106682008-02-01 Kenichi Handa <handa@m17n.org>
10669
10670 * xdisp.c (message_dolog, set_message_1): Call
10671 unibyte_char_to_multibyte with arg type int.
10672
10673 * lread.c (read1): Fix reading of a char-table.
10674
10675 * print.c (print_object): Include sub char-table in circularities
10676 detection.
10677
106782008-02-01 Kenichi Handa <handa@m17n.org>
10679
10680 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10681 Append the found sequences in car of ARGS instead of prepending.
10682
106832008-02-01 Kenichi Handa <handa@m17n.org>
10684
10685 * fileio.c (report_file_error): Make a unibyte string from
10686 strerror (errorno).
10687 (Fsubstitute_in_file_name): Fix the arg to
10688 unibyte_char_to_multibyte. It is evaluated twice.
10689
106902008-02-01 Kenichi Handa <handa@m17n.org>
10691
10692 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10693
106942008-02-01 Kenichi Handa <handa@m17n.org>
10695
10696 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10697 BOM is not found.
10698 (detect_coding, detect_coding_system): Optimization for ISO-2022
10699 when no 8-bit data is found.
10700
107012008-02-01 Jason Rumney <jasonr@gnu.org>
10702
10703 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10704
107052008-02-01 Kenichi Handa <handa@m17n.org>
10706
10707 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10708 CHARS.
10709
107102008-02-01 Steven Tamm <steventamm@mac.com>
10711
10712 * macterm.c (mac_encode_char): Add charset argument and update
10713 to use encoding_type.
10714 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10715 switch to pure fontset.
10716 (decode_mac_font_name): Temporarily remove decoding.
10717 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10718 (x_load_font): Temporarily remove encoding.
10719
107202008-02-01 Kenichi Handa <handa@m17n.org>
10721
10722 * xfaces.c (Fface_font): If frame is not on a window system,
10723 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10724 refer to face->font.
10725 (split_font_name_into_vector, build_font_name_from_vector)
10726 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10727 when HAVE_WINDOW_SYSTEM is defined.
10728
107292008-02-01 Kenichi Handa <handa@m17n.org>
10730
10731 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10732 (x_produce_glyphs): Fix setting of members of cmp in case
10733 cmp->glyph_len is zero.
10734
10735 * fontset.c (Fset_fontset_font): Fix docstring.
10736 (Ffontset_info): Make it backward compatible. New arg ALL.
10737
107382008-02-01 Kim F. Storm <storm@cua.dk>
10739
10740 * process.c (read_process_output): Grow decoding_buf when needed;
10741 this could cause a crash in allocate_string and compact_small_strings.
10742
107432008-02-01 Kenichi Handa <handa@m17n.org>
10744
10745 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10746
107472008-02-01 Kenichi Handa <handa@m17n.org>
10748
10749 * coding.c (setup_coding_system): Set coding->common_flags
10750 correctly for raw-text.
10751 (consume_chars): On encoding unibyte text by raw-text, don't check
10752 multibyte form.
10753 (encode_coding): On encoding by raw-text, never use translation tables.
10754
10755 * fileio.c (e_write): Short cut for the case of no encoding.
10756
107572008-02-01 Kenichi Handa <handa@m17n.org>
10758
10759 * coding.c (detect_coding, detect_coding_system): Delete unused
10760 variables.
10761
107622008-02-01 Kenichi Handa <handa@m17n.org>
10763
10764 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10765 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10766
107672008-02-01 Kenichi Handa <handa@m17n.org>
10768
10769 * coding.c (Ffind_coding_systems_region_internal): Include
10770 raw-text and no-conversion in the result.
10771
107722008-02-01 Kenichi Handa <handa@m17n.org>
10773
10774 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10775 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10776 FONT_DEF.
10777 (font_def_arg, add_arg, from_arg, to_arg): New args.
10778 (set_fontset_font): Change argument.
10779 (Fset_fontset_font): Fix for the case that TARGET is a script
10780 name and charset name.
10781 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10782
107832008-02-01 Kenichi Handa <handa@m17n.org>
10784
10785 * fontset.c (fontset_font): Rename from fontset_face. Change return
10786 value.
10787 (face_suitable_for_char_p, face_for_char): Adjust for the change
10788 of fontset_font.
10789 (make_fontset_for_ascii_face): Fix setting of the fontset element
10790 for ASCII.
10791 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10792 to get a font name.
10793 (Ffontset_info): Adjust for the change of fontset_font.
10794
10795 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10796
10797 * character.h (LEADING_CODE_LATIN_1_MIN)
10798 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10799
108002008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 * editfns.c (check_translation): New function.
10803 (Ftranslate_region_internal): Handle M:N mapping.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10808
108092008-02-01 Kenichi Handa <handa@m17n.org>
10810
10811 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10812 goto invalid_code.
10813 (decode_coding_iso_2022): Fix handling of invalid designation.
10814
10815 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10816 after calling code_conversion_save.
10817
108182008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10821
10822 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10823
10824 * fontset.c: Include "intervals.h".
10825 (fontset_face): Fix comparing of Lisp_Objects.
10826 (free_face_fontset, new_fontset_from_font_name): Fix
10827 Lisp_Object/int mixup.
10828
10829 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10830
10831 * coding.c: Add many prototypes for static functions.
10832 (get_translation_table): Allow max_lookup to be NULL.
10833 (decode_coding, Ffind_coding_systems_region_internal)
10834 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10835 get_translation_table with max_lookup NULL.
10836
108372008-02-01 Kenichi Handa <handa@m17n.org>
10838
10839 * coding.c (get_translation_table): Declare it as Lisp_Object.
10840 (LOOKUP_TRANSLATION_TABLE): New macro.
10841 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10842 instead of CHAR_TABLE_REF.
10843
108442008-02-01 Kenichi Handa <handa@m17n.org>
10845
10846 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10847 annotation data format.
10848 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10849 Change arguments FROM and TO to single argument NCHARS. Change caller.
10850 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10851 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10852 (decode_coding_ccl, decode_coding_charset): Pay attention to
10853 coding->charbuf_used.
10854 (get_translation): New function.
10855 (produce_chars): New arguments translation_table and last_block.
10856 Translate characters here. Return number of carryover chars.
10857 Change caller.
10858 (produce_composition): New argument pos. Change caller.
10859 Adjust for the change of annotation data format.
10860 (produce_charset, produce_annotation): Likewise.
10861 (decode_coding, encode_coding): Don't call translate_chars.
10862 (consume_chars): New arg translation_table. Change caller.
10863 (translate_chars): Delete.
10864 (syms_of_coding): Make translation-table's number of extra slots 2.
10865
108662008-02-01 Kenichi Handa <handa@m17n.org>
10867
10868 * search.c (simple_search): Fix setting this_pos_byte in backward
10869 search.
10870
10871 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10872 byte sequence.
10873 (detect_coding_ccl): Fix setting of the variable valids.
10874
108752008-02-01 Kenichi Handa <handa@m17n.org>
10876
10877 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10878
10879 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10880
10881 * editfns.c (Ftranslate_region_internal): Rename from
10882 Ftranslate_region. Accept a char-table in TABLE.
10883 (syms_of_editfns): Defsubr Stranslate_region_internal.
10884
10885 * xfaces.c (set_lface_from_font_name): If a font is specified for
10886 a frame, generate a fontset from the font.
10887 (build_scalable_font_name): If the scalable font is requested for
10888 a specific size, don't change that size.
10889 (try_font_list): Try a scalable font also in the case that a
10890 pattern string is specified.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * xfaces.c (Fface_font): New optional arg CHARACTER.
10895
108962008-02-01 Kenichi Handa <handa@m17n.org>
10897
10898 * charset.h (CHARSET_OFFSET): New macro.
10899
109002008-02-01 Kenichi Handa <handa@m17n.org>
10901
10902 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10903
10904 * fontset.c (fontset_face): Handle the case that repertory is a
10905 char-table.
10906 (find_font_encoding): Return nil for unknown encoding.
10907 (Fset_fontset_font): Ignore a font of unknown encoding.
10908
109092008-02-01 Kenichi Handa <handa@m17n.org>
10910
10911 * keymap.c (describe_vector): Handle default value of a char table.
10912
10913 * fontset.c (fontset_face): Handle fallback fonts correctly.
10914 (Ffontset_info): Return infomation about fallback fonts.
10915
109162008-02-01 Kenichi Handa <handa@m17n.org>
10917
10918 * fontset.c (FONTSET_DEFAULT): New macro.
10919 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10920 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10921 the case that it is nil.
10922 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10923 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10924
10925 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10926 subset or superset.
10927
109282008-02-01 Kenichi Handa <handa@m17n.org>
10929
10930 * emacs.c (main): Call init_charset after syms_of_XXX.
10931
10932 * charset.c (Vcharset_map_directory): Delete.
10933 (Vcharset_map_path): New variable.
10934 (load_charset_map_from_file): Use Vcharset_map_path instead.
10935 (init_charset): Initialize Vcharset_map_path.
10936 (syms_of_charset): Delete declaration of "charset-map-directory",
10937 add declaration of "charset-map-path".
10938
109392008-02-01 Kenichi Handa <handa@m17n.org>
10940
10941 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10942 ASCII only string.
10943
10944 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10945
10946 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10947 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10948
109492008-02-01 Kenichi Handa <handa@m17n.org>
10950
10951 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10952
10953 * coding.c (QCmnemonic, QCdefalut_char)
10954 (QCdecode_translation_table, QCencode_translation_table)
10955 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10956 (get_translation_table): Return a list of translation tables if
10957 necessary.
10958 (decode_coding): Call get_translation_table with ENCODEP 0.
10959 (char_encodable_p): If translation_table is non-nil, always call
10960 translate_char.
10961 (Fdefine_coding_system_internal): Accept list of translation
10962 tables as :encode-translation-table and :decode-translation-table.
10963 (Fcoding_system_put): New function.
10964 (syms_of_coding): Declare new symbols. Defsubr
10965 Scoding_system_put.
10966 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10967 typically JISX0212.
10968
10969 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10970 when the charset is superset type.
10971
10972 * character.c (translate_char): Accept list of translation tables.
10973
109742008-02-01 Kenichi Handa <handa@m17n.org>
10975
10976 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10977 (CODING_ATTR_TRANS_TBL): New macro.
10978
10979 * coding.c (get_translation_table): New function.
10980 (translate_chars): Fix the bug of skipping annotation data.
10981 (decode_coding, encode_coding): Utilize get_translation_table.
10982 (char_encodable_p, Funencodable_char_position): Translate char if
10983 necessary.
10984 (Ffind_coding_systems_region_internal)
10985 (Fcheck_coding_systems_region): Setup translation table for encode
10986 in a coding system attribute vector in advance.
10987 (Fdefine_coding_system_internal): Allow a symbol as translation
10988 table. For shift-jis type coding system, allow 4th charset.
10989
109902008-02-01 Kenichi Handa <handa@m17n.org>
10991
10992 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10993
10994 * xdisp.c (get_next_display_element): Pass -1 as POS to
10995 FACE_FOR_CHAR if displaying a C-string.
10996
109972008-02-01 Kenichi Handa <handa@m17n.org>
10998
10999 * composite.c (get_composition_id): Handle xoff and yoff in a
11000 composition rule.
11001
11002 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11003 (struct composition): New member lbearing and rbearing.
11004
11005 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11006 (x_get_glyph_overhangs): Handle a composition glyph.
11007 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11008
11009 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11010 composition glyph.
11011
110122008-02-01 Kenichi Handa <handa@m17n.org>
11013
11014 * print.c: Include charset.h.
11015 (Vprint_charset_text_property): New variable.
11016 (Qdefault): Extern it.
11017 (PRINT_STRING_NON_CHARSET_FOUND)
11018 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11019 (print_check_string_result): New variable.
11020 (print_check_string_charset_prop): New function.
11021 (print_prune_charset_plist): New variable.
11022 (print_prune_string_charset): New function.
11023 (print_object): Call print_prune_string_charset if
11024 Vprint_charset_text_property is not t.
11025 (print_interval): Print nothing if interval->plist is nil.
11026 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11027 variable. Init and staticpro print_prune_charset_plist.
11028
110292008-02-01 Kenichi Handa <handa@m17n.org>
11030
11031 * fontset.c (new_fontset_from_font_name): Use the specified font
11032 for all characters in the new fontset.
11033
11034 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11035 OBJECT args.
11036
11037 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11038 OBJECT args for composition too.
11039
11040 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11041 OBJECT args.
11042
110432008-02-01 Kenichi Handa <handa@m17n.org>
11044
11045 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11046
11047 * fontset.c (reorder_font_vector): Adjust for the change of
11048 FONT_DEF format.
11049 (fontset_face): New arg id. Change caller.
11050 (face_for_char): New args pos and object.
11051 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11052 (fs_query_fontset): Check NAME by Fassoc too.
11053 (Fset_fontset_font): Allow non-XLFD font name.
11054 (Ffontset_info): Adjust for the change of FONT_DEF format.
11055
11056 * fontset.h (face_for_char): Adjust prototype.
11057
11058 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11059 (append_space, extend_face_to_end_of_line)
11060 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11061 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11062
11063 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11064 POS and OBJECT args.
11065
11066 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11067 POS and OBJECT args.
11068
110692008-02-01 Jason Rumney <jasonr@gnu.org>
11070
11071 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11072 of GlobalAlloc'ed memory.
11073
110742008-02-01 Kenichi Handa <handa@m17n.org>
11075
11076 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11077
11078 * charset.h (charset_table_used): Delete extern.
11079
11080 * charset.c (charset_table_used): Make it static.
11081 (map_charset_chars): Fix args to c_function with.
11082
11083 * chartab.c (map_sub_char_table_for_charset): Fix args to
11084 c_function with.
11085
11086 * coding.h (enum coding_result_code): Delete
11087 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11088
11089 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11090 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11091 (Vlast_code_conversion_error): New variables.
11092 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11093 (ONE_MORE_BYTE): Record error if any instead of signaling an
11094 error. If non-ASCII multibyte char is found, return the negative
11095 value of the code. All callers changed to check it.
11096 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11097 (record_conversion_result): New function. Change all codes setting
11098 coding->result to call this function.
11099 (detect_coding_utf_8, decode_coding_utf_8)
11100 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11101 Don't use the local variable incomplete.
11102 (emacs_mule_char): Change the second arg to `const'.
11103 (decode_coding): Fix of flushing out unprocessed data.
11104 (make_conversion_work_buffer): Fix making of a work buffer.
11105 (decode_coding_object): Return coding->dst_object.
11106
11107 * fontset.c (set_fontset_font): Fix args.
11108
11109 * lisp.h (CHARACTERBITS): Define as 22.
11110
11111 * process.c (send_process): Be sure to set coding->src_multibyte.
11112
11113 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11114
111152008-02-01 Kenichi Handa <handa@m17n.org>
11116
11117 * xdisp.c (handle_auto_composed_prop): Give limit to
11118 Fnext_single_char_property_change.
11119
111202008-02-01 Kenichi Handa <handa@m17n.org>
11121
11122 * composite.c (syms_of_composite): Don't make the composition hash
11123 table weak.
11124
11125 * fontset.c (Fset_fontset_font): Fix docstring.
11126
11127 * lisp.h (detect_coding_system): Adjust prototype.
11128
11129 * fileio.c (kill_workbuf_unwind): Delete this function.
11130 (Finsert_file_contents): Adjust the call of detect_coding_system.
11131 Get conversion_buffer by code_conversion_save. Use the macro
11132 CODING_MAY_REQUIRE_DECODING. After decoding, update
11133 coding_system.
11134
11135 * coding.h (make_conversion_work_buffer): Delete extern.
11136 (code_conversion_save): Extern it.
11137
11138 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11139 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11140 (decode_coding_utf_8): Don't do eol converion.
11141 (detect_coding_utf_16): Check coding->src_chars, not
11142 coding->src_bytes. Add heuristics for those that have no signature.
11143 (decode_coding_emacs_mule, decode_coding_iso_2022)
11144 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11145 Don't do eol converion.
11146 (adjust_coding_eol_type): Return a new coding system.
11147 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11148 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11149 each change.
11150 (decode_coding): Pay attention to undo_list. Do eol conversion for
11151 all types of coding-systems (if necessary).
11152 (Vcode_conversion_work_buf_list): Delete it.
11153 (Vcode_conversion_reused_workbuf): Rename from
11154 Vcode_conversion_reused_work_buf.
11155 (Vcode_conversion_workbuf_name): New variable.
11156 (reused_workbuf_in_use): New variable.
11157 (make_conversion_work_buffer): Delete the arg DEPTH.
11158 (code_conversion_restore): Change argument to cons.
11159 (code_conversion_save): Delete the argument BUFFER. Change callers.
11160 (detect_coding_system): New argument src_chars. Change callers.
11161 Fix for utf-16 detection.
11162 (init_coding_once): Don't use ISO_carriage_return.
11163 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11164 reused_workbuf_in_use.
11165
111662008-02-01 Kenichi Handa <handa@m17n.org>
11167
11168 * keymap.c (store_in_keymap): Pay attention to the case that idx
11169 is a cons specifying a character range.
11170
111712008-02-01 Kenichi Handa <handa@m17n.org>
11172
11173 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11174 HANDLED_RECOMPUTE_PROPS.
11175
11176 * coding.c (Fdefine_coding_system_internal): Fix checking of
11177 ascii compatibility.
11178
111792008-02-01 Kenichi Handa <handa@m17n.org>
11180
11181 * charset.c (find_charsets_in_text): Delete unused locale variable.
11182 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11183
11184 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11185 Resync charset_list to Vemacs_mule_charset_list.
11186
11187 * keymap.c (store_in_keymap): Pay attention to the case that idx
11188 is a cons specifying a character range.
11189
111902008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * composite.c (update_compositions): Bind inhibit-read-only, etc
11193 to t before calling remove-list-of-text-properties.
11194
11195 * print.c (print_object): Always print ASCII chars as is.
11196
111972008-02-01 Kenichi Handa <handa@m17n.org>
11198
11199 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11200
11201 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11202 is a char table.
11203
112042008-02-01 Kenichi Handa <handa@m17n.org>
11205
11206 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 * xfaces.c (set_lface_from_font_name): Fix for the case that
11211 FONTNAME is not fontset name.
11212
112132008-02-01 Kenichi Handa <handa@m17n.org>
11214
11215 * fns.c (base64_encode_1): Fix previous change.
11216
112172008-02-01 Kenichi Handa <handa@m17n.org>
11218
11219 * fontset.c (set_fontset_font): New function.
11220 (Fset_fontset_font): If a font is specified for a charset, use
11221 map_charset_chars to store the font spec in a fontset.
11222
112232008-02-01 Kenichi Handa <handa@m17n.org>
11224
11225 * fontset.c (fontset_face): Create a fallback fontset on demand.
11226 (make_fontset): Don't create a fallback fontset here.
11227 (free_face_fontset): Free a fallback fontset (if any) too.
11228 (n_auto_fontsets): Delete this variable.
11229 (auto_fontset_alist): New variable.
11230 (new_fontset_from_font_name): Check auto_fontset_alist.
11231 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11232 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11233 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11234 Defsubr Sfontset_list_all.
11235
112362008-02-01 Kenichi Handa <handa@m17n.org>
11237
11238 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11239
112402008-02-01 Kenichi Handa <handa@m17n.org>
11241
11242 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11243
112442008-02-01 Kenichi Handa <handa@m17n.org>
11245
11246 * editfns.c (Fgoto_char): Fix docstring.
11247
112482008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * insdel.c (insert_from_gap): Adjust intervals correctly.
11251
112522008-02-01 Jason Rumney <jasonr@gnu.org>
11253
11254 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11255 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11256 (w32_initialize): Try to load it.
11257 (x_get_font_repertory): Use it if available.
11258 (w32_encode_char): Add shortcut for unicode output.
11259
11260 * w32fns.c (w32_load_system_font): Default charset to -1.
11261 (x_to_w32_charset): Match all fonts for unicode.
11262 (w32_to_x_charset): New parameter matching. Don't return partial
11263 or wildcard charsets.
11264 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11265 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11266 (w32_to_x_font): Match charset to real charset.
11267 (enum_font_cb2): Always list unicode versions.
11268
11269 * makefile.w32-in (temacs): Increase EMHEAP.
11270
112712008-02-01 Jason Rumney <jasonr@gnu.org>
11272
11273 * w32term.c (w32_encode_char): New charset parameter.
11274 font_info.encoding becomes encoding_type.
11275 (x_get_font_repertory): New function. Warning: stub only!
11276 (x_new_font): Return quickly if font already set.
11277 (x_new_fontset): fontsetname parameter is Lisp_Object.
11278 Use new fs_query_fontset. Try new_fontset_from_font_name.
11279 Use fontset_name for return value.
11280
11281 * w32term.h: Declare x_get_font_repertory.
11282
11283 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11284 place of find_charset_in_text. Use encode_coding_object in place
11285 of encode_coding.
11286 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11287 decode_coding.
11288
11289 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11290 of x_new_fontset.
11291 (w32_load_system_font): Initialize charset as unicode.
11292 font_info.encoding becomes encoding_type.
11293 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11294 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11295 (syms_of_w32fns): Set get_font_repertory_func.
11296
11297 * w32console.c: Include character.h. Use terminal_encode_buffer
11298 from term.c.
11299 (write_glyphs): Use new version of encode_terminal_code. Use
11300 encode_coding_object in place of encode_coding.
11301
11302 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11303 encoding becomes encoding_type.
11304
11305 * term.c (terminal_encode_buffer): Make externally visible.
11306
11307 * makefile.w32-in: Add character.h dependancies.
11308 (character.o, chartab.o): New targets.
11309
113102008-02-01 Kenichi Handa <handa@m17n.org>
11311
11312 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11313 CODING_ID_EOL_TYPE.
11314
113152008-02-01 Andreas Schwab <schwab@suse.de>
11316
11317 * coding.c (produce_chars): Revert last change.
11318
113192008-02-01 Kenichi Handa <handa@m17n.org>
11320
11321 * charset.h (charset_unicode): Extern it.
11322
11323 * charset.c (string_xstring_p): Check by (C >= 0x100).
11324 (find_charsets_in_text): Change format of the arc CHARSETS. New
11325 arg MULTIBYTE.
11326 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11327 change of find_charsets_in_text.
11328 (Fsplit_char): Fix doc. Never return unknown.
11329
11330 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11331
11332 * coding.c (Fdefine_coding_system_alias): Update
11333 Vcoding_system_list.
11334
11335 * fontset.c (load_font_get_repertory): Pay attention to the case
11336 that ENCODING of a font is specified by a char-table.
11337
11338 * xterm.c (x_get_font_repertory): Handle the case that the
11339 encoding of font is other than Unicode.
11340
113412008-02-01 Kenichi Handa <handa@m17n.org>
11342
11343 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11344 if a character is encodable by the terminal coding system. If
11345 not, produces proper number of `?'s. Update
11346 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11347 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11348
113492008-02-01 Kenichi Handa <handa@m17n.org>
11350
11351 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11352 variables.
11353 (encode_terminal_code): Change argument. Encode multiple
11354 characters at once. Store the result of encoding in
11355 terminal_encode_buffer.
11356 (write_glyphs, insert_glyphs): Adjust for the change of
11357 encode_terminal_code.
11358 (term_init): Initialize terminal_encode_buffer and
11359 terminal_encode_buf_size.
11360
11361 * coding.c (consume_chars): If coding->src_object is nil, don't
11362 check annotation.
11363
113642008-02-01 Kenichi Handa <handa@m17n.org>
11365
11366 * character.c (char_string): Use ASCII_CHAR_P instead of
11367 SINGLE_BYTE_CHAR_P.
11368
113692008-02-01 Kenichi Handa <handa@m17n.org>
11370
11371 * xdisp.c (handle_auto_composed_prop): Check if the last
11372 characters of auto-composed region is newly composed with the
11373 following characters.
11374 (handle_composition_prop): Fix checking of point being inside
11375 composition.
11376
113772008-02-01 Kenichi Handa <handa@m17n.org>
11378
11379 * fns.c (concat): Don't change multibyteness of the result by
11380 concatenating an 8-bit character.
11381
11382 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11383 multibyteness of the result when newelt is an 8-bit character.
11384
113852008-02-01 Dave Love <fx@gnu.org>
11386
11387 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11388 EMACS_INT.
11389
11390 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11391
11392 * xfaces.c (face_numeric_value): Declare dim size_t.
11393 (Finternal_lisp_face_equal_p): Remove unused f.
11394
11395 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11396 (MATRIX_ROW): Remove unused vars.
11397 (draw_glyphs, x_insert_glyphs, fast_find_position)
11398 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11399 byte/char counts.
11400
11401 * regex.c (regex_compile): Remove unused var.
11402
11403 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11404
11405 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11406 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11407
11408 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11409
11410 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11411
11412 * fileio.c (Fwrite_region): Remove unused var.
11413
11414 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11415 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11416
11417 * composite.c (Fremove_list_of_text_properties): Declare.
11418
11419 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11420 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11421 (coding_inherit_eol_type): Remove unused attrs.
11422 (detect_coding): Cast arg of detect_eol.
11423
11424 * charset.c (syms_of_charset): Remove unused var p.
11425 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11426 byte/char counts.
11427
11428 * casetab.c (set_case_table): Remove unused var.
11429
11430 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11431 unused vars.
11432
114332008-02-01 Dave Love <fx@gnu.org>
11434
11435 * xterm.c (x_bitmap_mask): Declare.
11436
114372008-02-01 Dave Love <fx@gnu.org>
11438
11439 * xterm.c (x_term_init): Fix type error.
11440
11441 * lisp.h: Add Funibyte_char_to_multibyte.
11442
11443 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11444 (Fset_coding_system_priority): Doc fix.
11445
11446 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11447
11448 * indent.c (check_composition): Make start and end EMACS_INT.
11449
11450 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11451
11452 * xdisp.c (handle_composition_prop, check_point_in_composition):
11453 Make buffer positions EMACS_INT.
11454
11455 * composite.c (find_composition, run_composition_function)
11456 (update_compositions, Ffind_composition_internal): Make buffer
11457 positions EMACS_INT.
11458
11459 * composite.h (find_composition, update_compositions): Make
11460 position args EMACS_INT.
11461
11462 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11463
11464 * intervals.c (get_property_and_range):
11465 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11466
11467 * unexalpha.c: Don't include varargs.h.
11468
114692008-02-01 Dave Love <fx@gnu.org>
11470
11471 * coding.h (ENCODE_UTF_8): New.
11472
11473 * Makefile.in (gtkutil.o): Depend on coding.h.
11474
11475 * coding.c (Fset_coding_system_priority): Doc fix.
11476
114772008-02-01 Kenichi Handa <handa@m17n.org>
11478
11479 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11480 the case of auto saving.
11481
114822008-02-01 Andreas Schwab <schwab@suse.de>
11483
11484 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11485 `range' from GC.
11486
114872008-02-01 Kenichi Handa <handa@m17n.org>
11488
11489 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11490
114912008-02-01 Kenichi Handa <handa@m17n.org>
11492
11493 * fileio.c (choose_write_coding_system): Return a decided coding system.
11494 (Fwrite_region): Set Vlast_coding_system_used to the return value
11495 of choose_write_coding_system.
11496
114972008-02-01 Kenichi Handa <handa@m17n.org>
11498
11499 * charset.c (Fset_charset_priority): Pay attention to duplicated
11500 arguments.
11501
11502 * coding.c (QCcategory): New variable.
11503 (syms_of_coding): Defsym it. Set all elements of
11504 Vcoding_category_table and their symbol values.
11505 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11506 coding-category-XXX, and coding-category-list.
11507 (Fdefine_coding_system_internal): Add category in the plist.
11508
115092008-02-01 Kenichi Handa <handa@m17n.org>
11510
11511 * callproc.c (Fcall_process): Handle carryover correctly.
11512
11513 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11514 (raw_text_coding_system): Check NILP (coding_system).
11515 (coding_inherit_eol_type): Check NILP (coding_system) and
11516 NILP (parent).
11517 (consume_chars): Fix for the case of raw-text.
11518
11519 * process.c (read_process_output): Handle carryover correctly.
11520
115212008-02-01 Dave Love <fx@gnu.org>
11522
11523 * regex.c (re_search_2): Fix last change.
11524
115252008-02-01 Kenichi Handa <handa@m17n.org>
11526
11527 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11528 target_multibyte. Even in a unibyte case, return a converted
11529 multibyte char.
11530 (GET_CHAR_AFTER): New macro.
11531 (PATFETCH): Translate via multibyte char.
11532 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11533 (SETUP_MULTIBYTE_RANGE): New macro.
11534 (regex_compile): Setup compiled code so that its multibyteness
11535 matches that of a target. Fix the handling of "[X-YZ]" using
11536 SETUP_MULTIBYTE_RANGE.
11537 (analyse_first) <charset>: For filling fastmap for all multibyte
11538 characters, don't check by BASE_LEADING_CODE_P.
11539 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11540 the same as RE_MULTIBYTE_P (bufp) now.
11541 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11542 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11543 (TRANSLATE_VIA_MULTIBYTE): New macro.
11544 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11545 It is the same as RE_MULTIBYTE_P (bufp) now.
11546 <exactn>: Translate via multibyte.
11547 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11548 translate it.
11549 <charset, charset_not>: Fetch a character by
11550 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11551 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11552 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11553 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11554 by GET_CHAR_AFTER.
11555 (bcmp_translate): Likewise.
11556
11557 * search.c (compile_pattern): Check the member target_multibyte,
11558 not the member multibyte of buf.
11559
11560 * lread.c (read1): While reading a string, set force_singlebyte
11561 and force_multibyte correctly.
11562
11563 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11564 up of unibyte_to_multibyte_table.
11565
115662008-02-01 Kenichi Handa <handa@m17n.org>
11567
11568 * coding.c (setup_coding_system): If coding has
11569 post-read-conversion or pre-write-conversion, set
11570 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11571 respectively.
11572 (decode_coding_gap): Run post-read-conversion if any.
11573
11574 * fileio.c (Finsert_file_contents): Even if we read into a
11575 unibyte buffer, check if we must decode the result or not.
11576
115772008-02-01 Kenichi Handa <handa@m17n.org>
11578
11579 * coding.c (make_conversion_work_buffer): Change the work buffer
11580 name to the same one as that of Emacs 21.
11581
115822008-02-01 Kenichi Handa <handa@m17n.org>
11583
11584 * coding.h (make_conversion_work_buffer): Adjust prototype.
11585 (code_conversion_restore): Don't extern it.
11586
11587 * coding.c (detected_mask): Delete unused variable.
11588 (decode_coding_iso_2022): Pay attention to the byte sequence of
11589 CTEXT extended segment, and retain those bytes as is.
11590 (decode_coding_ccl): Delete unused variable `valids'.
11591 (setup_coding_system): Delete unused variable `category'.
11592 (consume_chars): Delete unused variable `category'. Make it work
11593 for non-multibyte case.
11594 (make_conversion_work_buffer): Change argument.
11595 (saved_coding): Delete unused variable.
11596 (code_conversion_restore): Don't check saved_coding->destination.
11597 (code_conversion_save): New function.
11598 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11599 instead of record_unwind_protect.
11600 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11601 (detect_coding_system): Delete unused variable `mask'.
11602 (Fdefine_coding_system_internal): Delete unused variable id.
11603
11604 * fileio.c (kill_workbuf_unwind): New function.
11605 (Finsert_file_contents): On replacing, call
11606 make_conversion_work_buffer with correct args, and call
11607 record_unwind_protect with the first arg kill_workbuf_unwind.
11608
11609 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11610
116112008-02-01 Kenichi Handa <handa@m17n.org>
11612
11613 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11614 (fontset_add): Fix for the case that TO is less than TO1.
11615 (Ffontset_info): Don't use fallback fontset on checking the
11616 default fontset.
11617 (dump_fontset): New function for debugging.
11618
11619 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11620 coding_type is Qcharset.
11621
116222008-02-01 Kenichi Handa <handa@m17n.org>
11623
11624 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11625 (map_char_table): Don't inherit the value from the parent on
11626 initializing VAL. Adjust for the above change.
11627
116282008-02-01 Kenichi Handa <handa@m17n.org>
11629
11630 * coding.c (Qsignature, Qendian): Delete these variables.
11631 (syms_of_coding): Don't initialize them.
11632 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11633 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11634 detect_info->found.
11635 (decode_coding_utf_16): Don't detect BOM here.
11636 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11637 is NOT utf_16_without_bom.
11638 (setup_coding_system): For a coding system of type utf-16, check
11639 if the attribute :endian is Qbig or not (not nil or not), and set
11640 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11641 (detect_coding): If coding type is utf-16 and BOM detection is
11642 required, detect it.
11643 (Fdefine_coding_system_internal): For a coding system of type
11644 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11645
116462008-02-01 Kenichi Handa <handa@m17n.org>
11647
11648 * coding.c (coding_set_source): Fix for the case that the current
11649 buffer is different from coding->src_object.
11650 (decode_coding_object): Don't use the conversion work buffer if
11651 DST_OBJECT is a buffer.
11652
116532008-02-01 Dave Love <fx@gnu.org>
11654
11655 * lread.c (read_emacs_mule_char) [len==2]: Index
11656 emacs_mule_charset correctly.
11657
116582008-02-01 Dave Love <fx@gnu.org>
11659
11660 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11661 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11662 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11663 treated specially.)
11664 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11665 (detected_mask): Remove Big5 bits.
11666
116672008-02-01 Kenichi Handa <handa@m17n.org>
11668
11669 The following changes are to make the font rescaling facility
11670 compatible with Emacs 21.
11671
11672 * xfaces.c (Vface_font_rescale_alist): Rename from
11673 Vface_resizing_fonts.
11674 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11675 (font_rescale_ratio): Rename from font_resizing_ratio.
11676 (split_font_name): Set font->rescale_ratio.
11677 (better_font_p): Pay attention to font->rescale_ratio.
11678 (build_scalable_font_name): Likewise. Change RESX, and RESY
11679 fields.
11680 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11681
116822008-02-01 Kenichi Handa <handa@m17n.org>
11683
11684 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11685 (Qutf_16_le): Remove these variables.
11686 (syms_of_coding): Don't DEFSYM them.
11687 (decode_coding_utf_16): Fix handling of BOM.
11688 (encode_coding_utf_16): Fix handling of BOM.
11689
116902008-02-01 Kenichi Handa <handa@m17n.org>
11691
11692 * fileio.c (Finsert_file_contents): On replacing, before decoding
11693 the file into the work buffer, set point of the work buffer to the end.
11694
116952008-02-01 Dave Love <fx@gnu.org>
11696
11697 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11698
116992008-02-01 Dave Love <fx@gnu.org>
11700
11701 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11702 and fix C types.
11703
117042008-02-01 Kenichi Handa <handa@m17n.org>
11705
11706 * xdisp.c (SKIP_GLYPHS): New macro.
11707 (set_cursor_from_row): Pay attention to string display properties.
11708
11709 * category.c (copy_category_entry): Fix for the case that RANGE
11710 is an integer.
11711
11712 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11713
11714 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11715
117162008-02-01 Kenichi Handa <handa@m17n.org>
11717
11718 * charset.c (Fcharset_id_internal): New function.
11719 (syms_of_charset): Defsubr it.
11720
11721 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11722 with the last arg charset_list acquired from coding.
11723 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11724 the attribute coding_attr_ccl_valids.
11725
11726 * coding.h (enum define_coding_ccl_arg_index): Set the first
11727 member coding_arg_ccl_decoder to coding_arg_max.
11728
11729 * ccl.h (ccl_driver): Adjust prototype.
11730
11731 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11732 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11733 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11734 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11735 last arg Qnil.
11736
117372008-02-01 Kenichi Handa <handa@m17n.org>
11738
11739 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11740 call encode_char.
11741
11742 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11743
117442008-02-01 Dave Love <fx@gnu.org>
11745
11746 * composite.c (syms_of_composite): Make composition_hash_table weak.
11747
117482008-02-01 Kenichi Handa <handa@m17n.org>
11749
11750 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11751 (font_name_registry): Don't extern them.
11752 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11753
11754 * fontset.h (Qfontset): Don't extern it.
11755 (new_fontset_from_font_name): Extern it.
11756
11757 * fontset.c: Give 8 extra slots to fontset objects.
11758 (Qfontset_info): New variable.
11759 (syms_of_fontset): Defsym it.
11760 (FONTSET_FALLBACK): New macro.
11761 (fontset_face): Try also the default fontset.
11762 (make_fontset): Realize a fallback fontset from the default fontset.
11763 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11764 using split_font_name_into_vector and build_font_name_from_vector.
11765 (Fset_fontset_font): Access the elements of font_spec by enum
11766 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11767 name by using split_font_name_into_vector.
11768 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11769 generate a proper font name from the fontset name. Update
11770 Vfontset_alias_alist.
11771 (n_auto_fontsets): New variable.
11772 (new_fontset_from_font_name): New function.
11773 (Ffont_info): Store the information about fonts generated from the
11774 default fontset in the first extra slot of the returned char-table.
11775
11776 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11777 (font_name_registry): Delete function.
11778 (split_font_name_into_vector): New function.
11779 (build_font_name_from_vector): New function.
11780 (font_list): The argument REGISTRY is now a list of registry names.
11781 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11782 specifies an explicit font name, return the name as is. Make a
11783 list of registy names.
11784
11785 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11786 of x_new_fontset.
11787 (Fx_create_frame): Don't call x_new_fontset here. Just use
11788 x_list_fonts to check the existence of fonts.
11789
11790 * xterm.h (x_new_fontset): Adjust prototype.
11791
11792 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11793 string. Use new_fontset_from_font_name to create a fontset from a
11794 font name.
11795
117962008-02-01 Kenichi Handa <handa@m17n.org>
11797
11798 * syntax.c (Vfind_word_boundary_function_table): New name for
11799 Vnext_word_boundary_function_table.
11800 (find-word-boundary-function-table): New name for
11801 next-word-boundary-function-table.
11802
118032008-02-01 Dave Love <fx@gnu.org>
11804
11805 * Makefile.in: Fix some dependencies.
11806
11807 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11808 set it to nil before returning.
11809
11810 * composite.c (update_compositions): Fix type error.
11811
11812 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11813
118142008-02-01 Kenichi Handa <handa@m17n.org>
11815
11816 * xterm.c (x_new_font): Optimize for the case that the font is
11817 already set for the frame.
11818
118192008-02-01 Kenichi Handa <handa@m17n.org>
11820
11821 * chartab.c (char_table_ascii): Check if the char table contents
11822 is sub-char-table or not.
11823 (char_table_set, char_table_set_range): Fix argument to
11824 char_table_ascii.
11825
11826 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11827 (detect_coding_utf_8, detect_coding_utf_16)
11828 (detect_coding_emacs_mule, detect_coding_iso_2022)
11829 (detect_coding_sjis, detect_coding_big5)
11830 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11831 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11832 sequence is valid in this coding system. Change callers.
11833 (MAX_ANNOTATION_LENGTH): New macro.
11834 (ADD_ANNOTATION_DATA): New macro.
11835 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11836 ADD_ANNOTATION_DATA. Change the format of annotation data.
11837 (ADD_CHARSET_DATA): New macro.
11838 (emacs_mule_char): New argument ID. Change callers.
11839 (decode_coding_emacs_mule, decode_coding_iso_2022)
11840 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11841 Produce charset annotation data in coding->charbuf.
11842 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11843 to charset annotation data in coding->charbuf.
11844 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11845 coding->common_flags if the coding system is iso-2022 based and
11846 uses designation.
11847 (produce_composition): Adjust for the new annotation data format.
11848 (produce_charset): New function.
11849 (produce_annotation): Handle charset annotation.
11850 (handle_composition_annotation, handle_charset_annotation): New
11851 functions.
11852 (consume_chars): Handle charset annotation. Utilize the above two
11853 functions.
11854 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11855 buffer, get the deleted text as a string and set
11856 coding->src_object to that string.
11857 (detect_coding, detect_coding_system): Use the new struct
11858 coding_detection_info.
11859
11860 * coding.h (struct coding_detection_info): New structure.
11861 (struct coding_system): Adjust prototype of the member `detector'.
11862 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11863
118642008-02-01 Kenichi Handa <handa@m17n.org>
11865
11866 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11867
118682008-02-01 Dave Love <fx@gnu.org>
11869
11870 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11871 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11872 to new local and nullify apropos_accumulate before returning.
11873 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11874
118752008-02-01 Kenichi Handa <handa@m17n.org>
11876
11877 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11878 correctly.
e3eea1fc 11879
aac0c6e3
MR
118802008-02-01 Dave Love <fx@gnu.org>
11881
11882 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11883
118842008-02-01 Kenichi Handa <handa@m17n.org>
11885
11886 The following changes are to make character composition happen
11887 automatically on displaying.
11888
11889 * Makefile.in (lisp, shortlisp): Add composite.elc.
11890
11891 * composite.h (Qauto_composed, Vauto_composition_function)
11892 (Qauto_composition_function): Extern them.
11893
11894 * composite.c (Vcomposition_function_table)
11895 (Qcomposition_function_table): Delete variables.
11896 (Qauto_composed, Vauto_composition_function)
11897 (Qauto_composition_function): New variables.
11898 (run_composition_function): Don't call
11899 compose-chars-after-function.
11900 (update_compositions): Clear `auto-composed' text property.
11901 (compose_chars_in_text): Delete this function.
11902 (syms_of_composite): Staticpro Qauto_composed and
11903 Qauto_composition_function. Declare Vauto_composition_function as
11904 a Lisp variable.
11905
11906 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11907
11908 * xdisp.c (it_props): Add an entry for Qauto_composed.
11909 (handle_auto_composed_prop): New function.
11910
11911 * xselect.c (selection_data_to_lisp_data): Don't call
11912 compose_chars_in_text.
11913
119142008-02-01 Dave Love <fx@gnu.org>
11915
11916 * keyboard.c (read_char): Modify checking around use of
11917 Vkeyboard_translate_table.
11918
11919 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11920 and fix C types.
11921
119222008-02-01 Kenichi Handa <handa@m17n.org>
11923
11924 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11925 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11926 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11927 the case that the last byte is '\r' correctly.
11928 (decode_coding): Flush out the unprocessed data correctly.
11929 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11930
119312008-02-01 Dave Love <fx@gnu.org>
11932
11933 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11934 Add XK_ISO... case.
11935 (xaw_scroll_callback): Revert last change.
11936
119372008-02-01 Kenichi Handa <handa@m17n.org>
11938
11939 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11940
119412008-02-01 Kenichi Handa <handa@m17n.org>
11942
11943 * xfaces.c (Vface_resizing_fonts): New variable.
11944 (struct font_name): New member `resizing_ratio'.
11945 (font_resizing_ratio): New function.
11946 (split_font_name): Set font->resizing_ratio.
11947 (better_font_p): Pay attention to font->resizing_ratio.
11948 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11949 RESX, and RESY fields.
11950 (try_alternative_families): Try scalable fonts if
11951 Vscalable_fonts_allowed is not Qt.
11952 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11953
119542008-02-01 Dave Love <fx@gnu.org>
11955
11956 * xterm.c (xaw_scroll_callback): Cast correctly.
11957
119582008-02-01 Dave Love <fx@gnu.org>
11959
11960 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11961 (lispy_kana_keys): Comment out.
11962 (make_lispy_event) [XK_kana_A]: Comment out.
11963
11964 * xterm.c (xaw_scroll_callback): Cast call_data.
11965 (XTread_socket): Deal with ASCII keysyms.
11966 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11967
119682008-02-01 Dave Love <fx@gnu.org>
11969
11970 * xterm.c (Vx_keysym_table): New.
11971 (syms_of_xterm): Initialize it.
11972 (XTread_socket): Use it.
11973 From head: Eliminate incorrect optimization that tried to avoid
11974 decoding the output of X*LookupString.
11975 (x_get_font_repertory): Delete charset declaration.
11976
119772008-02-01 Kenichi Handa <handa@m17n.org>
11978
11979 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11980 return 0.
11981 (Fdefine_coding_system_internal): Setup
11982 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11983
119842008-02-01 Dave Love <fx@gnu.org>
11985
11986 * coding.c (Fcheck_coding_system): Doc fix.
11987
11988 * editfns.c (Finsert_byte): Return a proper value.
11989
119902008-02-01 Kenichi Handa <handa@m17n.org>
11991
11992 * coding.c (decode_coding): Fix args to translate_chars. Pay
11993 attention to Vstandard_translation_table_for_decode.
11994 (encode_coding): Fix args to translate_chars. Pay attention to
11995 Vstandard_translation_table_for_encode.
11996
11997 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11998 SINGLE_BYTE_CHAR_P.
11999
12000 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12001 not by SINGLE_BYTE_CHAR_P.
12002
12003 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12004 SINGLE_BYTE_CHAR_P.
12005
12006 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12007 SINGLE_BYTE_CHAR_P.
12008
12009 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12010 by SINGLE_BYTE_CHAR_P.
12011
12012 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12013 SINGLE_BYTE_CHAR_P.
12014
120152008-02-01 Dave Love <fx@gnu.org>
12016
12017 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12018
120192008-02-01 Dave Love <fx@gnu.org>
12020
12021 * fns.c (Flanginfo): Fix typo.
12022
12023 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12024
120252008-02-01 Kenichi Handa <handa@m17n.org>
12026
12027 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12028 (detect_coding_emacs_mule, detect_coding_iso_2022)
12029 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12030 incomplete byte sequence. Don't update *mask when correctly detected.
12031 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12032 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12033 (detect_coding, detect_coding_system): Adjust for the changes above.
12034
120352008-02-01 Kenichi Handa <handa@m17n.org>
12036
12037 * character.c (char_string): Rename from
12038 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12039 (string_char): Rename from string_char.
12040
12041 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12042 if C is greater than MAX_3_BYTE_CHAR.
12043 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12044 string_char instead of string_char_with_unification.
12045
120462008-02-01 Dave Love <fx@gnu.org>
12047
12048 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12049
120502008-02-01 Kenichi Handa <handa@m17n.org>
12051
12052 * keymap.c (push_key_description): Pay attention to force_multibyte.
12053
12054 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12055
120562008-02-01 Dave Love <fx@gnu.org>
12057
12058 * charset.c (define_charset_internal): Rename `supprementary'.
12059
12060 * Makefile.in (lisp, shortlisp): Remove latin-N.
12061
120622008-02-01 Dave Love <fx@gnu.org>
12063
12064 * xfns.c (x_window, x_window): Use use_xim.
12065
12066 * xterm.c (use_xim): Initialize.
12067 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12068 (x_term_init): Maybe set use_xim.
12069
12070 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12071
120722008-02-01 Kenichi Handa <handa@m17n.org>
12073
12074 * search.c (search_buffer): Fix case-fold-search of multibyte
12075 characters.
12076 (boyer_moore): Rename the last argument to char_high_bits.
12077
120782008-02-01 Kenichi Handa <handa@m17n.org>
12079
12080 * xdisp.c (display_string): Fix for the case of zero width glyph.
12081
12082 * xfns.c (x_set_font): Change the error message of the case that
12083 x_new_fontset returns Qt.
12084
12085 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12086 (Finternal_set_lisp_face_attribute): Use signal_error for the
12087 error of invalid fontset.
12088
12089 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12090 fontset, return Qt.
12091
120922008-02-01 Dave Love <fx@gnu.org>
12093
12094 * unexelf.c (unexec): Make .got handling not SGI-specific.
12095
12096 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12097
12098 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12099
12100 * keyboard.c (read_key_sequence): Fix type error.
12101
12102 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12103 type error.
12104
12105 * fontset.c (fontset_add): Return Lisp_Object.
12106
121072008-02-01 Dave Love <fx@gnu.org>
12108
12109 * charset.h (charset_ordered_list_tick): Declare extern.
12110
121112008-02-01 Kenichi Handa <handa@m17n.org>
12112
12113 The following changes (and some of 2008-02-01 changes of mine) are
12114 for handling syntax, category, and case conversion for unibyte
12115 characters by converting them to multibyte on the fly. With these
12116 changes, we don't have to setup syntax and case tables for unibyte
12117 characters in each language environment.
12118
12119 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12120 multibyte if necessary.
12121
12122 * bytecode.c (Fbyte_code): Likewise.
12123
12124 * character.h (LEADING_CODE_LATIN_1_MIN)
12125 (LEADING_CODE_LATIN_1_MAX): New macros.
12126 (unibyte_to_multibyte_table): Extern it.
12127 (unibyte_char_to_multibyte): New macro.
12128 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12129 (CHAR_LEADING_CODE): New macro.
12130 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12131
12132 * character.c (unibyte_to_multibyte_table): New variable.
12133 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12134 (multibyte_char_to_unibyte): If C is an eight-bit character,
12135 convert it to the corresponding byte value.
12136
12137 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12138 not 1, signals an error. Update the elements of
12139 unibyte_to_multibyte_table.
12140 (init_charset_once): Initialize unibyte_to_multibyte_table.
12141 (syms_of_charset): Define the charset `iso-8859-1'.
12142
12143 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12144 as is without converting it to unibyte. In a unibyte buffer,
12145 convert C to multibyte before checking the syntax.
12146
12147 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12148
12149 * minibuf.c (Fminibuffer_complete_word): Use the macro
12150 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12151
12152 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12153
12154 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12155 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12156 that is zero, convert an eight-bit char to multibyte.
12157 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12158 non-emacs case.
12159 (PATFETCH): Convert an eight-bit char to multibyte.
12160 (HANDLE_UNIBYTE_RANGE): New macro.
12161 (regex_compile): Setup the compiled pattern for multibyte chars
12162 even if the given regex string is unibyte. Use PATFETCH_RAW
12163 instead of PATFETCH in many places. To handle `charset'
12164 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12165 only for ASCII chars.
12166 (analyse_first) <exactn>: Simplify because the compiled pattern
12167 is multibyte.
12168 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12169 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12170 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12171 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12172 multibyte always 1.
12173 (re_search_2): In emacs, set the locale variable multibyte to 1,
12174 otherwise to 0. New local variable target_multibyte. Check it
12175 to decide the multibyteness of STR1 and STR2. If
12176 target_multibyte is zero, convert unibyte chars to multibyte
12177 before translating and checking fastmap.
12178 (TARGET_CHAR_AND_LENGTH): New macro.
12179 (re_match_2_internal): In emacs, set the locale variable multibyte
12180 to 1, otherwise to 0. New local variable target_multibyte. Check
12181 it to decide the multibyteness of STR1 and STR2. Use
12182 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12183 <charset, charset_not>: If multibyte is nonzero, check fastmap
12184 only for ASCII chars. Call bcmp_translate with
12185 target_multibyte, not with multibyte.
12186 <begline>: Declare the local variable C as `unsigned'.
12187 (bcmp_translate): Change the last arg name to target_multibyte.
12188
12189 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12190 the regexp pattern and the matching target. Set cp->buf.multibyte
12191 to the multibyteness of the regexp pattern. Set
12192 cp->but.target_multibyte to the multibyteness of the matching target.
12193 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12194 FETCH_STRING_CHAR_ADVANCE.
12195 (Freplace_match): Convert unibyte chars to multibyte.
12196
12197 * syntax.c (char_quoted, back_comment, scan_words)
12198 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12199 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12200 unibyte chars to multibyte.
12201 (skip_chars): Delete the arg syntaxp, and move the code for
12202 handling syntaxes to skip_syntaxes. Change callers.
12203 Fix the case that the multibyteness of STRING and the current
12204 buffer doesn't match.
12205 (skip_syntaxes): New function.
12206 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12207 SINGLE_BYTE_CHAR_P.
12208
122092008-02-01 Kenichi Handa <handa@m17n.org>
12210
12211 * xfaces.c (QCfontset): New variable.
12212 (LFACE_FONTSET): New macro.
12213 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12214 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12215 (Finternal_set_lisp_face_attribute)
12216 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12217 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12218 check also LFACE_FONTSET_INDEX.
12219 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12220 attrs[LFACE_FONT_INDEX].
12221 (syms_of_xfaces): Intern and staticpro QCfontset.
12222
12223 * dispextern.h (enum lface_attribute_index): New member
12224 LFACE_FONTSET_INDEX.
12225
12226 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12227
122282008-02-01 Kenichi Handa <handa@m17n.org>
12229
12230 * coding.c (coding_set_destination): Fix coding->destination for
12231 the case converting a region.
12232 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12233 (encode_coding_object): Fix coding->dst_pos and
12234 coding->dst_pos_byte for the case converting a region.
12235
12236 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12237
12238 * character.h (BYTE8_STRING): New macro.
12239
12240 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12241
122422008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12245 characters by octal form.
12246
12247 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12248
12249 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12250 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12251 _fetch_multibyte_char_len.
12252 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12253
12254 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12255
12256 * casefiddle.c (casify_object): Simplify. Handle the case that
12257 the case conversion change the byte length.
12258 (casify_region): Likewise.
12259
12260 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12261
12262 * character.c (_fetch_multibyte_char_len): Delete this variable.
12263 (syms_of_character): Setup Vprintable_chars.
12264
12265 * editfns.c (Fchar_equal): Fix for the unibyte case.
12266 (Finsert_byte): New function.
12267 (syms_of_editfns): Defsubr it.
12268
12269 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12270 of direct code 0x3ffff.
12271
12272 * search.c (Freplace_match): Fix for the unibyte case.
12273
122742008-02-01 Kenichi Handa <handa@m17n.org>
12275
12276 * lread.c (safe_to_load_p): Fix the logic.
12277
12278 * syntax.c (scan_words): Don't treat characters belonging to
12279 different scripts as constituting a word.
12280
12281 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12282
12283 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12284
12285 * emacs.c (main): In the case of --unibyte, instead of aborting on
12286 finding non-empty buffer, make it unibyte.
12287
122882008-02-01 Kenichi Handa <handa@m17n.org>
12289
12290 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12291 to create a fontset.
12292
122932008-02-01 Dave Love <fx@gnu.org>
12294
12295 * character.c (Funibyte_char_to_multibyte): Doc fix.
12296
12297 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12298
122992008-02-01 Kenichi Handa <handa@m17n.org>
12300
12301 * fontset.c (fontset_add): Make the type `int'.
12302 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12303
12304 * character.c (unibyte_char_to_multibyte)
12305 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12306 charset_unibyte, not charset_primary.
12307
12308 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12309
12310 * charset.c (charset_unibyte): Rename from charset_primary.
12311 (Funibyte_charset): Rename from Fprimary_charset.
12312 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12313 (syms_of_charset): Adjust for the above changes.
12314
12315 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12316 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12317 it->multibyte_p is zero.
12318
12319 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12320 Delete extern.
12321
123222008-02-01 Kenichi Handa <handa@m17n.org>
12323
12324 * coding.c (Fdefine_coding_system_internal): Fix category setting
12325 for a coding system of type iso-2022.
12326
123272008-02-01 Kenichi Handa <handa@m17n.org>
12328
12329 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12330
123312008-02-01 Kenichi Handa <handa@m17n.org>
12332
12333 * syntax.c (Vnext_word_boundary_function_table): New variable.
12334 (next-word-boundary-function-table): Declare it as a Lisp variable
12335 in syms_of_syntax.
12336 (scan_words): Call functions in Vnext_word_boundary_function_table
12337 if any.
12338
12339 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12340
12341 * fontset.c (fs_load_font): If fontp->charset is not negative,
12342 return fontp without setting its members.
12343
123442008-02-01 Dave Love <fx@gnu.org>
12345
12346 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12347
12348 * m/sparc.h (HAVE_ALLOCA): Delete.
12349
12350 * s/irix6-5.h: Don't include strings.h.
12351 (bcopy, bzero, bcmp): Don't undef.
12352
12353 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12354
12355 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12356 (TIOCSIGSEND): Don't test IRIX6.
12357 (bcopy, bzero, bcmp): Define conditionally.
12358
123592008-02-01 Kenichi Handa <handa@m17n.org>
12360
12361 * buffer.c (Qas, Qmake, Qto): New variables.
12362 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12363 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12364
12365 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12366 we are inserting a process output into a multibyte buffer.
12367
12368 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12369 multibyte_char_to_unibyte.
12370
12371 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12372 by the primary charset, make it eight-bit char.
12373 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12374
12375 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12376 (charset_8_bit__control, charset_8_bit_graphic)
12377 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12378 (define_charset_internal): New function.
12379 (syms_of_charset): Call define_charset_internal for pre-defined
12380 charsets.
12381
12382 * charset.h (charset_8_bit): Extern it.
12383
12384 * coding.c (make_conversion_work_buffer): Adjust for the change
12385 of Fset_buffer_multibyte.
12386 (encode_coding_raw_text): Increment p0 in the loop.
12387
12388 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12389
12390 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12391 for the change of Fset_buffer_multibyte.
12392
12393 * fns.c (Fstring_to_multibyte): New function.
12394 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12395
123962008-02-01 Dave Love <fx@gnu.org>
12397
12398 * xfns.c (x_put_x_image): Declare args.
12399
12400 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12401 (try_font_list): Declare an arg.
12402
12403 * xdisp.c (message2_nolog, set_message): Declare an arg.
12404
12405 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12406
12407 * syntax.c (scan_sexps_forward): Declare an arg.
12408
12409 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12410 Declare an arg.
12411
12412 * lisp.h (Fnew_fontset): Declare.
12413
12414 * keymap.c (push_key_description): Call CHARACTERP correctly.
12415
12416 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12417 (face_for_char): Delete unused vars.
12418 (Fset_fontset_font): Doc fix. Delete unused vars.
12419
12420 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12421
12422 * composite.c (update_compositions): Declare arg.
12423
12424 * cm.c (calccost, cmgoto): Declare args.
12425
12426 * charset.c: Remove `emacs' conditional. Doc fixes.
12427 (map_char_table_for_charset): Declare.
12428
12429 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12430
12431 * ccl.c: Remove `emacs' conditional.
12432
124332008-02-01 Kenichi Handa <handa@m17n.org>
12434
12435 The following changes are to allow specifying multiple font
12436 patterns for a character range (specified by script or charset).
12437
12438 * Makefile.in (abbrev.o): Depend on syntax.h.
12439 (xfaces.o): Depend on charset.h.
12440
12441 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12442 SINGLE_BYTE_CHAR_P.
12443
12444 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12445
12446 * character.h (Vchar_script_table): Extern it.
12447
12448 * character.c (Vscript_alist): Delete.
12449 (Vchar_script_table, Qchar_script_table): New variable.
12450 (syms_of_character): Declare Vchar_script_table as a lisp variable
12451 and initialize it.
12452
12453 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12454 have property char-table-extra-slots, make no extra slot.
12455
12456 * dispextern.h (struct face): Delete member `charset'.
12457 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12458 SINGLE_BYTE_CHAR_P.
12459 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12460 Add prototypes.
12461 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12462 (generate_ascii_font_name): Rename from generate_ascii_font.
12463
12464 * fontset.h (get_font_repertory_func): New prototype.
12465 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12466 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12467
12468 * fontset.c (Qprepend, Qappend): New variables.
12469 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12470 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12471 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12472 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12473 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12474 (load_font_get_repertory): New functions.
12475 (fontset_set): Delete.
12476 (fontset_face): New arg FACE. Return face ID, not face.
12477 Complete re-write to handle new fontset structure. Change caller.
12478 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12479 (face_for_char): Don't call lookup_face.
12480 (make_fontset_for_ascii_face): New arg FACE.
12481 (fs_load_font): New arg CHARSET_ID. Don't check
12482 Vfont_encoding_alist here.
12483 (find_font_encoding): New function.
12484 (list_fontsets): Use STRINGP, not ! NILP.
12485 (accumulate_script_ranges): New function.
12486 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12487 re-written to handle new fontset structure.
12488 (Ffontset_font): Return a copy of element.
12489 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12490 docstring of font-encoding-alist.
12491
12492 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12493 (Fset_fotset_font): Fix arguments to 5.
12494
12495 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12496
12497 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12498 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12499 (highlight_trailing_whitespace): Adjust for the change of
12500 lookup_named_face.
12501
12502 * xfaces.c: Include charset.h.
12503 (load_face_font): Delete argument C. Change caller.
12504 (generate_ascii_font_name): Rename from generate_ascii_font.
12505 (font_name_registry): New function.
12506 (cache_face): Store ascii faces before non-ascii faces in buckets.
12507 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12508 Lookup only ascii faces.
12509 (lookup_non_ascii_face): New function.
12510 (lookup_named_face): Delete argument C. Change caller.
12511 (lookup_derived_face): Delete argument C. Change caller.
12512 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12513 a string, just call font_list with it.
12514 (choose_face_font): Delete arguments FACE and C. New arg
12515 FONT_SPEC. Change caller.
12516 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12517 Change caller.
12518 (realize_non_ascii_face): New function.
12519 (realize_x_face): Call load_face_font here.
12520 (realize_tty_face): Delete argument C. Change caller.
12521 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12522 get a face ID.
12523 (dump_realized_face): Don't print charset of FACE.
12524
12525 * xfns.c (x_set_font): Always call x_new_fontset and
12526 store_frame_parameter.
12527 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12528 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12529
12530 * xterm.h (x_get_font_repertory): Extern it.
12531
12532 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12533 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12534 it->multibyte_p is zero.
12535 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12536 (x_new_fontset): If FONTSETNAME doesn't match any existing
12537 fontsets, create a new one.
12538 (x_get_font_repertory): New function.
12539
125402008-02-01 Kenichi Handa <handa@m17n.org>
12541
12542 * coding.c (Ffind_coding_systems_region_internal): Detect an
12543 ASCII only string correctly.
12544
12545 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12546 version is 0.
12547
125482008-02-01 Kenichi Handa <handa@m17n.org>
12549
12550 * lread.c: Include "coding.h".
12551 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12552 (load_each_byte, unread_char): New variables.
12553 (readchar_backlog): Delete.
12554 (readchar): Return a character unless load_each_byte is nonzero.
12555 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12556 cons. If unread_char is not -1, simply return it.
12557 (unreadchar): Handle the case that readcharfun is
12558 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12559 (read_multibyte): Delete.
12560 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12561 (read_emacs_mule_char): New functions.
12562 (Fload): Even if the file doesn't have the extension ".elc", if
12563 safe_to_load_p returns a positive version number, assume that the
12564 file contains bytecompiled code. If the version is less than 22,
12565 load the file while decoding multibyte sequences by emacs-mule.
12566 (readevalloop): Don't use readchar_backlog.
12567 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12568 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12569 (read_escape): Delete the arg BYTEREP.
12570 (read1): Set load_each_byte to 1 temporarily while handling
12571 #@NUMBER. Don't call read_multibyte.
12572 (read_vector): Call Fread with a cons. If readcharfun is
12573 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12574 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12575 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12576 and Qload_force_doc_strings.
12577
125782008-02-01 Kenichi Handa <handa@m17n.org>
12579
12580 * xdisp.c (face_before_or_after_it_pos): Call
12581 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12582
125832008-02-01 Kenichi Handa <handa@m17n.org>
12584
12585 * character.h (TRAILING_CODE_P): New macro.
12586 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12587 (string_char_with_unification): Fix prototype.
12588 (Vscript_alist): Extern it.
12589
12590 * character.c (Vscript_alist): New variable.
12591 (string_char_with_unification, str_as_unibyte)
12592 (string_escape_byte8): Add `const' to local variables.
12593 (syms_of_character): Declare script-alist as a Lisp variable.
12594
12595 * charset.h (Vcharset_ordered_list): Extern it.
12596 (charset_ordered_list_tick): Extern it.
12597 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12598 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12599 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12600 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12601 (Funify_charset): Adjust for the change of Funify_charset.
12602
12603 * charset.c (charset_ordered_list_tick): New variable.
12604 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12605 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12606 deunify intead of unify a charset.
12607 (string_xstring_p): Add `const' to local variables.
12608 (find_charsets_in_text): Add `const' to arguments and local variables.
12609 (encode_char): Adjust for the change of Funify_charset. Fix
12610 detecting of invalid code.
12611 (Fset_charset_priority): Increment charset_ordered_list_tick.
12612 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12613 and TO_CODE.
12614
12615 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12616 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12617 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12618 (decode_coding_ccl, consume_chars)
12619 (Ffind_coding_systems_region_internal)
12620 (Fcheck_coding_systems_region): Add `const' to local variables.
12621
12622 * print.c (print_object): Use octal form for printing the
12623 contents of a bool vector.
12624
126252008-02-01 Dave Love <fx@gnu.org>
12626
12627 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12628 <version == 20>: Refuse to load.
12629
126302008-02-01 Dave Love <fx@gnu.org>
12631
12632 * fns.c: Move coding.h.
12633 (Qcodeset, Qdays, Qmonths): New.
12634 (concat): Use CHARACTERP instead of INTEGERP.
12635 (Flocale_codeset): Delete.
12636 (Flanginfo): New function.
12637 (syms_of_fns): Change accordingly.
12638
12639 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12640
126412008-02-01 Dave Love <fx@gnu.org>
12642
12643 * casetab.c (init_casetab_once, init_casetab_once): Fix
12644 CHAR_TABLE_SET call.
12645
12646 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12647
12648 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12649
12650 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12651 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12652 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12653
12654 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12655
12656 * coding.c (ENCODE_DESIGNATION, decode_eol)
12657 (make_conversion_work_buffer, code_conversion_restore)
12658 (Fdefine_coding_system_internal): Convert Lisp types.
12659 (code_conversion_restore): Use EQ, not ==.
12660 (Fencode_coding_string): Fix code_convert_string call.
12661
12662 * coding.h (code_convert_region): Fix prototype.
12663
12664 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12665
12666 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12667 (Ffontset_info): Convert Lisp types.
12668
12669 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12670
12671 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12672
12673 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12674
12675 * chartab.c: Include "...h", not <...h> in some cases.
12676
12677 * callproc.c (Fcall_process): Remove unused variables.
12678
126792008-02-01 Dave Love <fx@gnu.org>
12680
12681 * coding.c (Fset_coding_system_priority): Allow null arg list.
12682
126832008-02-01 Dave Love <fx@gnu.org>
12684
12685 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12686 (Fself_insert_and_exit): Use CHARACTERP.
12687
12688 * callproc.c (Fcall_process): Remove unused vars.
12689
12690 * xterm.c (XTread_socket): Add extra dead keysyms.
12691
12692 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12693
12694 * dispextern.h: Remove prototypes for redraw_frame,
12695 redraw_garbaged_frames.
12696
12697 * cmds.c (Fself_insert_command): Use CHARACTERP.
12698
12699 * chartab.c (make_sub_char_table): Remove unused var.
12700 (Fset_char_table_default, Fmap_char_table): Doc fix.
12701
12702 * keymap.c (access_keymap): Remove generic char code.
12703 (push_key_description): Use CHARACTERP.
12704
127052008-02-01 Dave Love <fx@gnu.org>
12706
12707 * charset.c: Doc fixes.
12708 (Funify_charset): Extra checking.
12709
127102008-02-01 Dave Love <fx@gnu.org>
12711
12712 * lread.c: Remove some unused variables.
12713 (safe_to_load_p): If safe, return the magic number version byte.
12714 (Fload): Maybe use load-with-code-conversion.
12715
127162008-02-01 Kenichi Handa <handa@m17n.org>
12717
12718 * category.c (Fmodify_category_entry): Don't modify the contents
12719 of category_set for characters out of the range. Avoid
12720 unnecessary modification.
12721
12722 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12723 Vchar_unify_table. The default value of the table is now nil.
12724
12725 * character.c (syms_of_character): Setup Vchar_width_table for
12726 eight-bit-control and raw-byte chars.
12727
12728 * charset.h (enum define_charset_arg_index): Delete
12729 charset_arg_parents and add charset_arg_subset and
12730 charset_arg_superset.
12731 (enum charset_attr_index): Delete charset_parents and add
12732 charset_subset and charset_superset.
12733 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12734 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12735 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12736 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12737 (CHARSET_SUPERSET): New macros.
12738 (charset_work): Extern it.
12739 (ENCODE_CHAR): Use charset_work.
12740 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12741 (map_charset_chars): Extern it.
12742
12743 * charset.c (load_charset_map): Set the default value of encoder
12744 and deunifier char-tables to nil.
12745 (map_charset_chars): Change argument. Change callers. Use
12746 map_char_table_for_charset instead of map_char_table.
12747 (Fmap_charset_chars): New optional args from_code and to_code.
12748 (Fdefine_charset_internal): Adjust for the change of
12749 `define-charset' (:parents -> :subset or :superset).
12750 (charset_work): New variable.
12751 (encode_char, syms_of_charset): Adjust for the change of
12752 Fdefine_charset_internal.
12753 (Ffind_charset_string): Setup the vector `charsets' correctly.
12754
12755 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12756 the previous change.
12757 (char_table_ref_and_range): Adjust for the above change.
12758 (map_sub_char_table_for_charset): New function.
12759 (map_char_table_for_charset): New function.
12760
12761 * keymap.c (describe_vector): Handle a char-table directly here.
12762 (describe_char_table): Delete.
12763
12764 * lisp.h (map_charset_chars): Delete.
12765
127662008-02-01 Dave Love <fx@gnu.org>
12767
12768 * fns.c (count_combining): Comment out (unused).
12769 (Flocale_codeset): New.
12770 (syms_of_fns): Defsubr it.
12771
12772 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12773 (size_t): Remove.
12774
127752008-02-01 Dave Love <fx@gnu.org>
12776
12777 * Makefile.in (chartab.o): Depend on charset.h.
12778
127792008-02-01 Kenichi Handa <handa@m17n.org>
12780
12781 * character.c (syms_of_character): Set the default value of
12782 Vprintable_chars to Qnil.
12783
127842008-02-01 Dave Love <fx@gnu.org>
12785
12786 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12787
127882008-02-01 Kenichi Handa <handa@m17n.org>
12789
12790 * charset.c (load_charset_map): Handle the case that from < to
12791 correctly.
12792
12793 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12794 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12795 Pay attention to raw-8-bit chars.
12796
127972008-02-01 Kenichi Handa <handa@m17n.org>
12798
12799 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12800 It is not bytecompiled now.
12801
12802 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12803 (charset_jisx0208): New variables.
12804 (Fdefine_charset_internal): Setup them if appropriate.
12805 (init_charset_once): Initialize them to -1.
12806
12807 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12808 (charset_jisx0208): Extern them.
12809
12810 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12811 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12812 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12813 (setup_iso_safe_charsets): Fix arguments to Fassq.
12814 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12815 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12816 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12817 (encode_coding_iso_2022): Change the 1st arg to
12818 ENCODE_ISO_CHARACTER to a variable.
12819
128202008-02-01 Kenichi Handa <handa@m17n.org>
12821
12822 * charset.h (enum define_charset_arg_index): New enums
12823 charset_arg_min_code and charset_arg_max_code.
12824 (struct charset): New member char_index_offset.
12825
12826 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12827 Take charset->char_index_offset into account.
12828 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12829 args[charset_arg_max_code]. Setup charset.char_index_offset.
12830 (syms_of_charset): Fix args to Fdefine_charset_internal.
12831
128322008-02-01 Dave Love <fx@gnu.org>
12833
12834 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12835
128362008-02-01 Dave Love <fx@gnu.org>
12837
12838 * coding.c: Doc fixes.
12839 (Fcoding_system_aliases): Fix return value.
12840 (Qmac): Remove (duplicated) definition.
12841
128422008-02-01 Dave Love <fx@gnu.org>
12843
12844 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12845 functions.
12846
12847 * character.c (Fstring): Doc fix.
12848
12849 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12850
12851 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12852 ids.
12853 (font-encoding-alist): Doc fix.
12854
128552008-02-01 Dave Love <fx@gnu.org>
12856
12857 * term.c (costs_set): Declare static, non-initialized for pcc.
12858 (encode_terminal_code): Remove unused var.
12859
12860 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12861 for K&R.
12862
12863 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12864
12865 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12866 (suffixes): Move out of make_subsidiaries for K&R.
12867
12868 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12869
12870 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12871
128722008-02-01 Dave Love <fx@gnu.org>
12873
12874 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12875
12876 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12877
128782008-02-01 Yong Lu <lyongu@asia-infonet.com>
12879
12880 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12881
12882 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12883
128842008-02-01 Kenichi Handa <handa@m17n.org>
12885
12886 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12887 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12888
128892008-02-01 Kenichi Handa <handa@m17n.org>
12890
12891 * coding.c (decode_coding_charset): Adjust for the change of
12892 Fdefine_coding_system_internal.
12893 (Fdefine_coding_system_internal): For a coding system of
12894 `charset' type, store a list of charset IDs in
12895 `charset_attr_charset_valids' element of coding attributes.
12896
128972008-02-01 Kenichi Handa <handa@m17n.org>
12898
12899 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12900 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12901 caller. Handle 2-byte and 3-byte charsets correctly.
12902 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12903 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12904 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12905 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12906 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12907 sequence.
12908 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12909 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12910 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12911 and alt&rule composition.
12912 (decode_coding_iso_2022): Handle composition correctly.
12913 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12914
12915 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12916 re-defining a charset. If the charset has :emacs-mule-id, setup
12917 emacs_mule_bytes.
12918 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12919
129202008-02-01 Kenichi Handa <handa@m17n.org>
12921
12922 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12923 (encode_coding_big5, encode_coding_charset): If coding requires safe
12924 encoding, produce a character specified by
12925 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12926
129272008-02-01 Dave Love <fx@gnu.org>
12928
12929 * xterm.c (XSetIMValues): Declare.
12930
12931 * process.c: Conditionally include sys/wait.h, pty.h.
12932
12933 * print.c (print_object): Fix print format for 64-bit systems.
12934
12935 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12936
12937 * buffer.c (emacs_strerror): Declare.
12938
12939 * fontset.c (Fclear_face_cache): Declare.
12940 (accumulate_font_info): Comment-out (unused).
12941 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12942 variables.
12943
12944 * character.h (string_escape_byte8): Declare.
12945
12946 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12947 unused vars.
12948 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12949 (Fmap_charset_chars): Doc fix.
12950
12951 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12952 (Fset_coding_system_priority, Fset_coding_system_priority)
12953 (Fdefine_coding_system_internal): Doc fix.
12954
129552008-02-01 Dave Love <fx@gnu.org>
12956
12957 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12958
129592008-02-01 Kenichi Handa <handa@m17n.org>
12960
12961 * character.c (string_escape_byte8): Make multibyte string with
12962 correct size.
12963
12964 * charset.c (Fmake_char): Delete unnecessary code.
12965
129662008-02-01 Kenichi Handa <handa@m17n.org>
12967
12968 * xfns.c (x_encode_text): Allocate coding.destination here, and
12969 call encode_coding_object with dst_object Qnil.
12970
12971 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12972 multibyte form correctly.
12973
12974 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12975 against Vfont_encoding_alist.
12976
12977 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12978 handling of charset list.
12979 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12980 (decode_coding_object): Move point to coding->dst_pos before
12981 calling post-read-conversion function.
12982 (encode_coding_object): Give correct arguments to
12983 pre-write-conversion. Ignore the return value of
12984 pre-write-conversion function. Pay attention to the case that
12985 pre-write-conversion changes the current buffer. If dst_object is
12986 Qt, even if coding->src_bytes is zero, allocate at least one byte
12987 to coding->destination.
12988
12989 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12990
12991 * charset.c (Fmake_char): Make it more backward compatible.
12992 (Fmap_charset_chars): Fix docstring.
12993
129942008-02-01 Dave Love <fx@gnu.org>
12995
12996 * coding.c: Doc fixes.
12997 (Fdefine_coding_system_alias): Use names, not symbols, in
12998 coding-system-alist.
12999
130002008-02-01 Kenichi Handa <handa@m17n.org>
13001
13002 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13003 of calling free_realized_face.
13004
130052008-02-01 Yong Lu <lyongu@asia-infonet.com>
13006
13007 * charset.c (read_hex): Don't treat SPC as a comment starter.
13008 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13009 (Fdecode_char): Fix typo.
13010
130112008-02-01 Kenichi Handa <handa@m17n.org>
13012
13013 * charset.h (struct charset): New member `code_space_mask'.
13014
13015 * coding.c (coding_set_source): Delete the local variable beg_byte.
13016 (encode_coding_charset, Fdefine_coding_system_internal):
13017 Delete the local variable charset.
13018 (Fdefine_coding_system_internal): Setup
13019 attrs[coding_attr_charset_valids] correctly.
13020
13021 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13022 member to check if CODE is valid or not.
13023 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13024 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13025 is within the range of charset->min_code and carset->max_code.
13026
130272008-02-01 Dave Love <fx@gnu.org>
13028
13029 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13030
13031 * dispextern.h (generate_ascii_font): Fix return type.
13032
13033 * xfaces.c (generate_ascii_font): Fix arg declaration.
13034
13035 * coding.c (coding_inherit_eol_type)
13036 (Fset_terminal_coding_system_internal)
13037 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13038
130392008-02-01 Kenichi Handa <handa@m17n.org>
13040
13041 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13042 multiple charsets correctly.
13043
130442008-02-01 Kenichi Handa <handa@m17n.org>
13045
13046 * search.c (boyer_moore): Fix handling of multibyte character
13047 translation.
13048
13049 * xdisp.c (display_mode_element): When the variable `elt' is
13050 changed, update `this' and `lisp_string'.
13051
130522008-02-01 Kenichi Handa <handa@m17n.org>
13053
13054 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13055
13056 * callproc.c (Fcall_process): Be sure to give the current buffer
13057 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13058
13059 * charset.c (struct charset_map_entries): New struct.
13060 (load_charset_map): Rename from parse_charset_map. New args
13061 entries and n_entries. Change caller.
13062 (load_charset_map_from_file): Rename from load_charset_map.
13063 Change caller. New arg control_flag. Call load_charset_map at
13064 the tail.
13065 (load_charset_map_from_vector): New function.
13066 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13067 (encode_char): If the charset is compact, change a character index
13068 to a code point.
13069
13070 * coding.c (coding_alloc_by_making_gap): Check the case that the
13071 source and destination are the same correctly.
13072 (decode_coding_raw_text): Set coding->consumed_char and
13073 coding->consumed to 0.
13074 (produce_chars): If coding->chars_at_source is nonzero, update
13075 coding->consumed_char and coding->consumed before calling
13076 alloc_destination.
13077 (Fdefine_coding_system_alias): Register ALIAS in
13078 Vcoding_system_alist.
13079 (syms_of_coding): Define `no-conversion' coding system at the tail.
13080
13081 * fileio.c (Finsert_file_contents): Set coding_system instead of
13082 val. If the current buffer is multibyte, always call
13083 decode_coding_gap.
13084
13085 * xfaces.c (try_font_list): Give higher priority to fontset's
13086 family than face's family.
13087
130882008-02-01 Kenichi Handa <handa@m17n.org>
13089
13090 * callproc.c (Fcall_process): Be sure to give the current buffer
13091 to decode_coding_c_string.
13092
13093 * xfaces.c (try_font_list): Give a family specified in a fontset
13094 higher priority than a family specified in a face.
13095
130962008-02-01 Kenichi Handa <handa@m17n.org>
13097
13098 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13099 Fix arguments to insert_from_buffer.
13100
13101 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13102
131032008-02-01 Kenichi Handa <handa@m17n.org>
13104
13105 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13106 (decode_coding_gap): Set coding->dst_multibyte correctly.
13107
131082008-02-01 Kenichi Handa <handa@m17n.org>
13109
13110 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13111 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13112 (encode_coding_utf_16): Substitute coding->default_char for
13113 non-Unicode characters.
13114 (decode_coding): Don't call record_insert here.
13115 (setup_coding_system): Initialize `surrogate' of
13116 coding->spec.utf_16 to 0.
13117 (EMIT_ONE_BYTE): Fix for multibyte case.
13118
13119 * insdel.c (insert_from_gap): Call record_insert.
13120
131212008-02-01 Kenichi Handa <handa@m17n.org>
13122
13123 * casefiddle.c (casify_region): Fix multibyte case.
13124
13125 * character.c (c_string_width): Add return type `int'.
13126 (char_string_with_unification): Delete arg ADVANCED.
13127
13128 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13129 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13130 (CHAR_STRING_ADVANCE): Make it do-while statement.
13131
13132 * chartab.c (sub_char_table_set_range): Optimize for the case
13133 DEPTH == 3. Add workaround code for a GCC optimization bug.
13134
13135 * charset.c (parse_charset_map): Remove an unused variable.
13136
13137 * coding.c: Delete unused variables.
13138
13139 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13140 earlier. If inserted is zero and the coding system doesn't
13141 require flushing, don't call decode_coding_gap.
13142
13143 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13144
131452008-02-01 Kenichi Handa <handa@m17n.org>
13146
13147 The following changes are for using Unicode as an internal
13148 character model, and use UTF-8 format for buffer/string
13149 representation.
13150
13151 * .gdbinit (xchartable): Adjust for the change of char table structure.
13152 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13153
13154 * Makefile.in (obj): Add character.o and chartab.o.
13155 (lisp, shortlisp): Remove utf-8.elc.
13156 (*.o): For many files, change dependency on charset.h to
13157 character.h, and add dependency on character.h.
13158 (character.o, chartab.o): New targets.
13159
13160 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13161 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13162 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13163 of "charset.h".
13164
13165 * dired.c, filelock.c: Include "character.h".
13166
13167 * alloc.c: Include "character.h" instead of "charset.h".
13168 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13169 (syms_of_alloc): Remove defsubr for Smake_char_table.
13170
13171 * buffer.c: Include "character.h" instead of "charset.h", don't
13172 include "coding.h".
13173 (Fset_buffer_multibyte): Adjust for UTF-8.
13174
13175 * buffer.h: EXFUN Fbuffer_live_p.
13176
13177 * callproc.c: Include "character.h" instead of "charset.h".
13178 (Fcall_process): Big change for the new code-conversion APIs.
13179
13180 * casetab.c: Include "character.h" instead of "charset.h".
13181 (set_canon, set_identity, shuffle): Adjust for the new
13182 map_char_table spec.
13183 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13184 accessing the char table structure.
13185
13186 * chartab.c: New file that implements char table.
13187
13188 * category.c: Include "character.h".
13189 (copy_category_entry): New function.
13190 (copy_category_table): Call map_char_table and copy_category_entry.
13191 (Fmake_category_table): Initialize all top-level slots.
13192 (char_category_set): New function.
13193 (modify_lower_category_set): Delete.
13194 (Fmodify_category_entry): Call char_table_ref_and_range.
13195
13196 * category.h (CATEGORY_SET): Just call char_category_set.
13197
13198 * ccl.c: Include "character.h".
13199 (Qccl, Qcclp): New variables.
13200 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13201 it's less than 256.
13202 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13203 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13204 and DST type.
13205 (ccl_driver): Change types of argument, adjust code accordingly.
13206 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13207 ccl_driver.
13208 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13209
13210 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13211 New members src_multibyte, dst_multibyte, consumed, and produced.
13212 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13213 (CODING_SPEC_CCL_PROGRAM): New macro.
13214 (ccl_driver): Update prototype.
13215 (Qccl, Qcclp, Fccl_program_p): Extern them.
13216 (CHECK_CCL_PROGRAM): New macro.
13217
13218 * character.c, character.h, chartab.c: New files.
13219
13220 * charset.c: Mostly re-written. Move character and multibyte sequence
13221 handling codes to character.c.
13222
13223 * charset.h: Mostly re-written. Move character and multibyte sequence
13224 handling codes to character.h.
13225
13226 * coding.c, coding.h: Mostly re-written.
13227
13228 * composite.c: Include "character.h" instead of "charset.h".
13229 (CHAR_WIDTH): Move to character.h.
13230 (HASH_KEY, HASH_VALUE): Delete.
13231
13232 * composite.h (enum composition_method): Change order of enumeration
13233 symbols.
13234
13235 * data.c: Include "character.h" instead of "charset.h".
13236 (Faref): Call CHAR_TABLE_REF for a char table.
13237 (Faset): Call CHAR_TABLE_SET for a char table.
13238
13239 * dispextern.h (free_realized_face, check_face_attribytes)
13240 (generate_ascii_font): Extern them.
13241 (free_realized_multibyte_face): Delete extern.
13242
13243 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13244 table structure.
13245
13246 * editfns.c: Include "character.h" instead of "charset.h".
13247 (Fchar_to_string): Always call CHAR_STRING.
13248
13249 * emacs.c (main): Call init_charset_once, init_charset,
13250 syms_of_chartab, and syms_of_character.
13251
13252 * fileio.c: Include "character.h" instead of "charset.h".
13253 (Finsert_file_contents): Big change for the new code-conversion API.
13254 (choose_write_coding_system, Fwrite_region): Likewise.
13255 (build_annotations_2): Delete.
13256 (e_write): Big change for the new code-conversion API.
13257
13258 * fns.c: Include "character.h" instead of "charset.h".
13259 (copy_sub_char_table): Move to chartab.c.
13260 (Fcopy_sequence): Call copy_char_table for a char table.
13261 (concat): Delete codes calling count_multibyte.
13262 (string_char_to_byte, string_byte_to_char): Adjust for the new
13263 multibyte form.
13264 (internal_equal): Adjust for the change of char table structure.
13265 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13266 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13267 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13268 (char_table_translate, optimize_sub_char_table)
13269 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13270 chartab.c.
13271 (char_table_ref_and_index): Delete.
13272 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13273 (Fmd5): Call preferred_coding_system instead of accessing
13274 Vcoding_category_list. Adjust for the new code-conversion API.
13275 (syms_of_fns): Move defsubr for char table related functions to
13276 chartab.c.
13277
13278 * fontset.c: Mostly re-written.
13279
13280 * fontset.h (struct font_info): Change type of the member encoding_type.
13281 (enum FONT_SPEC_INDEX): New enum.
13282 (fontset_font_pattern, fs_load_font): Update prototype.
13283 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13284
13285 * indent.c: Include "character.h" instead of "charset.h".
13286 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13287
13288 * insdel.c: Include "character.h" instead of "charset.h".
13289 (copy_text): Don't refer to Vnonascii_translation_table.
13290 (insert_from_gap): New function.
13291
13292 * keyboard.c: Include "character.h" instead of "charset.h".
13293 (command_loop_1): Never call direct_output_forward_char before
13294 a non-ASCII character.
13295 (read_char): If Vkeyboard_translate_table is a char table, always
13296 translate a character.
13297
13298 * keymap.c: Include "character.h".
13299 (store_in_keymap): Handle the case that IDX is a cons.
13300 (Fdefine_key): Handle the case that KEY is a cons and the car part
13301 is also a cons (range).
13302 (push_key_description): Adjust for the new character code.
13303 (describe_vector): Call describe_char_table for a char table.
13304 (describe_char_table): New function.
13305
13306 * keymap.h (describe_char_table): Extern it.
13307
13308 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13309 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13310 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13311 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13312 Delete.
13313 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13314 structure.
13315 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13316 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13317 (CHARTAB_SIZE_BITS_3): New macros.
13318 (chartab_size): Extern it.
13319 (struct Lisp_Char_Table): Re-design.
13320 (struct Lisp_Sub_Char_Table): New structure.
13321 (HASH_KEY, HASH_VALUE): Move from fns.c.
13322 (CHARACTERBITS): Define as 22.
13323 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13324 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13325 (GC_SUB_CHAR_TABLE_P): New macro.
13326 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13327 (code_convert_string_norecord): Deleted extern.
13328 (init_character_once, syms_of_character, init_charset)
13329 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13330
13331 * lread.c: Include "character.h".
13332 (read_multibyte): New arg NBYTES.
13333 (read_escape): Change the meaning of returned *BYTEREP.
13334 (to_multibyte): Delete.
13335 (read1): Adjust the handling of char table and string.
13336
13337 * print.c: Include "character.h" instead of "charset.h".
13338 (print_string): Convert 8-bit raw bytes to octal form by
13339 string_escape_byte8.
13340 (print_object): Adjust for the new multibyte form. Print 8-bit
13341 raw bytes always in octal form. Handle sub char table correctly.
13342
13343 * process.c: Include "character.h" instead of "charset.h".
13344 (read_process_output, send_process): Adjust for the new
13345 code-conversion API.
13346
13347 * puresize.h (BASE_PURESIZE): Increase.
13348
13349 * regex.c: Include "character.h" instead of "charset.h".
13350 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13351 (regex_compile): Accept a range whose starting and ending
13352 character have different leading bytes.
13353 (analyse_first): Adjust for the above change.
13354
13355 * search.c: Include "character.h" instead of "charset.h".
13356 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13357 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13358
13359 * syntax.c: Include "character.h" instead of "charset.h".
13360 (syntax_parent_lookup): Delete.
13361 (Fmodify_syntax_entry): Accept a cons as CHAR.
13362 (skip_chars): Adjust for the new multibyte form.
13363 (init_syntax_once): Call char_table_set_range instead of directly
13364 accessing the structure of a char table.
13365
13366 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13367 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13368 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13369 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13370
13371 * term.c: Include "buffer.h" and "character.h".
13372 (encode_terminal_code, write_glyphs): Adjust for the new
13373 code-conversion API.
13374 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13375
13376 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13377
13378 * xdisp.c: Include "character.h".
13379 (get_next_display_element): Adjust for the new multibyte form.
13380 (disp_char_vector): Adjust for the new char table structure.
13381 (decode_mode_spec_coding): Adjust for the new structure of
13382 coding system.
13383 (decode_mode_spec): Adjust for the new code-conversion API.
13384
13385 * xfaces.c: Include "character.h" instead of "charset.h".
13386 (load_face_font): Adjust for the change of choose_face_font and
13387 FS_LOAD_FONT.
13388 (generate_ascii_font): New function.
13389 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13390 (set_font_frame_param): Adjust for the change of choose_face_font.
13391 (free_realized_face): Make it public.
13392 (free_realized_faces_for_fontset): Rename from
13393 free_realized_multibyte_face. Free also faces realized for ASCII.
13394 (choose_face_font): Change arguments. Adjust for the change of
13395 fontset_font_pattern and FS_LOAD_FONT.
13396
13397 * xfns.c: Include "character.h".
13398 (x_encode_text): Adjust for the new code-conversion API.
13399
13400 * xselect.c: Don't include "charset.h".
13401 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13402
13403 * xterm.c: Include "character.h".
13404 (x_encode_char): New argument CHARSET. Change caller.
13405 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13406 Call ENCODE_CHAR instead of SPLIT_CHAR.
13407 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13408 CHAR_WIDTH instead of CHARSET_WIDTH.
13409 (XTread_socket): Adjust for the new code-conversion API.
13410 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13411 (x_load_font): Adjust for the change of struct font.
13412
134132008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13414
13415 * xfaces.c (face_at_buffer_position): Remove unused vars.
13416
134172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13418
13419 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13420 Fix overflow checking.
13421
134222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13423
13424 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13425 Cancel previous change.
13426
134272008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13428
13429 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13430 ccl->eight_bit_control. Fix check for buffer overflow.
13431 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13432 (ccl_driver): Initialize extra_bytes to 0.
13433
134342008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13435
13436 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13437 return it ORed with ctrl_modifier.
13438
134392008-01-29 Miles Bader <miles@gnu.org>
13440
13441 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13442
134432008-01-28 Jason Rumney <jasonr@gnu.org>
13444
13445 * w32.c (stat): Don't double check for networked drive.
13446
134472008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13448
13449 * window.c (run_window_configuration_change_hook): New function.
13450 Code extracted from set_window_buffer. Set the selected frame.
13451 (set_window_buffer): Use it.
13452 * window.h (run_window_configuration_change_hook): Declare.
13453 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13454
13455 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13456
134572008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13458
13459 * Makefile.in: Remove references to unused macros.
13460
134612008-01-26 Eli Zaretskii <eliz@gnu.org>
13462
13463 * w32.c (g_b_init_get_sid_sub_authority)
13464 (g_b_init_get_sid_sub_authority_count): New static variables.
13465 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13466 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13467 (init_user_info): Use them to retrieve uid and gid.
13468 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13469 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13470 st_uid and st_gid of the file.
13471
134722008-01-26 Jason Rumney <jasonr@gnu.org>
13473
13474 * w32.c (logon_network_drive): New function.
13475 (stat): Use it.
13476
134772008-01-26 Chong Yidong <cyd@stupidchicken.com>
13478
13479 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13480 invisible text covered with an ellipsis.
13481
134822008-01-25 Richard Stallman <rms@gnu.org>
13483
13484 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13485 jump back to beginning. Move some other initializations after that.
13486 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13487 New variables.
13488 (syms_of_xdisp): Init them.
13489
13490 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13491
13492 * buffer.c (reset_buffer_local_variables):
13493 Implement `permanent-local-hook'.
13494 (Qpermanent_local_hook): New variable.
13495 (syms_of_buffer): Init and staticpro it.
13496
134972008-01-25 Michael Albinus <michael.albinus@gmx.de>
13498
13499 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13500
135012008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13502
13503 * fns.c (Fclrhash): Return TABLE.
13504
135052008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13506
13507 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13508 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13509 is set even without positional changes.
13510 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13511
13512 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13513
135142008-01-23 Jason Rumney <jasonr@gnu.org>
13515
13516 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13517
13518 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13519 the unicode range available in MULE by locale-coding-system.
13520 Improve dbcs lead byte detection. Set event timestamp and modifiers
13521 earlier.
13522
135232008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13524
13525 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13526 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13527 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13528 when used on child processes.
13529
135302008-01-21 Michael Albinus <michael.albinus@gmx.de>
13531
13532 * dbusbind.c (Fdbus_method_return_internal): Rename from
13533 Fdbus_method_return.
13534 (Fdbus_unregister_object): Move to dbus.el.
13535 (Fdbus_call_method, Fdbus_method_return_internal)
13536 (Fdbus_send_signal): Improve debug messages.
13537
135382008-01-20 Martin Rudalics <rudalics@gmx.at>
13539
13540 * undo.c (undo_inhibit_record_point): New variable.
13541 (syms_of_undo): Initialize it.
13542 (record_point): Don't record point when undo_inhibit_record_point
13543 is set.
13544
135452008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13546
13547 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13548
13549 * xdisp.c (Qauto_hscroll_mode): New var.
13550 (syms_of_xdisp): Initialize it.
13551 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13552 window's buffer.
13553 (hscroll_windows): Don't check automatic_hscrolling_p here.
13554
13555 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13556 vscroll if we're setting window-buffer to the value it already has.
13557
135582008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13559
13560 * m/intel386.h: Remove references to XENIX.
13561
135622008-01-17 Andreas Schwab <schwab@suse.de>
13563
13564 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13565 instead of HAVE_X86_64_LIB64_DIR.
13566 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13567
135682008-01-17 Glenn Morris <rgm@gnu.org>
13569
13570 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13571 to HAVE_X86_64_LIB64_DIR.
13572
135732008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13574
13575 * s/irix3-3.h:
13576 * s/irix4-0.h:
13577 * s/386-ix.h:
13578 * s/domain.h:
13579 * s/hpux9-x11r4.h:
13580 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13581
13582 * sysdep.c: Remove code containing references to symbols defined
13583 by unsupported systems.
13584
135852008-01-16 Glenn Morris <rgm@gnu.org>
13586
13587 * coding.c (select-safe-coding-system-function): Doc fix.
13588
135892008-01-15 Glenn Morris <rgm@gnu.org>
13590
13591 * config.in: Revert 2008-01-13 change: this is a generated file.
13592
135932008-01-13 Tom Tromey <tromey@redhat.com>
13594
13595 * lisp.h: Fix typo.
13596
135972008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13598
13599 * m/sequent-ptx.h:
13600 * m/sequent.h:
13601 * s/ptx.h:
13602 * s/ptx4-2.h:
13603 * s/ptx4.h: Remove files for systems no longer supported.
13604
13605 * callproc.c (Fcall_process): Fix previous change.
13606
136072008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13608
13609 * unexsunos4.c: Remove file, system not supported anymore.
13610
13611 * m/mips.h:
13612 * m/intel386.h:
13613 * callproc.c:
13614 * config.in:
13615 * ecrt0.c:
13616 * emacs.c:
13617 * fileio.c:
13618 * frame.c:
13619 * getpagesize.h:
13620 * keyboard.c:
13621 * lread.c:
13622 * process.c:
13623 * puresize.h:
13624 * sysdep.c:
13625 * systty.h:
13626 * syswait.h:
13627 * unexec.c:
13628 * xdisp.c:
13629 * alloc.c: Remove code containing references to symbols defined by
13630 unsupported systems.
13631
136322008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13633
13634 * coding.c (detect_coding_mask): Fix previous change.
13635
136362008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13637
13638 * coding.c (detect_coding_iso2022): New arg
13639 latin_extra_code_state. Allow Latin extra codes only
13640 when *latin_extra_code_state is nonzero.
13641 (detect_coding_mask): If there is a NULL byte, detect the encoding
13642 as UTF-16 or binary. If Latin extra codes exist, detect the
13643 encoding as ISO-2022 only when there's no other proper encoding is
13644 found.
13645
136462008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13647
13648 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13649 #ifdef MAC_OS.
13650
136512008-01-08 Richard Stallman <rms@gnu.org>
13652
13653 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13654
136552008-01-06 Nick Roberts <nickrob@snap.net.nz>
13656
13657 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13658 menu bar in parentheses.
13659
136602008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13661
13662 * m/7300.h:
13663 * m/acorn.h:
13664 * m/alliant-2800.h:
13665 * m/alliant.h:
13666 * m/alliant1.h:
13667 * m/alliant4.h:
13668 * m/altos.h:
13669 * m/amdahl.h:
13670 * m/apollo.h:
13671 * m/att3b.h:
13672 * m/aviion-intel.h:
13673 * m/aviion.h:
13674 * m/celerity.h:
13675 * m/clipper.h:
13676 * m/cnvrgnt.h:
13677 * m/convex.h:
13678 * m/cydra5.h:
13679 * m/delta88k.h:
13680 * m/dpx2.h:
13681 * m/dual.h:
13682 * m/elxsi.h:
13683 * m/f301.h:
13684 * m/gould-np1.h:
13685 * m/gould.h:
13686 * m/i860.h:
13687 * m/ibmps2-aix.h:
13688 * m/ibmrt-aix.h:
13689 * m/ibmrt.h:
13690 * m/irist.h:
13691 * m/is386.h:
13692 * m/isi-ov.h:
13693 * m/mega68.h:
13694 * m/mg1.h:
13695 * m/news-r6.h:
13696 * m/news-risc.h:
13697 * m/news.h:
13698 * m/nh3000.h:
13699 * m/nh4000.h:
13700 * m/ns16000.h:
13701 * m/ns32000.h:
13702 * m/nu.h:
13703 * m/orion.h:
13704 * m/orion105.h:
13705 * m/paragon.h:
13706 * m/pfa50.h:
13707 * m/plexus.h:
13708 * m/pyramid.h:
13709 * m/pyrmips.h:
13710 * m/sh3el.h:
13711 * m/sps7.h:
13712 * m/sr2k.h:
13713 * m/stride.h:
13714 * m/sun1.h:
13715 * m/sun2.h:
13716 * m/sun3-68881.h:
13717 * m/sun3-fpa.h:
13718 * m/sun3-soft.h:
13719 * m/sun3.h:
13720 * m/sun386.h:
13721 * m/symmetry.h:
13722 * m/tad68k.h:
13723 * m/tahoe.h:
13724 * m/targon31.h:
13725 * m/tek4300.h:
13726 * m/tekxd88.h:
13727 * m/tower32.h:
13728 * m/tower32v3.h:
13729 * m/ustation.h:
13730 * m/wicat.h:
13731 * m/xps100.h:
13732 * s/cxux.h:
13733 * s/cxux7.h:
13734 * s/dgux.h:
13735 * s/dgux4.h:
13736 * s/dgux5-4-3.h:
13737 * s/dgux5-4r2.h:
13738 * s/esix.h:
13739 * s/esix5r4.h:
13740 * s/hiuxmpp.h:
13741 * s/hiuxwe2.h:
13742 * s/iris3-5.h:
13743 * s/iris3-6.h:
13744 * s/isc2-2.h:
13745 * s/isc3-0.h:
13746 * s/isc4-0.h:
13747 * s/isc4-1.h:
13748 * s/newsos5.h:
13749 * s/newsos6.h:
13750 * s/osf1.h:
13751 * s/osf5-0.h:
13752 * s/riscix1-1.h:
13753 * s/riscix12.h:
13754 * s/sco4.h:
13755 * s/sco5.h:
13756 * s/sunos4-0.h:
13757 * s/sunos4-1.h:
13758 * s/sunos413.h:
13759 * s/sunos4shr.h:
13760 * s/umax.h:
13761 * s/unipl5-2.h:
13762 * s/xenix.h:
13763 * cxux-crt0.s:
13764 * unexapollo.c:
13765 * unexconvex.c:
13766 * unexenix.c:
13767 * unexsni.c: Remove files for systems no longer supported.
13768
13769 * m/intel386.h: Remove references to unsupported systems.
13770
13771 * w32.c (get_emacs_configuration): Remove reference to i860.
13772
13773 * sysdep.c: Remove dead code.
13774
137752008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13776
13777 * s/rtu.h:
13778 * m/masscomp.h: Remove files. Platform is obsolete.
13779
137802008-01-04 Michael Albinus <michael.albinus@gmx.de>
13781
13782 * dbusbind.c (Fdbus_method_return): New function.
13783 (xd_read_message): Add the serial number to the event.
13784 (Fdbus_register_method): Activate the function.
13785
137862008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13787
13788 * keyboard.c (read_key_sequence): Fix typo.
13789
137902008-01-03 Michael Albinus <michael.albinus@gmx.de>
13791
13792 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13793 (xd_signature, xd_append_arg): Handle element type detection for
13794 empty arrays.
13795 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13796 SDATA () calls; this must be solved more general.
13797 (Fdbus_register_signal): Use SBYTES instead of strlen.
13798
137992008-01-03 Magnus Henoch <magnus@zemdatav>
13800
13801 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13802 unsigned int for byte values (necessary for big-endian platform).
13803 (Fdbus_call_method): Handle the case of no returned arguments.
13804
138052007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13806
13807 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13808
138092007-12-31 Magnus Henoch <mange@freemail.hu>
13810
13811 * dbusbind.c (xd_signature): Signature of variant is just "v".
13812
138132007-12-30 Michael Albinus <michael.albinus@gmx.de>
13814
13815 * dbusbind.c: Fix several errors and compiler warnings.
13816 Reported by Tom Tromey <tromey@redhat.com>.
13817 (XD_ERROR, XD_DEBUG_MESSAGE)
13818 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13819 (xd_append_arg): Part for basic D-Bus types rewritten.
13820 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13821 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13822 appropriate.
13823 (xd_read_message): Return Qnil. Don't signal an error; it is not
13824 useful during event reading.
13825 (Fdbus_register_signal): Signal an error if the check for
13826 FUNCTIONP fails.
13827 (Fdbus_register_method): New function. The implementation is not
13828 complete, the call of the function signals an error therefore.
13829 (Fdbus_unregister_object): New function, renamed from
13830 Fdbus_unregister_signal. The initial check signals an error, if
13831 the object is not well formed.
13832
138332007-12-30 Richard Stallman <rms@gnu.org>
13834
13835 * textprop.c (get_char_property_and_overlay):
13836 Signal error if POSITION is out of range in a buffer.
13837
138382007-12-29 Martin Rudalics <rudalics@gmx.at>
13839
13840 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13841 because the original parameters are in pure storage now.
13842
138432007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13844
13845 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13846
138472007-12-22 Eli Zaretskii <eliz@gnu.org>
13848
13849 * callint.c (syms_of_callint) <command-history>: Add reference to
13850 history-length in the doc string.
13851
138522007-12-17 Jason Rumney <jasonr@gnu.org>
13853
13854 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13855 before passing as wParam.
13856
138572007-12-22 Michael Albinus <michael.albinus@gmx.de>
13858
13859 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13860 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13861 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13862 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13863 as number.
13864 (Fdbus_call_method): Fix docstring.
13865
138662007-12-21 Michael Albinus <michael.albinus@gmx.de>
13867
13868 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13869 New macros.
13870 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13871 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13872 Simplify.
13873 (xd_signature): New function.
13874 (xd_append_arg): Compute also signatures. Major rewrite.
13875 (xd_retrieve_arg): Make debug messages friendly.
13876 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13877 Check for signatures of arguments.
13878
138792007-12-19 Michael Albinus <michael.albinus@gmx.de>
13880
13881 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13882 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13883 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13884 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13885 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13886 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13887 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13888 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13889 (xd_retrieve_value): Remove. Functionality included in ...
13890 (xd_append_arg): New function.
13891 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13892
138932007-12-16 Michael Albinus <michael.albinus@gmx.de>
13894
13895 * dbusbind.c (top): Include <stdio.h>.
13896 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13897 dbus_message_new_method_call and dbus_message_new_signal.
13898 (Fdbus_register_signal): Rename unique_name to uname.
13899 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13900 non-existing unique name. Fix typos in matching rule. Return an
13901 object which is useful in Fdbus_unregister_signal.
13902 (Fdbus_unregister_signal): Reimplementation, in order to remove
13903 only the corresponding entry.
13904 (Vdbus_registered_functions_table): Change the order of entries.
13905 Apply these changes in xd_read_message and Fdbus_register_signal.
13906
139072007-12-16 Andreas Schwab <schwab@suse.de>
13908
13909 * fileio.c (Finsert_file_contents): Fix overflow check to not
13910 depend on undefined integer overflow.
13911
139122007-12-14 Jason Rumney <jasonr@gnu.org>
13913
13914 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13915 for characters above 127.
13916
139172007-12-13 Jason Rumney <jasonr@gnu.org>
13918
13919 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13920 before dereferencing array.
13921 (lookup_vk_code): Remove zero comparison.
13922
139232007-12-14 Michael Albinus <michael.albinus@gmx.de>
13924
13925 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13926 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13927 Use `unsigned int' instead of `uint'.
13928 (xd_read_message, Fdbus_register_signal): Split expressions into
13929 multiple lines before operators "&&" and "||", according to the
13930 GNU Coding Standards.
13931
139322007-12-14 Eli Zaretskii <eliz@gnu.org>
13933
13934 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13935
139362007-12-12 Juri Linkov <juri@jurta.org>
13937
13938 * buffer.c (Frename_buffer): In interactive spec replace
13939 `read-buffer' with `read-string' that uses `buffer-name-history'
13940 as history, and the current buffer's name as default.
13941
139422007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13943
13944 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13945 manipulating the backtrace manually.
13946 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13947 (struct backtrace, backtrace_list): Remove.
13948 (command_loop_1): Remove dead var `no_direct'.
13949
13950 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13951 preserve non-built-in buffer-local variables.
13952 (Fkill_all_local_variables): Don't re-create&re-set permanent
13953 buffer-local variables.
13954
139552007-12-09 Juri Linkov <juri@jurta.org>
13956
13957 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13958 Lisp code that uses `read-buffer' with current buffer as default.
13959
139602007-12-08 Michael Albinus <michael.albinus@gmx.de>
13961
13962 * dbusbind.c (xd_read_message): Generate an event for every
13963 registered handler. There might be several handlers registered
13964 for the same signal.
13965 (Fdbus_register_signal): Don't overwrite a registration for the
13966 same signal. Add a new registration if handlers are different.
13967 (Vdbus_registered_functions_table): Rework doc string.
13968
139692007-12-07 Michael Albinus <michael.albinus@gmx.de>
13970
13971 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13972 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13973 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13974 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13975 Unify argument lists.
13976 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13977 arguments and hash table keys. Use unique name for service.
13978 (Fdbus_unregister_signal): Remove checks.
13979 (Vdbus_registered_functions_table): Fix doc string.
13980
139812007-12-05 Magnus Henoch <mange@freemail.hu>
13982
13983 * process.c (make_process): Initialize pty_flag to 0.
13984
139852007-12-05 Jason Rumney <jasonr@gnu.org>
13986
13987 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13988 specified XBMs.
13989
139902007-12-05 Richard Stallman <rms@gnu.org>
13991
13992 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13993
139942007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13995
13996 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13997 New variable.
13998 (mac_try_close_socket) [MAC_OSX]: New function.
13999 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14000 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14001
14002 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14003 Use mac_try_close_socket.
14004
140052007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14006
14007 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14008 reloc_base.
14009 (copy_dysymtab): Compute relocation base here.
14010 (rebase_reloc_address) [__ppc64__]: New function.
14011 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14012 changed.
14013
140142007-12-05 Jason Rumney <jasonr@gnu.org>
14015
14016 * w32proc.c (sys_spawnve): Quote args with wildcards.
14017
140182007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14019
14020 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14021 __objc_* sections.
14022 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14023
140242007-12-05 Michael Albinus <michael.albinus@gmx.de>
14025
14026 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14027 Move check for Vdbus_registered_functions_table to
14028 xd_read_queued_messages.
14029 (xd_read_queued_messages): Protect xd_read_message calls by
14030 internal_condition_case_1.
14031
140322007-12-04 Michael Albinus <michael.albinus@gmx.de>
14033
14034 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14035 Qdbus_system_bus and Qdbus_session_bus, respectively.
14036 (Vdbus_intern_symbols): Remove.
14037 (Vdbus_registered_functions_table): New hash table.
14038 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14039 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14040 Rewrite in order to manage registered functions by hash table
14041 Vdbus_registered_functions_table.
14042
140432007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14044
14045 * xterm.c: Update URL to Window Manager Specification in comment.
14046
140472007-12-02 Michael Albinus <michael.albinus@gmx.de>
14048
14049 * config.in (HAVE_DBUS): Add.
14050
14051 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14052 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14053 (obj): Add $(DBUS_OBJ).
14054 (LIBES): Add $(DBUS_LIBS).
14055 (dbusbind.o): New target.
14056
14057 * dbusbind.c: New file.
14058
14059 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14060
14061 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14062 (Qdbus_event): New Lisp symbol.
14063 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14064 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14065 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14066
14067 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14068
140692007-12-01 Richard Stallman <rms@gnu.org>
14070
14071 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14072
140732007-11-30 Jason Rumney <jasonr@gnu.org>
14074
14075 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14076 (w32con_reset_terminal_modes): Clear screen buffer.
14077 (w32_face_attributes): Don't use color indexes that are out of range.
14078 Only reverse the default colors.
14079
14080 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14081 WINDOWSNT.
14082
14083 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14084
140852007-11-29 Jason Rumney <jasonr@gnu.org>
14086
14087 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14088 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14089 if the terminal colors are initialized.
14090 (unspecified_fg, unspecified_bg): Remove unused declarations.
14091
140922007-11-29 Andreas Schwab <schwab@suse.de>
14093
14094 * keyboard.c (apply_modifiers): Fix typo.
14095
140962007-11-29 Richard Stallman <rms@gnu.org>
14097
14098 * keymap.c (Fcurrent_local_map): Doc fix.
14099
141002007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14101
14102 * s/gnu-kfreebsd.h: New file.
14103
141042007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14105
14106 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14107 Don't cast redundantly.
14108
14109 * keyboard.c (KEY_TO_CHAR): New macro.
14110 (parse_modifiers, apply_modifiers): Accept integer arguments.
14111 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14112 for chars and symbol keys.
14113 After doing such remapping, apply function-key-map again.
14114
141152007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14116
14117 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14118 compiled anymore.
14119
141202007-11-26 Andreas Schwab <schwab@suse.de>
14121
14122 * process.c (list_processes_1): Fix indentation level of the
14123 command column.
14124
141252007-11-23 Andreas Schwab <schwab@suse.de>
14126
14127 * editfns.c (Fformat): Handle %c specially since it requires the
14128 argument to be of type int.
14129
141302007-11-23 Markus Triska <markus.triska@gmx.at>
14131
14132 * emacs.c (main): Call init_editfns before init_process, since
14133 init_process sets Vprocess_connection_type depending on OS release.
14134
141352007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14136
14137 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14138 (find_symbol_value): Use do_symval_forwarding.
14139
14140 * data.c (set_internal): Set the value in the `cons-cell' (for
14141 Buffer_Local_values) not only for frame-local variables.
14142
141432007-11-22 Andreas Schwab <schwab@suse.de>
14144
14145 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14146 values to sprintf.
14147 * keymap.c (Fsingle_key_description): Likewise.
14148 * print.c (print_object): Likewise.
14149
141502007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14151
14152 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14153 file for image is nil.
14154
141552007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14156
14157 * term.c: Include stdarg.h.
14158 (fatal): Implement using varargs.
14159 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14160
141612007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14162
14163 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14164 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14165 Update call to buffer_slot_type_mismatch.
14166 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14167 (buffer_slot_type_mismatch): Update.
14168 * buffer.c (buffer_local_types): Remove.
14169 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14170 (defvar_per_buffer): Set the type in the buffer_objfwd.
14171
141722007-11-21 Jason Rumney <jasonr@gnu.org>
14173
14174 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14175 CreateFileMapping returns NULL on failure.
14176
141772007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14178
14179 * search.c (Fset_match_data): Remove the `evaporate' feature.
14180 (unwind_set_match_data): Don't use the `evaporate' feature.
14181
141822007-11-21 Jason Rumney <jasonr@gnu.org>
14183
14184 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14185
14186 * w32console.c (w32con_write_glyphs): Remove unused variables.
14187
141882007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14189
14190 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14191
14192 * s/darwin.h (MULTI_KBOARD): Remove.
14193
14194 * macfns.c (x_create_tip_frame, Fx_create_frame)
14195 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14196
141972007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14198
14199 * buffer.c (Fbuffer_local_value): Remove redundant test.
14200 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14201 than in `current-buffer' to match the comment.
14202 Do the swap using swap_in_global_binding.
14203
14204 * data.c (store_symval_forwarding, set_internal):
14205 * eval.c (specbind): Remove dead code.
14206
14207 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14208 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14209 Since we do not want to see internal Lisp_*fwd objects here.
14210
142112007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14212
14213 * sysdep.c (init_system_name): Use getaddrinfo if available.
14214
14215 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14216 (x_scroll_bar_note_movement): start, end, with, height in struct
14217 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14218
142192007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14220
14221 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14222
142232007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14224
14225 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14226 This undoes Richard's change of 14-Oct-2002.
14227
14228 * alloc.c (allocate_other_vector):
14229 * lisp.h (allocate_other_vector): Remove.
14230
14231 * window.c (struct save_window_data): Move non-lisp data to the end
14232 and make it `int' rather than Lisp_Object.
14233 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14234 Done wrap/unwrap integer values.
14235 (Fset_window_configuration, compare_window_configurations):
14236 Update use of fields to their new types.
14237
14238 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14239 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14240 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14241 (SET_SCROLL_BAR_X_WINDOW): Remove.
14242 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14243 Access the new x_window field directly.
14244 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14245 Don't wrap/unwrap integers into Lisp_Objects.
14246 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14247 (x_scroll_bar_report_motion):
14248 Don't wrap/unwrap integers into Lisp_Objects.
14249 (x_term_init): Use SDATA.
14250 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14251 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14252 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14253 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14254 * xfns.c (x_set_background_color):
14255 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14256 Access the new x_window field directly.
14257
14258 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14259 (allocate_pseudovector): Make non-static.
14260
14261 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14262 (allocate_pseudovector): Declare.
14263 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14264
142652007-11-15 Andreas Schwab <schwab@suse.de>
14266
14267 * editfns.c (Fformat): Correctly format EMACS_INT values.
14268 Also take precision into account when formatting an integer.
14269
14270 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14271
142722007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14273
14274 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14275 (syms_of_keyboard): Defsubr it.
14276
14277 * data.c (swap_in_global_binding): Fix longstanding bug where
14278 store_symval_forwarding was not called with the right second argument,
14279 thus causing objfwd-ing from being dropped.
14280
142812007-11-14 Juanma Barranquero <lekktu@gmail.com>
14282
14283 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14284 (Fx_display_pixel_height, Fx_display_planes)
14285 (Fx_display_color_cells, Fx_server_max_request_size)
14286 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14287 (Fx_display_visual_class, Fx_display_save_under):
14288 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14289 (Fx_display_pixel_height, Fx_display_planes)
14290 (Fx_display_color_cells, Fx_server_max_request_size)
14291 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14292 (Fx_display_mm_height, Fx_display_mm_width)
14293 (Fx_display_backing_store, Fx_display_visual_class)
14294 (Fw32_select_font, Fx_display_save_under):
14295 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14296 (Fx_display_pixel_height, Fx_display_planes)
14297 (Fx_display_color_cells, Fx_server_max_request_size)
14298 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14299 (Fx_display_save_under): Fix typos in docstrings.
14300
143012007-11-14 Juanma Barranquero <lekktu@gmail.com>
14302
14303 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14304 corresponding to deleted entries; they are an implementation detail.
14305 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14306 Remove variables.
14307 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14308 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14309 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14310 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14311 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14312 (Fw32_define_rgb_color, Fw32_load_color_file)
14313 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14314 Fix typos in docstrings.
14315 (Fx_server_version): Reflow docstring.
14316 (Fw32_shell_execute): Doc fixes.
14317
143182007-11-13 Juanma Barranquero <lekktu@gmail.com>
14319
14320 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14321 if w32_parse_hot_key returned nil.
14322
143232007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14324
14325 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14326
143272007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14328
aac0c6e3
MR
14329 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14330
14331 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14332
14333 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14334 Remove W32_SCROLL_BAR_CLICK_EVENT.
14335
14336 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14337 Add MULTIMEDIA_KEY_EVENT.
14338
14339 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14340 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14341 (make_lispy_event) [WINDOWSNT]: Use it to translate
14342 MULTIMEDIA_KEY_EVENT.
14343
14344 * w32term.h (WM_APPCOMMAND): Define if not already.
14345 (GET_APPCOMMAND_LPARAM): Likewise.
14346
14347 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14348 WM_APPCOMMAND.
14349
14350 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14351 (syms_of_w32fns): Export and initialize it.
14352 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14353
143542007-11-09 Chong Yidong <cyd@stupidchicken.com>
14355
14356 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14357 twice.
14358
14359 * xdisp.c (handle_face_prop): Fix last change.
14360
143612007-11-09 Richard Stallman <rms@gnu.org>
14362
14363 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14364 not just for after-strings and before-strings.
14365 Call face_for_overlay_string and pass the overlay to it.
14366 (handle_display_prop): Determine whether property came from an overlay.
14367 Pass OVERLAY arg to handle_single_display_spec.
14368 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14369 (load_overlay_strings): Fill in it->string_overlays.
14370 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14371
14372 * xfaces.c (face_for_overlay_string): Function renamed from
14373 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14374
14375 * dispextern.h (struct it): New elt string_overlays.
14376 New elt from_overlay, also in stack.
14377 Rearrange a few elements.
14378 (face_for_overlay_string): Decl renamed from
14379 face_at_buffer_position_no_overlays, and add argument.
14380
143812007-11-09 Richard Stallman <rms@gnu.org>
14382
14383 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14384 to get the base face for an overlay string.
14385
14386 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14387
14388 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14389
14390 * xdisp.c (handle_stop): Move some code out of loop.
14391
143922007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14393
14394 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14395 Fix conversion from Lisp object to ATSUFontID.
14396
143972007-11-09 Jason Rumney <jasonr@gnu.org>
14398
14399 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14400
144012007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14402
14403 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14404 Don't assume regions are aligned to page boundary.
14405 (print_load_command_name): Add LC_UUID if defined.
14406
144072007-11-09 Richard Stallman <rms@gnu.org>
14408
14409 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14410
144112007-11-07 Jason Rumney <jasonr@gnu.org>
14412
14413 * s/windows95.h: Remove.
14414
144152007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14416
14417 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14418 abort with a message on unhandled store_type values.
14419
144202007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14421
14422 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14423 Remove HAVE_X11R5 and HAVE_X11R4.
14424
144252007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14426
14427 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14428
144292007-11-01 Johan Bockgård <bojohan@gnu.org>
14430
14431 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14432 Don't set s->stippled_p here, since it has already been set by
14433 x_set_glyph_string_gc from x_draw_glyph_string.
14434
144352007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14436
14437 * sunfns.c: Remove file.
14438
14439 * m/sun386.h:
14440 * m/sun2.h:
14441 * m/sparc.h: Remove Sun windows code.
14442
144432007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14444
14445 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14446 (init_keyboard): Set current_kboard's window-system to nil.
14447 (tty_read_avail_input): Typo.
14448 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14449
144502007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14451
14452 * s/usg5-4.h:
14453 * s/usg5-3.h:
14454 * s/ptx.h:
14455 * m/is386.h:
14456 * m/ibmps2-aix.h:
14457 * Makefile.in: Remove all mentions of X10.
14458
14459 * dispnew.c (syms_of_display): Don't mention version 10.
14460
144612007-10-28 Juanma Barranquero <lekktu@gmail.com>
14462
14463 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14464 ($(BLD)/abbrev.$(O)): Remove.
14465
144662007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14467
14468 Rewrite abbrev.c in Elisp.
14469 * image.c (Qcount): Don't declare as extern.
14470 (syms_of_image): Initialize and staticpro `Qcount'.
14471 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14472 * emacs.c (main): Don't call syms_of_abbrev.
14473 * Makefile.in (obj): Remove abbrev.o.
14474 (abbrev.o): Remove.
14475 * abbrev.c: Remove.
14476
144772007-10-26 Martin Rudalics <rudalics@gmx.at>
14478
14479 * window.c (window_min_size_2): Don't count header-line.
14480
144812007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14482
14483 * frame.h (struct frame): Move all bit fields after the first bit
14484 field to take advantage of the available space. Group all the
14485 chars together to reduce wasted space due to padding.
14486
144872007-10-26 Juanma Barranquero <lekktu@gmail.com>
14488
14489 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14490
14491 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14492 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14493 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14494 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14495 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14496 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14497 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14498 (last_marked, mark_object_loop_halt): Make static.
14499
14500 * frame.c (syms_of_frame) <delete-frame-functions>:
14501 Fix typo in docstring.
14502
145032007-10-25 Juanma Barranquero <lekktu@gmail.com>
14504
14505 * w32.c (init_environment): Fix tiny memory leak.
14506 (w32_get_resource): Remove unused variable `ok'.
14507
145082007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14509
14510 Make `window-system' into a keyboard-local variable (rather than
14511 frame-local as done originally by multi-tty).
14512
14513 * keyboard.h (struct kboard): Add Vwindow_system.
14514 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14515 (mark_kboards): Mark Vwindow_system.
14516
14517 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14518 (init_display): Don't set the obsolete `window-system' frame-param.
14519
14520 * xterm.c (x_term_init):
14521 * w32term.c (w32_create_terminal):
14522 * term.c (init_tty): Set Vwindow_system.
14523 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14524 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14525
14526 * xfns.c (Fx_create_frame, x_create_tip_frame):
14527 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14528 * macfns.c (Fx_create_frame):
14529 Don't set the obsolete `window-system' frame-param.
14530
14531 * frame.h (Qwindow_system): Remove.
14532 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14533 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14534
145352007-10-24 Richard Stallman <rms@gnu.org>
14536
14537 * frame.c (x_figure_window_size): For fullscreen case,
14538 set USPosition | PPosition without clobbering rest of window_prompting.
14539
14540 * keyboard.c (Fcurrent_idle_time): Doc fix.
14541
14542 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14543
145442007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14545
14546 * process.c (unwind_request_sigio): Only define if __ultrix__.
14547
14548 * callproc.c (child_setup): Remove spurious *.
14549
14550 * lisp.h (Fget_text_property): Declare.
14551 (have_menus_p): Declare it here rather than in sys-dep header files.
14552 * macterm.h (have_menus_p):
14553 * msdos.h (have_menus_p):
14554 * xterm.h (have_menus_p): Remove.
14555
14556 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14557 (Fmake_variable_frame_local): Just check the variable's const-ness
14558 rather than checking nil or t.
14559
145602007-10-22 Jason Rumney <jasonr@gnu.org>
14561
14562 * w32fns.c: Include math.h.
14563 (w32_abort): Declaration moved to nt/config.nt.
14564
14565 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14566 (abort): Redefinition moved to nt/config.nt.
14567
14568 * m/windowsnt.h: Remove.
14569
145702007-10-22 Juanma Barranquero <lekktu@gmail.com>
14571
14572 * emacs.c (Fdump_emacs): Fix typo in message.
14573 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14574 <installation-directory>: Reflow docstring.
14575
145762007-10-22 Juri Linkov <juri@jurta.org>
14577
14578 * minibuf.c: Allow minibuffer default to be a list of default values.
14579 With empty input use the first element of this list as returned default.
14580 (string_to_object)
14581 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14582 (read_minibuf): If defalt is cons, set histstring to its car.
14583 (Fread_string): If default_value is cons, set val to its car.
14584 (Fread_buffer): If def is cons, use its car.
14585 (Fcompleting_read): If defalt is cons, set val to its car.
14586
145872007-10-21 Michael Albinus <michael.albinus@gmx.de>
14588
14589 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14590
145912007-10-20 Juanma Barranquero <lekktu@gmail.com>
14592
14593 * doc.c (Fdocumentation): Check for advice in all cases.
14594
145952007-10-19 Chong Yidong <cyd@stupidchicken.com>
14596
14597 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14598
145992007-10-19 Richard Stallman <rms@gnu.org>
14600
14601 * doc.c (Fdocumentation): Check for and handle an advised function.
14602
146032007-10-19 Juanma Barranquero <lekktu@gmail.com>
14604
14605 * process.c (Fset_process_filter): Doc fix.
14606
146072007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14608
14609 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14610 which caused key-translation-map to applied repeatedly (thus breaking
14611 double-mode).
14612
146132007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14614
14615 * xselect.c (x_own_selection, x_handle_selection_clear)
14616 (x_clear_frame_selections):
14617 * w32menu.c (list_of_panes, list_of_items):
14618 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14619 * textprop.c (validate_plist, interval_has_all_properties)
14620 (interval_has_some_properties, interval_has_some_properties_list)
14621 (add_properties, text_property_list):
14622 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14623 * minibuf.c (Fassoc_string):
14624 * macselect.c (x_own_selection, x_clear_frame_selections)
14625 (Fx_disown_selection_internal):
14626 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14627 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14628
146292007-10-17 Chong Yidong <cyd@stupidchicken.com>
14630
14631 * process.c: Link to libs for calling res_init() if available.
14632 (Fmake_network_process): Call res_init() before getaddrinfo or
14633 gethostbyname, if possible.
14634
146352007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14636
14637 * lread.c (read1): Set pvectype for char_tables.
14638
14639 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14640 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14641 Add type checks.
14642 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14643
14644 * alloc.c (free_misc): Use XMISCTYPE.
14645 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14646
146472007-10-17 Glenn Morris <rgm@gnu.org>
14648
14649 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14650 (syms_of_minibuf): Add Qcompletion_ignore_case.
14651 * dired.c (Qcompletion_ignore_case): Change to external.
14652 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14653 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14654 (Fread_file_name): Use it rather than intern'ing.
14655
14656 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14657 (Fread_coding_system): Ignore case of user input.
14658
146592007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14660
14661 * xdisp.c (handle_display_prop): Ignore display specs after
14662 replacing one when string text is being replaced.
14663 (handle_single_display_spec): Pretend as if characters with display
14664 property haven't been consumed only when buffer text is being replaced.
14665
146662007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14667
14668 * xfns.c (Fx_create_frame, Fx_display_list):
14669 * window.c (window_fixed_size_p, enlarge_window)
14670 (shrink_window_lowest_first):
14671 * macterm.c (init_font_name_table):
14672 * macfns.c (Fx_create_frame, Fx_display_list):
14673 * lread.c (close_load_descs):
14674 * keyboard.c (read_char_x_menu_prompt):
14675 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14676 * coding.c (code_convert_region_unwind): Test the type of an object
14677 rather than just !NILP before extracting data from it.
14678
14679 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14680
14681 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14682 (XMISCANY): New macro.
14683 (XMISCTYPE): Use it.
14684 (struct Lisp_Misc_Any): New type.
14685 (union Lisp_Misc): Use it.
14686 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14687 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14688 (find_symbol_value, set_internal, default_value, Fset_default)
14689 (Fmake_variable_buffer_local, Fmake_local_variable)
14690 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14691 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14692 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14693 * alloc.c (allocate_buffer): Set the size and tag.
14694 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14695 Use XMISCANY.
14696 (die): Follow the GNU convention for error messages.
14697 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14698 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14699 tag any more.
14700 (set_buffer_internal_1):
14701 * frame.c (store_frame_param):
14702 * eval.c (specbind):
14703 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14704
14705 * doc.c (Fsnarf_documentation): Simplify.
14706
147072007-10-14 Juanma Barranquero <lekktu@gmail.com>
14708
14709 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14710 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14711
147122007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14713
14714 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14715
147162007-10-14 Juanma Barranquero <lekktu@gmail.com>
14717
14718 * eval.c (do_autoload): Don't save autoloads.
14719
14720 * data.c (Ffset): Save autoload of the function being set.
14721
147222007-10-07 John Paul Wallington <jpw@pobox.com>
14723
14724 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14725 parameter before setting up faces.
14726
147272007-10-13 Eli Zaretskii <eliz@gnu.org>
14728
14729 * ccl.c (Fregister_code_conversion_map):
14730 * keyboard.c (append_tool_bar_item): Reformat last change.
14731
14732 * lisp.h (eabs): Rename from `abs'. All callers changed.
14733
147342007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14735
14736 * buffer.c (add_overlay_mod_hooklist):
14737 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14738 * fontset.c (make_fontset):
14739 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14740 (append_tool_bar_item):
14741 * macmenu.c (grow_menu_items):
14742 * w32menu.c (grow_menu_items):
14743 * xmenu.c (grow_menu_items): Use larger_vector.
14744
147452007-10-13 Eli Zaretskii <eliz@gnu.org>
14746
14747 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14748 selected frame'' on MSDOS).
14749
147502007-10-12 Martin Rudalics <rudalics@gmx.at>
14751
14752 * frame.c (Qexplicit_name): New variable.
14753 (x_report_frame_params): Report it in parameter alist.
14754 (syms_of_frame): Intern and staticpro it.
14755
147562007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14757
14758 * macfns.c (x_create_tip_frame): Set terminal for frame.
14759
147602007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14761
14762 * frame.c (Qenvironment): Remove.
14763 (syms_of_frame) <Qenvironment>: Don't initialize.
14764 (Fdelete_frame): Don't treat the `environment' param specially.
14765 * frame.h (Qenvironment): Don't declare.
14766 * callproc.c (set_initial_environment): Don't set unused frame param.
14767
14768 * frame.c (Fframe_with_environment): Remove.
14769 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14770
14771 * lisp.h (Fframe_with_environment): Don't declare.
14772
147732007-10-10 Juanma Barranquero <lekktu@gmail.com>
14774
14775 * indent.c (indent_tabs_mode, last_known_column)
14776 (last_known_column_modified): Make static.
14777 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14778
147792007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14780
14781 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14782
147832007-10-09 Jason Rumney <jasonr@gnu.org>
14784
14785 * w32term.c (x_set_window_size): Disable code that attempts to tell
14786 Lisp code about a size change before it actually happens.
14787
147882007-10-09 Richard Stallman <rms@gnu.org>
14789
14790 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14791 return HANDLED_RETURN.
14792
147932007-10-08 Martin Rudalics <rudalics@gmx.at>
14794
14795 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14796 when there's an unread command event.
14797
14798 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14799 window autoselection act appropriately when leaving selected frame.
14800 (syms_of_frame): Initialize focus_follows_mouse.
14801 * frame.h (focus_follows_mouse): Extern it.
14802 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14803 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14804 * msdos.c (dos_rawgetc): Likewise.
14805 * w32term.c (w32_read_socket): Likewise.
14806 * xterm.c (handle_one_xevent): Likewise.
14807 * xdisp.c (syms_of_xdisp): In doc-string of
14808 mouse-autoselect-window mention focus-follows-mouse.
14809
148102007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14811
14812 * macterm.c (mac_load_query_font): Fix missing return value.
14813 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14814 Add BLOCK_INPUT.
14815
148162007-10-08 Richard Stallman <rms@gnu.org>
14817
14818 * xdisp.c (get_window_cursor_type): Implement documented behavior
14819 for cursor-in-non-selected-windows = t.
14820
148212007-10-08 Jason Rumney <jasonr@gnu.org>
14822
14823 * w32.c (w32_get_resource): Always close registry keys.
14824
148252007-10-08 Jason Rumney <jasonr@gnu.org>
14826
14827 * makefile.w32-in (LIBS): Add COMCTL32.
14828
14829 * w32fns.c (globals_of_w32fns): Init common controls.
14830
148312007-10-08 Richard Stallman <rms@gnu.org>
14832
14833 * image.c (our_memory_buffer): Rename from omfib_buffer.
14834
148352007-10-08 Richard Stallman <rms@gnu.org>
14836
14837 * buffer.c (Foverlays_at): Doc fix.
14838
148392007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14840
14841 * fns.c (Fplist_put): Preserve uneven tail data.
14842
148432007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14844
14845 * termhooks.h (enum event_kind): Remove trailing comma.
14846
14847 * frame.h (enum): Remove trailing comma.
14848
148492007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14850
14851 * w32proc.c (delete_child): Don't terminate threads of zombies.
14852
148532007-10-08 Martin Rudalics <rudalics@gmx.at>
14854
14855 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14856
14857 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14858 last-repeatable-command.
14859 (init_kboard): Initialize Vlast_repeatable_command.
14860 (command_loop_1): Set it to real_this_command unless that was
14861 bound to an input event.
14862 (mark_kboards): Mark it.
14863
148642007-10-08 Richard Stallman <rms@gnu.org>
14865
14866 * eval.c (condition-case): Doc fix.
14867
148682007-10-08 Masatake YAMATO <jet@gyve.org>
14869
14870 * xfaces.c (tty_supports_face_attributes_p): Fix code
14871 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14872 was copied and not edited.
14873
148742007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14875
14876 Add new `input-decode-map' keymap and use it for terminal
14877 escape sequences.
14878 * keyboard.h (struct kboard): Add Vinput_decode_map.
14879 Remove Vlocal_key_translation_map.
14880 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14881 (init_kboard): Init input-decode-map.
14882 Replace local-key-translation-map back with key-translation-map.
14883 (syms_of_keyboard): Declare input-decode-map.
14884 Remove local-key-translation-map. Update docstrings.
14885 (mark_kboards): Mark Vinput_decode_map.
14886 Don't mark Vlocal_key_translation_map.
14887 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14888 Replace local-key-translation-map back with key-translation-map.
14889 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14890 Bind in input-decode-map rather than function-key-map.
14891
14892 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14893 This was made redundant by the previous introduction of XSETPVECTYPE.
14894
148952007-10-09 Richard Stallman <rms@gnu.org>
14896
14897 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14898
148992007-09-29 Richard Stallman <rms@gnu.org>
14900
14901 * eval.c (internal_condition_case_2, internal_condition_case_1)
14902 (internal_condition_case): Reenable abort if x_catching_errors ()
14903 to see if that really happens and why.
14904
149052007-10-06 Andreas Schwab <schwab@suse.de>
14906
14907 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14908
149092007-10-04 Juanma Barranquero <lekktu@gmail.com>
14910
14911 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14912
149132007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14914
14915 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14916
149172007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14918
14919 * window.h (struct window):
14920 * window.c (struct save_window_data, struct saved_window):
14921 * termhooks.h (struct terminal):
14922 * process.h (struct Lisp_Process):
14923 * frame.h (struct frame):
14924 * buffer.h (struct buffer):
14925 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14926 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14927 The size field of (pseudo)vectors is now unsigned.
14928 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14929
14930 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14931 Turn `count' into an integer.
14932
14933 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14934 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14935 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14936 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14937 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14938
14939 * alloc.c (allocate_pseudovector): New fun.
14940 (ALLOCATE_PSEUDOVECTOR): New macro.
14941 (allocate_window, allocate_terminal, allocate_frame)
14942 (allocate_process): Use it.
14943 (mark_vectorlike): New function.
14944 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14945 (mark_terminals): Use it.
14946 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14947 (Fmake_byte_code): Use XSETPVECTYPE.
14948
14949 * frame.c (Fframe_parameters): Minor simplification.
14950
14951 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14952
14953 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14954
14955 * buffer.c (Fget_buffer_create, init_buffer_once):
14956 * lread.c (defsubr):
14957 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14958
14959 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14960 defined differently in the m/*.h files.
14961 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14962 (XSETPVECTYPE): New macro.
14963 (XSETPSEUDOVECTOR): Use it.
14964
14965 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14966 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14967
14968 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14969 * lread.c (defvar_per_buffer):
14970 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14971
14972 * window.c (candidate_window_p): Only consider as visible frames that
14973 are on the same terminal.
14974
14975 * m/ibms390x.h (MARKBIT): Remove unused macro.
14976
149772007-10-01 Juanma Barranquero <lekktu@gmail.com>
14978
14979 * lread.c (Fload): Fix typo in docstring.
14980
149812007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14982
14983 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14984 of a non-zero value can't yield zero.
14985
149862007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14987
14988 * term.c (term_clear_mouse_face, term_mouse_highlight)
14989 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14990
14991 * print.c (safe_debug_print): Use XHASH.
14992
14993 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14994 Lisp elements such as tags.
14995 (XHASH): New macro.
14996 (EQ): Use it.
14997 (SREF, SSET, STRING_COPYIN): Use SDATA.
14998 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14999
15000 * alloc.c (mark_terminal): Remove left-over declaration.
15001 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15002 (allocate_vectorlike): Remove type argument. Adjust callers.
15003 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15004 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15005
15006 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15007 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15008 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15009 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15010 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15011 Use them.
15012
15013 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15014 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15015 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15016
150172007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15018
15019 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15020 loaded by default.
15021
150222007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15023
15024 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15025 on this tty.
15026 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15027
15028 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15029 Update all users.
15030 (handle_one_term_event): Use Gpm_DrawPointer.
15031 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15032 Signal errors instead of returning nil. Always return nil.
15033 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15034 Make it a noop if gpm-mouse was not activated.
15035 (syms_of_term): Update names.
15036
150372007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15038
15039 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15040 (init_sys_modes): Check that gpm_tty is the current tty.
15041
15042 * alloc.c (allocate_terminal): Set the vector size to only count the
15043 lisp fields. Initialize those to nil.
15044 (mark_object): Don't treat terminals specially.
15045 (mark_terminal): Remove.
15046 (mark_terminals): Use mark_object instead.
15047
15048 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15049 the GC to the beginning.
15050
15051 * indent.h:
15052 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15053
15054 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15055
150562007-09-25 Jason Rumney <jasonr@gnu.org>
15057
15058 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15059
15060 * w32console.c (create_w32cons_output): Remove.
15061
15062 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15063
15064 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15065 (reset_sys_modes): Use reset_terminal_modes_hook.
15066
150672007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15068
15069 * eval.c (do_autoload): Don't output any message.
15070
150712007-09-24 Juri Linkov <juri@jurta.org>
15072
15073 * emacs.c (standard_args): Change priority of "--no-splash"
15074 from 40 to 3. Add "--no-desktop" with the same priority.
15075
150762007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15077
15078 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15079 and optimize the case where they are all 1.
15080
150812007-09-23 Johannes Weiner <hannes@saeurebad.de>
15082
15083 * lisp.h (abs): Define if not defined.
15084 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15085 Don't define `abs', since it's defined in lisp.h.
15086
150872007-09-22 Eli Zaretskii <eliz@gnu.org>
15088
15089 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15090 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15091 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15092 (init_tty): Use DEV_TTY instead of "/dev/tty".
15093 [WINDOWSNT]: No need to protect from NAME arg being null.
15094
150952007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15096
15097 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15098 up the tty state.
15099
151002007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15101
15102 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15103 (gpm_tty): Change its type.
15104 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15105 (gpm_tty): Change its type and initialize it.
15106 (Fterm_open_connection): Check the frame is indeed a tty.
15107 Use the new gpm_tty.
15108 (Fterm_close_connection): Use the new gpm_tty.
15109 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15110 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15111
151122007-09-21 Juanma Barranquero <lekktu@gmail.com>
15113
15114 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15115 underline_color, to draw strike-through.
15116
151172007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15118
15119 * lisp.h (allocate_terminal): Declare.
15120
15121 * window.c (candidate_window_p): Consider frames that are being placed
15122 by the user as somewhere between visible and iconified.
15123 (window_loop): Prefer windows on the current frame.
15124 (Fselect_window): Move the use of select-frame to the beginning so we
15125 can just delegate all the work (it'll call us back anyway).
15126
15127 * frame.c (Qdisplay_environment_variable):
15128 * frame.h (Qdisplay_environment_variable): Delete.
15129
15130 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15131 of the first arg, since that value may be a union.
15132
15133 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15134 parameter rather than Qdisplay_environment_variable. If all else
15135 fails, look for DISPLAY in initial-environment.
15136
151372007-09-21 Glenn Morris <rgm@gnu.org>
15138
15139 * Makefile.in (emacstool): Remove target.
15140 (lisp, shortlisp): Remove termdev.elc.
15141
151422007-09-21 Markus Triska <markus.triska@gmx.at>
15143
15144 * xterm.c (x_delete_display): Compile session management conditionally.
15145
151462007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15147
15148 * callproc.c (getenv_internal_1): New function.
15149 (getenv_internal): Use it.
15150 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15151
15152 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15153 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15154 (Fset_terminal_parameter): Work with dead terminals as well.
15155 (Fmodify_terminal_parameters): Remove.
15156
15157 * terminal.c (get_terminal): Handle terminals.
15158 Make sure the terminal returned is live.
15159 (create_terminal): Use allocate_terminal.
15160 (mark_terminals): Move to alloc.c.
15161 (delete_terminal): Use terminal->name as liveness status.
15162 NULL out fields after freeing their contents.
15163 Don't deallocate the object.
15164 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15165 rather than an int.
15166 (Fterminal_live_p): Accept non-integer arguments.
15167 (Fterminal_list): Return terminal objects rather than an ints.
15168
15169 * alloc.c (enum mem_type): New member for `terminal' objects.
15170 (allocate_terminal): New function.
15171 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15172 Handle terminals.
15173 (mark_terminal): New fun.
15174 (mark_terminals): Move from terminal.c.
15175
15176 * term.c (get_tty_terminal): Don't treat output_initial specially.
15177 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15178 (delete_tty): Use terminal->name as liveness status.
15179
15180 * termhooks.h (struct terminal): Make it into a pseudovector.
15181 Remove `deleted' replaced by checking `name's nullness.
15182
15183 * print.c (print_object): Handle terminals.
15184
15185 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15186 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15187
15188 * frame.c (make_terminal_frame):
15189 * keyboard.c (tty_read_avail_input):
15190 * w32term.c (x_delete_terminal):
15191 * xfns.c (Fx_create_frame, x_create_tip_frame):
15192 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15193
151942007-09-20 Glenn Morris <rgm@gnu.org>
15195
15196 * process.c (Fmake_network_process): Doc fix.
15197
151982007-09-19 Jason Rumney <jasonr@gnu.org>
15199
15200 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15201
152022007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15203
15204 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15205 Fix a C warning regarding variable constness.
15206
15207 * xterm.c (handle_one_xevent): Fix a C warning.
15208
152092007-09-18 Jason Rumney <jasonr@gnu.org>
15210
15211 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15212
152132007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15214
15215 * gtkutil.c (gdpy_def): New variable.
15216 (xg_initialize): Initialize gdpy_def.
15217 (xg_display_close): If no other display exists, set gdpy_def to a
15218 new connection.
15219
152202007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15221
15222 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15223 when we have no file name for the icon.
15224 (xg_tool_bar_expose_callback): Remove.
15225 (xg_create_tool_bar): Don't connect expose signal to
15226 xg_tool_bar_expose_callback.
15227 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15228
152292007-09-16 Andreas Schwab <schwab@suse.de>
15230
15231 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15232 values instead of zapping them.
15233
152342007-09-14 Glenn Morris <rgm@gnu.org>
15235
15236 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15237 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15238 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15239 scope and rename to omfib_buffer for clarity.
15240 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15241
152422007-09-14 Kenichi Handa <handa@m17n.org>
15243
15244 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15245
152462007-09-13 Jason Rumney <jasonr@gnu.org>
15247
15248 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15249
15250 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15251
15252 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15253 (mac_term_init): Call here instead, passing rif.
15254
152552007-09-13 Glenn Morris <rgm@gnu.org>
15256
15257 * s/hpux.h: No longer define `static' as nothing.
15258
152592007-09-13 Johan Bockgård <bojohan@gnu.org>
15260
15261 * callint.c (Fcall_interactively): Remove unused var `fun'.
15262
152632007-09-12 Romain Francoise <romain@orebokech.com>
15264
15265 * window.c (prefer_window_split_horizontally, display_buffer):
15266 Revert 2007-09-08 change.
15267
152682007-09-12 Glenn Morris <rgm@gnu.org>
15269
15270 * alloca.c: Remove file.
15271 * Makefile.in (alloca): Do not undef.
15272 (allocaobj, alloca.o): Remove.
15273 (otherobj): Remove allocaobj.
15274 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15275 * regex.c (C_ALLOCA): Remove all references and code that was only
15276 used when this was defined.
15277 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15278 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15279 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15280
15281 * Makefile.in (SOURCES, unlock, relock): Delete.
15282
15283 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15284 (menu_grab_callback): All uses changed.
15285
15286 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15287 (x_reply_selection_request): All uses changed.
15288
152892007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15290
15291 * lread.c (load_warn_old_style_backquotes): Change message to look
15292 better when it appears in the middle of byte-compiler messages.
15293
152942007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15295
15296 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15297
15298 * xterm.c (x_create_terminal): Add comment.
15299
15300 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15301
153022007-09-10 Richard Stallman <rms@gnu.org>
15303
15304 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15305
153062007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15307
15308 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15309 (DEFUN): Document `intspec', use it instead of `prompt'.
15310
15311 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15312
15313 * data.c (Finteractive_form): If the interactive specification starts
15314 with a `(', use it as a Lisp form.
15315
15316 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15317 name and file modes.
15318
15319 * callint.c (Fcall_interactively): Comment fixes.
15320
153212007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15322
15323 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15324 and compiled functions.
15325
153262007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15327
15328 * window.c (prefer_window_split_horizontally): New variable.
15329 (display_buffer): Consider splitting window horizontally depending
15330 on prefer_window_split_horizontally.
15331
153322007-09-08 Eli Zaretskii <eliz@gnu.org>
15333
15334 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15335
153362007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15337
15338 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15339
15340 * frame.c (x_set_frame_parameters): Check number is positive before
15341 using XFASTINT.
15342
15343 * window.c (freeze_window_start): Don't presume selected_window holds
15344 a window object.
15345 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15346
153472007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15348
15349 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15350
153512007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15352
15353 * window.c (Vsplit_window_preferred_function): New var.
15354 (Fdisplay_buffer): Use it.
15355 (syms_of_window): Export, and initialize it.
15356
153572007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15358
15359 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15360
153612007-09-06 Glenn Morris <rgm@gnu.org>
15362
15363 * gtkutil.c (menu_grab_callback) <cnt>:
15364 * xselect.c (x_reply_selection_request) <cnt>: Move static
15365 variable to file scope.
15366
153672007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15368
15369 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15370 consistent values of selected_frame and selected_window.
15371
153722007-09-04 Jason Rumney <jasonr@gnu.org>
15373
15374 * w32console.c (initialize_w32_display): Zero unused hooks.
15375
153762007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15377
15378 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15379 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15380
153812007-09-04 Jason Rumney <jasonr@gnu.org>
15382
15383 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15384 in w32console.c. Set up input. Remove XXX comments that have been
15385 confirmed as correct.
15386
15387 * s/ms-w32.h (MULTI_KBOARD): Define.
15388
15389 * w32console.c (one_and_only_w32cons): Remove.
15390 (initialize_w32_display): Take terminal argument.
15391
15392 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15393 initialize_w32_display.
15394 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15395
15396 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15397
15398 * keyboard.c (discard_mouse_events): Discard it.
15399 (make_lispy_event): Translate it to a lisp event.
15400 (lispy_wheel_names): Add wheel-left and right events.
15401 (syms_of_keyboard): Enlarge wheel_syms.
15402
15403 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15404 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15405
15406 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15407
15408 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15409 from WM_MOUSEHWHEEL.
15410 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15411
15412 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15413 terminal.
15414
15415 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15416 keyboard for the terminal.
15417
154182007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15419
15420 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15421 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15422 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15423 and resume-tty-function to resume-tty-hook.
15424 (Fsuspend_tty, Fresume_tty): Use new names.
15425
154262007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15427
15428 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15429 if it starts with "n:".
15430
154312007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15432
15433 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15434
154352007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15436
15437 * frame.h:
15438 * frame.c (Qterm_environment_variable): Remove.
15439 (syms_of_frame): Don't init and staticpro it.
15440
15441 * callproc.c (getenv_internal): Remove special case for $TERM.
15442
15443 * callproc.c (Vinitial_environment): New variable.
15444 (set_initial_environment): Initialize it.
15445 (syms_of_callproc): Declare it.
15446 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15447 TERM under which a process runs is never related to the TERM in which
15448 Emacs is running.
15449
154502007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15451
15452 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15453 * s/darwin.h: ... do it here.
15454
154552007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15456
15457 * lisp.h (set_initial_environment): Rename from set_global_environment.
15458
15459 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15460 removed by mistake on the multi-tty branch.
15461
15462 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15463 (Fmodify_frame_parameters): Return a value.
15464
15465 * image.c (png_load): Comment-out var only used in commented-out code.
15466
15467 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15468 before passing it to mark_object.
15469
15470 * xfaces.c (internal_resolve_face_name): Return a value.
15471 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15472
15473 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15474 (x_icon): Comment-out var only used in commented-out code.
15475
154762007-08-29 Romain Francoise <romain@orebokech.com>
15477
15478 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15479 QUIT hasn't been provided.
15480
154812007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15482
15483 * callproc.c (child_setup, getenv_internal): Use the
15484 display-environment-variable and term-environment-variable frame params.
15485 (set_initial_environment): Initialise Vprocess_environment.
15486
15487 * config.in: Disable multi-keyboard support on a mac.
15488
15489 * frame.c (Qterm_environment_variable)
15490 (Qdisplay_environment_variable): New variables.
15491 (syms_of_frame): Intern and staticpro them.
15492 (Fmake_terminal_frame): Disable output method test.
15493
15494 * frame.h: Declare them here.
15495
15496 * macfns.c (x_set_mouse_color): Get rif from the frame.
15497 (x_set_tool_bar_lines): Don't use updating_frame.
15498 (mac_window): Add 2 new parameters for consistency with other systems.
15499 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15500 frame parameters following what is done in X11 and w32. Don't use
15501 FRAME_MAC_DISPLAY_INFO.
15502 (Fx_open_connection, start_hourglass): Remove window-system check.
15503 (x_create_tip_frame): Get the keyboard from the terminal.
15504
15505 * macmenu.c: Reorder includes.
15506 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15507
15508 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15509 terminal parameter.
15510 (x_clear_frame): Add a frame parameter.
15511 (note_mouse_movement): Get rif from the frame.
15512 (mac_term_init): Initialize the terminal.
15513 (mac_initialize): Make static and move terminal initialization ...
15514 (mac_create_terminal): ... to this new function.
15515
15516 * macterm.h (struct mac_display_info): Add terminal.
15517 (mac_initialize): Delete declaration.
15518
15519 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15520
15521 * sysdep.c: Comment out text after #endif.
15522
15523 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15524 is defined. Better initialize ttys in windows. Use terminal
15525 specific mouse_position_hook.
15526
15527 * termhooks.h (union display_info): Add mac_display_info.
15528
15529 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15530 Set the default minibuffer frame, window_system and the rest of the
15531 frame parameters following what is done in X11.
15532
15533 * w32term.c (w32_initialize): Make static.
15534
15535 * xselect.c (x_handle_selection_clear): Only access
15536 terminal->kboard when MULTI_KBOARD is defined.
15537
15538 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15539 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15540
155412007-08-29 Jason Rumney <jasonr@gnu.org>
15542
15543 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15544 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15545
15546 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15547 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15548
15549 * keyboard.c (restore_kboard_configuration): Only define when
15550 MULTI_KBOARD defined.
15551
15552 * makefile.w32-in: Update dependancies from Makefile.in.
15553 (OBJ1): Add terminal.$(O)
15554
15555 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15556 Don't define function body.
15557 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15558
15559 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15560
15561 * w32.c (request_sigio, unrequest_sigio): Remove.
15562
15563 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15564 (w32con_clear_frame, w32con_clear_end_of_line)
15565 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15566 (w32con_delete_glyphs, w32con_set_terminal_window)
15567 (scroll_line, w32_sys_ring_bell): Add frame arg.
15568 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15569 Add terminal arg.
15570 (PICK_FRAME): Remove.
15571 (w32con_write_glyphs): Use frame specific terminal coding.
15572 (one_and_only_w32cons): New global variable.
15573 (initialize_w32_display): Use it for storing hooks.
15574 (create_w32cons_output): New function.
15575
15576 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15577 arg a frame.
15578
15579 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15580 Set window_system.
15581 (x_set_tool_bar_lines): Don't use updating_frame.
15582 (Fx_create_frame): Set terminal and ref count.
15583 (Fx_open_connection): Remove window-system check.
15584
15585 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15586
15587 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15588 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15589 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15590 Add frame arg.
15591 (x_delete_terminal, w32_create_terminal): New functions.
15592 (w32_term_init): Create a terminal.
15593 (w32_initialize): Move terminal specific initialization to
15594 w32_create_terminal.
15595
15596 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15597 (w32_clear_rect, w32_clear_area): Use background from frame.
15598 (w32_display_info): Add terminal.
15599 (w32_sys_ring_bell, x_delete_display): Declare here.
15600
15601 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15602
15603 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15604
156052007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15606
15607 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15608 Fix get_named_tty calls for the controlling tty.
15609
156102007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15611
15612 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15613
156142007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15615
15616 * term.c (tty_insert_glyphs): Add missing first parameter.
15617
156182007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15619
15620 * buffer.c (Fbuffer_list, Fbury_buffer):
15621 Take frame->buried_buffer_list into account.
15622
15623 * cm.c (current_tty): New variable, for cmputc().
15624 (cmputc): Use it.
15625 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15626 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15627 (cmgoto): Add tty parameter. Pass it on to calccost().
15628 Use emacs_tputs() instead of tputs().
15629
15630 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15631 tputs().
15632 (current_tty): New variable, for cmputc().
15633 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15634
15635 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15636 (internal_condition_case, internal_condition_case_1)
15637 (internal_condition_case_2): Don't abort when x_catching_errors.
15638
15639 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15640 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15641 prevent crashes caused by bogus longjmps in read_char.
15642
15643 * keymap.h (Fset_keymap_parent): Add EXFUN.
15644
15645 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15646 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15647 Remove redundant definition.
15648
15649 * macfns.c (x_set_mouse_color, x_make_gc):
15650 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15651
15652 * w32term.c (x_free_frame_resources):
15653 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15654 (w32_initialize): Use the accessor macros for terminal characteristics.
15655
15656 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15657 Use the accessor macros for terminal characteristics.
15658 * msdos.c (internal_terminal_init): Use the accessor macros for
15659 terminal characteristics.
15660 (ScreenVisualBell, internal_terminal_init):
15661 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15662
15663 * termopts.h (no_redraw_on_reenter): Declare.
15664
15665 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15666 (mark_terminals, mark_ttys): Declare.
15667 (Fgarbage_collect): Call them.
15668 (mark_object): Mark buried_buffer_list.
15669
15670 * prefix-args.c: Include stdlib.h for exit.
15671
15672 * syssignal.h: Add comment.
15673
15674 * indent.c: Include stdio.h.
15675
15676 * window.h (Vinitial_window_system): Declare.
15677 (Vwindow_system): Delete declaration.
15678
15679 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15680
15681 * image.c (lookup_image): Don't initialize `c' until the xasserts
15682 have been run.
15683
15684 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15685 FRAME_FOREGROUND_PIXEL.
15686
15687 * print.c (print_preprocess): Don't lose print_depth levels while
15688 iterating.
15689
15690 * widget.c (update_from_various_frame_slots):
15691 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15692
15693 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15694 frames.
15695 (window_internal_height): Remove bogus make_number call.
15696 (init_window_once): Call make_terminal_frame with two zero parameters.
15697
15698 * fileio.c (Fread_file_name): Update comment.
15699
15700 * callint.c (Fcall_interactively):
15701 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15702 Make sure it is correctly unwound.
15703
15704 * xsmfns.c (x_session_close): New function.
15705
15706 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15707 Delete declarations.
15708
15709 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15710 (x_output): Remove background_pixel and foreground_pixel fields.
15711 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15712 (x_delete_device, x_session_close): Declare.
15713
15714 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15715 (read_filtered_event): Call `read_char' with a local
15716 `wrong_kboard_jmpbuf'.
15717
15718 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15719 Don't call single_kboard_state. Use FRAME_RIF.
15720
15721 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15722 systems.
15723
15724 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15725 (Fframe_with_environment, Fset_input_meta_mode)
15726 (Fset_quit_char): EXFUN.
15727 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15728 (init_sys_modes, reset_sys_modes): Update prototypes.
15729 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15730
15731 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15732 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15733 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15734 Delete declarations.
15735 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15736 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15737 New declarations.
15738
15739 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15740 already does that during init_display(). Call syms_of_keymap
15741 before syms_of_keyboard. Call `syms_of_terminal'.
15742 Call set_initial_environment, not set_process_environment.
15743 (shut_down_emacs): Call reset_all_sys_modes() instead of
15744 reset_sys_modes().
15745
15746 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15747 (internal_resolve_face_name, resolve_face_name_error): New functions.
15748 (resolve_face_name): Protect against loops and errors thrown by Fget.
15749 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15750 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15751
15752 * scroll.c: Replace CURTTY() with local variables throughout the
15753 file (where applicable).
15754 (calculate_scrolling, calculate_direct_scrolling)
15755 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15756 characteristics.
15757
15758 * keymap.c (Vfunction_key_map): Remove.
15759 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15760 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15761 (Vkey_translation_map): Remove.
15762 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15763 (Fdescribe_buffer_bindings)
15764 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15765 Update for terminal-local key-translation-map.
15766
15767 * Makefile.in (callproc.o): Update dependencies.
15768 (lisp, shortlisp): Add termdev.elc.
15769 (obj): Add terminal.o.
15770 (terminal.o): Add dependencies.
15771 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15772 (data.o, fns.o): Add termhooks.h dependency.
15773 (SOME_MACHINE_LISP): Add dnd.elc.
15774 (minibuf.o): Fix typo.
15775 Update dependencies.
15776
15777 * data.c (do_symval_forwarding, store_symval_forwarding)
15778 (find_symbol_value): Use the selected frame's keyboard, not
15779 current_kboard.
15780
15781 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15782 Vwindow_system.
15783
15784 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15785 Fmenu_bar_open.
15786 (syms_of_xmenu): Update defsubr.
15787 (mouse_position_for_popup, Fx_popup_menu)
15788 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15789 (set_frame_menubar, free_frame_menubar)
b97439ce 15790 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15791 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15792 an X frame.
15793
15794 * xselect.c (x_own_selection): Abort if not an X frame.
15795 (some_frame_on_display): Check if it is an X frame.
15796 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15797
15798 * coding.c: Include frame.h and termhooks.h.
15799 (terminal_coding, keyboard_coding): Delete.
15800 (Fset_terminal_coding_system_internal)
15801 (Fset_keyboard_coding_system_internal)
15802 (Fkeyboard_coding_system)
15803 (Fterminal_coding_system): Add a terminal parameter.
15804 Get terminal_coding from the terminal.
15805 (init_coding_once): Don't call setup_coding_system here.
15806
15807 * dispextern.h (set_scroll_region, turn_off_insert)
15808 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15809 (tty_clear_end_of_line, tty_setup_colors)
15810 (delete_tty, updating_frame)
15811 (produce_special_glyphs, produce_glyphs, write_glyphs)
15812 (insert_glyphs): Remove.
15813 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15814 (tty_turn_off_highlight, get_tty_size): Add declaration.
15815 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15816
15817 * frame.h (enum output_method): Add output_initial.
15818 (struct x_output): Delete.
15819 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15820 Access foreground_pixel and background_pixel directly from the frame.
15821 (tty_display): Delete.
15822 (struct frame): Add buried_buffer_list, foreground_pixel,
15823 background_pixel and terminal. Delete kboard.
15824 (union output_data): Add tty.
15825 (FRAME_KBOARD): Get the kboard from the terminal.
15826 (FRAME_INITIAL_P): New macro.
15827 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15828 (Qterm_environment_variable, Qdisplay_environment_variable)
15829 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15830 New declarations.
15831
15832 * termchar.h (tty_output, tty_display_info): New structures.
15833 (tty_list): Declare.
15834 (FRAME_TTY, CURTTY): New macros.
15835 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15836 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15837 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15838 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15839
15840 * callproc.c: Include frame.h and termhooks.h, for terminal
15841 parameters.
15842 (add_env): New function.
15843 (child_setup): Use it.
15844 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15845 (getenv_internal): Fix get_terminal_param call.
15846 (Fgetenv_internal, egetenv): Update doc.
15847 (syms_of_callproc): Initialize Vprocess_environment to nil.
15848 Register and initialize them. Remove obsolete defvars. Update doc
15849 strings.
15850 (child_setup): Handle Vlocal_environment_variables.
15851 (getenv_internal): Add terminal parameter.
15852 Handle Vlocal_environment_variables.
15853 (Fgetenv_internal): Add terminal parameter.
15854 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15855 environment in a frame (not terminal) parameter. Update doc strings.
15856 (set_initial_environment): Rename from set_global_environment.
15857 Store Emacs environment in initial frame parameter.
15858
15859 * xdisp.c (redisplay_internal): Update references to
15860 `previous_terminal_frame'.
15861 (display_mode_line, Fformat_mode_line): Replace calls to
15862 `push_frame_kboard' with `push_kboard'.
15863 (get_glyph_string_clip_rects): Add extra parentheses and
15864 braces to prevent compiler warnings.
15865 (calc_pixel_width_or_height): Add xassert to check that the
15866 frame is alive. Don't call `lookup_image' on a termcap frame.
15867 (message2_nolog, message3_nolog, redisplay_internal)
15868 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15869 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15870 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15871 (Fx_display_pixel_width, Fx_display_pixel_height)
15872 (Fx_display_planes, Fx_display_color_cells)
15873 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15874 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15875 (Fx_display_backing_store, Fx_display_visual_class)
15876 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15877 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15878
15879 * xfns.c (x_set_foreground_color x_set_background_color)
15880 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15881 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15882 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15883 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15884 terminal that is being deleted.
15885 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15886 frame parameter, and make sure it overrides any user-supplied setting.
15887 (Fx_close_connection, Fx_synchronize): Unify argument names with
15888 the rest of the DEFUNs.
15889
15890 * dispnew.c (Fsend_string_to_terminal): Update call to
15891 `get_tty_terminal'.
15892 (Fredraw_frame, Fsend_string_to_terminal)
15893 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15894 FRAME_TERMCAP_P and FRAME_TTY.
15895 (window_change_signal): Don't believe width/height values that are
15896 impossibly small.
15897 (Vinitial_window_system): Rename from Vwindow_system.
15898 (termscript, Wcm, rif): Delete.
15899
15900 * termhooks.h (struct terminal): New struct containing the
15901 previously global text display hooks and new members NAME,
15902 DELETED and PARAM_ALIST.
15903 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15904 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15905 (FRAME_RIF): New macros.
15906 (get_terminal_param, get_device): New declarations.
15907 (termscript): Delete declaration.
15908
15909 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15910 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15911 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15912 FRAME_FOREGROUND_PIXEL.
15913 (x_fully_uncatch_errors): Disable definition.
15914 (x_scroll_bar_expose): Fix reference to foreground pixel.
15915 (XTread_socket): Disable loop on all X displays.
15916 (x_delete_terminal): Don't set terminal->deleted and let
15917 delete_terminal delete the frames on the terminal.
15918 (x_delete_display): Doc update to reflect changes in
15919 delete_terminal.
15920 (x_display_info) <terminal>: Move member earlier in the struct.
15921 (deleting_tty): Remove old variable.
15922 (Fsuspend_tty): Call clear_tty_hooks.
15923 (Fresume_tty, init_tty): Call set_tty_hooks.
15924 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15925 errors on X frames.
15926 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15927 (handle_one_xevent): Initialize `f' to NULL.
15928 (x_delete_terminal, x_create_terminal): New functions.
15929 (XTset_terminal_modes, XTreset_terminal_modes)
15930 (XTread_socket, x_connection_closed, x_term_init)
15931 (x_term_init, x_delete_display): Add terminal parameter.
15932 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15933 X connections.
15934
15935 * frame.c: Include termchar.h.
15936 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15937 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15938 (Qdisplay_environment_variable): New vars.
15939 (Fframep): Deal with output_initial.
15940 (Fframe-live-p): Doc fix.
15941 (Fwindow-system): New function.
15942 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15943 (make_terminal_frame): Don't create frames on a terminal that is
15944 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15945 (store_frame_param): Check for found_for_frame before calling XFRAME.
15946 (Fmake_terminal_frame): Handle NULL tty names correctly.
15947 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15948 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15949 frames to refer to a deleted frame in their 'environment parameter.
15950 (Fframe_with_environment): New function.
15951 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15952 (get_future_frame_param): New function.
15953 (Fmake_terminal_frame): Use it.
15954 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15955
15956 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15957 * sysdep.c (reset_sys_modes): Update for renames.
15958
15959 * keyboard.c (tty_read_avail_input): New function.
15960 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15961 (syms_of_keyboard): Defsubr them.
15962 (Fset_input_meta_mode, Fset_quit_char): New functions.
15963 (Fset_input_mode): Split to above functions.
15964 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15965 parameter. Use it in call to `read_char'.
15966 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15967 Set wrong_kboard_jmpbuf correctly in recursive calls.
15968 Use current_kboard to access Vkeyboard_translate_table.
15969 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15970 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15971 Update longjmp invocations. Remember the original current_kboard,
15972 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15973 changes it. Comment out unnecessary calls to
15974 `record_single_kboard_state' and `any_kboard_state'.
15975 Update recursive calls.
15976 (wrong_kboard_jmpbuf): Remove global variable.
15977 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15978 Handle deleted interrupted_kboards correctly; that is a legal
15979 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15980 and read_char calls. Abort if interrupted_kboard died in read_char.
15981 (any_kboard_state, single_kboard_state)
15982 (push_frame_kboard): Remove function.
15983 (pop_kboard): Switch out of single_kboard mode if the kboard has
15984 been deleted. Remove unused variable. Help debugging by not
15985 changing current_kboard unnecessarily. Set current_kboard to the
15986 kboard of the selected frame when the stored kboard object has
15987 been deleted before pop_kboard.
15988 (temporarily_switch_to_single_kboard): Change first parameter to a
15989 frame pointer. Throw an error when caller wants to change kboards
15990 while in single_kboard mode. Don't push_kboard if we weren't in
15991 single kboard state. Don't pop_kboard if we popped into any
15992 kboard state.
15993 (restore_kboard_configuration): Abort if pop_kboard changed the
15994 kboard in single_kboard mode. Call pop_kboard only after setting
15995 up single_kboard mode.
15996 (Frecursive_edit): Switch to single_kboard mode only in nested
15997 command loops.
15998 (cmd_error, command_loop, command_loop_1, timer_check):
15999 Comment out unnecessary call to `any_kboard_state' and
16000 `record_single_kboard_state'.
16001 (delete_kboard): Exit single_kboard mode if we have just deleted
16002 that kboard. Use FRAME_KBOARD.
16003 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16004 `fatal_error_signal'.
16005 (record_single_kboard_state): Don't push_kboard if we weren't in
16006 single kboard state. Don't pop_kboard if we popped into any
16007 kboard state.
16008 (push_frame_kboard): Rename to push_kboard.
16009 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16010 (read_avail_input): Read input from all terminals.
16011 (mark_kboards): Also mark Vkeyboard_translate_table.
16012 (kbd_buffer_store_event_hold): Simplify condition.
16013 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16014 (Vkeyboard_translate_table): Move to struct kboard.
16015 (init_kboard): Initialize Vkeyboard_translate_table.
16016 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16017 Vkeyboard_translate_table. Update doc strings. Update docs of
16018 local-function-key-map and function-key-map.
16019
16020 * terminal.c: New file.
16021
16022 * term.c: Include errno.h.
16023 (Vring_bell_function, device_list, initial_device)
16024 (next_device_id, ring_bell, update_begin, update_end)
16025 (set_terminal_window, cursor_to, raw_cursor_to)
16026 (clear_to_end, clear_frame, clear_end_of_line)
16027 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16028 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16029 (syms_of_term): Move their initialization to terminal.c.
16030 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16031 (Ftty_display_color_cells)
16032 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16033 (clear_tty_hooks, set_tty_hooks)
16034 (init_tty, maybe_fatal): New functions.
16035 (Ftty_type): Return nil if terminal is not on a tty instead of
16036 throwing an error. Doc update.
16037 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16038 Doc update. Initialize new subrs and variables.
16039 (delete_tty): Use terminal->deleted.
16040 (tty_set_terminal_modes): Rename from set_terminal_modes.
16041 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16042 (set_scroll_region): Rename to `tty_set_scroll_region'.
16043 (turn_on_insert): Rename to `tty_turn_on_insert'.
16044 (turn_off_insert): Rename to `tty_turn_off_insert'.
16045 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16046 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16047 (toggle_highligh): Rename to `tty_toggle_highlight'.
16048 (background_highlight): Rename to `tty_background_highlight'.
16049 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16050 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16051 (tty_set_scroll_region, tty_background_highlight)
16052 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16053 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16054 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16055 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16056 Add static modifier.
16057 (tty_reset_terminal_modes, tty_set_terminal_window)
16058 (tty_set_scroll_region, tty_background_highlight)
16059 (tty_highlight_if_desired, tty_cursor_to)
16060 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16061 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16062 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16063 renames.
16064
160652007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16066
16067 * keyboard.c: Qrtl is new.
16068 (parse_tool_bar_item): Handle :rtl keyword.
16069 (syms_of_keyboard): Intern :rtl keyword.
16070
16071 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16072
16073 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16074 so no Lisp code is executed.
16075 (file_for_image, find_rtl_image): New functions.
16076 (xg_get_image_for_pixmap): Use file_for_image.
16077 (update_frame_tool_bar): If direction is RTL, use RTL image if
16078 defined. Use Gtk stock images if defined.
16079
160802007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16081
16082 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16083 for nonexistent or zero-width glyph in composition glyph.
16084
160852007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16086
16087 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16088
16089 * xdisp.c (Finvisible_p): New function.
16090 (syms_of_xdisp): defsubr it.
16091
160922007-08-24 Juanma Barranquero <lekktu@gmail.com>
16093
16094 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16095 Doc fixes.
16096
160972007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16098
16099 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16100
161012007-08-24 Martin Rudalics <rudalics@gmx.at>
16102
16103 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16104 whether decoding has modified buffer contents.
16105
161062007-08-24 Jason Rumney <jasonr@gnu.org>
16107
16108 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16109 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16110 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16111 (init_svg_functions) [HAVE_NTGUI]: New function.
16112 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16113 (svg_load_image): Use them.
16114 (svg_load_image) [HAVE_NTGUI]: Implement background.
16115
161162007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16117
16118 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16119 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16120 (LIBX): Remove @RSVG_LIBS@.
16121 (LIBES): Add $(RSVG_LIBS).
16122
16123 * image.c (svg_load_image): Blend with specified background if exists.
16124 Use IMAGE_BACKGROUND. Add Mac OS Support.
16125
16126 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16127 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16128 Remove macros.
16129 [MAC_OSX] (socket_callback): Do nothing.
16130 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16131 ReceiveNextEvent.
16132 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16133 socket_callback.
16134 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16135
161362007-08-22 Glenn Morris <rgm@gnu.org>
16137
16138 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16139
161402007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16141
16142 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16143
16144 * image.c: Add support for SVG images. Some additional comments
16145 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16146 (svg_image_p): New function to test for SVG image.
16147 (svg_load): New function to load SVG image.
16148 (svg_load_image): New function, helper for svg_load.
16149 (Qsvg): New Lisp_object.
16150 (svg_keyword_index): New enum.
16151 (svg_format): New static `image_keyword' struct.
16152 (svg_type): New static `image_type' struct.
16153 (librsvg/rsvg.h): Include it.
16154
161552007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16156
16157 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16158
161592007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16160
16161 * lread.c (Qold_style_backquotes): New var.
16162 (syms_of_lread): Init and staticpro it.
16163 (load_warn_old_style_backquotes): New fun.
16164 (Fload): Use them to warn about old style backquotes.
16165 (end_of_file_error, Fload): Remove unused vars.
16166
16167 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16168
16169 * lread.c (Vold_style_backquotes): New var.
16170 (syms_of_lread): Init and export it to Elisp.
16171 (read1): Set it when we find an old-style (back)quote.
16172
161732007-08-22 Jason Rumney <jasonr@gnu.org>
16174
16175 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16176
161772007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16178
16179 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16180
161812007-08-19 Richard Stallman <rms@gnu.org>
16182
16183 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16184
161852007-08-19 Andreas Schwab <schwab@suse.de>
16186
16187 * alloc.c (pure): Round PURESIZE up.
16188
161892007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16190
16191 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16192 active frame.
16193
161942007-08-16 Richard Stallman <rms@gnu.org>
16195
16196 * eval.c (Fcommandp): Add parens to clarify.
16197
16198 * minibuf.c (Fall_completions): Use enum for type of table.
16199
16200 * emacs.c (USAGE2): Improve text.
16201
162022007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16203
16204 * term.c (tty_default_color_capabilities): Declare static
16205 variables in file scope, to avoid HPUX compiler problem.
16206
162072007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16208
16209 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16210 to gtk_toolbar_insert.
16211
162122007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16213
16214 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16215
16216 * insdel.c (reset_var_on_error): New fun.
16217 (signal_before_change, signal_after_change):
16218 Use it to reset (after|before)-change-functions to nil in case of error.
16219 Bind inhibit-modification-hooks to t.
16220 Don't bind (after|before)-change-functions to nil while they run.
16221
162222007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16223
16224 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16225 filling pixmap with stippled background.
16226
162272007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16228
16229 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16230 Don't use invisible frame as parent window for repositioning.
16231
162322007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16233
16234 * print.c (new_backquote_output): Rename from old_backquote_output.
16235 (print): Inverse its logic (according to its name) so as to match the
16236 behavior of new_backquote_flag in lread.c.
16237
162382007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16239
16240 * gmalloc.c (posix_memalign): New function.
16241
16242 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16243 ActivateControl/DeactivateControl here.
16244 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16245 frame-notice-user-settings is non-nil.
16246 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16247 for kEventParamFMFontStyle.
16248 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16249 mac_pass_command_to_system and mac_pass_control_to_system here.
16250 (XTread_socket): Call ActivateControl/DeactivateControl here.
16251 (XTread_socket) [TARGET_API_MAC_CARBON]:
16252 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16253 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16254 for window repositioning.
16255
162562007-08-08 Glenn Morris <rgm@gnu.org>
16257
16258 * Replace `iff' in doc-strings and comments.
16259
162602007-08-07 Chong Yidong <cyd@stupidchicken.com>
16261
16262 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16263
162642007-08-07 Martin Rudalics <rudalics@gmx.at>
16265
16266 * fileio.c (Finsert_file_contents): Run format-decode and
16267 after_insert_file_functions on entire buffer when REPLACE is
16268 non-nil and inhibit modification_hooks and point_motion_hooks.
16269 For consistency, run after_insert_file_functions iff something
16270 got inserted. Move signal_after_change and update_compositions
16271 after code running after_insert_file_functions. Make sure that
16272 undo_list doesn't record intermediate steps of the decoding process.
16273
162742007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16275
16276 * emacs.c (main)
16277 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16278 Call malloc_enable_thread on interactive startup.
16279
16280 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16281 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16282 [USE_PTHREAD]: Conditionalize with it.
16283 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16284 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16285 New functions.
16286
162872007-08-06 Chong Yidong <cyd@stupidchicken.com>
16288
16289 * xdisp.c (redisplay_window): When restoring original buffer
16290 position, make sure it is still valid.
16291
16292 * image.c (png_load): Ignore png-supplied background color.
16293
162942007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16295
16296 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16297 Use kCFAbsoluteTimeIntervalSince1970.
16298
16299 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16300 New variable.
16301 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16302 event loop should be quit.
16303 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16304 Quit dialog event loop if quit_dialog_event_loop is set.
16305
16306 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16307 (Selection): New typedef. Use instead of ScrapRef.
16308 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16309 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16310 (mac_clear_selection): Rename from clear_scrap.
16311 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16312 scrap_has_target_type. All uses changed.
16313 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16314 (mac_selection_has_target_p): New functions.
16315 (mac_put_selection_value): Rename from put_scrap_string.
16316 (mac_get_selection_value): Rename from get_scrap_string.
16317 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16318 (put_scrap_private_timestamp, scrap_has_target_type)
16319 (get_scrap_private_timestamp): Remove functions.
16320 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16321 (x_own_selection, x_get_local_selection):
16322 Use mac_valid_selection_value_p.
16323 (x_own_selection): Don't use put_scrap_private_timestamp.
16324 Record OWNERSHIP-INFO into Vselection_alist instead.
16325 (x_get_local_selection): Don't check type if request is local.
16326 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16327 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16328
163292007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16330
16331 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16332 add comment explaining why.
16333
163342007-08-03 Richard Stallman <rms@gnu.org>
16335
16336 * fileio.c (Fvisited_file_modtime): Use make_time.
16337
163382007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16339
16340 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16341 build.
16342
163432007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16344
16345 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16346
163472007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16348
16349 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16350
163512007-07-30 Richard Stallman <rms@gnu.org>
16352
16353 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16354
163552007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16356
16357 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16358
163592007-07-28 Nick Roberts <nickrob@snap.net.nz>
16360
16361 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16362 remote default-directory.
16363
16364 * buffer.c (mode-line-format): Update doc string.
16365
163662007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16367
16368 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16369 scroll bar gap.
16370 (x_scroll_bar_create): Set bar->fringe_extended_p.
16371 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16372 on frame edge. Check fringe background extension. Don't clear
16373 extended fringe background area.
16374
16375 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16376 (w32_fill_area): Enclose multiple statements with do ... while (0).
16377
16378 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16379 Extend fringe background to scroll bar gap.
16380 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16381 Set bar->fringe_extended_p.
16382 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16383 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16384 background extension. Don't clear extended fringe background area.
16385
16386 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16387 New member fringe_extended_p.
16388
163892007-07-25 Glenn Morris <rgm@gnu.org>
16390
16391 * Relicense all FSF files to GPLv3 or later.
16392
16393 * COPYING: Switch to GPLv3.
16394
163952007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16396
16397 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16398
16399 * data.c (Finteractive_form): Check for the presence of an
16400 `interactive-form' symbol property more thoroughly.
16401
16402 * data.c (Finteractive_form): Use an `interactive-form' property if
16403 present, analogous to the function-documentation property.
16404
164052007-07-24 Jason Rumney <jasonr@gnu.org>
16406
16407 * w32fns.c (x_real_positions): Get real position from OS instead of
16408 calculating it.
16409
164102007-07-23 Jason Rumney <jasonr@gnu.org>
16411
16412 * filelock.c (current_lock_owner): Allow for @ sign in username.
16413
164142007-07-22 Nick Roberts <nickrob@snap.net.nz>
16415
16416 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16417 remote default-directory.
16418
16419 * buffer.c (mode-line-format): Describe above case in doc string.
16420
164212007-07-20 Eli Zaretskii <eliz@gnu.org>
16422
16423 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16424 Define if not defined.
16425
164262007-07-18 Jason Rumney <jasonr@gnu.org>
16427
16428 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16429
164302007-07-18 Richard Stallman <rms@gnu.org>
16431
16432 * data.c (Fsetq_default): Doc fix.
16433
16434 * eval.c (Fsetq): Doc fix.
16435
164362007-07-18 Juanma Barranquero <lekktu@gmail.com>
16437
16438 * coding.c (Ffind_operation_coding_system):
16439 * eval.c (For, Fand): Doc fixes.
16440 Reported by Johan Bockgård.
16441
164422007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16443
16444 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16445
16446 * xterm.h: Declare x_ewmh_activate_frame.
16447
16448 * xterm.c (x_ewmh_activate_frame): New function.
16449 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16450
164512007-07-17 Martin Rudalics <rudalics@gmx.at>
16452
16453 * window.c (Fdisplay_buffer): If largest or LRU window is the
16454 only window, split it even if it is not eligible for splitting.
16455 This restores the original behavior broken by the 2007-07-15
16456 change.
16457
164582007-07-17 Glenn Morris <rgm@gnu.org>
16459
16460 * abbrev.c (abbrev_check_chars): New function.
16461 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16462 Call abbrev_check_chars to check abbrev characters are word
16463 constituents. Doc fix.
16464
164652007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16466
16467 * process.c (Fstart_process, Fmake_network_process)
16468 (read_process_output): Fix up last changes.
16469
164702007-07-16 Eli Zaretskii <eliz@gnu.org>
16471
16472 * makefile.w32-in (clean): Don't delete *~.
16473
164742007-07-16 Andreas Schwab <schwab@suse.de>
16475
16476 * window.c (Fdisplay_buffer): Use NILP.
16477 (Fset_window_scroll_bars): Likewise.
16478
164792007-07-15 Martin Rudalics <rudalics@gmx.at>
16480
16481 * window.c (window_min_size_2): New function.
16482 (window_min_size_1, size_window, Fdisplay_buffer)
16483 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16484 windows without mode- or header-lines when window-min-height is
16485 too small.
16486 (size_window): Reset nodelete_p after testing it, following an
16487 earlier note by Kim F. Storm.
16488 (display_buffer): Do not set split_height_threshold to twice the
16489 value of window_min_height to avoid changing the value of a
16490 customizable variable. Rather explicitly check whether the
16491 height of the window that shall be splitted is at least as large
16492 as split_height_threshold.
16493 (Fwindow_full_width_p): New defun.
16494 (syms_of_window): Defsubr it.
16495
16496 * window.h: Add EXFUN for Fwindow_full_width_p.
16497
164982007-07-14 Jason Rumney <jasonr@gnu.org>
16499
16500 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16501
165022007-07-14 Richard Stallman <rms@gnu.org>
16503
16504 * eval.c (maybe_call_debugger): New function.
16505 (find_handler_clause): Use maybe_call_debugger.
16506 Call it when the handler says `debug'.
16507 Eliminate DEBUGGER_VALUE_PTR.
16508 (Fsignal): Eliminate debugger_value.
16509 (Qdebug): New variable.
16510 (syms_of_eval): Initialize it.
16511
165122007-07-14 Juanma Barranquero <lekktu@gmail.com>
16513
16514 * eval.c (Fprogn):
16515 * keyboard.c (Ftrack_mouse):
16516 * print.c (Fwith_output_to_temp_buffer):
16517 * window.c (Fsave_window_excursion): Doc fix.
16518
165192007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16520
16521 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16522
165232007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16524
16525 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16526 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16527 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16528 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16529 Remove unused encoding_carryover.
16530 * process.c: Adjust all functions accordingly.
16531
165322007-07-12 Richard Stallman <rms@gnu.org>
16533
16534 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16535
165362007-07-11 Jason Rumney <jasonr@gnu.org>
16537
16538 * makefile.w32-in (LIBS): Include OLE32.
16539
16540 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16541 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16542
165432007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16544
16545 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16546 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16547 from a Lisp_Object into a bare pointer.
16548 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16549 Adjust the code correspondingly.
16550
16551 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16552
16553 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16554 (term_show_mouse_face): Remove unused var `j'.
16555 (handle_one_term_event): Remove unused vars `i' and `j'.
16556 Don't cast return value of ttyname since it's not necessary.
16557
165582007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16559
16560 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16561 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16562
16563 * fns.c (map_char_table): Use an array of int for `indices' rather than
16564 an array of Lisp_Objects (which are only ever integers anyway).
16565 (Fmap_char_table): Update caller.
16566 * lisp.h: Update prototype.
16567 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16568 * fontset.c (Ffontset_info):
16569 * casetab.c (set_case_table): Update callers.
16570
16571 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16572
16573 * keymap.c (struct accessible_keymaps_data)
16574 (struct where_is_internal_data): New structures.
16575 (accessible_keymaps_1, where_is_internal_1): Use them to change
16576 interface to adhere to the one used by map_keymap.
16577 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16578 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16579
16580 * keymap.h (map_keymap_function_t): More informative prototype.
16581
165822007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16583
16584 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16585 (looking_at_1): Don't change search_regs and last_thing_searched
16586 if `inhibit-changing-match-data' is non-nil.
16587 (string_match_1, search_buffer, set_search_regs): Likewise.
16588 (syms_of_search): Add Lisp level definition for
16589 `inhibit-changing-match-data' and set it to nil.
16590 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16591 start and end of the match, instead of using values in search_regs.
16592
165932007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16594
16595 * minibuf.c (Fcompleting_read): New value `confirm-only'
16596 for `require-match'.
16597
165982007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16599
16600 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16601 part of the 2007-06-27 change to syms_of_fileio.
16602
166032007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16604
16605 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16606 Check WINDOWP before using XWINDOW. Consolidate return statements.
16607
166082007-06-27 Richard Stallman <rms@gnu.org>
16609
16610 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16611
166122007-06-27 Juanma Barranquero <lekktu@gmail.com>
16613
16614 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16615
166162007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16617
16618 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16619 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16620 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16621 (_free_internal, memalign): Use them.
16622 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16623 Initialize to PTHREAD_MUTEX_INITIALIZER.
16624 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16625 (morecore_nolock): Rename from morecore. All uses changed.
16626 Use only nolock versions of internal allocation functions.
16627 (_malloc_internal_nolock, _realloc_internal_nolock)
16628 (_free_internal_nolock): New functions created from
16629 _malloc_internal, _realloc_internal, and _free_internal.
16630 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16631 Copy hook value to automatic variable before its use.
16632 (memalign): Copy hook value to automatic variable before its use.
16633
166342007-06-26 Kenichi Handa <handa@m17n.org>
16635
16636 * coding.c (Ffind_operation_coding_system): Docstring improved.
16637 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16638
166392007-06-25 David Kastrup <dak@gnu.org>
16640
16641 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16642 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16643 cater for additional parameter.
16644
16645 * keymap.h: Adjust number of parameters to `current-active-maps'.
16646
16647 * doc.c (Fsubstitute_command_keys): Adjust call of
16648 `current-active-maps'.
16649
166502007-06-25 David Kastrup <dak@gnu.org>
16651
16652 * callint.c (Fcall_interactively): Make the parsing of interactive
16653 specs somewhat more readable.
16654
166552007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16656
16657 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16658 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16659 if extended background has already been filled.
16660
166612007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16662
16663 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16664 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16665
16666 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16667 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16668 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16669 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16670 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16671 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16672 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16673 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16674 Run timers during dialog popup.
16675 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16676
166772007-06-21 Jason Rumney <jasonr@gnu.org>
16678
16679 * image.c (convert_mono_to_color_image): Swap fore and background.
16680
166812007-06-20 Jason Rumney <jasonr@gnu.org>
16682
16683 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16684 (w32_free_bdf_font): Unmap memory not handle.
16685
166862007-06-20 Sam Steingold <sds@gnu.org>
16687
16688 * gmalloc.c (__morecore): Fix the declaration to comply with the
16689 definition.
16690
166912007-06-20 Juanma Barranquero <lekktu@gmail.com>
16692
16693 * w32term.c (w32_delete_display): Remove leftover declaration.
16694 (w32_define_cursor, w32_initialize): Make static.
16695
16696 * w32.c (_wsa_errlist): Fix typo in error message.
16697 (init_environment): Ignore any environment variable from the
16698 registry having a null value.
16699
167002007-06-20 Glenn Morris <rgm@gnu.org>
16701
16702 * Makefile.in (LIBGIF): Default to -lgif.
16703
167042007-06-17 Jason Rumney <jasonr@gnu.org>
16705
16706 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16707 unicode strings.
16708
167092007-06-16 Juanma Barranquero <lekktu@gmail.com>
16710
16711 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16712 Fix typo in docstring.
16713
167142007-06-16 Eli Zaretskii <eliz@gnu.org>
16715
16716 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16717 and their keybindings.
16718
167192007-06-15 Chong Yidong <cyd@stupidchicken.com>
16720
16721 * composite.c (update_compositions): Fix last fix.
16722
167232007-06-14 Jason Rumney <jasonr@gnu.org>
16724
16725 * w32.c (get_process_times_fn): New function pointer.
16726 (globals_of_w32): Intialize it if present in kernel32.dll.
16727 (w32_get_internal_run_time): New function.
16728
16729 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16730
167312007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16732
16733 * composite.c (update_compositions): Check the validness of
16734 compositions.
16735
167362007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16737
16738 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16739 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16740
16741 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16742 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16743
16744 * macgui.h (USE_MAC_TOOLBAR): New define.
16745
16746 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16747 Return immediately unless popup is activated.
16748
16749 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16750 background to scroll bar gap.
16751 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16752 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16753 scroll bars on frame edge. Check fringe background extension.
16754 Don't clear extended fringe background area.
16755 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16756 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16757 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16758 [USE_MAC_TOOLBAR]: New macros.
16759 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16760 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16761 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16762 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16763 [USE_MAC_TOOLBAR]: New functions.
16764 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16765 manually if previous repositioning has failed.
16766 (mac_handle_keyboard_event): Use precomputed event kind.
16767 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16768 as tool bar item click. Handle mouse movement over tool bar items.
16769
16770 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16771 toolbar_win_gravity.
16772 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16773 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16774 Add externs.
16775
16776 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16777 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16778
167792007-06-14 Chong Yidong <cyd@stupidchicken.com>
16780
16781 * image.c (search_image_cache): Remove unused variable.
16782
167832007-06-13 Chong Yidong <cyd@stupidchicken.com>
16784
16785 * xfns.c, xmenu.c: Link to xaw3d if available.
16786
167872007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16788
16789 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16790 frame_foreground and frame_background.
16791
16792 * image.c (lookup_image): Save frame foreground and background colors.
16793 (search_image_cache): Check if saved and current frame colors match.
16794
167952007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16796
16797 * regex.c (regex_compile): Remove the `regnum' counter.
16798 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16799
168002007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16801
16802 * term.c: Include intervals.h to declare Fget_text_property.
16803
168042007-06-10 Jason Rumney <jasonr@gnu.org>
16805
16806 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16807
168082007-06-08 Juanma Barranquero <lekktu@gmail.com>
16809
16810 * callint.c (Fcall_interactively):
16811 * editfns.c (Fdelete_and_extract_region):
16812 * fileio.c (Fread_file_name):
16813 * fns.c (Fmapconcat):
16814 * keyboard.c (cmd_error_internal):
16815 * keymap.c (Fkey_description):
16816 * lread.c (openp):
16817 * minibuf.c (read_minibuf):
16818 * search.c (wordify):
16819 * sunfns.c (sel_read):
16820 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16821 * xfns.c (x_default_scroll_bar_color_parameter):
16822 * xmenu.c (menu_help_callback):
16823 * xselect.c (Fx_get_atom_name):
16824 * xterm.c (x_term_init): Use empty_unibyte_string.
16825
168262007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16827
16828 * alloc.c (init_strings): Initialize canonical empty strings.
16829 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16830 canonical empty string when the requested size is 0.
16831
16832 * emacs.c (empty_unibyte_string): Rename from empty_string.
16833 (empty_multibyte_string): New canonical empty string.
16834 (syms_of_emacs): Don't initialize empty_string.
16835
16836 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16837 string, if appropriate.
16838 (empty_unibyte_string, empty_multibyte_string): New externs.
16839 (empty_string): Remove extern.
16840
16841 * lread.c (syms_of_lread): Use empty_unibyte_string.
16842
168432007-06-07 Jason Rumney <jasonr@gnu.org>
16844
16845 * s/ms-w32.h: Don't define HAVE_TZNAME.
16846
16847 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16848
168492007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16850
16851 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16852
16853 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16854 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16855
16856 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16857 Don't call next handler.
16858 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16859 Remove argument. Install handler to application.
16860 (set_frame_menubar): Don't change deep_p.
16861 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16862 FRAME_OUTER_TO_INNER_DIFF_Y.
16863 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16864 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16865 [HAVE_DIALOGS]: New macros.
16866 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16867 Use them.
16868 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16869
16870 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16871 init_service_handler. All callers changed. Return OSStatus value.
16872
16873 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16874 All callers changed so as not to call SetPortWindowPort.
16875 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16876 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16877 mac_draw_string_common.
16878 (mac_draw_image_string_qd): Likewise.
16879 (mac_draw_string_common): Use them. Add INLINE.
16880 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16881 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16882 GetGlobalMouse.
16883 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16884 and FRAME_OUTER_TO_INNER_DIFF_Y.
16885 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16886 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16887 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16888 repositioning window to mac_handle_window_event.
16889 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16890 saving window location to mac_handle_window_event
16891 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16892 (install_menu_target_item_handler): Remove argument in extern.
16893 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16894 Also accept command events.
16895 (do_keystroke): New function created from XTread_socket.
16896 (init_command_handler): Remove functions.
16897 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16898 and save window location by kEventWindowShowing and kEventWindowHiding
16899 handlers here. Don't call next handler for window state change and
16900 focus events.
16901 (mac_handle_application_event, mac_handle_keyboard_event)
16902 [TARGET_API_MAC_CARBON]: New functions.
16903 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16904 kEventWindowShowing and kEventWindowHiding events. Move installation
16905 of mouse, font, text input and menu target item handlers to
16906 install_application_handler.
16907 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16908 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16909 New function.
16910 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16911 Register it.
16912 (XTread_socket) [TARGET_API_MAC_CARBON]:
16913 Consolidate SendEventToEventTarget calls.
16914 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16915 Move application activation handler to mac_handle_application_event.
16916 Move keyboard handler to mac_handle_keyboard_event.
16917 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16918 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16919 init_command_handler. Call install_application_handler.
16920
16921 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16922 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16923
169242007-06-07 Glenn Morris <rgm@gnu.org>
16925
16926 * emacs.c (main): Use `emacs-copyright' in --version output.
16927
169282007-06-06 Chong Yidong <cyd@stupidchicken.com>
16929
16930 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16931
169322007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16933
16934 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16935
16936 * macgui.h: Replace WindowPtr with WindowRef.
16937
16938 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16939 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16940 Replace ControlHandle with ControlRef.
16941 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16942
16943 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16944 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16945 Replace ControlHandle with ControlRef.
16946 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16947 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16948
16949 * macterm.h (struct scroll_bar): Rename member control_handle_low
16950 and control_handle_high to control_ref_low and control_ref_high.
16951 All uses changed.
16952 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16953 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16954 respectively. All uses changed.
16955 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16956 (install_window_handler, remove_window_handler): Replace WindowPtr
16957 with WindowRef in externs.
16958
169592007-06-05 Juanma Barranquero <lekktu@gmail.com>
16960
16961 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16962
169632007-06-03 Nick Roberts <nickrob@snap.net.nz>
16964
16965 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16966
16967 * frame.c (Fmouse_position, Fmouse_pixel_position):
16968 Condition on HAVE_GPM too.
16969
16970 * term.c (term_mouse_highlight): Remove unused variables.
16971 (Fterm_open_connection): Set gpm_zerobased to 1.
16972 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16973 Use zero based co-ordinates.
16974 (handle_one_term_event): Report a drag as mouse movement too.
16975
16976 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16977
169782007-06-03 Chong Yidong <cyd@stupidchicken.com>
16979
16980 * image.c (search_image_cache): New function. Require background
16981 color match if background color is unspecified in the image spec.
16982 (uncache_image, lookup_image): Use it.
16983
169842007-06-01 Juanma Barranquero <lekktu@gmail.com>
16985
16986 * window.c (Fshrink_window): Reflow docstring.
16987
169882007-06-02 Chong Yidong <cyd@stupidchicken.com>
16989
16990 * Version 22.1 released.
16991
169922007-06-01 Richard Stallman <rms@gnu.org>
16993
16994 * xfns.c (x_encode_text): Add GCPRO.
16995
169962007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16997
16998 * xfns.c (x_set_name_internal): Save encoded name before
16999 x_encode_text in case string data is relocated.
17000
170012007-05-31 Richard Stallman <rms@gnu.org>
17002
17003 * buffer.c (syms_of_buffer): Doc fix.
17004
170052007-05-30 Nick Roberts <nickrob@snap.net.nz>
17006
17007 * sysdep.c (init_sys_modes): Add rather than replace with
17008 O_NONBLOCK.
17009
17010 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17011 term_mouse_moveto.
17012
17013 * termhooks.h (term_mouse_moveto): New extern.
17014
17015 * term.c (mouse_face_window): Rename...
17016 (Qmouse_face_window): ...to this.
17017 (term_show_mouse_face, term_clear_mouse_face)
17018 (term_mouse_highlight): Use Qmouse_face_window.
17019 (term_mouse_moveto): New function.
17020 (term_mouse_position): Make it work.
17021 (syms_of_term): Uncomment assignment to mouse_position_hook.
17022 Staticpro Qmouse_face_window.
17023
170242007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17025
17026 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17027 around current_column call.
17028
170292007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17030
17031 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17032 * xdisp.c (next_element_from_buffer):
17033 * window.c (delete_window):
17034 * term.c (term_mouse_highlight):
17035 * msdos.c (getdefdir):
17036 * macterm.c (mac_create_bitmap_from_bitmap_data)
17037 (init_font_name_table):
17038 * fns.c (Fsxhash):
17039 * data.c (Fmake_local_variable):
17040 * ccl.c (ccl_driver): Likewise.
17041
170422007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17043
17044 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17045 Call mac_wakeup_from_rne on window size change.
17046
170472007-05-25 Chong Yidong <cyd@stupidchicken.com>
17048
17049 * image.c (uncache_image): Fix typo.
17050
170512007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17052
17053 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17054
170552007-05-22 Richard Stallman <rms@gnu.org>
17056
17057 * xterm.c (x_connection_closed): Remove NO_RETURN.
17058
170592007-05-22 Martin Rudalics <rudalics@gmx.at>
17060
17061 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17062
170632007-05-21 Chong Yidong <cyd@stupidchicken.com>
17064
17065 * image.c (uncache_image): New function.
17066 (Fimage_refresh): New function.
17067
170682007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17069
17070 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17071
170722007-05-20 Nick Roberts <nickrob@snap.net.nz>
17073
17074 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17075 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17076
170772007-05-20 Nick Roberts <nickrob@snap.net.nz>
17078
17079 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17080 conditional on [HAVE_GPM_H].
17081
170822007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17083
17084 * syntax.c (skip_chars): Update syntax-table only after we checked that
17085 the new location is valid.
17086
170872007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17088
17089 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17090 mac_get_window_bounds.
17091
170922007-05-20 Nick Roberts <nickrob@snap.net.nz>
17093
17094 * Makefile.in (LIBGPM): Allow it to be set from configure.
17095 If set then link Emacs with it.
17096
17097 * config.in: Regenerate.
17098
17099 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17100 New externs.
17101
17102 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17103 Include gpm.h.
17104 (handle_one_term_event, term_gpm): New externs.
17105
17106 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17107 and allow it to be interrupted by SIGIO.
17108
17109 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17110 (wait_reading_process_output): Wait on gpm_fd too.
17111 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17112 (add_gpm_wait_descriptor_called_flag): New variable.
17113 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17114
17115 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17116 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17117 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17118 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17119 (make_lispy_event): Add case GPM_CLICK_EVENT.
17120 (read_avail_input): Handle mouse input.
17121
17122 * term.c (write_glyphs_with_face): New function.
17123 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17124 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17125 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17126 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17127 (last_mouse_x, last_mouse_y): New variables.
17128 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17129 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17130 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17131 (Fterm_close_connection): New functions.
17132 (term_init): Initialise mouse_face_window.
17133
171342007-05-19 Chong Yidong <cyd@stupidchicken.com>
17135
17136 * xdisp.c (redisplay_window): If first window line is a
17137 continuation line, recompute the new window start instead of
17138 recentering.
17139
171402007-05-18 Glenn Morris <rgm@gnu.org>
17141
17142 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17143 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17144
171452007-05-17 Glenn Morris <rgm@gnu.org>
17146
17147 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17148
171492007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17150
17151 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17152 dead key repeat and up events.
17153
171542007-05-14 Chong Yidong <cyd@stupidchicken.com>
17155
17156 * image.c (pbm_load): Check image size for monochrome pbm.
17157
171582007-05-13 Chong Yidong <cyd@stupidchicken.com>
17159
17160 * xterm.c (XTread_socket): Revert last change.
17161
171622007-05-12 Chong Yidong <cyd@stupidchicken.com>
17163
17164 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17165
17166 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17167
171682007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17169
17170 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17171 mixup (YAILOM).
17172
171732007-05-07 Andreas Schwab <schwab@suse.de>
17174
17175 * keymap.c (Flookup_key): Fix typo in last change.
17176
171772007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17178
17179 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17180 mapping for unibyte strings.
17181
171822007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17183
17184 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17185 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17186
171872007-04-29 Richard Stallman <rms@gnu.org>
17188
17189 * insdel.c (replace_range): For undo, record insertion first.
17190
171912007-04-29 Andreas Schwab <schwab@suse.de>
17192
17193 * lisp.h (VECSIZE): Use OFFSETOF.
17194
171952007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17196
17197 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17198 disabled lines.
17199
172002007-04-28 Richard Stallman <rms@gnu.org>
17201
17202 * lread.c (read_escape): In a string, \s is always space.
17203
172042007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17205
17206 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17207
17208 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17209 submenu for menu bar items.
17210
17211See ChangeLog.10 for earlier changes.
17212
17213;; Local Variables:
17214;; coding: utf-8
17215;; add-log-time-zone-rule: t
17216;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17217;; End:
17218
76b6f707 17219 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17220
17221 This file is part of GNU Emacs.
17222
17223 GNU Emacs is free software: you can redistribute it and/or modify
17224 it under the terms of the GNU General Public License as published by
17225 the Free Software Foundation, either version 3 of the License, or
17226 (at your option) any later version.
17227
17228 GNU Emacs is distributed in the hope that it will be useful,
17229 but WITHOUT ANY WARRANTY; without even the implied warranty of
17230 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17231 GNU General Public License for more details.
17232
17233 You should have received a copy of the GNU General Public License
17234 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17235
17236;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40