Add bug references.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
a8b11cc9
CY
12009-01-30 Chong Yidong <cyd@stupidchicken.com>
2
3 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
4 Initialize it as a relative filename pattern.
5 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
6 (Fcall_process_region): Simplify temp file creation using
7 temporary-file-directory.
8
c279587b
EZ
92009-01-29 Eli Zaretskii <eliz@gnu.org>
10
11 * msdos.c: Rename pending_signals to msdos_pending_signals.
12 (sig_suspender, sigprocmask): Adjust.
13
a8fe3242
CY
142009-01-29 Chong Yidong <cyd@stupidchicken.com>
15
16 * keyboard.c (pending_signals): New var.
17 (poll_for_input, input_available_signal, init_keyboard): Set it.
18 (process_pending_signals): New function.
19
20 * lisp.h (QUIT): Check pending_signals instead of
21 interrupt_input_pending. Use process_pending_signals.
22
23 * atimer.c (run_timers, alarm_signal_handler): Update
24 pending_signals.
25
26 * process.c (wait_reading_process_output): Use
27 process_pending_signals.
28
29 * sysdep.c (emacs_write): Use process_pending_signals.
30
31 * xterm.c (XTread_socket): Update pending_signals.
32
33 * w32term.c (w32_read_socket): Update pending_signals.
34
35 * w32inevt.c (w32_console_read_socket): Update pending_signals.
36
6570a1c4
KH
372009-01-29 Kenichi Handa <handa@m17n.org>
38
39 * xftfont.c (xftfont_has_char): New function.
40 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
41
d72a4afa
AR
422009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
43
44 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
45 under GNUstep.
46 (ns_query_color): New declaration.
47
48 * nsterm.m (ns_confirm_quit): New variable.
49 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
50 (EmacsApp-applicationShouldTerminate:): Use it.
51 (EmacsPrefsController): Let user set it.
52 (ns_query_color): New function.
53 (ns_defined_color): Use it.
54 (ns_initialize): Drop.
55 (ns_term_init): Add two lines from ns_initialize(), and set
56 input_interrupt_mode to nil.
57
58 * image.c (svg_load_image): Don't right-shift background RGB when
59 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
60
9fe78804
KH
612009-01-28 Kenichi Handa <handa@m17n.org>
62
63 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
64 (fontset_get_font_group): Remember that no font-group is specified
65 for C.
9fe78804 66
fa57de36
CY
672009-01-27 Chong Yidong <cyd@stupidchicken.com>
68
930600e9
CY
69 * fns.c (concat): Check for string overflow (bug#1787).
70
fa57de36
CY
71 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
72 Quadruple undo limits (bug#1501).
73
7179ce7b
KH
742009-01-27 Kenichi Handa <handa@m17n.org>
75
76 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
77 directly use GT_Get_Char_index.
78
79 * xftfont.c (struct xftfont_info): New member `index'.
80
81 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
82 (Ffontset_font): Adjusted for the change of fontset entry.
83
5be8fcc0
CY
842009-01-26 Kenichi Handa <handa@m17n.org>
85
86 * fontset.c (fontset_find_font): Fix handling of non-cons return
87 value of fontset_get_font_group.
88 (fontset_font): Revert last change.
89
19ae3e61
JR
902009-01-26 Jason Rumney <jasonr@gnu.org>
91
92 * w32font.c (w32font_list_internal): Return quickly if registry is
93 unknown. Simplify final return.
94 (add_font_entity_to_list): Break complex logic down into more
95 manageable chunks. Move unknown registry check to
96 w32font_list_internal.
97
8612b71a
AR
982009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
99
100 Changes to remove Feval calls from GUI under NS.
101
d8038940
JB
102 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
103 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
104 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
105
106 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
107 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
108 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
109 instead of NON_ASCII_KEYSTROKE_EVENT.
110 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
111 (EmacsApp-applicationShouldTerminate:): Query user.
112 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
113 instead of Feval.
114
115 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
116
117 * keyboard.c (kbd_buffer_get_event): Check for it.
118 (keys_of_keyboard): Define lispy keys for
119 ns-put/unput-working-text.
120
121 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
122 versions.
123 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
124
6288ae55
CY
1252009-01-25 Chong Yidong <cyd@stupidchicken.com>
126
127 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 128 setting current_buffer directly. (Bug#2044)
6288ae55 129
289e7f8f
CY
1302009-01-24 Chong Yidong <cyd@stupidchicken.com>
131
5ce87308 132 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 133 any work. (Bug#1952, bug#1990).
5ce87308 134
64cc3cf6 135 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 136
b3243e6f
AR
1372009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
138
139 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
140 (ns_no_defaults): New declaration.
141 (main): Use it.
e0d2e69a 142
d900b2af 143 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 144
d900b2af 145 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 146
d900b2af
AR
147 * nsterm.m (ns_no_defaults): New variable.
148 (ns_initialize): Don't read defaults when ns_no_defaults.
149 (EmacsView-readSelectionFromPasteboard:)
150 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 151 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
152 (ns_dumpglyphs_stretch): New function.
153 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 154 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 155
e0d2e69a
AR
156 * nsimage.m (setPixmapData:): Set to ignore image DPI.
157
3ac71f5d
CY
1582009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
159
160 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
161 call for Sparc64.
162
3fe53a83
AR
1632009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
164
165 * nsfns.m:
166 * nsgui.h:
167 * nsmenu.m:
168 * nsselect.m:
169 * nsterm.h:
170 * nsterm.m: Remove '23' comments that indicated code added during
171 update from emacs-20 -> emacs-23.
172
10f87c6f 1732009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
174
175 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 176 ns_alternate_modifier. (Bug#1217)
a3b53a85 177
c7cef62d
AR
178 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
179 Display all shortcuts, including those w/o super modifier.
180
575fb8bd
AR
181 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
182
918b848b
CY
1832009-01-22 Chong Yidong <cyd@stupidchicken.com>
184
185 * fileio.c (Vwrite_region_post_annotation_function)
186 (Vwrite_region_annotation_buffers): New vars.
187 (build_annotations_unwind): Just reset
188 Vwrite_region_annotation_buffers.
189 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
190 Call write-region-post-annotation-function.
191 (build_annotations): Add to Vwrite_region_annotation_buffers if
192 buffer changes.
193
a39e2539
AR
1942009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
195
196 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
197 Tiger.
198 * nsfns.m (ns_do_applescript): Conditionalize
199 typeUTF16ExternalRepresentation on Tiger.
200
35ed44db
AR
2012009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
202
203 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
204
cbe0b5bf
AR
2052009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
206
207 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 208
6049d3a0
AR
209 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
210
211 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
212 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
213 handle Ctrl-tab. (Bug#1841)
214 (ns_get_color): Use unsigned long long for scanned hex string value.
215 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 216 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 217 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 218 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 219 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 220 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 221 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 222
d3810c21 223 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 224 DPI. (Bug#1316)
d3810c21
AR
225 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
226 values in onTiger section.
4c7077c3 227
e301e634
CY
2282009-01-19 Chong Yidong <cyd@stupidchicken.com>
229
7f82490b
CY
230 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
231 Check return value of font_spec_from_name.
64cc3cf6 232 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
233
234 * font.c (font_spec_from_name): Return Qnil if font name could not
235 be parsed.
236 (font_parse_name): Treat a `?' character as part of an XLFD.
237
e301e634
CY
238 * fns.c (Fsubstring): Doc fix.
239
1c0db158
KH
2402009-01-19 Kenichi Handa <handa@m17n.org>
241
242 * ftfont.c (ftfont_lookup_cache): Check the return value of
243 FcFontList.
244 (ftfont_list): Likewise.
245
acf20901
JB
2462009-01-18 Juanma Barranquero <lekktu@gmail.com>
247
fff4e459
JB
248 * dbusbind.c (Fdbus_register_signal):
249 * process.c (conv_sockaddr_to_lisp):
250 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
251
acf20901
JB
252 * callproc.c (Fgetenv_internal): Doc fix.
253
e7abcdfb
CY
2542009-01-16 Chong Yidong <cyd@stupidchicken.com>
255
256 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
257 it is not even used.
258
b60861e6
GM
2592009-01-16 Glenn Morris <rgm@gnu.org>
260
261 * font.c (Ffont_variation_glyphs): Silence compiler.
262
8db52afe
JB
2632009-01-15 Juanma Barranquero <lekktu@gmail.com>
264
265 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
266 Reported by David Robinow <drobinow@gmail.com>.
267
4cddb209
KH
2682009-01-15 Kenichi Handa <handa@m17n.org>
269
270 * coding.c (detect_coding_system): Fix handling of
271 null_byte_found.
272
f247f67b
JR
2732009-01-14 Jason Rumney <jasonr@gnu.org>
274
275 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 276 never a fontset. (Bug#1562)
f247f67b 277
f56a4450
KH
2782009-01-14 Kenichi Handa <handa@m17n.org>
279
280 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 281 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 282
4e99855e
CY
2832009-01-13 Chong Yidong <cyd@stupidchicken.com>
284
285 * font.c (font_clear_prop): If clearing the family, clear the font
286 width index too.
287
fff4e459 288 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 289
24f01470
JB
2902009-01-12 Juanma Barranquero <lekktu@gmail.com>
291
292 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
293 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
294 functions, use sizeof.
295
a41240a3
MR
2962009-01-12 Martin Rudalics <rudalics@gmx.at>
297
298 * keyboard.c (read_char): Fix case where last_nonmenu_event
299 returned a bad value with submenus. (Bug#447)
300
944636b8
CY
3012009-01-12 Chong Yidong <cyd@stupidchicken.com>
302
303 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
304 family, clear the font width index too.
305
0dad7c6f
JR
3062009-01-11 Jason Rumney <jasonr@gnu.org>
307
308 * keyboard.c (cmd_error_internal): Exit when errors occur before
309 frame creation and not in daemon mode. (Bug#1836)
310
7c2363af
CY
3112009-01-10 Chong Yidong <cyd@stupidchicken.com>
312
313 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
314 of a display vector, backtrack.
315 (try_window_reusing_current_matrix): Check glyph type before
316 referencing charpos member.
317
97b1b294
EZ
3182009-01-10 Eli Zaretskii <eliz@gnu.org>
319
320 Fix Bug #876:
321
322 * coding.c (inhibit_null_byte_detection): New variable.
323 (detect_coding, detect_coding_system): Don't pay attention to null
324 bytes if inhibit_null_byte_detection is non-zero.
325 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
326 document.
327 <inhibit-iso-escape-detection>: Doc fix.
328
4624b6e3
JR
3292009-01-09 Jason Rumney <jasonr@gnu.org>
330
331 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 332 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
333 Only report Unicode Plane 2 fonts as unicode-sip.
334
323b840c
CY
3352009-01-09 Chong Yidong <cyd@stupidchicken.com>
336
337 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
338 version moved to faces.el.
339
340 * font.c (Ffont_family_list): Return a list of strings, not
341 symbols.
342
eba7400d
MR
3432009-01-09 Martin Rudalics <rudalics@gmx.at>
344
345 * frame.c (x_set_frame_parameters): Remember requested value for
346 fullscreen before it's reset by the parameter handler.
347
4b09796d
GM
3482009-01-09 Glenn Morris <rgm@gnu.org>
349
350 * keyboard.c (last_command_char): For clarity, rename to...
351 (last_command-event): ... and update all users.
352 (last_input_char): For clarity, rename to...
353 (last_input_event): ... and update all users.
354 (last-command-char, last-input-char): Move to subr.el as aliases.
355 * cmds.c, commands.h: Update for last_command_char rename.
356
14ccea62
CY
3572009-01-08 Chong Yidong <cyd@stupidchicken.com>
358
359 * font.c (font_open_for_lface): Handle unspecified height
360 attribute.
361
5f004711
JR
3622009-01-08 Jason Rumney <jasonr@gnu.org>
363
364 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
365 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
366 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
367 Don't declare.
fff4e459 368 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
369 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
370
b71f6f73
KH
3712009-01-07 Kenichi Handa <handa@m17n.org>
372
50b06221 373 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 374 remember the coding system used for decoding in
50b06221
KH
375 coding_system (Bug#1039).
376
b71f6f73 377 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 378 breaking the loop. (Bug#870)
b71f6f73
KH
379 (decode_coding_utf_16, decode_coding_emacs_mule)
380 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
381 (decode_coding_charset): Likewise.
382
56f668f7
MR
3832009-01-05 Martin Rudalics <rudalics@gmx.at>
384
385 * frame.c (x_set_frame_parameters): Make sure height (width) get
386 applied when fullwidth (fullheight) is set. (Bug#1522)
387
5da9424d
JB
3882009-01-04 Juanma Barranquero <lekktu@gmail.com>
389
390 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
391 (utc_base): Declare as ULONGLONG, not long double.
392 (convert_time_raw): Delete.
393 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
394 (initialize_utc_base): New function.
395 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
396 (convert_from_time_t): Use initialize_utc_base; compute result with
397 64-bit arithmetic.
398 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
399
c4605e09
EZ
4002009-01-03 Eli Zaretskii <eliz@gnu.org>
401
9acef61c 402 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
403 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
404 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
405 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
406 [!subprocesses]: Define.
407 (syms_of_process) [!subprocesses]: Intern and staticpro them.
408 (Flist_system_processes, Fsystem_process_attributes)
409 [!subprocesses]: Call list_system_processes and
410 system_process_attributes instead of returning Qnil.
411
9acef61c
JB
412 * dosfns.c (system_process_attributes, list_system_processes):
413 New functions.
c4605e09
EZ
414
415 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
416
417 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
418 Don't use the default (no-op) implementation.
419
8b7d0a16
JR
4202009-01-03 Jason Rumney <jasonr@gnu.org>
421
a6d46bc1
JR
422 * keyboard.c (parse_modifiers_uncached): Wheel events are
423 clicks (bug#687).
424
8b7d0a16
JR
425 * w32term.c (x_query_colors, x_query_color): New functions.
426
427 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
428 (svg_load_image): Cast returned pointers from dynamically loaded
429 functions. Eliminate W32 specific code.
430
bfe11752
DN
4312009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
432
89e2438a
DN
433 * nsfns.m (x_set_foreground_color, x_set_background_color)
434 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
435 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
436 x_ prefix instead of ns_. Update references.
437 (syms_of_nsfns): Add a FIXME comment.
438
439 * nsterm.m (x_set_cursor_type): New prototype.
440 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
441
bfe11752
DN
442 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
443 for Solaris instead of incorrectly providing Qutime and Qcutime.
444
031da700
EZ
4452009-01-02 Eli Zaretskii <eliz@gnu.org>
446
447 * w32.c (process_times): Compute sum of utime and stime.
448 (system_process_attributes): Add Qtime to the alist.
449
450 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
451 and add them to the alist.
452
453 * process.c (top level) <Qtime, Qctime>: New variables.
454 (syms_of_process): staticpro them.
455 (Fsystem_process_attributes): Add their documentation to the doc
456 string.
457
458 * process.h: Declare Qtime and Qctime.
459
df23bf08
JR
4602009-01-02 Jason Rumney <jasonr@gnu.org>
461
9acef61c 462 * image.c (Qgobject): New symbol.
df23bf08
JR
463 (syms_of_image): Initialize it.
464 (init_svg_functions): Load some functions from gobject library.
465
5bbdf7aa
DN
4662009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
467
468 * frame.c (make_terminal_frame): Remove redundant code and useless
469 block.
470
63136da6
AS
4712009-01-01 Andreas Schwab <schwab@suse.de>
472
473 * process.c (conv_sockaddr_to_lisp): Add workaround for
474 getsockname bug on BSD.
475
9ef69046
CY
4762009-01-01 Chong Yidong <cyd@stupidchicken.com>
477
d6fafbe0
CY
478 * xfns.c (x_create_tip_frame): Set border width of the X window.
479
9ef69046
CY
480 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
481 message.
482
f9c34147
JR
4832009-01-01 Jason Rumney <jasonr@gnu.org>
484
9acef61c 485 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
486 Don't block input, as per earlier xterm.c changes.
487
f5497e45
AR
4882008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
489
490 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
491 (ns_appkit_version_int): New function.
492 (x-server-version): Use ns_appkit_version_int and follow 21+
493 convention of returning 3 integers.
494
c19cab20
KH
4952008-12-30 Kenichi Handa <handa@m17n.org>
496
497 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
498 (CHAR_SURROGATE_PAIR_P): New macro.
499
500 * font.h (struct font_driver): New member get_variation_glyphs.
501
9acef61c 502 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
503 (Ffont_variation_glyphs): New function.
504 (syms_of_font): Defsubr it.
505
506 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
507 ftfont_variation_glyphs.
508 (setup_otf_gstring): New function.
509 (ftfont_drive_otf): Use it.
510 (ftfont_shape_by_flt): Handle variation selector.
511 (ftfont_variation_glyphs): New function.
512
28cd591f
MR
5132008-12-30 Martin Rudalics <rudalics@gmx.at>
514
515 * frame.c (Vemacs_iconified): Remove.
516
7f714baf
JR
5172008-12-30 Jason Rumney <jasonr@gnu.org>
518
519 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 520 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 521
9d2d22ab
CY
5222008-12-30 Chong Yidong <cyd@stupidchicken.com>
523
524 * indent.c (Fvertical_motion): Don't advance iterator if we have
525 reseated to the desired position.
526
527 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
528 checking for pos match.
529
545312c2
KH
5302008-12-30 Kenichi Handa <handa@m17n.org>
531
1ede3eb6
KH
532 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
533 just get the low 8-bit of the code.
534
545312c2
KH
535 * font.c (font_intern_prop): Validate str as multibyte.
536
bd7bbf29
DN
5372008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
538
31e0750e
DN
539 * dispextern.h (struct face): Move lface and hash from the middle
540 of bitfields.
541
bd7bbf29
DN
542 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
543
b5672e7c
DN
5442008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
545
546 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
547 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
548 instead of intervals.h.
549
d704470f
AS
5502008-12-26 Andreas Schwab <schwab@suse.de>
551
552 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
553 cons.
554
54b33868
MR
5552008-12-26 Martin Rudalics <rudalics@gmx.at>
556
557 * textprop.c (Qminibuffer_prompt): New variable.
558 (syms_of_textprop): Initialize it.
559 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
560 in minibuffer-prompt face. (Bug#1662)
561
40b615d6
JR
5622008-12-25 Jason Rumney <jasonr@gnu.org>
563
564 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
565
baae5c2d
JR
5662008-12-24 Jason Rumney <jasonr@gnu.org>
567
568 * ralloc.c (r_alloc_reset_variable): New function.
569
570 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 571 record of what points where. (Bug#716)
baae5c2d 572
a9051c88
DN
5732008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
574
575 * minibuf.c (read_minibuf): Follow the non-interactive case when
576 running as a daemon, before detaching.
577
8b146312
AS
5782008-12-22 Andreas Schwab <schwab@suse.de>
579
580 * buffer.c (init_buffer): Use realloc instead of xrealloc.
581 * gtkutil.c (free_widget_value): Use xfree instead of free.
582
56f2de10
MR
5832008-12-22 Martin Rudalics <rudalics@gmx.at>
584
585 * frame.c (delete_frame): New function derived from
586 Fdelete_frame to handle Qnoelisp value for FORCE argument.
587 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
588 (Fdelete_frame): Call delete_frame. Remove line from doc-string
589 saying that FORCE non-nil doesn't run `delete-frame-functions'.
590 * frame.h: Extern delete_frame.
591 * window.c (window_loop):
592 * terminal.c (delete_terminal):
593 * xterm.c (x_connection_closed):
594 * xfns.c (Fx_hide_tip):
9acef61c 595 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 596
1fc200d6
JR
5972008-12-21 Jason Rumney <jasonr@gnu.org>
598
599 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
600 when character maps to .notdef character.
601
5e252df2
SM
6022008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
603
604 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
605
99b72cc4
JR
6062008-12-20 Jason Rumney <jasonr@gnu.org>
607
608 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 609 a graphical frame on Windows. (Bug#1325)
99b72cc4 610
acc49a52
JD
6112008-12-20 Jan Djärv <jan.h.d@swipnet.se>
612
613 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
614
6ea15123
CY
6152008-12-20 Chong Yidong <cyd@stupidchicken.com>
616
617 * minibuf.c (Fread_buffer): Doc fix.
618
b2dab6c8
JR
6192008-12-20 Jason Rumney <jasonr@gnu.org>
620
54ea0c87 621 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 622 server name in UNC paths. (Bug#719)
54ea0c87 623
b2dab6c8 624 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 625 charbuf. (Bug#1035)
b2dab6c8 626
6d1921be
DN
6272008-12-19 Daniel Engeler <engeler@gmail.com>
628
629 * sysdep.c (serial_configure): Fix typo.
630
53934c98
DN
6312008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
632
633 * sysdep.c: Include alloca.h.
f4f634e8
DN
634 (system_process_attributes): Add implementation for Solaris.
635
636 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 637
06e111a6
DN
6382008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
639
640 Reorganize implementation of Flist_system_processes and
641 Fsystem_process_attributes. No functional changes.
642 * process.c: Don't #include pwd.h, grp.h and limits.h.
643 (Flist_system_processes): Just call list_system_processes.
644 (Fsystem_process_attributes): Just call system_process_attributes.
645 (procfs_list_system_processes, time_from_jiffies)
646 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
647 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
648
649 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
650 (list_system_processes): Rename from
651 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
652 Provide a do nothing implementation.
653 (system_process_attributes): Rename from
654 procfs_list_system_processes.
655 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 656 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
657
658 * w32.c (list_system_processes): Rename from
659 w32_list_system_processes.
660 (system_process_attributes): Rename from
661 w32_system_process_attributes.
662
663 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
664
665 * process.h (w32_list_system_processes)
666 (w32_system_process_attributes): Remove.
667 (list_system_processes, system_process_attributes): New
668 prototypes.
669
6a705b23
KH
6702008-12-19 Kenichi Handa <handa@m17n.org>
671
672 * xfont.c (xfont_decode_coding_xlfd): New function.
673 (xfont_encode_coding_xlfd): New function.
674 (xfont_list_pattern): Decode XLFD by iso-8859-1.
675 (xfont_list): Decode and encode XLFD by iso-8859-1.
676 (xfont_match): Likewise.
677 (xfont_list_family): Likewise.
678 (xfont_open): Likewise.
679
d66c0241 680 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
681 names are utf-8.
682
d66c0241 683 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
684 names are utf-8.
685
5a130941
JD
6862008-12-18 Jan Djärv <jan.h.d@swipnet.se>
687
688 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
689 changed.
bfd20325
JD
690 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
691 clicked on a detached tool bar button.
5a130941 692
fd95644b
DN
6932008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
694
695 * emacs.c (main): Print and error and exit when no data is read
696 from the pipe.
697
e6eee6ae
JR
6982008-12-17 Jason Rumney <jasonr@gnu.org>
699
700 * w32font.c (w32font_has_char): Always return -1.
701
a35dd56b
KH
7022008-12-16 Kenichi Handa <handa@m17n.org>
703
704 * font.c (font_open_entity): Fix previous change.
705
0e3635c2
DN
7062008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
707
708 * process.c: Include <limits.h>.
709
d4835507 7102008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
711
712 * font.c (font_update_drivers): Fix mistake in reconstructing the
713 driver list.
714
7152008-12-16 Chong Yidong <cyd@stupidchicken.com>
716
717 * font.c (font_clear_cache): Fix format of font cache data.
718
e2cbc401
CY
7192008-12-15 Chong Yidong <cyd@stupidchicken.com>
720
721 * xftfont.c (xftfont_open): Free Xft font pattern if
722 XftFontOpenPattern fails.
723
724 * xterm.c (x_free_frame_resources): Remove extraneous call to
725 free_frame_faces.
726
b131d535
CY
7272008-12-13 Chong Yidong <cyd@stupidchicken.com>
728
729 * xterm.c (x_delete_display): Move xim_close_dpy call to
730 x_delete_terminal.
731 (x_delete_terminal): Call xim_close_dpy.
732
e6df5336
JR
7332008-12-13 Jason Rumney <jasonr@gnu.org>
734
735 * w32font.c (intern_font_name): New function.
736 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
737 (w32font_open_internal, Fx_select_font): Decode font name.
738 (fill_in_logfont, list_all_matching_fonts): Encode font name.
739
740 * w32font.h (intern_font_name): Declare new function.
741
742 * w32uniscribe.c (add_opentype_font_name_to_list):
743 Use intern_font_name.
744
20d68145
CY
7452008-12-13 Chong Yidong <cyd@stupidchicken.com>
746
9f2554de
CY
747 * frame.c (Fdelete_frame): Call free_font_driver_list.
748
3d9bec9a
CY
749 * font.c (free_font_driver_list): Implement missing function.
750
20d68145
CY
751 * w32term.c (w32_term_init): Don't initialize the image cache
752 here; it will be done in init_frame_faces.
753
754 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
755 (struct x_display_info): Remove unused member null_pixel. New
756 member xim_callback_data.
757
758 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
759 (xim_initialize): Save pointer to callback function data.
760 (xim_close_dpy): Free callback function data. Call XCloseIM,
761 reverting 2008-11-04 change by David Smith.
762 (x_term_init): Don't initialize the image cache here; it will be
763 done in init_frame_faces. Remove ancient "null_pixel" cruft.
764 (x_delete_display): Free x_dnd_atoms member.
765
96f9306b
KH
7662008-12-13 Kenichi Handa <handa@m17n.org>
767
6dec9044
JB
768 * font.c (font_rescale_ratio): Moved from xfaces.c.
769 Argument type changed. Handle a font-spec too.
96f9306b 770 (font_score): Check Vface_font_rescale_alist.
6dec9044 771 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
772
773 * xfaces.c (font_rescale_ratio): Moved to font.c.
774
8d5b4964
CY
7752008-12-13 Chong Yidong <cyd@stupidchicken.com>
776
777 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
778
e6df5336
JR
7792008-12-12 Jason Rumney <jasonr@gnu.org>
780
781 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
782 Vwindow_system_version to the real w32 major version.
783
97c6058a
DN
7842008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
785
786 * term.c (init_tty): Move setting the terminal name before the
787 potential user: maybe_fatal.
788
ec4e88d7
CY
7892008-12-11 Chong Yidong <cyd@stupidchicken.com>
790
d4835507
JB
791 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
792 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 793
b4233ec9
JR
7942008-12-11 Jason Rumney <jasonr@gnu.org>
795
8ec71e23 796 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 797 SYMBOL_CHARSET. (Bug#547)
8ec71e23 798
b4233ec9 799 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 800 size for surrogates. (Bug#1096, bug#872)
b4233ec9 801
011a0143
JB
8022008-12-11 Juanma Barranquero <lekktu@gmail.com>
803
804 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
805
3c309f34
JB
8062008-12-11 Juanma Barranquero <lekktu@gmail.com>
807
808 * process.c (Fsystem_process_attributes, syms_of_process):
809 Fix typo in name of Ssystem_process_attributes.
810 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
811
fedc6ab5
JB
8122008-12-11 Juanma Barranquero <lekktu@gmail.com>
813
814 * syntax.c (Fmodify_syntax_entry): Doc fix.
815
ba3de0e8
JB
8162008-12-10 Juanma Barranquero <lekktu@gmail.com>
817
818 * font.c (Ffont_spec): Move usage to end of docstring.
819
174f1c74
JR
8202008-12-10 Jason Rumney <jasonr@gnu.org>
821
822 * w32font.c (Qcham): New symbol.
823 (font_supported_scripts): Add cham, and comments for other new
824 scripts in bitfield from OpenType spec.
9d32f818
JR
825 (add_font_entity_to_list): Limit unicode-sip fonts to those that
826 contain characters beyond the bmp.
174f1c74 827
7b649478
KH
8282008-12-10 Kenichi Handa <handa@m17n.org>
829
830 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 831 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
832 Qunicode_sip.
833
2133e2d1
JB
8342008-12-10 Juanma Barranquero <lekktu@gmail.com>
835
836 * coding.c (QCdefault_char): Rename from QCdefalut_char.
837 (Fcoding_system_put): Use QCdefault_char.
838 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
839
9af886ee
CY
8402008-12-09 Chong Yidong <cyd@stupidchicken.com>
841
74d819eb
CY
842 * xftfont.c (syms_of_xftfont): Fix typo.
843
4ccfa1c0 844 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 845
7c19d3ae
DN
8462008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
847
848 * emacs.c (main): Close daemon_pipe on exec.
849
567826bb
CY
8502008-12-08 Chong Yidong <cyd@stupidchicken.com>
851
852 * termchar.h (struct tty): New members termcap_term_buffer and
853 termcap_strings_buffer.
854
855 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 856 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
857 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
858 All callers changed.
859 (init_tty): Store termcap data and string buffers in new struct
860 tty members termcap_term_buffer and termcap_strings_buffer.
861 (delete_tty): Free them.
4ccfa1c0 862 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 863
aa96c42b
SZ
8642008-12-07 Seiji Zenitani <zenitani@mac.com>
865
866 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 867 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 868
b7e1d896
CY
8692008-12-06 Chong Yidong <cyd@stupidchicken.com>
870
871 * coding.c (make_conversion_work_buffer): Disable buffer
872 modification hooks in the work buffer.
873
b5ec91a5
EZ
8742008-12-05 Eli Zaretskii <eliz@gnu.org>
875
876 * process.c (procfs_system_process_attributes): If `nread' has a
877 negative value, assign zero to it.
878
a5d2a52b
CY
8792008-12-05 Chong Yidong <cyd@stupidchicken.com>
880
68c5540b 881 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 882
7bf1bb21
KH
8832008-12-05 Kenichi Handa <handa@m17n.org>
884
885 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
886 second character is a combining character.
887
2fdc7d00
EZ
8882008-12-05 Eli Zaretskii <eliz@gnu.org>
889
890 * process.c (procfs_system_process_attributes): Don't use cmd,
891 cmdsize, and q without initializing them first.
892
bf6bfba8
JR
8932008-12-04 Jason Rumney <jasonr@gnu.org>
894
895 * w32font.c (w32font_draw): Initialize orig_clip before getting
896 it, and delete it when finished.
897
a3b1a468
DN
8982008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
899
900 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
901 case when running as a daemon before detaching.
902
8b8be8eb
JB
9032008-12-03 Juanma Barranquero <lekktu@gmail.com>
904
805f2638 905 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 906
b1bde622
KH
9072008-12-03 Kenichi Handa <handa@m17n.org>
908
e500c47d
KH
909 * font.c (font_at): Set `multibyte' at first.
910
ca516334
KH
911 * coding.c (decode_coding_charset): Check type of an element of
912 vector VALIDS.
7bf1bb21 913 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 914
4ccfa1c0 915 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
916 (font_for_char): Likewise.
917
1e5ecd37
CY
9182008-12-03 Chong Yidong <cyd@stupidchicken.com>
919
d5b01609 920 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
921 (font_update_lface): Handle fonts with corrupted size specs,
922 i.e. non-int and non-float.
d5b01609 923
11e3a6e4 924 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 925 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 926 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 927
ab06788b
CY
928 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
929
1e5ecd37 930 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 931 underline_minimum_offset for underline position.
1e5ecd37 932
63c125ab
DN
9332008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
934
935 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
936
937 * character.c (c_string_width): Specify the type for LEN.
938
3a8406e1
KH
9392008-12-03 Kenichi Handa <handa@m17n.org>
940
4ccfa1c0 941 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 942 (decode_coding_utf_8): Likewise.
4ccfa1c0 943 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 944 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 945
651df7d9
CY
9462008-12-02 Chong Yidong <cyd@stupidchicken.com>
947
948 * keyboard.c (make_lispy_position): Only use PT if the selected
949 window is current.
950
1f625c6c
AS
9512008-12-02 Andreas Schwab <schwab@suse.de>
952
f7741ce9
AS
953 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
954
1f625c6c
AS
955 * doprnt.c (doprnt1): Fix size of charbuf.
956
92bc2678
CY
9572008-12-02 Chong Yidong <cyd@stupidchicken.com>
958
959 * keyboard.c (timer_check): Revert last change.
960
93b9e8cc
JB
9612008-12-02 Juanma Barranquero <lekktu@gmail.com>
962
963 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
964
fd7a37d5
JB
9652008-12-01 Juanma Barranquero <lekktu@gmail.com>
966
967 * makefile.w32-in: Update dependencies.
968 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
969
c115043b
AS
9702008-12-01 Andreas Schwab <schwab@suse.de>
971
972 * font.c (register_font_driver): Use xmalloc.
973 (font_put_frame_data): Likewise.
974
f5668d2a
CY
9752008-12-01 Chong Yidong <cyd@stupidchicken.com>
976
860d96be
CY
977 * xfaces.c (realize_x_face): Make abort condition clearer.
978
f5668d2a
CY
979 * gtkutil.c (update_frame_tool_bar): Initialize variable.
980
379c17e7
CY
9812008-11-30 Chong Yidong <cyd@stupidchicken.com>
982
983 * keyboard.c (timer_check): After a timer runs, ensure that the
984 selected window's buffer is current.
985
35f36d65
JB
9862008-11-30 Juanma Barranquero <lekktu@gmail.com>
987
f952c61c
JB
988 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
989 It was accidentally restored by the Unicode merge.
990
35f36d65
JB
991 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
992
b23077df
JB
9932008-11-29 Juanma Barranquero <lekktu@gmail.com>
994
995 * w32proc.c: Include "coding.h".
996 (Fw32_short_file_name): Encode filename passed to Windows API.
997 (Fw32_long_file_name): Encode filename passed to Windows API and
998 decode back the result. (Bug#1433)
999
b8ebe9dd
KH
10002008-11-29 Kenichi Handa <handa@m17n.org>
1001
8cc53f96
KH
1002 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1003 not before accessing it.
1004
b8ebe9dd
KH
1005 * charset.c (Fdefine_charset_internal): After calculating
1006 min_char, max_char, and fastmap, copy the charset structure again.
1007 (encode_char): Fix the previous change.
1008
59bc82c0
SZ
10092008-11-28 Seiji Zenitani <zenitani@mac.com>
1010
1011 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1012
1013 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1014
1015 * nsterm.m (x_set_frame_alpha): New function.
1016
32247e3d
EZ
10172008-11-27 Eli Zaretskii <eliz@gnu.org>
1018
1019 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1020
b003e5ff
JB
10212008-11-27 Juanma Barranquero <lekktu@gmail.com>
1022
1023 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1024 pointer to check_face_name.
1025
708550f5
KH
10262008-11-27 Kenichi Handa <handa@m17n.org>
1027
1028 * category.h (SET_CATEGORY_SET): Call set_category_set.
1029 (set_category_set): Extern it.
1030
1031 * category.c (hash_get_category_set): New function.
1032 (Fmodify_category_entry): Adjusted for the change of
1033 char_table_ref_and_range. Call hash_get_category_set to get a
1034 category set to store in the table.
1035
1036 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1037 Funify_charset.
1038
2ae37cf0 1039 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1040 (DECODE_CHAR): Check if the decoder vector is ready.
1041 (ENCODE_CHAR): Check if the encoder char-table is ready.
1042 (maybe_unify_char): Extern it.
1043
1044 * charset.c (Vchar_unified_charset_table): Delete it.
1045 (inhibit_load_charset_map): New variable.
1046 (temp_charset_work): New variable.
1047 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1048 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1049 New macros.
1050 (load_charset_map): Meaning of control_flag changed. If
1051 inhibit_load_charset_map is nonzero, setup a table in
1052 temp_charset_work.
1053 (load_charset): New argument control_flag.
1054 (map_charset_for_dump): New function.
1055 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1056 map_charset_for_dump.
1057 (Fdefine_charset_internal): If the charset method is MAP, load
1058 mapping tables by calling load_charset.
1059 (Funify_charset): Don't load a mapping table but directly set
1060 Vchar_unify_table.
1061 (maybe_unify_char): New function.
1062 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1063 Handle the case of inhibit_load_charset_map being nonzero.
1064 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1065 Handle the case of inhibit_load_charset_map being nonzero.
1066 (Fclear_charset_maps): Just free temp_charset_work.
1067 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1068 variable.
1069
1070 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1071 change of char_table_ref_and_range.
1072 (char_table_ref_and_range): Change the meaning of argument FROM
1073 and TO. Now the caller must provide initial values for *FROM
1074 and *TO.
1075
1076 * fontset.c (fontset_add): Adjusted for the change of
1077 char_table_ref_and_range.
1078 (fontset_get_font_group): Likewise.
1079 (Ffontset_info): Likewise.
1080
1081 * keymap.c (describe_vector): Adjusted for the change of
1082 char_table_ref_and_range. For char-table, put boundary between
1083 non-ASCII and 8-bit characters.
1084
1085 * print.c (print_object): For bool-vector, delete unnecessary
1086 check of ASCII_BYTE_P.
1087
9196133b
JR
10882008-11-26 Jason Rumney <jasonr@gnu.org>
1089
1090 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1091 leading in font height. (Bug#879)
9196133b 1092
9f688acf
GM
10932008-11-26 Glenn Morris <rgm@gnu.org>
1094
1095 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1096 redefinition with ifdef. (Bug#1383)
1097
90d19aff
AR
10982008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1099
1100 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1101
4ccfa1c0 11022008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1103
1104 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1105 New EmacsView methods.
1106 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1107 Fixes bug #1048,1357,1414.
1108
11092008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1110
1111 Fix bug #1362.
1112 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1113 is not an indexed color.
1114 * nsterm.m (free_indexed_color): Add argument checking.
1115 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1116
e7d5ecb3
CY
11172008-11-24 Chong Yidong <cyd@stupidchicken.com>
1118
1119 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1120 Document confirm-after-completion value for
1121 minibuffer-completion-confirm.
1122
c285743c
JR
11232008-11-24 Jason Rumney <jasonr@gnu.org>
1124
1125 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1126 warning.
1127
b0857706
JR
11282008-11-23 Jason Rumney <jasonr@gnu.org>
1129
1130 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1131 restored before returning.
1132
1133 * w32font.c (check_face_name): New function.
1134 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1135 fonts. (Bug#642)
b0857706 1136
ee50ff07
MR
11372008-11-22 Martin Rudalics <rudalics@gmx.at>
1138
1139 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1140 confirm-nonexistent-file-or-buffer in doc-string.
1141
b8ff72fa
SM
11422008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1143
1144 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1145 Fix copy/paste typo. Add checks.
1146
cee53ed4
KH
11472008-11-21 Kenichi Handa <handa@m17n.org>
1148
1149 * coding.c (detect_coding_iso_2022): Reject invalid composition
1150 sequence.
1151 (DECODE_COMPOSITION_START): If the current source is the last
1152 block, and the current composition doesn't end, regard this
1153 sequence as invalid.
1154 (decode_coding_iso_2022): Handle invalid composition sequence.
1155
f6ef1e65
MR
11562008-11-20 Martin Rudalics <rudalics@gmx.at>
1157
1158 * window.c (coordinates_in_window): Don't return
1159 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1160 line when the window is not the rightmost one. (Bug#1372)
1161
e08b1705
MR
11622008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1163
1164 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1165
ad98e89f
EZ
11662008-11-15 Eli Zaretskii <eliz@gnu.org>
1167
1168 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1169 and bright_bg if noninteractive is non-zero.
1170
fb098a4b
CY
11712008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1172
1173 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1174 x_draw_glyph_string_background.
1175
1176 * w32term.c (x_draw_glyph_string): Likewise.
1177
ce952b6e
CY
11782008-11-15 Chong Yidong <cyd@stupidchicken.com>
1179
1180 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1181 the next glyph string once past the overhang width.
1182
1183 * nsterm.m (ns_draw_glyph_string): Likewise.
1184
1185 * w32term.c (x_draw_glyph_string): Likewise.
1186
26ea7079
CY
11872008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1188
1189 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1190 double file close.
1191
1c33c906
MR
11922008-11-14 Martin Rudalics <rudalics@gmx.at>
1193
1194 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1195 dedicated status of window before attempting to display another
1196 buffer in it.
1197
8fc29035
JB
11982008-11-14 Juanma Barranquero <lekktu@gmail.com>
1199
1200 * msdos.c (Fmsdos_long_file_names):
1201 (syms_of_msdos) <dos-unsupported-char-glyph>:
1202 * dosfns.c (Fint86): Fix typos in docstrings.
1203
55fb4286
EZ
12042008-11-14 Eli Zaretskii <eliz@gnu.org>
1205
1206 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1207
3fda0315
KY
12082008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1209
1210 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1211
7e849c17
CY
12122008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1213
1214 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1215
1216 * frame.h: Negative alpha means "don't touch".
1217
1218 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1219
1220 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1221
b9fd67bd
DN
12222008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1223
1224 * hftctl.c:
1225 * chpdef.h:
1226 * acldef.h: Remove files used only for systems no longer supported.
1227
1228 * Makefile.in: Fix .o alphabetical ordering.
1229 (hftctl.o): Remove dependency, file removed.
1230 (keymap.o, print.o): Depend on charset.h.
1231
d5998e03
KH
12322008-11-10 Kenichi Handa <handa@m17n.org>
1233
2ae37cf0 1234 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1235
be70e183
CY
12362008-11-08 Chong Yidong <cyd@stupidchicken.com>
1237
1238 * dired.c (file_name_completion): If completion_ignore_case is
1239 enabled, ignore case when checking completion-regexp-list.
1240
7cf94eac
EZ
12412008-11-08 Eli Zaretskii <eliz@gnu.org>
1242
1243 * vm-limit.c (get_lim_data): Fix last change.
1244
ee107a89
KH
12452008-11-08 Kenichi Handa <handa@m17n.org>
1246
1247 * character.c (Fget_byte): New function.
1248 (syms_of_character): Defsubr Fget_byte.
1249
5fd15622
CY
12502008-11-07 Chong Yidong <cyd@stupidchicken.com>
1251
1252 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1253 cursor position is valid after scrolling.
1254
13d62fad
JB
12552008-11-06 Juanma Barranquero <lekktu@gmail.com>
1256
1257 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1258
a1dd2936
GM
12592008-11-06 Glenn Morris <rgm@gnu.org>
1260
1261 * xterm.c (handle_one_xevent): Don't let popup menus cause
1262 mouse-autoselect-window related window switching. (Bug#1261)
1263
860cd236
CY
12642008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1265
1266 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1267
653a3150
AS
12682008-11-04 Andreas Schwab <schwab@suse.de>
1269
1270 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1271
870f5cac
CY
12722008-11-03 Chong Yidong <cyd@stupidchicken.com>
1273
1274 * xfns.c (Fx_wm_set_size_hint): New function.
1275
1e02f3cb
MR
12762008-11-03 Martin Rudalics <rudalics@gmx.at>
1277
1278 * textprop.c (Fprevious_single_char_property_change): Return 0
1279 when there's no change in a string. (Bug#1301)
1280
e630dfc6
MR
12812008-11-02 Martin Rudalics <rudalics@gmx.at>
1282
1283 * frame.c (do_switch_frame): New argument NORECORD passed to
1284 Fselect_window.
1285 (Fselect_frame): New argument NORECORD passed to
1286 do_switch_frame.
1287 (Fset_frame_selected_window): New argument NORECORD passed to
1288 Fselect_frame.
1289 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1290 in call of do_switch_frame.
1291 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1292 Handle NORECORD argument in call of Fselect_frame.
1293 * lisp.h (do_switch_frame, Fselect_frame)
1294 (Fset_frame_selected_window): Adjust declarations.
1295 * window.c (select_frame_norecord): New function.
1296 (run_window_configuration_change_hook): Use it and call
1297 Fselect_frame with NORECORD set.
1298 (Fselect_window): Pass NORECORD to Fselect_frame.
1299 (Fset_window_configuration): Handle NORECORD argument in call of
1300 do_switch_frame.
1301 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1302 Fset_frame_selected_window.
1303 * keyboard.c (command_loop_1): Handle NORECORD in call of
1304 Fselect_frame (currently ifdefd).
1305
9020b223
GM
13062008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1307
1308 * emacs.c (USAGE2): Untabify.
1309
793ffee8
SM
13102008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1311
1312 * composite.c (fill_gstring_header): Fix copy/paste typo.
1313
ab6d1131
MR
13142008-10-31 Martin Rudalics <rudalics@gmx.at>
1315
1316 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1317 (Fother_window): Rename argument and rewrite doc-string.
1318 (select_window_norecord): Fix return value. (Bug#1276)
1319
601a9cf1
JB
13202008-10-30 Juanma Barranquero <lekktu@gmail.com>
1321
1322 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1323 new frames overriding foreground for tooltips. Based on similar patch
1324 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1325
813b0652
CY
13262008-10-29 Chong Yidong <cyd@stupidchicken.com>
1327
1328 * emacs.c (Fdaemon_initialized): Initialize nfd.
1329
4414f58f
MR
13302008-10-29 Martin Rudalics <rudalics@gmx.at>
1331
1332 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1333 (Fwindow_text_height): Clarify doc-strings.
1334 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1335 doc-string of window-scroll-functions.
1336
ecdcaa09
RS
13372008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1338
1339 * category.c (syms_of_category): Fix typo in docstring.
1340
23fe745a
JB
13412008-10-28 Juanma Barranquero <lekktu@gmail.com>
1342
1343 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1344 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1345 Fix typos in docstrings.
1346
ff808935
DN
13472008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1348
1349 * emacs.c (daemon_pipe): Make non-static.
1350 (IS_DAEMON): Move definition ...
1351 * lisp.h (IS_DAEMON): ... here.
1352 (daemon_pipe): Declare.
1353 (is_daemon): Remove.
1354 * dispnew.c (init_display): Use IS_DAEMON.
1355
fc012771
SM
13562008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1357
1358 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1359 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1360
1361 * emacs.c (is_daemon): Remove.
1362 (main): Don't set is_daemon.
1363 (IS_DAEMON): New macro.
1364 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1365 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1366 parent exits.
1367 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1368
d8bdbe6f
CY
13692008-10-27 Chong Yidong <cyd@stupidchicken.com>
1370
d1a072bf
CY
1371 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1372 over-sized glyph, draw it with the default glyph width.
1373
e2e325aa
CY
1374 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1375 glyph, draw it with the default glyph width.
1376
1377 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1378 glyph, draw it with the default glyph width.
1379
d8bdbe6f
CY
1380 * xdisp.c (try_scrolling): When computing the distance from the
1381 scroll margin to PT, try moving some distance past the window
1382 bottom before giving up.
1383
7bfac547
MR
13842008-10-27 Martin Rudalics <rudalics@gmx.at>
1385
1386 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1387 (Fset_window_buffer): Explain in doc-string that a window can be
1388 "strongly" dedicated to its buffer.
1389
4ff029f6
DN
13902008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1391
1392 * emacs.c (daemon_name): New variable.
1393 (main): Deal with --daemon=SERVER_NAME.
1394 (Fdaemonp): Return a name if one was passed to --daemon.
1395
5790ef40
DN
13962008-10-26 Romain Francoise <romain@orebokech.com>
1397
f9bd0df9 1398 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1399 (main): Create a pipe before forking, make the parent exit only after
1400 the child has closed its end of the pipe. Move closing the
1401 descriptors ...
1402 (Fdaemon_initialized): ... here. New function.
1403
f5385255
SM
14042008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1405
4d632321
SM
1406 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1407 the previous unoptimized table.
1408
f5385255
SM
1409 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1410 the distinction between non-nil and non-t value of `dedicated'.
1411
6c56a0f3
CY
14122008-10-25 Chong Yidong <cyd@stupidchicken.com>
1413
1414 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1415 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1416
fec89261
MR
14172008-10-25 Martin Rudalics <rudalics@gmx.at>
1418
1419 * window.c (Fget_buffer_window, Fdelete_windows_on)
1420 (Freplace_buffer_in_windows): Make buffer argument optional and
1421 rename to buffer_or_name.
1422
34fcddd0
CY
14232008-10-24 Chong Yidong <cyd@stupidchicken.com>
1424
f5385255
SM
1425 * xdisp.c (handle_single_display_spec, handle_display_prop):
1426 Undo 2005-05-16 change.
34fcddd0
CY
1427 (handle_stop): Pop iterator if it's loaded with an empty string.
1428 (get_overlay_strings_1): Don't save iterator if it's loaded with
1429 an empty string (bug#1201).
1430
064766f2
KH
14312008-10-24 Kenichi Handa <handa@m17n.org>
1432
1433 * ftfont.c (ftfont_otf_features): Fix previous change.
1434 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1435 calling ftfont_otf_features.
1436
f9bd0df9 14372008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1438
1439 * font.c (font_match_p): Fix for the case that a vector of
1440 characters is in script-representative-chars.
1441
1dae9197
MA
14422008-10-24 Michael Albinus <michael.albinus@gmx.de>
1443
1444 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1445 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1446 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1447 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1448 macro. (Bug#1186).
1449
f9bd0df9 14502008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1451
1452 * s/sol2-10.h: New file.
1453
878a4584
JB
14542008-10-23 Juanma Barranquero <lekktu@gmail.com>
1455
1456 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1457 poor beast has survived 9+ years and the jump from xterm.c!).
1458
cd265ca6
MR
14592008-10-23 Martin Rudalics <rudalics@gmx.at>
1460
1461 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1462 Reword doc-string.
f5385255 1463 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1464
472a4dc9
JB
14652008-10-23 Juanma Barranquero <lekktu@gmail.com>
1466
1467 * character.c (syms_of_character) <script-representative-chars>:
1468 <unicode-category-table>: Doc fixes.
1469
159bd5a2
NF
14702008-10-23 Noah Friedman <friedman@splode.com>
1471
1472 * coding.c (make_conversion_work_buffer): Check that
1473 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1474 Fget_buffer_create.
1475
49f9c344
KH
14762008-10-23 Kenichi Handa <handa@m17n.org>
1477
1478 * font.c (font_add_log): Check the values of extra properties.
1479
12bb3111
MR
14802008-10-22 Martin Rudalics <rudalics@gmx.at>
1481
1482 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1483 Reword doc-string.
1484 (Fset_window_parameter): Use NILP.
1485 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1486 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1487
bbeb4e99
JB
14882008-10-22 Juanma Barranquero <lekktu@gmail.com>
1489
1490 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1491
14922008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1493
1494 * nsfns.m (ns_appkit_version): New function.
1495 (x-server-version): Use it.
1496 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1497 (x-server-vendor): Don't check_ns().
1498
1499 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1500
a9b555d3
JB
15012008-10-22 Juanma Barranquero <lekktu@gmail.com>
1502
1503 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1504 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1505
4626499f
KH
15062008-10-22 Kenichi Handa <handa@m17n.org>
1507
e3681952
KH
1508 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1509 scripts.
1510
4626499f
KH
1511 * category.c (word_boundary_p): Check scripts instead of charset.
1512 Handle nil value in word-separating-categories and
1513 word-combining-categories.
1514 (syms_of_category): Fix docstrings of word-separating-categories
1515 and word-combining-categories.
1516
1560f91a
EZ
15172008-10-21 Eli Zaretskii <eliz@gnu.org>
1518
1519 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1520 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1521
f4668441
MR
15222008-10-21 Martin Rudalics <rudalics@gmx.at>
1523
1524 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1525 Rename arg "buffer" to "buffer_or_name".
1526 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1527 it optional.
1528 (no_switch_window): Remove since the return value is not used.
a9b555d3 1529 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1530 Consider window as dedicated when Fwindow_dedicated_p returns a
1531 non-nil value.
1532 * lisp.h: Remove prototype for no_switch_window.
1533
fd75ddb2
JD
15342008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1535
1536 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1537 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1538
07295713
KH
15392008-10-21 Kenichi Handa <handa@m17n.org>
1540
1541 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1542 check Vlatin_extra_code_table.
1543
712adc82
EZ
15442008-10-20 Eli Zaretskii <eliz@gnu.org>
1545
1546 * fileio.c (Fset_file_modes): Doc fix.
1547
f549eb0b
MA
15482008-10-19 Michael Albinus <michael.albinus@gmx.de>
1549
1550 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1551 in arrays.
1552
aac0c6e3
MR
15532008-10-19 Martin Rudalics <rudalics@gmx.at>
1554
1555 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1556 Mention kill-buffer in doc-string.
1557 (Fset_window_buffer): Reinsert tem check removed in last commit.
1558 (Fenlarge_window, Fshrink_window): Have argument names and
1559 doc-string follow Elisp manual more closely.
1560
15612008-10-18 Eli Zaretskii <eliz@gnu.org>
1562
1563 * fileio.c (Fset_file_modes): Doc fix.
1564
15652008-10-18 Martin Rudalics <rudalics@gmx.at>
1566
1567 * window.c (Fwindow_width, Fset_window_start)
1568 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1569 (Fdelete_windows_on, Freplace_buffer_in_windows):
1570 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1571 (Fwindow_dedicated_p): Make window argument optional.
1572 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1573 (Fset_window_buffer): Respect any non-nil dedicated value for
1574 window. Rename "buffer" argument to "buffer_or_name".
1575
15762008-10-18 Ulrich Mueller <ulm@gentoo.org>
1577
1578 * m/sh3.h: New file, machine description for SuperH.
1579
15802008-10-17 Martin Rudalics <rudalics@gmx.at>
1581
1582 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1583
15842008-10-17 Kenichi Handa <handa@m17n.org>
1585
1586 * ftfont.c (ftfont_otf_features): Fix indexing
1587 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1588
15892008-10-16 Magnus Henoch <mange@freemail.hu>
1590
1591 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1592 (Fdbus_call_method_asynchronously): Ditto.
1593 This change makes C-h f display the argument list.
1594
15952008-10-16 Chong Yidong <cyd@stupidchicken.com>
1596
1597 * fileio.c (Fexpand_file_name): Doc fix.
1598
1599 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1600 of :foreground and :background equivalent to unspecified (20.x
1601 compatibility).
1602
16032008-10-15 Eli Zaretskii <eliz@gnu.org>
1604
1605 * buffer.c (syms_of_buffer): Doc fix.
1606
16072008-10-14 Kenichi Handa <handa@m17n.org>
1608
1609 * font.c (font_clear_prop): When clearing font width, clear the
1610 average width field too.
1611
16122008-10-12 Andreas Schwab <schwab@suse.de>
1613
1614 * ftfont.c (ftfont_shape_by_flt): Make static.
1615 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1616
1617 * font.c: Don't include <m17n-flt.h>.
1618
16192008-10-10 Eli Zaretskii <eliz@gnu.org>
1620
1621 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1622
16232008-10-09 Eli Zaretskii <eliz@gnu.org>
1624
1625 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1626 away code.
1627
16282008-10-09 Chong Yidong <cyd@stupidchicken.com>
1629
1630 * dispnew.c (update_text_area): Avoid looping due to large glyph
1631 overhangs (bug#1070).
1632
16332008-10-09 Kenichi Handa <handa@m17n.org>
1634
1635 * fontset.c (face_for_char): If face->fontset is negative, just
1636 return ascii_face.
1637
f5385255
SM
1638 * font.c (font_delete_unmatched): Fix previous change.
1639 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1640
16412008-10-09 Martin Rudalics <rudalics@gmx.at>
1642
1643 * frame.c (Fraise_frame): On text-only terminals select frame in
1644 order to make it visible. (Bug#1061)
1645
16462008-10-08 Chong Yidong <cyd@stupidchicken.com>
1647
1648 * fontset.c (fontset_find_font): Check frame validity.
1649
16502008-10-07 Chong Yidong <cyd@stupidchicken.com>
1651
a9b555d3 1652 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1653 (xg_display_close): Allow Emacs to close all displays (bug#985).
1654
16552008-10-06 Andreas Schwab <schwab@suse.de>
1656
f5385255 1657 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1658
16592008-10-06 Chong Yidong <cyd@stupidchicken.com>
1660
f5385255 1661 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1662
a9b555d3 1663 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1664
1665 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1666 during initialization.
1667
16682008-10-04 Eli Zaretskii <eliz@gnu.org>
1669
1670 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1671 whole thing on MSDOS frames as well as on a TTY.
1672
1673 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1674 well as for TTY.
1675 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1676 well as on a TTY.
1677
1678 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1679 as well as for TTY.
1680
1681 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1682
1683 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1684 MSDOS frames as well.
1685
16862008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1687
1688 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1689 correct arguments.
1690 * menu.c (find_and_return_menu_selection) Add cast.
1691
16922008-10-03 Glenn Morris <rgm@gnu.org>
1693
1694 * emacs.c (USAGE1): Add --daemon.
1695
16962008-10-02 Eli Zaretskii <eliz@gnu.org>
1697
1698 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1699 100, so it's in percents as advertised.
1700
17012008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1702
1703 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1704 (ns_output.current_cursor, ns_output.desired_cursor)
1705 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1706 (FRAME_NEW_CURSOR_COLOR): Remove.
1707
1708 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1709 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1710 enumeration (HOLLOW_BOX_CURSOR, etc.).
1711
1712 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1713 (draw_window_cursor): Simplify code.
f5385255
SM
1714 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1715 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1716 updates manually.
a9b555d3
JB
1717 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1718 Use core Emacs cursor types.
aac0c6e3 1719
b8ff72fa 1720 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1721
17222008-10-02 Martin Rudalics <rudalics@gmx.at>
1723
1724 * process.c (Faccept_process_output): Fix doc-string.
1725
17262008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1727
1728 * gmalloc.c (__sbrk): Also define for uClibc.
1729
1730 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1731 for uClibc.
1732
17332008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1734
1735 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1736 styles.
1737 (nsfont_open): Reenable the cache.
1738
17392008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1740
1741 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1742 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1743
17442008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1745
1746 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1747 a suspended terminal.
1748
17492008-09-30 Michael Albinus <michael.albinus@gmx.de>
1750
1751 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1752
17532008-09-30 Eli Zaretskii <eliz@gnu.org>
1754
1755 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1756
17572008-09-30 Chong Yidong <cyd@stupidchicken.com>
1758
1759 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1760 in a continued line coincides with a line beginning.
1761
17622008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1763
1764 * nsfont.m (nsfont_trait_distance): Fix bug.
1765 (nsfont_list): Return a list rather than a vector (syncs with Handa
1766 changes of 2008-05-14).
1767 (nsfont_open): Improve logging.
1768
17692008-09-29 Andreas Schwab <schwab@suse.de>
1770
1771 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1772
17732008-09-28 Martin Rudalics <rudalics@gmx.at>
1774
1775 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1776 name as char-resolve-modifiers.
1777 Reported by: Markus Triska <markus.triska@gmx.at>
1778
17792008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1780
1781 * dispnew.c (init_display): Return earlier when running as a daemon.
1782
17832008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1784
1785 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1786
17872008-09-27 Eli Zaretskii <eliz@gnu.org>
1788
1789 * composite.c (Fcomposition_get_gstring)
1790 (Fcompose_region_internal, Fcompose_string_internal)
1791 (Ffind_composition_internal): Doc fix.
1792 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1793 (syms_of_composite) <auto-composition-function>: Doc fix.
1794 (syms_of_composite) <composition-function-table>: Doc fix.
1795
17962008-09-25 Chong Yidong <cyd@stupidchicken.com>
1797
1798 * search.c (wordify): New argument for lax word-ends.
1799 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1800
18012008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1802
1803 * lisp.h (is_daemon): Declare.
1804 * dispnew.c (init_display): Do not try to initialize the terminal
1805 when running as a daemon.
1806
18072008-09-22 Chong Yidong <cyd@stupidchicken.com>
1808
1809 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1810 x_display_pixel_height.
1811
18122008-09-22 Martin Rudalics <rudalics@gmx.at>
1813
1814 * undo.c (record_point): Don't call Fundo_boundary for first
1815 change. (Bug#731)
1816
18172008-09-22 Juanma Barranquero <lekktu@gmail.com>
1818
1819 * emacs.c (Fdaemonp): Doc fix.
1820
18212008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1822
1823 * emacs.c (main): Place #ifdef in the proper place.
1824
18252008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1826
1827 * emacs.c (standard_args): Add --daemon.
1828 (main): Disconnect from the terminal when --daemon is passed.
1829 (is_daemon): New variable.
1830 (Fdaemonp): New function.
1831 (syms_of_emacs): Defsubr it.
1832
18332008-09-20 Chong Yidong <cyd@stupidchicken.com>
1834
1835 * xdisp.c (get_next_display_element): Handle string display
1836 correctly when checking for the end of a box run.
1837
18382008-09-20 Glenn Morris <rgm@gnu.org>
1839
1840 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1841 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1842 (Frename_file): Avoid copying to trash if a rename involves
1843 a delete. (Bug#964).
1844
18452008-09-20 Eli Zaretskii <eliz@gnu.org>
1846
1847 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1848 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1849 frames as well as termcap frames.
1850 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1851 get_named_tty.
1852
18532008-09-19 Eli Zaretskii <eliz@gnu.org>
1854
1855 * process.c (procfs_system_process_attributes): Fix cmdline in
1856 case /proc/PID/cmdline is empty.
1857
1858 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1859 x_display_pixel_height.
1860
18612008-09-19 Juanma Barranquero <lekktu@gmail.com>
1862
1863 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1864
1865 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1866 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1867
18682008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1869
1870 * dispextern.h (struct it): Move line_wrap away from the middle of
1871 bitfields. Move voffset in struct iterator_stack_entry after the
1872 bitfields. Move tab_width near after another short.
1873
18742008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1875
1876 * frame.h (struct frame): Move alpha from the middle of bitfields.
1877
1878 * window.h (struct window): Move frozen_window_start_p after the
1879 rest of the bitfields to reduce padding.
1880
18812008-09-18 Chong Yidong <cyd@stupidchicken.com>
1882
1883 * xterm.h (x_display_info): Remove `height' and `width' members.
1884
1885 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1886
1887 * w32term.h (w32_display_info): Remove `height', `width',
1888 `height_in', and `width_in' members.
1889
b8ff72fa
SM
1890 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1891 New functions.
aac0c6e3
MR
1892 (x_calc_absolute_position): Use them.
1893 (x_term_init): Omit removed `height' and `width' members.
1894
b8ff72fa
SM
1895 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1896 New functions.
aac0c6e3
MR
1897 (w32_read_socket, x_calc_absolute_position): Use them.
1898 (w32_initialize_display_info, w32_term_init): Omit removed members
1899 of w32_display_info.
1900
b8ff72fa
SM
1901 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1902 New functions.
1903 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1904
b8ff72fa
SM
1905 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1906 New functions.
aac0c6e3
MR
1907 (x_calc_absolute_position): Use them.
1908 (x_term_init): Omit removed `height' and `width' members.
1909
1910 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1911 (compute_tip_xy):
1912 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1913 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1914 x_display_pixel_width.
1915
19162008-09-18 Kenichi Handa <handa@m17n.org>
1917
1918 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1919 (composition_compute_stop_pos): Fix handling of static composition.
1920 (Fcomposition_get_gstring): Check FROM and TO at first.
1921
19222008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1923
1924 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1925 mixup (YAILOM).
1926
19272008-09-17 Chong Yidong <cyd@stupidchicken.com>
1928
1929 * indent.c (Fvertical_motion): Use position reported by iterator
1930 instead of PT for determining screen motion (bug#943).
1931
19322008-09-17 Romain Francoise <romain@orebokech.com>
1933
1934 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1935
19362008-09-17 Kenichi Handa <handa@m17n.org>
1937
1938 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1939
1940 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1941 if necessary.
1942
19432008-09-16 Kenichi Handa <handa@m17n.org>
1944
1945 * coding.c (make_conversion_work_buffer): Avoid calling
1946 Fget_buffer_create if it is not necessary.
1947
19482008-09-15 Martin Rudalics <rudalics@gmx.at>
1949
1950 * window.c (Fselect_window): Don't update window_select_count and
1951 use_time when norecord is not nil.
1952
19532008-09-14 Kenichi Handa <handa@m17n.org>
1954
1955 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1956 specpdl_ptr.
1957
19582008-09-12 Kenichi Handa <handa@m17n.org>
1959
1960 * indent.c (scan_for_column): Don't handle automatic composition
1961 if the current buffer is not associated with a window.
1962
1963 * composite.c (composition_reseat_it): If the current buffer is
1964 not associated with a window, ignore the automatic composition.
1965 (find_automatic_composition): Likewise.
1966
19672008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1968
1969 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1970 (Fgpm_mouse_stop): Use it.
1971 * termhooks.h (close_gpm): Declare.
1972 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1973 connection if Gpm_GetEvent fails.
1974
1975 * window.c (set_window_buffer): Always preserve current-buffer.
1976
19772008-09-12 Glenn Morris <rgm@gnu.org>
1978
1979 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1980
19812008-09-11 Glenn Morris <rgm@gnu.org>
1982
1983 * charset.c (charset-map-path): Doc fix.
1984
19852008-09-10 Kenichi Handa <handa@m17n.org>
1986
1987 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1988
1989 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1990 compose a grapheme cluster with the preceding base glyph.
1991
1992 * composite.c (composition_compute_stop_pos): Fix previous change.
1993 Reset cmp_it->id to -1 at first.
1994
19952008-09-10 Glenn Morris <rgm@gnu.org>
1996
1997 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1998
19992008-09-09 Chong Yidong <cyd@stupidchicken.com>
2000
2001 * keyboard.c (read_key_sequence): Reapply translation maps when
2002 switching keyboards.
2003
20042008-09-09 Kenichi Handa <handa@m17n.org>
2005
2006 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2007 characters.
2008
2009 * composite.c (FORWARD_CHAR): Fix calculation
2010 of (POSITION).pos_byte.
2011 (composition_compute_stop_pos): Limit the search of composition to
2012 at most 500 characters ahead. If we reach the limit or find a
2013 newline, set cmp_it->ch to -2 and return 0.
2014 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2015
20162008-09-08 Kenichi Handa <handa@m17n.org>
2017
2018 * indent.c (Fvertical_motion): Be sure to set
2019 it_overshoot_expected if it.cmp_it.id is non-negative.
2020
20212008-09-07 Andreas Schwab <schwab@suse.de>
2022
2023 * callproc.c (Fcall_process): Don't hold references to string data
2024 across garbage collection. Move initialisation of new_argv down
2025 to avoid compiler bug.
2026
20272008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2028
2029 * process.c (Fsystem_process_attributes): Doc fix.
2030
20312008-09-07 Chong Yidong <cyd@stupidchicken.com>
2032
2033 * callproc.c (Fcall_process): Canonicalize current directory name.
2034
2035 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2036 iterator advances to the next line if the current line ends in a
2037 continued tab.
2038
20392008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2040
2041 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2042 member to point to cmp_from.
2043
2044 * xdisp.c: Doc fix for references to gidx data member.
2045
20462008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2047
2048 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2049
20502008-09-07 Kenichi Handa <handa@m17n.org>
2051
2052 * composite.c (FORWARD_CHAR): Check STOP after
2053 incrementing (POSITION).pos.
2054
20552008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2056
2057 * process.c (Fsystem_process_attributes): Doc fix.
2058
20592008-09-06 Chong Yidong <cyd@stupidchicken.com>
2060
2061 * keyboard.c (Ftop_level): Doc fix.
2062
20632008-09-06 Eli Zaretskii <eliz@gnu.org>
2064
2065 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2066 minibuffer, don't let lower part of menu invade the echo area.
2067
2068 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2069 "char *q" to access menu text and advance through it. Revert the
2070 change that displayed ">" instead of ASCII character 0x10.
2071
20722008-09-05 Eli Zaretskii <eliz@gnu.org>
2073
2074 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2075 toggle boxes and radio buttons on MS-DOS as well.
2076
20772008-09-05 Kenichi Handa <handa@m17n.org>
2078
2079 * composite.c (autocmp_chars): Check lookback count.
2080 (composition_compute_stop_pos): Set cmp_it->lookback.
2081 (composition_reseat_it): Check lookback count.
2082 (struct position_record): New struct.
2083 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2084 (find_automatic_composition): New function.
2085 (composition_adjust_point): Use find_automatic_composition.
2086
2087 * dispextern.h (struct composition_it): New member lookback.
2088
20892008-09-02 Chong Yidong <cyd@stupidchicken.com>
2090
2091 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2092 if moving by a single line.
2093
20942008-09-02 Andreas Schwab <schwab@suse.de>
2095
2096 * xterm.c (x_delete_display): Fix merge error.
2097
2098 * fileio.c (Fexpand_file_name): Remove unused variables.
2099
21002008-09-02 Eli Zaretskii <eliz@gnu.org>
2101
2102 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2103 storage on all platforms, not just on DOS_NT.
2104
21052008-09-02 Jason Rumney <jasonr@gnu.org>
2106
b8ff72fa
SM
2107 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2108 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2109
21102008-09-01 Chong Yidong <cyd@stupidchicken.com>
2111
2112 * xfaces.c (Finternal_set_alternative_font_family_alist)
2113 (Finternal_set_alternative_font_registry_alist): Properly copy
2114 entire alist structure.
2115
21162008-09-01 Kenichi Handa <handa@m17n.org>
2117
d66c0241 2118 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2119 representative chars of the script is a vector.
d66c0241
JB
2120 (ftfont_list): Handle the case where the representative chars of
2121 the script is a vector.
aac0c6e3
MR
2122
2123 * character.c (syms_of_character): Docstring of
2124 script-representative-chars fixed.
2125
21262008-08-31 Eli Zaretskii <eliz@gnu.org>
2127
2128 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2129 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2130 the menu. Allocate larger buffer for `text', to account for
2131 possible ^C characters.
2132
21332008-08-31 Martin Rudalics <rudalics@gmx.at>
2134
2135 * xdisp.c (prepare_menu_bars): Don't call
2136 Vwindow_size_change_functions with arg Qt.
2137
21382008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2139
2140 * font.h (font_range):
2141 * fileio.c (report_file_error):
2142 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2143
21442008-08-30 Glenn Morris <rgm@gnu.org>
2145
2146 * data.c (Fmake_variable_frame_local): Doc fix.
2147
2148 * frame.c (Fmodify_frame_parameters): Doc fix.
2149
21502008-08-30 Eli Zaretskii <eliz@gnu.org>
2151
2152 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2153 needed by GetTokenInformation.
2154 (w32_system_process_attributes): Check return values of all system
2155 APIs.
2156
2157 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2158 only when the state changes.
2159 (IT_update_begin, IT_update_end): Add termscript trace.
2160
2161 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2162 clipboard is unavailable. Set dst to NULL if it doesn't point to
2163 malloc'ed data.
2164 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2165 passing random values to xfree.
2166
2167 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2168 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2169
21702008-08-29 Jason Rumney <jasonr@gnu.org>
2171
2172 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2173
21742008-08-29 Eli Zaretskii <eliz@gnu.org>
2175
2176 * composite.c (fill_gstring_body): Avoid compiler warnings.
2177
2178 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2179 LGLYPH_SET_CODE to avoid compiler warnings.
2180
2ae37cf0 2181 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2182
2183 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2184
2185 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2186 LGLYPH_SET_CODE.
2187
21882008-08-29 Kenichi Handa <handa@m17n.org>
2189
2190 * fileio.c (report_file_error): Don't downcase the first character
2191 of errstring if it is still unibyte.
2192
21932008-08-29 Kenichi Handa <handa@m17n.org>
2194
2195 These changes are to re-implement the automatic composition so
2196 that it doesn't use text properties.
2197
2198 * Makefile.in (ftfont.o): Depend on composite.h.
2199 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2200
2201 * character.h (Vunicode_category_table): Extern it.
2202
2203 * character.c (Vunicode_category_table): New variable.
2204 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2205
2206 * chartab.c (optimize_sub_char_table): Perform more greedy
2207 optimization.
2208
b8ff72fa
SM
2209 * composite.h (enum composition_method):
2210 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2211 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2212 (Vcomposition_function_table): Extern it.
2213 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2214 (composition_gstring_put_cache, composition_gstring_from_id)
2215 (composition_gstring_p, composition_gstring_width)
2216 (composition_compute_stop_pos, composition_reseat_it)
2217 (composition_update_it, composition_adjust_point): Extern them.
2218 (Fcomposition_get_gstring): EXFUN it.
2219
d66c0241 2220 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2221 (Vcomposition_function_table)
2222 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2223 (gstring_hash_table, gstring_work, gstring_work_headers):
2224 New variables.
aac0c6e3
MR
2225 (gstring_lookup_cache, composition_gstring_put_cache)
2226 (composition_gstring_from_id, composition_gstring_p)
2227 (composition_gstring_width, fill_gstring_header)
2228 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2229 (composition_reseat_it, composition_update_it)
b8ff72fa 2230 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2231 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2232 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2233 Defsubr compostion_get_gstring.
2234
2235 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2236 cmp_id.
2237 (struct glyph_string): Delete the member gidx. New members
2238 cmp_id, cmp_from, and cmp_to.
2239 (enum it_method): Delete GET_FROM_COMPOSITION.
2240 (struct composition_it): New struct.
2241 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2242 Delete c, len, cmp_id, cmp_len in u.comp.
2243
2244 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2245 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2246 (enum lglyph_indices): Likewise.
b8ff72fa 2247 (font_range): Adjust extern.
aac0c6e3
MR
2248 (font_fill_lglyph_metrics): Extern it.
2249
2250 * font.c (QCf): New variable.
2251 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2252 (font_prepare_composition): Delete this function.
2253 (font_range): Type and arguments changed.
2254 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2255 (font_fill_lglyph_metrics): New function.
b8ff72fa 2256 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2257 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2258 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2259 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2260
2261 * fontset.h (font_for_char): Extern it.
2262
2263 * fontset.c (font_for_char): New function.
2264
2265 * ftfont.c: Include composite.h.
2266 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2267 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2268
2269 * indent.c: Include composite.h and dispextern.h.
2270 (check_composition): Delete this function.
2271 (scan_for_column): Handle composition by
2272 composition_compute_stop_pos, composition_reseat_it, and
2273 composition_update_it.
2274 (compute_motion): Likewise.
2275 (Fvertical_motion): Fix checking of composition.
2276
2277 * keyboard.c (adjust_point_for_property): Check composition by
2278 composition_adjust_point.
2279
b8ff72fa 2280 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2281 struct glyph_string.
2282
b8ff72fa
SM
2283 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2284 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2285 struct glyph.
2286 (produce_composite_glyph): Likewise.
2287
b8ff72fa
SM
2288 * w32term.c (x_draw_composite_glyph_string_foreground):
2289 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2290 (x_draw_glyph_string): Likewise.
2291
2292 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2293 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2294
2295 * xdisp.c: Include font.h.
2296 (it_props): Delete the entry for Qauto_composed.
2297 (init_iterator): Initialize it->cmp_it.id to -1.
2298 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2299 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2300 (handle_auto_composed_prop): Delete it.
2301 (handle_composition_prop): Handle only static composition.
2302 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2303 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2304 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2305 (pop_it): Likewise.
2306 (get_next_element): Delete next_element_from_composition.
2307 (CHAR_COMPOSED_P): New macro.
2308 (get_next_display_element): For automatic composition, get a face
2309 from the font in the glyph-string.
2310 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2311 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2312 (next_element_from_string): Check if the character at the current
2313 position is composed by CHAR_COMPOSED_P.
2314 (next_element_from_buffer): Likewise.
d66c0241
JB
2315 (next_element_from_composition): Adjust for the change of struct it.
2316 Update it->cmp_it.
b8ff72fa
SM
2317 (dump_glyph): Adjust for the change of struct glyph.
2318 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2319 it and struct glyph. Don't handle automatic composition here.
2320 (fill_gstring_glyph_string): New function.
2321 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2322 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2323 (BUILD_GSTRING_GLYPH_STRING): New macro.
2324 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2325 automatic composition.
b8ff72fa 2326 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2327 struct glyph.
b8ff72fa 2328 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2329
b8ff72fa 2330 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2331 the change of struct glyph_string.
2332 (x_draw_glyph_string): Likewise.
2333
23342008-08-29 Glenn Morris <rgm@gnu.org>
2335
2336 * buffer.c (word-wrap): Doc fix.
2337 * xdisp.c (truncate-partial-width-windows): Doc fix.
2338 Increase default to 50.
2339
23402008-08-29 Chong Yidong <cyd@stupidchicken.com>
2341
2342 * xdisp.c (update_tool_bar_unwind): New function.
2343 (update_tool_bar): Temporarily set selected frame before building
2344 tool-bar items.
2345
23462008-08-28 Michael Albinus <michael.albinus@gmx.de>
2347
2348 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2349 snprintf, respectively.
2350 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2351
23522008-08-28 Chong Yidong <cyd@stupidchicken.com>
2353
2354 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2355 LDFLAGS to GNUstep CC invocation.
2356
23572008-08-27 Chong Yidong <cyd@stupidchicken.com>
2358
2359 * indent.c (Fvertical_motion): Revert last change. Handle the
2360 general case where we are moving forward, and PT spans multiple
2361 screen lines.
2362
2363 * eval.c (find_handler_clause): Temporarily increase
2364 max-lisp-eval-depth while printing the backtrace buffer, to
2365 guarantee that help-mode code can run.
2366
23672008-08-27 Eli Zaretskii <eliz@gnu.org>
2368
2369 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2370 colors under -rv.
2371 (IT_set_frame_parameters): Don't swap foreground and background
2372 colors if `(reverse . t)' is present in the frame properties.
2373 (internal_terminal_init): Call init_frame_faces only for the
2374 initial frame.
2375
23762008-08-27 Andreas Schwab <schwab@suse.de>
2377
2378 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2379
23802008-08-27 Andreas Schwab <schwab@suse.de>
2381
2382 * search.c (search_buffer): Set char_base to zero only at the end.
2383
23842008-08-27 Kenichi Handa <handa@m17n.org>
2385
b8ff72fa 2386 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2387
23882008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2389
2390 * xterm.c (x_term_init): Temporarily hide the partially
2391 initialized terminal while calling vendor-specific-keysyms.
2392
23932008-08-26 Eli Zaretskii <eliz@gnu.org>
2394
2395 * msdos.c (internal_terminal_init): Most initializations done only
2396 once, especially initial_screen_colors[] and termscript open.
2397
23982008-08-26 Chong Yidong <cyd@stupidchicken.com>
2399
2400 * eval.c (Fcondition_case): Doc fix.
2401
2402 * widgetprv.h (EmacsFramePart): Change font member to the new font
2403 struct.
2404
2405 * widget.c: Include character.h and font.h for XSETFONT.
2406 (setup_frame_gcs): Compute X font id from font struct, just once.
2407
24082008-08-26 Eli Zaretskii <eliz@gnu.org>
2409
2410 * term.c (get_named_tty): Fix last change.
2411
24122008-08-26 Chong Yidong <cyd@stupidchicken.com>
2413
2414 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2415 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2416
24172008-08-25 Eli Zaretskii <eliz@gnu.org>
2418
2419 * frame.c (do_switch_frame): Mark previously displayed frame as
2420 obscured for FRAME_MSDOS_P frames as well.
2421
24222008-08-24 Eli Zaretskii <eliz@gnu.org>
2423
2424 * frame.c (make_terminal_frame): Initialize f->terminal,
2425 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2426 Set the top frame to newly created frame.
2427 (Fmake_terminal_frame): Reuse the_only_display_info.
2428
2429 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2430 estimating available memory.
2431
b97439ce 24322008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2433
2434 * nsterm.m (ns_draw_window_cursor): Don't call
2435 NSDisableScreenUpdates and NSEnableScreenUpdates on
2436 non-NS_IMPL_COCOA systems.
2437
24382008-08-23 Andreas Schwab <schwab@suse.de>
2439
2440 * process.c (procfs_system_process_attributes): Fix use of
2441 uninitialized variables.
2442
24432008-08-23 Eli Zaretskii <eliz@gnu.org>
2444
2445 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2446
2447 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2448 calling tty-set-up-initial-frame-faces.
2449
b8ff72fa
SM
2450 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2451 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2452
2453 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2454 addition to output_termcap.
2455
2456 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2457
2458 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2459 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2460 highlight.
2461
2462 * process.c [!subprocesses]: Define QCname.
2463 (syms_of_process): Intern and staticpro it.
2464
2465 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2466 Adjust for changes in encoding/decoding routines.
2467 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2468 encode_coding and decode_coding.
2469
b8ff72fa 2470 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2471
2472 * dosfns.c: Include frame.h before termhooks.h.
2473 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2474 variable termscript.
2475
2476 * s/msdos.h (USER_FULL_NAME): Define.
2477 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2478
2479 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2480 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2481 pw->pw_gecos.
2482
2483 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2484 SELECTED_FRAME as additional (1st) argument.
2485 (tty_read_avail_input): Handle output_msdos_raw in
2486 addition to output_termcap.
2487
2488 * msdos.c: Include frame.h before termhooks.h.
2489 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2490 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2491 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2492 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2493 (IT_set_terminal_modes, IT_reset_terminal_modes)
2494 (IT_set_frame_parameters): Use tty->termscript instead of a global
2495 variable termscript.
2496 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2497 global variable terminal_coding. Don't refer to
2498 Vnonascii_translation_table.
2499 (internal_terminal_init): Set Vwindow_system in current_kboard.
2500 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2501 Announce date and time of session start, if termscript is open.
2502 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2503 term.c:init_tty). Open termscript only of not already open.
2504 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2505 here instead of dos_ttraw. Don't initialize display if this is an
2506 initial tty. Don't set FRAME_FONT.
2507 (Vwindow_system_version): Bump to 23.
2508 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2509 is available, set up mouse_position_hook.
2510 (dos_ttraw, IT_set_terminal_modes): If called with initial
2511 terminal, do nothing.
2512 (IT_set_frame_parameters): Handle the Qtty_type frame
2513 parameter by calling internal_terminal_init.
2514 (dos_set_window_size, show_mouse_face)
2515 (clear_mouse_face, IT_note_mode_line_highlight)
2516 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2517 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2518 (initialize_msdos_display): New function.
2519 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2520 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2521 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2522 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2523 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2524 (request_sigio, unrequest_sigio): Don't define, now defined on
2525 sysdep.c.
2526 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2527
2528 * term.c [MSDOS]: Include msdos.h.
2529 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2530 conditional to DOS_NT. Allow only one call to this function in a
2531 session. Don't allocate a new struct tty_display_info; instead,
2532 reuse the_only_display_info. Call get_tty_size to get screen
2533 dimensions. Call init_baud_rate to set bad_rate.
2534 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2535 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2536 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2537 (get_tty_terminal, get_named_tty, Ftty_type)
2538 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2539 output_termcap.
b8ff72fa
SM
2540 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2541 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2542 only when subprocesses are supported.
aac0c6e3
MR
2543
2544 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2545 f->output_data.x.
2546 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2547 terminal devices.
2548
5582fbc7 2549 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2550 x_output.
2551 (FRAME_FONT): Use output_data.tty.
2552 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2553 (struct x_display_info): Rename from display_info. Update all users in
2554 msdos.c.
aac0c6e3 2555 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2556 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2557 (dos_ttraw): Update prototype.
2558
2559 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2560 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2561
25622008-08-23 Jason Rumney <jasonr@gnu.org>
2563
2564 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2565 (fn_TIFFSetDirectory): New library function used.
2566 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2567 (tiff_load): Use :index to select among multiple images. Set count
2568 property when multiple images exist.
2569 (gif_format): Use :index, not :image.
2570
25712008-08-23 Chong Yidong <cyd@stupidchicken.com>
2572
2573 * xdisp.c (try_scrolling): Check INT_MAX instead of
2574 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2575 to obtain INT_MAX.
2576
25772008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2578
2579 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2580
25812008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2582
2583 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2584 GNUstep library location.
2585
25862008-08-21 Chong Yidong <cyd@stupidchicken.com>
2587
2588 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2589 before using it.
2590
2591 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2592
25932008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2594
2595 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2596 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2597 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2598 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2599 (EmacsApp-cursor_blink_handler): Remove declaration.
2600 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2601 match 01 Feb 2008 changes in xterm.c.
2602 (ns_read_socket): Add cast to avoid warning.
2603 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2604 GNUstep.
2605
26062008-08-20 Chong Yidong <cyd@stupidchicken.com>
2607
2608 * xselect.c (x_get_foreign_selection): Return nil if desired
2609 selection could not be obtained, instead of signalling an error.
2610
26112008-08-20 David Reitter <david.reitter@gmail.com>
2612
2613 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2614 * nsterm.m: Remove ns-specific code for cursor blinking.
2615 (ns_draw_window_cursor): Clear cursor properly rather than
2616 redrawing the area. Respect width of bar cursors.
2617 These changes enable the use of generic blink-cursor-mode and
2618 generic cursor types in NS and support smooth cursor movements (do
2619 not blink off after command).
2620 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2621 Nextstep, too.
2622
26232008-08-19 Kenichi Handa <handa@m17n.org>
2624
2625 * font.c (Vfont_log_deferred): New variable.
2626 (font_add_log): Check Vfont_log_deferred.
2627 (font_deferred_log): New function.
2628
2629 * font.h (font_deferred_log): Extern it.
2630
2631 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2632 for sorting.
2633 (face_for_char): Use deferred log.
2634
26352008-08-18 Kenichi Handa <handa@m17n.org>
2636
2637 * fontset.c (face_for_char): Add font log.
2638
2639 * font.c (font_add_log): Add the font properties :script, :lang,
2640 and :otf in the log.
2641
26422008-08-17 Chong Yidong <cyd@stupidchicken.com>
2643
2644 * xdisp.c: Remove dead code.
2645 (handle_invisible_prop, next_overlay_string): Defer call to
2646 setup_for_ellipsis.
2647 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2648
26492008-08-15 Chong Yidong <cyd@stupidchicken.com>
2650
2651 * xfaces.c (lookup_derived_face): Properly handle possible zero
2652 return value of get_lface_attributes.
2653 (merge_faces): Don't tell lookup_derived_face to signal an error
2654 if face is not found.
2655
2656 * dired.c (Fdirectory_files): Doc fix.
2657
2658 * process.c (make_process): Initialize kill_without_query struct
2659 member.
2660
26612008-08-15 Eli Zaretskii <eliz@gnu.org>
2662
2663 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2664 Alternative calculation of totphys for Visual Studio 6.
2665
2666 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2667
2668 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2669 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2670 All users changed.
2671 (stat): Only root directory passed to GetDriveType. Allow RAM
2672 disk as well as local fixed disk when w32-get-true-file-attributes
2673 is set to `local'.
2674 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2675 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2676 (w32_cached_id, w32_add_to_cache): New functions.
2677 (get_name_and_id): Look account names in the cache before calling
2678 lookup_account_sid.
2679 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2680 New initialization flags.
2681 (globals_of_w32): Initialize them to zero.
2682 (w32_system_process_attributes): Use w32_cached_id and
2683 w32_add_to_cache.
2684
26852008-08-14 Lawrence Mitchell <wence@gmx.li>
2686
2687 * lread.c (Fread_char, Fread_char_exclusive): If no character
2688 event is read before timeout is reached, return nil, rather than
2689 converting to a number.
2690
26912008-08-14 Chong Yidong <cyd@stupidchicken.com>
2692
2693 * fns.c (use_dialog_box): Doc fix.
2694
2695 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2696 on OS X.
2697
26982008-08-13 Chong Yidong <cyd@stupidchicken.com>
2699
2700 * frame.c (Qns_parse_geometry): New var.
2701 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2702
27032008-08-11 Chong Yidong <cyd@stupidchicken.com>
2704
2705 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2706 space character in calculating tabs.
2707
27082008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2709
2710 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2711
27122008-08-10 Glenn Morris <rgm@gnu.org>
2713
2714 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2715 silence gcc "limited range of data type" warnings in some
2716 make_fixnum_or_float calls.
2717
27182008-08-09 Eli Zaretskii <eliz@gnu.org>
2719
2720 * w32.c (w32_system_process_attributes): If the process does not
2721 exist, return nil.
2722
2723 * w32.c: Include thelp32.h, psapi.h and coding.h.
2724 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2725 declarations.
2726 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2727 (Process32Next_Proc): New typedefs.
2728 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2729 (g_b_init_process32_next, g_b_init_open_thread_token)
2730 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2731 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2732 (g_b_init_get_process_working_set_size)
2733 (g_b_init_global_memory_status_ex): New static variables.
2734 (globals_of_w32): Initialize them.
2735 (create_toolhelp32_snapshot, process32_first, process32_next)
2736 (open_thread_token, impersonate_self, revert_to_self)
2737 (get_process_memory_info, get_process_working_set_size)
2738 (global_memory_status, global_memory_status_ex): New wrapper
2739 functions.
2740 (w32_list_system_processes, w32_system_process_attributes)
2741 (enable_privilege, restore_privilege, ltime, process_times):
2742 New functions.
2743 (convert_time_raw): New function.
2744 (convert_time): Remove conversion of FILETIME into time in 100
2745 nsec units, call convert_time_raw instead.
2746
2747 * process.h (w32_list_system_processes, w32_system_process_attributes):
2748 Add prototypes.
2749 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2750 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2751 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2752 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2753
2754 * process.c (Fsystem_process_attributes): Doc fix.
2755
27562008-08-08 Chong Yidong <cyd@stupidchicken.com>
2757
2758 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2759 a continued multi-char glyph; if so, advance to the actual glyph.
2760
27612008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2762
2763 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2764
2765 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2766 (.m.o): Use it.
2767 * config.in: Regenerate.
2768
27692008-08-07 Chong Yidong <cyd@stupidchicken.com>
2770
2771 * xdisp.c (redisplay_window): Revert last change.
2772 (try_window): Check bottom scroll margin too.
2773
27742008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2775
2776 * config.in: Regenerate.
2777
2778 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2779 -list-load-path-shadows'.
2780 (nsgui.h): Reduce number of things depending on it.
2781
27822008-08-06 Chong Yidong <cyd@stupidchicken.com>
2783
2784 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2785 instead of window-end which does the wrong thing at eob.
2786 (try_cursor_movement): Minor optimization.
2787 (redisplay_window): If scroll margin is defined, don't assume
2788 window doesn't need scrolling.
2789
27902008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2791
2792 * config.in: Regenerate.
2793
2794 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2795 (mostlyclean): Don't delete *.d under NS.
2796
2797 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2798
27992008-08-06 Kenichi Handa <handa@m17n.org>
2800
2801 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2802
28032008-08-06 Andreas Schwab <schwab@suse.de>
2804
2805 * config.in: Regenerate.
2806
28072008-08-05 Chong Yidong <cyd@stupidchicken.com>
2808
2809 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2810 forcing a window start.
2811
2812 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2813 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2814
28152008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2816
2817 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2818 argument.
2819
28202008-08-05 Juanma Barranquero <lekktu@gmail.com>
2821
2822 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2823 <scroll-down-aggressively, before-change-functions>:
2824 <after-change-functions>: Reflow docstrings.
2825
28262008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2827 Ken Raeburn <raeburn@gnu.org>
2828
2829 Dock menu customization, based on a patch by Ken Raeburn, plus some
2830 other fixes.
2831 * nsmenu.m (dockMenu): New variable.
2832 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2833
2834 * nsterm.h (dockMenu): Declare.
2835
2836 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2837 (ns_term_init): Initialize dockMenu.
2838 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2839 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2840 left.
2841
2842 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2843
28442008-08-04 Chong Yidong <cyd@stupidchicken.com>
2845
2846 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2847
2848 * config.in: Regenerate.
2849
28502008-08-04 Seiji Zenitani <zenitani@mac.com>
2851
2852 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2853
28542008-08-04 Chong Yidong <cyd@stupidchicken.com>
2855
2856 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2857
28582008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2859
2860 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2861
2862 * keyboard.h: Comment an #endif.
2863
2864 * lisp.h (have_menus_p): Adjust comment.
2865
2866 * menu.c (find_and_return_menu_selection): Fix comparison with
2867 client_data.
2868
2869 * nsmenu.m (popup_activated_flag): New variable.
2870 (popup_activated): New function.
2871 (menu-or-popup-active-p): New exported lisp definition.
2872 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2873 when popup done.
2874 (ns_popup_dialog): Set popup_activated_flag.
2875
2876 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2877 version for GNUstep (handled by conditional typedef in nsterm.m).
2878 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2879 in rgb.txt).
2880
2881 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2882
2883 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2884
2885 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2886
2887 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2888 shortcircuit if popup_activated like GTK and X toolkit.
2889
2890 * m/inter386.h: Change DARWIN to DARWIN_OS.
2891
2892 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2893 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2894 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2895 comment on NO_SOCK_SIGIO.
2896
28972008-08-03 Chong Yidong <cyd@stupidchicken.com>
2898
2899 * nsterm.m (windowDidResize): Remove stopModal call.
2900
29012008-08-03 Andreas Schwab <schwab@suse.de>
2902
2903 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2904 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2905
29062008-08-02 Chong Yidong <cyd@stupidchicken.com>
2907
2908 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2909 Don't use uninitialized pointer variable when using getrlimit.
2910
29112008-08-02 Jason Rumney <jasonr@gnu.org>
2912
2913 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2914
29152008-08-02 Eli Zaretskii <eliz@gnu.org>
2916
2917 * alloc.c (NSTATICS): Bump to 0x640.
2918
2919 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2920
2921 * lisp.h: Add prototype for directory_files_internal.
2922
2923 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2924 New functions.
2925 (syms_of_process): Defsubr them. Add initializations for various
2926 Q* symbols used in procfs_system_process_attributes.
2927 (procfs_list_system_processes, procfs_system_process_attributes)
2928 [HAVE_PROCFS]: New functions.
2929 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2930 (procfs_get_total_memory): New functions.
2931
29322008-08-01 Juanma Barranquero <lekktu@gmail.com>
2933
2934 * xfaces.c (Fx_load_color_file): Fix previous change;
2935 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2936
29372008-08-01 Michael Albinus <michael.albinus@gmx.de>
2938
2939 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2940
29412008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2942
2943 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2944
29452008-08-01 Chong Yidong <cyd@stupidchicken.com>
2946
2947 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2948
2949 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2950 define NSApplicationDelegateReplySuccess.
2951 (EmacsView -converstationIdentifier): Use long instead of
2952 NSInteger for GNUstep, since it doesn't have NSInteger.
2953
2954 * xmenu.c: Revert last change.
2955
2956 * keyboard.h: Fix last change.
2957
29582008-08-01 Juanma Barranquero <lekktu@gmail.com>
2959
2960 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2961 on Windows.
2962
29632008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2964
2965 Warning clearing and clean-up in NS port.
2966 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2967 Add prototypes.
2968 * nsgui.h (FACE_DEFAULT): Remove, unused.
2969 (XGCValues): Change colors to unsigned long.
2970 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2971 nsterm.m.
2972 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2973 (ns_list_fonts): Remove, unused.
2974 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2975 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2976 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2977 (nsfont_draw): Compare face colors to 0, not nil.
2978 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2979 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2980 (-addSubmenuWithTitle:): Use NSMenuItem class.
2981 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2982 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2983 (ns_clip_to_row): Make gc arg a BOOL.
2984 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2985 ns_clip_to_row() call.
2986 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2987 used). Cast FRAME_FONT assignments.
2988 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2989 (ns_string_to_lispmod): Change arg to const char.
2990 (ns_term_init): Use NSMenuItem class.
2991 (EmacsApp -openFile:): Move to different section of file.
2992 (EmacsApp -application:openFiles:): Don't return a value, call
2993 -replyToOpenOrPrint:.
2994 (EmacsView -keyDown:): Fix up cast.
2995 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2996 (EmacsView -menuDown:): Cast tag in call to
2997 find_and_call_menu_selection().
2998 (ns_list_fonts): Remove, unused.
2999 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3000 (ns_fontname_to_xlfd): Make static.
3001 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3002 Remove prototypes (now in keyboard.h).
3003 (next_menubar_widget_id): Remove, unused.
3004 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3005 Remove prototypes (now in keyboard.h).
3006 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3007
30082008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3009
3010 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3011 (floatfns.o): Depend on syssignal.h.
3012 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3013
3014 * systty.h: Fix previous change that removed BSD_TERMIOS.
3015 Add comments to #ifdefs.
3016
30172008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3018
3019 * w32fns.c (w32-load-color-file): Remove.
3020 (x-open-connection): Use renamed Fx_load_color_file.
3021 * xfaces.c (x-load-color-file): Add.
3022 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3023 Emacs.clr.
3024 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3025
30262008-07-31 Michael Albinus <michael.albinus@gmx.de>
3027
3028 * dbusbind.c (Fdbus_call_method_asynchronously)
3029 (Fdbus_method_error_internal): New defuns.
3030 (xd_read_message): Handle also reply messages.
3031 (Vdbus_registered_functions_table): Extend docstring.
3032
30332008-07-31 Juanma Barranquero <lekktu@gmail.com>
3034
3035 * keyboard.c (gobble_input): Fix previous change.
3036
30372008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3038
3039 * bitmaps/README:
3040 * xfns.c:
3041 * termcap.c:
3042 * term.c:
3043 * syswait.h:
3044 * systty.h:
3045 * systime.h:
3046 * syssignal.h:
3047 * sysdep.c:
3048 * process.h:
3049 * process.c:
3050 * print.c:
3051 * ndir.h:
3052 * lread.c:
3053 * keyboard.c:
3054 * getpagesize.h:
3055 * floatfns.c:
3056 * fileio.c:
3057 * emacs.c:
3058 * doc.c:
3059 * dispnew.c:
3060 * dired.c:
3061 * data.c:
3062 * callproc.c:
3063 * buffer.c:
3064 * README:
3065 * Makefile.in:
3066 * s/template.h:
3067 * s/msdos.h:
3068 * m/vax.h: Remove VMS support.
3069 * s/vms.h:
3070 * vlimit.h:
3071 * uaf.h:
3072 * temacs.opt:
3073 * param.h:
3074 * ioctl.h: Remove file.
3075
30762008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3077
3078 * s/ms-w32.h (MULTI_KBOARD): Remove.
3079 * xterm.c:
3080 * xselect.c:
3081 * xfns.c:
3082 * window.c:
3083 * w32term.c:
3084 * w32fns.c:
3085 * terminal.c:
3086 * termhooks.h:
3087 * term.c:
3088 * sysdep.c:
3089 * keyboard.h:
3090 * keyboard.c:
3091 * frame.h:
3092 * frame.c:
3093 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3094 * config.in: Regenerate.
3095
30962008-07-30 Jason Rumney <jasonr@gnu.org>
3097
3098 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3099
3100 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3101 (w32font_open_internal): Get unicode version of textmetrics.
3102 Don't enable or disable glyph indices here.
3103 (w32font_open): Disable use of glyph indices.
3104
3105 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3106
31072008-07-30 Chong Yidong <cyd@stupidchicken.com>
3108
3109 * minibuf.c (Vread_buffer_function): Doc fix.
3110
31112008-07-30 John Paul Wallington <jpw@pobox.com>
3112
3113 * minibuf.c (read_buffer_completion_ignore_case): New var.
3114 (Fread_buffer): Use it.
3115
31162008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3117
3118 * systty.h (sensemode): Remove empty #if. Remove reference to
3119 BSD_TERMIOS, unused.
3120
3121 * sysdep.c: Remove reference to DGUX.
3122 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3123
3124 * config.in: Regenerate.
3125
31262008-07-30 Jason Rumney <jasonr@gnu.org>
3127
3128 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3129
31302008-07-29 Jason Rumney <jasonr@gnu.org>
3131
3132 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3133 is populated.
3134 (uniscribe_encode_char): Always use uniscribe.
3135 Avoid using context if cache is populated.
3136
31372008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3138
3139 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3140 open menu.
3141
3142 * gtkutil.c (menu_nav_ended): Remove.
3143 (create_menus): Remove signal connect for menu_nav_ended.
3144
31452008-07-28 Chong Yidong <cyd@stupidchicken.com>
3146
3147 * xdisp.c (redisplay_window): Check return value of
3148 compute_window_start_on_continuation_line before forcing a window
3149 start.
3150
31512008-07-28 Jason Rumney <jasonr@gnu.org>
3152
3153 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3154
3155 * w32term.c (w32_enable_unicode_output, cleartype_active):
3156 Remove obsolete display options.
3157 (x_draw_glyph_string_background): Don't use old cleartype_active
3158 workaround.
3159 (w32_initialize): Remove cleartype_active initialization.
3160 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3161
31622008-07-28 Andreas Schwab <schwab@suse.de>
3163
3164 * lisp.h (init_weak_hash_tables, syms_of_font)
3165 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3166 (remove_hash_entry): Don't declare.
3167 * eval.c (maybe_call_debugger): Make static and move before use.
3168 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3169 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3170 * xterm.h (x_set_frame_alpha): Declare.
3171
31722008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3173
3174 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3175 (create_menus): Connect selection-done to menu_nav_ended.
3176
31772008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3178
3179 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3180 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3181 parameter with read of 'alpha' one.
3182 (Qns_frame_parameter): Remove.
5582fbc7 3183 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3184 (next-selection-coding-system, Vselection_coding_system)
3185 (Vnext_selection_coding_system): Drop.
3186
31872008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3188
3189 * nsfns.m (do-applescript, do_applescript): Rename to
3190 ns-do-applescript, ns_do_applescript, and move within file.
3191
31922008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3193
3194 Remove support for Mac Carbon.
3195 * mactoolbox.c:
3196 * macterm.h:
3197 * macterm.c:
3198 * macselect.c:
3199 * macmenu.c:
3200 * macgui.h:
3201 * macfns.c:
3202 * mac.c: Remove file.
3203 * s/darwin.h:
3204 * m/intel386.h:
3205 * xfaces.c:
3206 * xdisp.c:
3207 * window.c:
3208 * tparam.c:
3209 * termhooks.h:
3210 * termcap.c:
3211 * term.c:
3212 * syssignal.h:
3213 * sysselect.h:
3214 * sysdep.c:
3215 * process.c:
3216 * lread.c:
3217 * lisp.h:
3218 * keyboard.c:
3219 * image.c:
3220 * fringe.c:
3221 * frame.h:
3222 * frame.c:
3223 * fontset.c:
3224 * font.h:
3225 * font.c:
3226 * fns.c:
3227 * fileio.c:
3228 * emacs.c:
3229 * dispnew.c:
3230 * dispextern.h:
3231 * config.in:
3232 * atimer.c:
2ae37cf0 3233 * Makefile.in: Remove code for Carbon.
aac0c6e3 3234
f0131492 32352008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3236
3237 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3238
32392008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3240
3241 * macterm.h (kCGBitmapByteOrder32Host): New define for
3242 non-universal SDKs.
3243
3244 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3245 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3246
3247 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3248 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3249
32502008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3251
3252 * w32inevt.c: Include dispextern.h.
3253
32542008-07-26 Andreas Schwab <schwab@suse.de>
3255
3256 * print.c (print_object): Fix off-by-one in last change.
3257
32582008-07-25 Juanma Barranquero <lekktu@gmail.com>
3259
3260 * term.c (syms_of_term): Don't initialize default_orig_pair,
3261 default_set_foreground and default_set_background on Windows.
3262
32632008-07-25 Jason Rumney <jasonr@gnu.org>
3264
3265 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3266 ScriptItemize. Clean up return value checking. Remove unused
3267 variables.
3268 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3269 shaping engine.
3270
3271 * w32font.c (w32font_has_char): Handle the case where we can't
3272 determine the script for a character.
3273
32742008-07-25 Chong Yidong <cyd@stupidchicken.com>
3275
3276 * term.c (syms_of_term): Initialize default_orig_pair,
3277 default_set_foreground, and default_set_background.
3278
3279 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3280 clash (bug#86).
3281 (getloadavg): Callers changed.
3282
3283 * image.c (svg_load_image): Fix last change.
3284 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3285 image size is valid. Use g_object_unref instead of deprecated
3286 rsvg_handle_free to free rsvg handle.
3287 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3288
32892008-07-25 Jason Rumney <jasonr@gnu.org>
3290
3291 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3292 surrogates before looking up glyph index.
3293 (w32font_text_extents): Encode as surrogates if falling back to
3294 functions that need UTF-16 wide chars.
3295
3296 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3297 BMP as surrogates before looking up glyph index.
3298
32992008-07-25 Chong Yidong <cyd@stupidchicken.com>
3300
3301 * image.c (svg_load_image): Check for failure in return value of
3302 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3303
33042008-07-25 Jason Rumney <jasonr@gnu.org>
3305
3306 * w32font.c (Fx_select_font): Reverse sense of second arg.
3307
33082008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3309
3310 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3311 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3312
3313 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3314 (PURESIZE): Use it.
3315
33162008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3317
3318 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3319 * m/alpha.h (TEXT_END):
3320 * m/ibmrs6000.h (TEXT_END):
3321 * m/macppc.h (TEXT_END):
3322 * s/darwin.h (TEXT_END):
3323 * s/msdos.h (TEXT_END): Remove, unused.
3324 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3325 * s/cygwin.h: Remove comment.
3326
3327 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3328 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3329 * m/intel386.h (DOT_GLOBAL_START):
3330 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3331 (USG): Remove, file not used on USG platforms.
3332
3333 * Makefile.in (HAVE_X11): Remove empty #else.
3334
33352008-07-24 Andreas Schwab <schwab@suse.de>
3336
3337 * fileio.c (Finsert_file_contents): Properly adjust undo list
3338 after format conversion.
3339
33402008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3341
3342 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3343 (menu_nav_ended): Remove.
3344 (create_menus): Remove signal connect for menu_nav_ended.
3345 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3346 create_menus.
3347 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3348
33492008-07-23 Jason Rumney <jasonr@gnu.org>
3350
3351 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3352 with opened font.
3353 (w32font_open): Set font type to gdi.
3354
3355 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3356
33572008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3358
3359 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3360 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3361 defines it.
3362 * unexec.c (ADDR_CORRECT): Define unconditionally.
3363
3364 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3365
3366 * unexec.c: Remove code depending on !COFF and USG, the file is
3367 not used for such systems.
3368
3369 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3370 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3371 (LD_SWITCH_SYSTEM_1): Remove, update users.
3372
3373 * s/darwin.h (DATA_END):
3374 * m/intel386.h (DATA_END):
3375 * m/ibmrs6000.h (DATA_END):
3376 * m/alpha.h (DATA_END): Remove, unused.
3377
3378 * config.in: Regenerate.
3379 * s/ms-w32.h (subprocesses): Define unconditionally.
3380 * s/template.h (subprocesses): Update comment.
3381 * s/vms.h (subprocesses):
3382 * s/usg5-4.h (subprocesses):
3383 * s/hpux10-20.h (subprocesses):
3384 * s/gnu-linux.h (subprocesses):
3385 * s/cygwin.h (subprocesses):
3386 * s/bsd-common.h (subprocesses):
3387 * s/aix4-2.h (subprocesses):
3388 * s/darwin.h (subprocesses): Do not define, defined by default now.
3389
3390 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3391 Remove all references.
3392 (temacs): Add GNUstep specific ld flags.
3393
3394 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3395 similarly to what X does.
3396
33972008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3398
3399 * nsfns.m (x-list-fonts): Remove.
3400 (syms_of_nsfns): Drop the x-list-fonts declaration.
3401 * nsterm.m: Get rid of remaining "//" comments.
3402
34032008-07-22 Chong Yidong <cyd@stupidchicken.com>
3404
3405 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3406
3407 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3408 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3409 (Fns_own_selection_internal, Fx_disown_selection_internal)
3410 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3411
3412 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3413 ... */' style of docstrings. Doc fixes.
3414
34152008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3416
3417 * terminfo.c (UP, BC, PC): Undo previous change.
3418
3419 * nsfns.m: Rename ns prefixed functions/variables to the
3420 corresponding x versions. Update references.
3421
34222008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3423
3424 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3425
34262008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3427
3428 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3429 Remove forwarding functions.
3430 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3431 non-static.
3432 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3433 non-static.
3434 (ns_frame_parm_handlers): Use the new names.
3435 (syms_of_nsfns): Move to the end of file.
3436
3437 * nsterm.m (syms_of_nsterm): Move to the end of file.
3438
3439 * dispnew.c (init_display): Remove code for X10.
3440
34412008-07-22 Jason Rumney <jasonr@gnu.org>
3442
3443 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3444 bare drive.
3445
34462008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3447
3448 * nsterm.m (syms_of_nsterm): Remove debugging println.
3449
34502008-07-22 David Reitter <david.reitter@gmail.com>
3451
3452 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3453 Carbon implementation of the same functionality: execute arbitrary
3454 AppleScript code.
3455
34562008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3457
3458 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3459 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3460 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3461 (Fx_display_mm_height, Fx_display_mm_width)
3462 (Fx_display_backing_store, Fx_display_visual_class)
3463 (Fx_display_save_under, Fx_open_connection)
3464 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3465 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3466 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3467 (Fx_display_pixel_width, Fx_display_pixel_height)
3468 (Fx_display_usable_bounds, Fx_display_planes)
3469 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3470 ... */' style of docstrings.
3471
34722008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3473
3474 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3475 on this platform.
3476 (mips):
3477 * m/iris4d.h (mips): Do not define.
3478 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3479
3480 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3481
3482 * image.c:
3483 * nsfns.m:
3484 * nsselect.m:
3485 * nsterm.h:
3486 * nsterm.m: Rename ns prefixed functions/variables to the
3487 corresponding x versions. Update references.
3488
3489 * m/ibms390x.h (NO_REMAP): Do not undefine.
3490
3491 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3492
34932008-07-21 Chong Yidong <cyd@stupidchicken.com>
3494
3495 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3496 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3497 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3498 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3499 (Fns_display_mm_height, Fns_display_mm_width)
3500 (Fns_display_backing_store, Fns_display_visual_class)
3501 (Fns_display_save_under, Fns_open_connection)
3502 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3503 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3504 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3505 (Fns_display_pixel_width, Fns_display_pixel_height)
3506 (Fns_display_usable_bounds, Fx_display_planes)
3507 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3508
35092008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3510
3511 * print.c (print_object): Check print_depth before searching for
3512 circularities.
3513
35142008-07-21 Michael Albinus <michael.albinus@gmx.de>
3515
3516 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3517 only sprintf.
3518
35192008-07-21 Kenichi Handa <handa@m17n.org>
3520
3521 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3522
35232008-07-20 Andreas Schwab <schwab@suse.de>
3524
3525 * syntax.c (find_start_pos, find_start_value)
3526 (find_start_value_byte, find_start_begv, find_defun_start)
3527 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3528
35292008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3530
3531 * s/sol2-3.h: Insert contents of s/sol2.h.
3532 (LD_SWITCH_SYSTEM): Remove redundant definition.
3533 * s/sol2.h: Remove, unused.
3534
35352008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3536
3537 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3538
35392008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3540
3541 * Makefile.in (ns_appdir): Fix typo in find command.
3542
35432008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3544
3545 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3546
3547 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3548 added not supported anymore.
3549
3550 * s/usg5-4-2.h (LIBS_SYSTEM):
3551 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3552
3553 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3554 * s/lynxos.h (GETPGRP_NO_ARG):
3555 * s/hpux10-20.h (NO_SIOCTL_H):
3556 * s/gnu.h (GETPGRP_NO_ARG):
3557 * s/gnu-linux.h (NO_SIOCTL_H):
3558 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3559 * s/cygwin.h (GETPGRP_NO_ARG):
3560 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3561 (C_DEBUG_SWITCH): Remove duplicate definition.
3562
3563 * m/ibms390.h: Remove boilerplate comments.
3564
3565 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3566
3567 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3568 (wait_reading_process_output): Remove code for SunOS, platform not
3569 supported anymore. Use SOLARIS2 instead of sun.
3570
35712008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3572
3573 * font.c (font_open_by_name): Under NS, default lface height to zero.
3574 (font_open_for_lface): Under NS, set size based on frame fontsize.
3575 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3576 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3577
35782008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3579
3580 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3581 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3582 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3583 YES/NO.
3584 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3585 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3586 * Makefile.in (clean): Clear out build destination dir.
3587
35882008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3589
3590 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3591 xterm, xselect.
3592 * lisp.h: Remove declaration of hash_remove.
3593 * nsgui.h: Remove redefinitions of hash_remove.
3594 * fns.c (hash_remove): Rename to hash_remove_from_table.
3595
35962008-07-19 Seiji Zenitani <zenitani@mac.com>
3597
3598 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3599 strdup() the family UTF8String before modifying it.
3600
36012008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3602
3603 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3604 NS_FACE_BACKGROUND with 0 instead of nil.
3605 * nsfont.m (nsfont_draw): Same.
3606
36072008-07-19 Chong Yidong <cyd@stupidchicken.com>
3608
3609 * nsfns.m (ns_set_background_color): Fix crash.
3610
36112008-07-18 Chong Yidong <cyd@stupidchicken.com>
3612
3613 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3614
36152008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3616
3617 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3618
36192008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3620
3621 * gtkutil.c: Include <config.h> instead of "config.h".
3622
3623 * lisp.h (Foverlay_buffer): Add EXFUN.
3624
3625 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3626 child process to complete child_setup. Undo 2005-09-21 change.
3627
3628 * s/darwin.h: Mention setsid after vfork.
3629
36302008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3631
3632 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3633 Depend on macgui.h.
3634
3635 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3636 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3637
3638 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3639 and f19.
3640 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3641
3642 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3643 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3644 Remove enumerators.
3645
3646 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3647 Check if FACE_FROM_ID returns NULL.
3648
36492008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3650
3651 * w32inevt.c (change_frame_size): Remove extern declaration.
3652 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3653 change_frame_size.
3654
36552008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3656
3657 * getloadavg.c: Revert last change (2008-07-15).
3658
36592008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3660
3661 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3662 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3663 from configure.
3664
36652008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3666
3667 * s/sol2.h:
3668 * s/sol2-4.h: Reorganize conditionals.
3669
3670 * ecrt0.c: Remove code depending on m68000, not used anymore.
3671
3672 * fns.c (hash_remove): Make static.
3673 * lisp.h (hash_remove): Don't prototype.
3674
3675 * m/ibmrs6000.h:
3676 * m/ibms390x.h:
3677 * m/macppc.h: Remove boilerplate comments.
3678
3679 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3680 Solaris, which does not need them.
3681
3682 * m/vax.h: Remove comments about unsupported systems.
3683
3684 * s/darwin.h: Reorganize ifdefs.
3685
36862008-07-17 Andreas Schwab <schwab@suse.de>
3687
3688 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3689
36902008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3691
3692 Use SDATA. Follow coding convention of placing operators at
3693 beginning of next line rather than end of previous line, and placing
3694 spaces around infix operators.
3695
3696 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3697 in case it was defined already.
3698 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3699 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3700 ns_default.
3701 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3702 Lisp_Objects.
3703 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3704 (ns_defined_color, ns_color_to_lisp): Declare.
3705 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3706 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3707 it's accepted even with USE_LISP_UNION_TYPE.
3708 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3709 (update_frame_tool_bar): Remove apparently obsolete tests for
3710 non-integerness of f->tool_bar_lines.
3711 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3712 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3713 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3714 (nsfont_open): Don't confuse NULL for Qnil.
3715 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3716 * menu.h (find_and_call_menu_selection):
3717 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3718 (find_and_return_menu_selection): Always return something.
3719 * frame.h: Include dispextern.h for Display_Info.
3720 (display_x_get_resource): Declare.
3721
37222008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3723
3724 * syntax.c: Remove stdio.h include accidentally introduced in
3725 Emacs.app commit.
3726 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3727 NS_IMPL_COCOA.
3728 * keyboard.c (handle_async_input, input_available_signal): Remove
3729 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3730
37312008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3732
3733 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3734 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3735 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3736 Use SDATA.
3737
3738 * keymap.c: Remove all NS-specific code.
3739 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3740 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3741 where_is_preferred_modifier, return a different value depending on how
3742 preferred is the binding.
3743 (where_is_internal): Adjust accordingly.
3744 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3745 Adjust to new preferred_sequence_p.
3746 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3747 * keyboard.c (parse_solitary_modifier): Not static any more.
3748 * keyboard.h (parse_solitary_modifier): Declare.
3749
37502008-07-16 Andreas Schwab <schwab@suse.de>
3751
3752 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3753 of easymenu.
3754
37552008-07-16 Chong Yidong <cyd@stupidchicken.com>
3756
3757 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3758 that we don't move off the line.
3759
37602008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3761
3762 * keyboard.c (Qsuper): Remove.
3763 (parse_menu_item): Don't call where_is_internal specially for NS.
3764
37652008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3766
3767 * s/gnu-linux.h: Remove boilerplate comments.
3768
3769 * m/alpha.h (__ELF__): Consolidate conditions.
3770
3771 * m/m68k.h (linux): Use GNU_LINUX instead.
3772 Remove boilerplate comments.
3773
3774 * m/intel386.h: Undo refactoring from previous change.
3775 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3776 too, remove dead code.
3777 (linux): Use GNU_LINUX instead.
3778
37792008-07-16 Jason Rumney <jasonr@gnu.org>
3780
3781 * w32gui.h: Repeat 26 June changes lost by last change.
3782
37832008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3784
3785 * systty.h: Remove code for Aix on 386, unsupported platform.
3786
3787 * s/ms-w32.h: Remove boilerplate comments.
3788 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3789
3790 * s/gnu-linux.h (TERM): Remove support.
3791 (HAVE_SYSVIPC): Remove, unused.
3792 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3793 for this system.
3794
3795 * process.c: Remove support for IRIS, unused.
3796 Remove support for TERM, not relevant anymore.
3797
3798 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3799 used with the definition.
3800
3801 * s/aix4-2.h (static): Do not undef.
3802
3803 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3804 only used on Aix.
3805 (HAVE_SYSVIPC): Remove, unused.
3806
3807 * m/hp800.h (CANNOT_DUMP): Do not undef.
3808
3809 * m/alpha.h: Fix comment.
3810
3811 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3812 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3813 used by this configuration.
3814 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3815 * unexec.c: Remove code depending on HPUX and
3816 USG_SHARED_LIBRARIES, not used with this file. Remove code
3817 depending on IRIS, unused. Remove if 0-ed code.
3818
3819 * s/template.h: Remove comments about static.
3820
3821 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3822 Remove if 0-ed code.
3823 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3824 were the same as the default.
3825 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3826 Remove boilerplate comments.
3827 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3828 (HAVE_SYSVIPC): Remove, unused.
3829 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3830
3831 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3832 Remove boilerplate comments.
3833 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3834 Remove boilerplate comments.
3835 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3836 Remove boilerplate comments.
3837 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3838
3839 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3840 USG systems which do not use DATA_SEG_BITS.
3841 Refactor code. Remove boilerplate comments.
3842
3843 * m/ibms390.h:
3844 * m/m68k.h:
3845 * s/bsd-common.h:
3846 * s/cygwin.h:
3847 * s/darwin.h:
3848 * s/freebsd.h:
3849 * s/gnu.h:
3850 * s/msdos.h: Remove boilerplate comments.
3851
3852 * m/iris4d.h: Remove boilerplate comments and code for systems that
3853 do not use this file.
3854 (IRIS_4D): Remove, unused.
3855
3856 * m/mips.h: Remove boilerplate comments and code for systems that
3857 do not use this file.
3858 (SIGN_EXTEND_CHAR):
3859 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3860 * unexmips.c: Remove file, unused.
3861
3862 * editfns.c (Fuser_full_name): Replace the only use of
3863 USER_FULL_NAME with its value.
3864 * config.in: Regenerate.
3865
38662008-07-16 David Reitter <david.reitter@gmail.com>
3867
3868 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3869 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3870
38712008-07-16 Glenn Morris <rgm@gnu.org>
3872
3873 * emacs.c (system-type): Doc fix.
3874
38752008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3876
3877 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3878 If the cache doesn't work, let's fix it, rather than work around it.
3879
38802008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3881
3882 * Makefile.in: Correct additions for nsfont.o in last commit.
3883 * nsfont.m: New file (forgot last commit).
3884
38852008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3886
3887 * callproc.c (set_initial_environment): Initialize
3888 Vprocess_environment under CANNOT_DUMP (fixes crash when
3889 batch-compiling for bootstrap).
3890
38912008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3892 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3893
3894 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3895 fix crash due to different init order.
3896
38972008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3898
3899 Changes and additions for NeXTstep windowing system (Cocoa and
3900 GNUstep) support.
3901
3902 * Makefile.in:
3903 * config.in: Support defines and build commands for NS port.
3904 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3905 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3906 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3907 windowing.
3908 (struct face): Add synth_ital field.
3909 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3910 (init_display): Initialize Vinitial_window_system to "ns" when so
3911 compiled.
3912 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3913 (display_arg): Use under NS.
3914 (main): Under NS, allocate autorelease pool and handle command line
3915 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3916 (standard_args): Add NS-specific args.
3917 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3918 * font.c (DEFAULT_ENCODING): New variable.
3919 (font_find_for_lface): Use it.
3920 (syms_of_font): Load syms_of_nsfont under NS.
3921 * font.h: Declare nsfont_driver when compiled under NS.
3922 * fontset.c: When compiling under NS, include nsterm.h.
3923 (fontset_from_font): Autoconstruct fontset under NS.
3924 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3925 symbol, document and use it.
3926 (do_switch_frame): When for_deletion under Cocoa, add
3927 Fraise_frame(Qnil).
3928 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3929 (x_get_arg): Allow "yes" and "no" as boolean values.
3930 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3931 Qright under Cocoa.
3932 (focus-follows-mouse): Default to 0 under NS.
3933 * frame.h (enum output_method): Add output_ns.
3934 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3935 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3936 (FRAME_WINDOW_P): NS-specific definition.
3937 * fringe.c (max_used_fringe_bitmap): Make public.
3938 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3939 (getloadavg): Use NeXT code under descendant OS's.
3940 * image.c (includes and header section, x_create_bitmap_from_data)
3941 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3942 (image_background_transparent, x_clear_image_1)
3943 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3944 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3945 (x_to_xcolors, x_from_xcolors, x_disable_image)
3946 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3947 other GUIs, including XPM support using code originally written for
3948 Carbon GUI.
3949 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3950 using NS API.
3951 (image_ascent): Use font metrics macros instead of direct struct field
3952 access.
3953 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3954 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3955 Also, handle NS as GTK for menu bar purposes.
3956 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3957 toolkit where they differ.
3958 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3959 use cachelist, still needed under NS.
3960 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3961 (struct widget_value): Define it here for menu.c.
3962 * keymap.c (includes): Include modifier internals.
3963 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3964 NS.
3965 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3966 support for preferring sequences using certain modifiers, specified by
3967 the FIRSTONLY argument.
3968 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3969 under NS GNUstep implementation.
3970 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3971 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3972 * menu.c: Include nsterm.h under NS.
3973 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3974 (free_menubar_widget_tree_value, update_submenu_strings)
3975 (find_and_call_menu_selection): Treat NS as X and NT.
3976 (find_and_return_menu_selection): New function, used for popup menus.
3977 * nsgui.h:
3978 * nsterm.h:
3979 * nsfns.m:
3980 * nsimage.m:
3981 * nsmenu.m:
3982 * nsselect.m:
3983 * nsterm.m: New files.
3984 * process.c (wait_reading_process_output): Under NS, call ns_select()
3985 instead of plain select().
3986 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3987 beginning of buffer.
3988 * sysselect.h (init_process): Rename when compiling under Cocoa to
3989 avoid name conflict.
3990 * termhooks.h (display_info): Add ns_display_info to union.
3991 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3992 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3993 COCOA environment.
3994 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3995 unexec() signature. (Note, this will dump, but the resulting file
3996 crashes; unexosx is used instead; keeping around for reference and
3997 possible aid in getting dump working under GNUstep.)
3998 * w32gui.h (button_type, widget_value): Remove definitions (now in
3999 keyboard.h).
4000 * window.c: Include nsterm.h when compiling under NS.
4001 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4002 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4003 other GUI windowing systems.
4004 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4005 GTK.
4006 (x_consider_frame_title): Under NS, set icon type and frame
4007 modified-state indicator; use ns_set_name_as_filename() when using
4008 formatted title.
4009 (update_window_cursor): Make public when compiling under NS.
4010 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4011 (hourglass_atimer, Vhourglass_delay
4012 * xfaces.c (header section, init_frame_faces, clear_font_table)
4013 (defined_color, unload_color, x_face_list_fonts)
4014 (prepare_face_for_display): Add NS support parallel to other GUIs.
4015 Emulate GCs like other non-X GUIs.
4016 (split_font_name): Don't lowercase font name under NS.
4017 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4018 under NS.
4019 * s/darwin.h: Add support for compilation under NS.
4020
40212008-07-15 Jason Rumney <jasonr@gnu.org>
4022
4023 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4024 (w32_show_hourglass): Rename from show_hourglass.
4025 (w32_hide_hourglass): Rename from hide_hourglass.
4026 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4027 (Vhourglass_delay): Declare extern.
4028 (hourglass_started): Remove.
4029
4030 * xdisp.c (Vhourglass_delay): Remove static.
4031 (hourglass_started, start_hourglass, cancel_hourglass):
4032 Don't include these versions on WINDOWSNT.
4033
40342008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4035
4036 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4037 variables (formerly in xfns.c).
4038 (show_hourglass, hide_hourglass): New prototypes (same).
4039 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4040 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4041 in xfns.c).
4042 (syms_of_xdisp): Declare/initialize display-hourglass,
4043 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4044 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4045 formerly in xfns.c.
4046 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4047 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4048 (start_hourglass, cancel_hourglass): Remove.
4049 (show_hourglass, hide_hourglass): Remove prototypes and static
4050 modifiers.
4051 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4052 hourglass_atimer, hourglass_shown_p declaration/initialization.
4053 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4054 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4055 (start_hourglass, cancel_hourglass): Remove.
4056 (show_hourglass, hide_hourglass): Remove prototypes and static
4057 modifiers.
4058 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4059 hourglass_atimer, hourglass_shown_p declaration/initialization.
4060 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4061 (DEFAULT_HOURGLASS_DELAY): Remove.
4062 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4063 hourglass_shown_p declaration/initialization.
4064
40652008-07-14 Jason Rumney <jasonr@gnu.org>
4066
4067 * w32fns.c (w32_get_arg): Remove wrapper function.
4068 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4069 directly.
4070 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4071
40722008-07-14 Kenichi Handa <handa@m17n.org>
4073
4074 * xfont.c (xfont_open): Add workaround for X's bug.
4075
40762008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4077
4078 * fontset.c: Include <stdio.h> unconditionally.
4079
40802008-07-13 Michael Albinus <michael.albinus@gmx.de>
4081
4082 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4083 for filtering.
4084
40852008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4086
4087 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4088
4089 * m/macppc.h:
4090 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4091
4092 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4093 (SPECIAL_EMACS_INT):
4094 * m/ia64.h (SPECIAL_EMACS_INT):
4095 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4096 * s/gnu.h (NLIST_STRUCT):
4097 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4098 * s/gnu-linux.h (LINUX):
4099 * s/msdos.h (HAVE_FACES):
4100 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4101
4102 * systty.h:
4103 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4104 anymore.
4105
41062008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4107
4108 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4109 always defined as int.
4110
4111 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4112 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4113 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4114 * s/freebsd.h (HAVE_WAIT_HEADER):
4115 * s/bsd-common.h (HAVE_UNION_WAIT):
4116 * s/aix4-2.h (HAVE_WAIT_HEADER):
4117 * m/mips.h (HAVE_UNION_WAIT):
4118 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4119 (COFF, static): Do not define, they are undefined later in the file.
4120
4121 * process.c (update_status): Don't use a union.
4122 (status_convert):
4123 (sigchld_handler): Use int instead of WAITTYPE.
4124
41252008-07-12 Chong Yidong <cyd@stupidchicken.com>
4126
4127 * indent.c (Fvertical_motion): Restore hscroll before moving to
4128 goal column.
4129
41302008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4131
4132 * lisp.h: Remove left over code.
4133
41342008-07-11 Andreas Schwab <schwab@suse.de>
4135
4136 * lisp.h: Fix logic in last change.
4137
4138 * menu.h: New file.
4139 * menu.c: Include it.
4140 * xmenu.c: Likewise.
4141 * Makefile.in: Update dependencies.
4142
41432008-07-11 Kenichi Handa <handa@m17n.org>
4144
4145 * fontset.c (fontset_from_font): Cancel the previous change.
4146
41472008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4148
4149 * lisp.h:
4150 * w32heap.c:
4151 * emacs.c:
4152 * alloc.c: Replace all references of NO_UNION_TYPE with
4153 USE_LISP_UNION_TYPE.
4154
4155 * m/xtensa.h (NO_UNION_TYPE):
4156 * m/vax.h (NO_UNION_TYPE):
4157 * m/template.h (NO_UNION_TYPE):
4158 * m/sparc.h (NO_UNION_TYPE):
4159 * m/mips.h (NO_UNION_TYPE):
4160 * m/macppc.h (NO_UNION_TYPE):
4161 * m/m68k.h (NO_UNION_TYPE):
4162 * m/iris4d.h (NO_UNION_TYPE):
4163 * m/intel386.h (NO_UNION_TYPE):
4164 * m/ibms390x.h (NO_UNION_TYPE):
4165 * m/ibms390.h (NO_UNION_TYPE):
4166 * m/ibmrs6000.h (NO_UNION_TYPE):
4167 * m/ia64.h (NO_UNION_TYPE):
4168 * m/hp800.h (NO_UNION_TYPE):
4169 * m/arm.h (NO_UNION_TYPE):
4170 * m/amdx86-64.h (NO_UNION_TYPE):
4171 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4172 defining it the same.
4173
41742008-07-10 Chong Yidong <cyd@stupidchicken.com>
4175
4176 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4177
41782008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4179
4180 * fileio.c:
4181 * sysdep.c
4182 * systty.h:
4183 * m/ibmrs6000.h:
4184 * m/iris4d.h:
4185 * s/aix4-2.h:
4186 * s/freebsd.h:
4187 * s/gnu-linux.h:
4188 * s/hpux10-20.h:
4189 * s/hpux11.h:
4190 * s/netbsd.h:
4191 * s/sol2-3.h:
4192 * s/sol2-4.h:
4193 * s/sol2.h:
4194 * s/usg5-4.h:
4195 * s/vms.h: Remove references to unused variables.
4196
41972008-07-10 Andreas Schwab <schwab@suse.de>
4198
4199 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4200 pattern before matching the generic family.
4201
42022008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4203
4204 * unexec.c:
4205 * s/vms.h:
4206 * s/usg5-4-2.h:
4207 * s/sol2-5.h:
4208 * s/freebsd.h:
4209 * s/darwin.h: Remove dead code.
4210
4211 * m/template.h:
4212 * m/sparc.h:
4213 * m/mips.h:
4214 * m/m68k.h:
4215 * m/iris4d.h:
4216 * m/intel386.h:
4217 * m/ibms390x.h:
4218 * m/ibms390.h:
4219 * m/ia64.h:
4220 * m/hp800.h:
4221 * m/arm.h:
4222 * m/amdx86-64.h: Remove dead code and references to unused
4223 and compiler defined symbols.
4224
4225 * unexmips.c:
4226 * unexelf.c: Remove references to desupported systems.
4227
4228 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4229
4230 * m/powermac.h: Remove boilerplate comments.
4231 (NO_REMAP): Remove unused definition.
4232
4233 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4234 define them.
4235
42362008-07-10 Kenichi Handa <handa@m17n.org>
4237
4238 * xfont.c (xfont_open): Log the reason of failure.
4239
42402008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4241
4242 * fontset.c (fontset_get_font_group):
4243 * font.c (font_check_otf): Specify argument types.
4244
42452008-07-09 Kenichi Handa <handa@m17n.org>
4246
4247 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4248 non-ASCII char is found.
4249
4250 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4251 (reorder_font_vector): Change the arg preferred_family to font.
4252 Prefer the spec matching with font.
4253 (fontset_get_font_group): New function.
4254 (fontset_find_font): Change the format of an element of a realized
4255 fontset. Use fontset_get_font_group.
4256 (fontset_font): Try the current fontset, the default fontset, the
4257 fallbacks of the current fontset, and the fallbacks of the default
4258 fontset in this order.
4259 (face_for_char): Delete the shortcut to use the current font.
4260 (fontset_from_font): Don't set fonts for Latin in the fontset.
4261
4262 * font.h (font_make_object, font_match_p): Adjust prototypes.
4263
4264 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4265
4266 * font.c (font_make_object): New arg entity and pixelsize.
4267 (font_check_otf_features, font_check_otf): New functions.
4268 (font_match_p): Check :lang, :script, and :otf properties.
4269
4270 * xfont.c (xfont_open): Adjust it for the change of
4271 font_make_object.
4272 (xfont_text_extents): Fix initial setting of metrics.
4273
4274 * ftfont.c (struct ftfont_info): New member index, delete member
4275 fc_charset_idx. Make the member order compatible with struct
4276 xftfont_info.
4277 (fc_charset_table): Change charset names to registry names.
4278 (ftfont_pattern_entity): Delete the args registry and
4279 fc_charset_idx. Change the value of :font-entity property
4280 to (FONTNAME . INDEX). Always set :registry property to
4281 `iso10646-1'.
4282 (struct ftfont_cache_data): New struct.
4283 (ftfont_lookup_cache): New arg for_face.
4284 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4285 (ftfont_driver): Set the member otf_capability.
4286 (ftfont_get_charset): Adjust it for the change of
4287 fc_charset_table.
4288 (OTF_TAG_SYM): New macro.
4289 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4290 for the change of fc_charset_table.
4291 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4292 ftfont_pattern_entity. Add FC_INDEX to objset.
4293 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4294 and ftfont_pattern_entity.
4295 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4296 font_make_object, struct ftfont_info.
4297 (ftfont_has_char): Use ftfont_get_fc_charset.
4298 (ftfont_otf_features, ftfont_otf_capability): New functions.
4299 (ftfont_shape): Use ftfont_get_otf.
4300 (ftfont_text_extents): Fix initial setting of metrics.
4301
4302 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4303 member order compatible with struct ftfont_info.
4304 (xftfont_open): Add FC_CHARSET to the pattern. Set
4305 xftfont_info->ft_size. Don't unlock the face. Check BDF
4306 properties if appropriate.
4307 (xftfont_close): Unlock the face.
4308 (xftfont_anchor_point, xftfont_shape): Deleted.
4309 (syms_of_xftfont): Don't set members anchor_point and shape of
4310 xftfont_driver.
4311
4312 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4313 font_make_object.
4314
4315 * w32font.c (w32font_open): Adjust it for the change of
4316 font_make_object.
4317 (w32font_open_internal): Don't set properties of font_object here.
4318
43192008-07-08 Chong Yidong <cyd@stupidchicken.com>
4320
4321 * macfns.c (x_create_tip_frame):
4322 * w32fns.c (x_create_tip_frame):
4323 * xfns.c (x_create_tip_frame): Pass parameter argument to
4324 face-set-after-frame-default.
4325
4326 * xfaces.c (Finternal_merge_in_global_face): Save merged
4327 attributes for the default face back into the face vector.
4328
43292008-07-08 Andreas Schwab <schwab@suse.de>
4330
4331 * fontset.h: Declare fontset_from_font. Don't declare
4332 new_fontset_from_font and fontset_from_font_name.
4333 * xterm.c: Include "fontset.h".
4334 * Makefile.in (xterm.o): Update dependencies.
4335
43362008-07-08 Glenn Morris <rgm@gnu.org>
4337
4338 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4339 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4340
43412008-07-07 Chong Yidong <cyd@stupidchicken.com>
4342
4343 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4344 (x_set_frame_parameters): Don't bind it.
4345
43462008-07-07 Juanma Barranquero <lekktu@gmail.com>
4347
4348 * w32fns.c (map_w32_filename): Declare extern.
4349
43502008-07-07 Jason Rumney <jasonr@gnu.org>
4351
4352 * w32term.c (WS_EX_LAYERED): Define if not already.
4353
43542008-07-06 Chong Yidong <cyd@stupidchicken.com>
4355
4356 * xfaces.c (set_font_frame_param): Don't try to set the font
4357 parameter if it is still unspecified in the lface.
4358
43592008-07-05 Chong Yidong <cyd@stupidchicken.com>
4360
4361 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4362 face if it didn't already exist.
4363
4364 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4365
43662008-07-05 Andreas Schwab <schwab@suse.de>
4367
4368 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4369
43702008-07-05 Chong Yidong <cyd@stupidchicken.com>
4371
4372 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4373 word-wrapping.
4374 (IT_DISPLAYING_WHITESPACE): New macro.
4375 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4376 when word-wrapping. Simplify word-wrapping logic. Use correct
4377 pixel positions when saving copies of the iterator.
4378 (display_line): Use proper wrap point if the last character on a
4379 line was preceded by whitespace.
4380
43812008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4382
4383 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4384
43852008-07-04 Kenichi Handa <handa@m17n.org>
4386
4387 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4388
4389 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4390
43912008-07-02 Jason Rumney <jasonr@gnu.org>
4392
4393 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4394 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4395
4396 * xdisp.c (next_element_from_display_vector): Move assignment out
4397 of if statement.
4398
43992008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4400
4401 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4402
4403 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4404 (syms_of_fileio): Initialize and export them.
4405 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4406
4407 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4408 (Fsystem_move_file_to_trash): New function.
4409 (syms_of_w32fns): Export it to lisp.
4410
44112008-07-01 Jason Rumney <jasonr@gnu.org>
4412
4413 * w32font.c (w32font_text_extents): Don't count overhang as part
4414 of width.
4415
44162008-06-30 Miles Bader <miles@gnu.org>
4417
4418 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4419 Add `avoid_cursor_p' field.
4420
4421 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4422 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4423 (append_glyph, append_composite_glyph, produce_image_glyph)
4424 (append_stretch_glyph): Initialize avoid_cursor_p.
4425 (get_it_property): Rename from `get_line_height_property'.
4426 (x_produce_glyphs): Use get_it_property.
4427 (handle_line_prefix, push_display_prop): New functions.
4428 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4429 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4430 New variables.
4431 (syms_of_xdisp): Initialize them.
4432
44332008-06-30 Kenichi Handa <handa@m17n.org>
4434
4435 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4436 XftDefaultSubstitute (they are called in XftFontMatch).
4437 (xftfont_open): Fix args to ftfont_font_format.
4438
4439 * ftfont.c (fc_charset_table): New member lang.
4440 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4441 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4442 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4443 (ftfont_open): Fix args to ftfont_font_format.
4444 (ftfont_font_format): New arg filename.
4445
44462008-06-30 Chong Yidong <cyd@stupidchicken.com>
4447
4448 * xfaces.c (Finternal_merge_in_global_face): If default face was
4449 modified, realize it again. Update the font face attribute.
4450
44512008-06-29 Jason Rumney <jasonr@gnu.org>
4452
4453 * w32term.c (x_set_frame_alpha): Fix logic.
4454
44552008-06-29 Kenichi Handa <handa@m17n.org>
4456
4457 * fontset.c (Finternal_char_font): Return font-object instead of
4458 font-name.
4459
4460 * composite.c (get_composition_id): Fix the width calculation for TAB.
4461
44622008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4463
4464 * indent.c (Fvertical_motion): Properly handle float column arg.
4465
44662008-06-28 Jason Rumney <jasonr@gnu.org>
4467
4468 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4469 (pfnSetLayeredWindowAttributes): New function pointer.
4470 (w32_initialize): Initialize it when supported.
4471 (x_set_frame_alpha): New function.
4472
4473 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4474 (w32_frame_parm_handlers): Set alpha handler.
4475
4476 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4477
44782008-06-27 Jason Rumney <jasonr@gnu.org>
4479
4480 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4481 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4482 (w32_to_x_charset, x_to_w32_charset)
4483 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4484 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4485 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4486 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4487 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4488 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4489 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4490 (Qw32_charset_unicode): Remove.
4491 (syms_of_w32fns): Update for above changes.
4492
4493 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4494 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4495 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4496 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4497 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4498 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4499 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4500 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4501 (syms_of_w32font): Update for above changes.
4502
45032008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4504
4505 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4506 removed #if.
4507 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4508
45092008-06-26 Juanma Barranquero <lekktu@gmail.com>
4510 Eli Zaretskii <eliz@gnu.org>
4511
4512 * makefile.w32-in (LOCAL_FLAGS):
4513 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4514
4515 * sysdep.c (_spawnlp, _getpid):
4516 Declare with explicit _cdecl instead of _CRTAPI1.
4517
4518 * editfns.c (Fget_internal_run_time):
4519 Check for WINDOWSNT with #ifdef, not #if.
4520
45212008-06-26 Jason Rumney <jasonr@gnu.org>
4522
4523 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4524
4525 * w32term.c (x_draw_glyph_string_foreground)
4526 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4527 Use FONT_HANDLE macro.
4528 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4529
4530 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4531 (uniscribe_encode_char): Use FONT_HANDLE macro.
4532
4533 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4534 (w32font_text_extents): Use precast w32_font.
4535 (w32font_close): Free cached metrics.
4536 (w32font_open_internal): Allocate space for name on stack.
4537
45382008-06-26 Chong Yidong <cyd@stupidchicken.com>
4539
4540 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4541
45422008-06-26 Jason Rumney <jasonr@gnu.org>
4543
4544 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4545 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4546
45472008-06-26 Juanma Barranquero <lekktu@gmail.com>
4548
4549 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4550
45512008-06-26 Jason Rumney <jasonr@gnu.org>
4552
4553 * w32bdf.c, w32bdf.h: Remove obsolete files.
4554
4555 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4556
4557 * w32gui.h: Don't include w32bdf.h.
4558 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4559 Remove obsolete font support.
4560
4561 * w32font.h (struct w32font_info): Remove compat_w32_font.
4562 Add hfont member.
4563 (FONT_COMPAT): Remove obsolete macro.
4564
4565 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4566 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4567 (w32font_open_internal): Remove compat code. Set new hfont member.
4568 (Fx_select_font): Use new hfont member.
4569
4570 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4571 (uniscribe_encode_char): Use new hfont member.
4572
4573 * w32term.c (x_draw_glyph_string_foreground)
4574 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4575 (x_draw_glyph_string): Use metrics in w32font_info.
4576
45772008-06-26 Kenichi Handa <handa@m17n.org>
4578
4579 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4580
45812008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4582
4583 * unexnext.c:
4584 * m/ews4800.h:
4585 * m/hp9000s300.h:
4586 * m/ibm370aix.h:
4587 * m/mips-siemens.h:
4588 * m/ncr386.h:
4589 * m/next.h:
4590 * m/pmax.h:
4591 * m/powerpcle.h:
4592 * m/tandem-s2.h:
4593 * s/386bsd.h:
4594 * s/bsd386.h:
4595 * s/bsd4-1.h:
4596 * s/bsd4-2.h:
4597 * s/bsdos2-1.h:
4598 * s/bsdos2.h:
4599 * s/bsdos3.h:
4600 * s/bsdos4.h:
4601 * s/nextstep.h:
4602 * s/ultrix4-3.h:
4603 * s/usg5-0.h:
4604 * s/usg5-2-2.h:
4605 * s/usg5-2.h:
4606 * s/usg5-4-3.h:
4607 * s/ux4800.h:
4608 * s/uxpds.h:
4609 * s/uxpv.h: Remove support for obsolete systems.
4610 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4611 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4612 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4613 Remove, insert contents in s/aix4-2.h.
4614 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4615 * s/bsd4-3.h: Rename to ...
4616 * s/bsd-common.h: ... this.
4617 * data.c:
4618 * doc.c:
4619 * ecrt0.c:
4620 * emacs.c:
4621 * fileio.c:
4622 * floatfns.c:
4623 * keyboard.c:
4624 * mem-limits.h:
4625 * print.c:
4626 * process.c:
4627 * sysdep.c:
4628 * syssignal.h:
4629 * systty.h:
4630 * syswait.h:
4631 * term.c:
4632 * unexec.c:
4633 * unexelf.c:
4634 * unexhp9k800.c:
4635 * m/hp800.h:
4636 * m/ibmrs6000.h:
4637 * m/mips.h:
4638 * m/vax.h:
4639 * s/darwin.h:
4640 * s/freebsd.h:
4641 * s/gnu.h:
4642 * s/ms-w32.h:
4643 * s/msdos.h:
4644 * s/netbsd.h:
4645 * s/template.h: Remove references to obsolete variables.
4646
4647 * Makefile.in: Add dependencies for all unexec files.
4648 (admindir): Remove unused variable.
4649 (UNEXEC_SRC): Remove references.
4650
46512008-06-25 Chong Yidong <cyd@stupidchicken.com>
4652
4653 * xfns.c (x_default_font_parameter): If Xft is available, first
4654 try Monospace-12 for the default font.
4655
46562008-06-25 Jason Rumney <jasonr@gnu.org>
4657
4658 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4659
46602008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4661
4662 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4663
4664 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4665
46662008-06-25 Juanma Barranquero <lekktu@gmail.com>
4667
4668 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4669 <scroll-conservatively>: Fix typo in docstring.
4670
4671 * xselect.c (Fx_send_client_event): Doc fix.
4672
46732008-06-25 Kenichi Handa <handa@m17n.org>
4674
4675 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4676
4677 * font.c (font_parse_fcname): Remove unused variables.
4678 (font_sort_entites): Delete the arg SPEC. Caller changed.
4679 Fix for the case of ! best_only.
4680 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4681
4682 * lisp.h (Fstring_to_unibyte): EXFUN it.
4683
4684 * character.h (str_to_unibyte): Extern it.
4685
4686 * character.c (str_to_unibyte): New function.
4687
4688 * fns.c (Fstring_to_unibyte): New function.
4689 (syms_of_fns): Defsubr it.
4690
46912008-06-24 Kenichi Handa <handa@m17n.org>
4692
4693 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4694 DPI too.
4695 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4696
46972008-06-24 Andreas Schwab <schwab@suse.de>
4698
4699 * Makefile.in (${lispsource}loaddefs.el): Rename from
4700 ../lisp/loaddefs.el.
4701 (bootstrap-clean): Do what distclean does but don't remove
4702 Makefile.
4703 (distclean): Depend on bootstrap-clean and remove Makefile.
4704
47052008-06-24 Chong Yidong <cyd@stupidchicken.com>
4706
4707 * buffer.h (struct buffer): New member word_wrap.
4708
4709 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4710 word-wrap.
4711 (init_buffer_once): Initialize them.
4712
4713 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4714 line_wrap enum possessing three possible values.
4715
4716 * termopts.h: Replace truncate_partial_width_windows with
4717 Vtruncate_partial_width_windows.
4718
4719 * dispnew.c (direct_output_for_insert): Avoid direct output when
4720 inserting a space with word wrap on.
4721
4722 * indent.c (compute_motion): Obey integer values of
4723 truncate-partial-width-windows.
4724
4725 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4726 replacing truncate_partial_width_windows.
4727 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4728 truncate only if the window width is below that integer.
4729 (start_display, resize_mini_window, produce_stretch_glyph)
4730 (display_string, move_it_in_display_line_to): Use line_wrap.
4731 (back_to_previous_visible_line_start, reseat_1): Reset
4732 string_from_display_prop_p.
4733 (display_line): Extend default face to end of line when wrapping.
4734
47352008-06-24 Kim F. Storm <storm@cua.dk>
4736
4737 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4738 to wrap continued lines at word boundaries.
4739
47402008-06-24 Jason Rumney <jasonr@gnu.org>
4741
4742 * font.c (Ffont_face_attributes): Multiply pixel size before point
4743 conversion to avoid multiplying rounding error.
4744
47452008-06-23 Jason Rumney <jasonr@gnu.org>
4746
4747 * w32term.c (x_draw_glyph_string_background)
4748 (x_draw_glyph_string): Remove old bdf font code.
4749
4750 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4751
47522008-06-22 Kenichi Handa <handa@m17n.org>
4753
4754 * font.c (font_find_for_lface): Try the adstyle specified in
4755 the property of LFACE_FONT of LFACE (if any).
4756
47572008-06-21 Seiji Zenitani <zenitani@mac.com>
4758 Ryo Yoshitake <ryo@shiftmode.net>
4759
4760 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4761
47622008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4763
4764 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4765 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4766 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4767 (witness-emacs): Remove.
4768 (lisp, shortlisp): Move loaddefs.el earlier.
4769 (mostlyclean): Forget about witness-emacs.
4770
47712008-06-22 Glenn Morris <rgm@gnu.org>
4772
4773 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4774 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4775
47762008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4777
4778 * Makefile.in (PRECOMP): Remove.
4779 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4780 (witness-emacs): Run `compile-first'.
4781 (.el.elc): Use the new compile-onefile target.
4782
47832008-06-21 Kenichi Handa <handa@m17n.org>
4784
4785 * xftfont.c (xftfont_open): Handle QCembolden only when
4786 FC_EMBOLDEN is defined.
4787
47882008-06-21 Andreas Schwab <schwab@suse.de>
4789
4790 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4791 (.el.elc): Likewise.
4792
47932008-06-21 Miles Bader <miles@gnu.org>
4794
4795 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4796 build dir, not the lisp source dir.
4797
47982008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4799
4800 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4801 (bootstrapclean): Remove.
4802 (.el.elc): New rule.
4803 (PRECOMP): New var.
4804 (../lisp/subdirs.el): Remove.
4805 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4806 (witness-emacs): New target.
4807 (mostlyclean): Remove witness-emacs as well.
4808 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4809 Add witness-emacs dependency.
4810
48112008-06-20 Chong Yidong <cyd@stupidchicken.com>
4812
4813 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4814 defined by the font.
4815
48162008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4817
4818 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4819 (bootstrap-clean): New target that keeps TAGS around.
4820 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4821 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4822
48232008-06-20 Jason Rumney <jasonr@gnu.org>
4824
4825 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4826 Remove obsolete font code.
4827
4828 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4829 to determine language support.
4830
48312008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4832
4833 * sysdep.c (cfsetspeed): New fun extracted from the code.
4834 (cfmakeraw): Move before first use.
4835
48362008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4837
4838 * sysdep.c (cfmakeraw): Provide fallback implementation.
4839 (serial_configure): Provide fallback implementation of cfsetspeed.
4840
48412008-06-20 Kenichi Handa <handa@m17n.org>
4842
4843 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4844 the pattern.
4845
4846 * fontset.c (fontset_from_font): Copy font_spec before changing
4847 the elements.
4848
4849 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4850
48512008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4852
4853 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4854 for explicit `font' parameters.
4855
4856 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4857
48582008-06-19 Kenichi Handa <handa@m17n.org>
4859
4860 * frame.c: Include <ctype.h>.
4861 (x_set_font_backend): Allow spacing characters in the X resource
4862 for FontBackend.
4863
48642008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4865
4866 * w32fns.c, xfns.c (Qfont_param): New var.
4867 (syms_of_w32fns): Initialize it.
4868 (x_default_font_parameter): Record explicit `font' into
4869 `font-parameter'.
4870
48712008-06-18 Kenichi Handa <handa@m17n.org>
4872
4873 * font.c (font_parse_xlfd): Fix previous change.
4874 (font_parse_fcname): Don't use :fc-unknown-spec.
4875 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4876 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4877 (font_add_log): Prepend the driver name to the resulting fonts.
4878
4879 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4880 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4881 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4882
4883 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4884 (QCembolden): New variables.
4885 (syms_of_xftfont): DEFSYM them.
4886 (xftfont_open): Call XftFontMatch. Don't trust the result of
4887 XftTextExtents8 if the pixel_size is less than 5.
4888
48892008-06-18 Andreas Schwab <schwab@suse.de>
4890
4891 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4892 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4893
48942008-06-18 Jason Rumney <jasonr@gnu.org>
4895
4896 * w32font.c (w32font_list, w32font_match): Add logging.
4897
4898 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4899
49002008-06-17 Chong Yidong <cyd@stupidchicken.com>
4901
4902 * font.c (font_parse_fcname): Store divider characters for
4903 unknown-spec list. For known key symbols, intern using correct
4904 symbol name.
4905
49062008-06-17 Kenichi Handa <handa@m17n.org>
4907
4908 * xfaces.c (realize_default_face): If the frame is not on window
4909 system, set the fontset of face to nil.
4910
49112008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4912
4913 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4914
49152008-06-16 Juanma Barranquero <lekktu@gmail.com>
4916
4917 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4918 (build_font_name_from_vector): Delete externs.
4919
4920 * xfaces.c (struct font_name): Don't declare.
4921
49222008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4923
4924 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4925
49262008-06-16 Chong Yidong <cyd@stupidchicken.com>
4927
4928 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4929
49302008-06-16 Juanma Barranquero <lekktu@gmail.com>
4931
4932 * font.c (Ffont_spec): Fix usage in docstring.
4933 (Ffont_face_attributes): Doc fix.
4934
49352008-06-16 Andreas Schwab <schwab@suse.de>
4936
4937 * font.c (Ffont_face_attributes): Fix definition.
4938
49392008-06-16 Jason Rumney <jasonr@gnu.org>
4940
4941 * font.h (font_style_symbolic_from_value): Remove.
4942
4943 * font.c (font_style_symbolic_from_value): Remove.
4944 (font_style_symbolic): Revert to pre 2008-06-13 version.
4945
4946 * w32font.c (w32_to_fc_weight): New function.
4947 (w32font_full_name, logfont_to_fcname): Use it.
4948
49492008-06-16 Kenichi Handa <handa@m17n.org>
4950
4951 * font.c (font_check_object): Delete it.
4952 (font_clear_cache): Check if a font-object is alive.
4953 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4954 font-object to nil.
4955 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4956 (font_at): Don't call font_check_object.
4957 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4958
49592008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4960
4961 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4962
49632008-06-16 Chong Yidong <cyd@stupidchicken.com>
4964
4965 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4966
49672008-06-15 Chong Yidong <cyd@stupidchicken.com>
4968
4969 * font.c (font_parse_fcname): Only one decimal point.
4970 (font_unparse_fcname): Handle data in family and foundry indices
4971 as symbols, not strings.
4972 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4973
4974 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4975
4976 * font.h (font_unparse_gtkname): Add prototype.
4977
49782008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4979
4980 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4981
49822008-06-15 Andreas Schwab <schwab@suse.de>
4983
4984 * font.c (font_update_drivers): Fix crash when no drivers match.
4985
49862008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4987
4988 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4989 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4990
49912008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4992
4993 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4994
49952008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4996
4997 * process.c (Fserial_process_configure, Fprocess_send_eof):
4998 Use EQ to compare Lisp_Objects.
4999
50002008-06-13 Jason Rumney <jasonr@gnu.org>
5001
5002 * w32fns.c (Fw32_select_font): Remove old font API function.
5003
5004 * w32font.c (logfont_to_fcname): New function.
5005 (Fx_select_font): New font dialog function compatible with
5006 GTK/fontconfig version.
5007
5008 * font.c (font_style_symbolic_from_value): New function.
5009 (font_style_symbolic): Use it.
5010
5011 * font.h (font_style_symbolic_from_value): Declare new function.
5012
50132008-06-13 Juanma Barranquero <lekktu@gmail.com>
5014
5015 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5016 <font-width-table>: Fix typos in docstrings.
5017
50182008-06-13 Daniel Engeler <engeler@gmail.com>
5019
5020 These changes add serial port access.
5021 * process.c: Add HAVE_SERIAL.
5022 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5023 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5024 (list_processes_1, select_wrapper, Fstop_process)
5025 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5026 (status_notify): Modify to handle serial processes.
5027 [HAVE_SERIAL] (Fserial_process_configure)
5028 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5029 New functions.
5030 * process.h (struct Lisp_Process): Add `type'.
5031 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5032 New functions.
5033 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5034 serial ports.
5035 (serial_open, serial_configure) New functions.
5036 * w32.h: Add FILE_SERIAL.
5037 (struct _child_process): Add ovl_read, ovl_write.
5038
50392008-06-13 Kenichi Handa <handa@m17n.org>
5040
5041 * dispextern.h (enum lface_attribute_index): New member
5042 LFACE_FOUNDRY_INDEX.
5043
5044 * font.c (font_score): Delete arg alternate_families. Check only
5045 weight, slant, width, and size. Ignore the difference of alias
5046 style symbols.
5047 (font_sort_entites): Adjust for the above change. Reflect the
5048 order of font-driver to scores.
5049 (font_list_entities): Don't check alternate_familes here.
5050 (font_clear_prop): Handle foundry.
5051 (font_update_lface): Don't parse "foundry-family" form here.
5052 Handle FONT_FOUNDRY_INDEX.
5053 (font_find_for_lface): Likewise. Handle alternate families here.
5054 If registry is nil, try iso8859-1 and ascii-0.
5055 (font_open_for_lface): Pay attention to size in ENTITY.
5056 (font_open_by_name): Simplify by calling font_load_for_lface.
5057 (free_font_driver_list): Delete it.
5058 (font_update_drivers): Preserve the order of backends.
5059 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5060 of font_score and font_sort_entites.
5061 (font_update_sort_order): Likewise.
5062
5063 * xfaces.c (LFACE_FOUNDRY): New macro.
5064 (check_lface_attrs): Check foundry.
5065 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5066 (merge_face_vectors): Check foundry.
5067 (merge_face_ref): Likewise.
5068 (Finternal_set_lisp_face_attribute): Likewise.
5069 (x_update_menu_appearance): Likewise.
5070 (Finternal_get_lisp_face_attribute): Likewise.
5071 (lface_hash): Likewise.
5072 (lface_same_font_attributes_p): Likewise.
5073 (x_supports_face_attributes_p): Likewise.
5074 (tty_supports_face_attributes_p): Likewise.
5075 (Finternal_set_alternative_font_family_alist): Intern strings.
5076 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5077 (realize_default_face): Set LFACE_FOUNDRY (lface).
5078
5079 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5080 font-driver at first.
5081
5082 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5083
50842008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5085
5086 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5087
50882008-06-12 Jim Meyering <meyering@redhat.com>
5089
5090 Make unexec_free handle NULL the same way free does.
5091 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5092
50932008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5094
5095 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5096 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5097 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5098 (WEAK_ALIAS): Simplify.
5099 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5100 when searching a unibyte buffer.
5101
51022008-06-12 Chong Yidong <cyd@stupidchicken.com>
5103
5104 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5105
51062008-06-12 Juanma Barranquero <lekktu@gmail.com>
5107
5108 * w32font.c: Include ctype.h.
5109
51102008-06-11 Jason Rumney <jasonr@gnu.org>
5111
5112 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5113 misreported as space.
5114 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5115 as aliases for registry iso10646-1.
5116
51172008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5118
5119 * buffer.c (clone_per_buffer_values): Skip `name'.
5120
51212008-06-11 Chong Yidong <cyd@stupidchicken.com>
5122
5123 * font.c (font_parse_fcname): Fix last change; accept decimal
5124 points in font size.
5125
51262008-06-10 Jason Rumney <jasonr@gnu.org>
5127
5128 * w32uniscribe.c (add_opentype_font_name_to_list):
5129 Skip non unicode fonts.
5130
51312008-06-10 Chong Yidong <cyd@stupidchicken.com>
5132
5133 * xfns.c (Fx_font_dialog): New function.
5134
5135 * gtkutil.c (xg_dialog_response_cb): Rename from
5136 xg_file_response_callback.
5137 (pop_down_dialog): Rename from pop_down_file_dialog.
5138 (xg_get_file_name): Callers changed.
5139 (xg_get_font_name): New function.
5140
5141 * gtkutil.h (xg_get_font_name): Insert prototype.
5142
51432008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5144
5145 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5146 x_underline_minimum_display_offset.
5147 (syms_of_xdisp): Declare it here rather than in xterm.c.
5148 * dispextern.h (underline_minimum_offset): Declare it.
5149 * w32term.c (x_draw_glyph_string): Use it.
5150 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5151 (syms_of_xterm): Don't declare it any more.
5152 (x_draw_glyph_string): Adjust to the new name.
5153
51542008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5155
5156 * xterm.c (x_underline_minimum_display_offset): New var.
5157 (x_draw_glyph_string): Use it.
5158 (syms_of_xterm): Declare it.
5159
51602008-06-10 Chong Yidong <cyd@stupidchicken.com>
5161
5162 * font.c (font_parse_fcname): Accept GTK-style font names too.
5163
51642008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5165
5166 * dired.c (file_name_completion): Don't return t if the match is exact
5167 but with different capitalization.
5168 * minibuf.c (Ftry_completion): Simplify.
5169
5170 * window.c (Vwindow_point_insertion_type): New var.
5171 (set_window_buffer): Use it.
5172 (syms_of_window): Init and export it to Lisp.
5173
51742008-06-10 Kenichi Handa <handa@m17n.org>
5175
5176 * font.h (font_intern_prop): Prototype adjusted.
5177
5178 * font.c (font_intern_prop): New arg force_symbol.
5179 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5180 Adjust for the change of font_intern_prop.
5181
5182 * ftfont.c (ftfont_pattern_entity):
5183 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5184 (w32_registry):
5185 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5186 the change of font_intern_prop.
5187
51882008-06-09 Juanma Barranquero <lekktu@gmail.com>
5189
5190 * w32menu.c (digest_single_submenu): Declare extern.
5191
51922008-06-09 Jason Rumney <jasonr@gnu.org>
5193
5194 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5195
5196 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5197 (parse_single_submenu): Remove.
5198 (digest_single_submenu): Remove.
5199 (syms_of_w32menu): Don't initialise variables that have moved
5200 to menu.c.
5201 (set_frame_menubar): Sync with version in xmenu.c.
5202 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5203
5204 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5205 Make static again.
5206
52072008-06-09 Jason Rumney <jasonr@gnu.org>
5208
5209 Changes to w32 files related to the move of common menu code
5210 to menu.c on 2008-06-08 by Chong Yidong.
5211
5212 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5213 defs to w32gui.h.
5214 (single_keymap_panes, push_menu_item, push_menu_pane):
5215 Make globally visible.
5216
5217 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5218 (local_free, malloc_widget_value, free_widget_value)
5219 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5220 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5221 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5222 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5223 (menu_items, menu_items_allocated, menu_items_used)
5224 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5225 (init_menu_items, finish_menu_items, discard_menu_items)
5226 (grow_menu_items, push_submenu_start, push_submenu_end)
5227 (push_left_right_boundary, push_menu_pane, push_menu_item)
5228 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5229 (free_menubar_widget_tree_value, parse_single_submenu)
5230 (update_submenu_strings): Remove functions.
5231 (xmalloc_widget_value): Remove and declare extern.
5232
5233 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5234 (OBJ1): Build it.
5235
5236 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5237 (local_heap, local_alloc, local_free, malloc_widget_value)
5238 (free_widget_value): Define here.
5239
52402008-06-09 Kenichi Handa <handa@m17n.org>
5241
5242 * font.h (Qascii_0): Extern it.
5243
5244 * font.c (Qascii_0): New variable.
5245 (syms_of_font): DEFSYM it.
5246 (font_open_by_name): If the registry "iso8859-1" fails, try also
5247 "ascii-0".
5248
5249 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5250
52512008-06-08 Kenichi Handa <handa@m17n.org>
5252
5253 * .gdbinit (xfont): New command.
5254
52552008-06-08 Andreas Schwab <schwab@suse.de>
5256
5257 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5258 * Makefile.in (menu.o): Update dependencies.
5259
5260 * Makefile.in (obj): Always add menu.o.
5261 * emacs.c (main): Always call syms_of_menu.
5262 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5263
52642008-06-08 Chong Yidong <cyd@stupidchicken.com>
5265
5266 * Makefile.in: Compile menu.c.
5267
5268 * lisp.h: Declare syms_of_menu.
5269
5270 * emacs.c (main): Call syms_of_menu.
5271
5272 * keyboard.h: Relocate platform-independent menu definitions from
5273 xmenu.c.
5274
5275 * menu.c: New file. Relocate platform-independent menu
5276 definitions from xmenu.c. Suggested by Adrian Robert.
5277
5278 * xmenu.c: Remove platform-independent menu definitions.
5279 (menu_items menu_items_inuse, menu_items_allocated)
5280 (menu_items_used, menu_items_n_panes)
5281 (menu_items_submenu_depth): Move to keyboard.h.
5282 (init_menu_items, finish_menu_items, unuse_menu_items)
5283 (discard_menu_items, restore_menu_items, save_menu_items)
5284 (grow_menu_items, push_submenu_start, push_submenu_end)
5285 (push_left_right_boundary, push_menu_pane, push_menu_item)
5286 (keymap_panes, single_keymap_panes, single_menu_item)
5287 (list_of_panes, list_of_items, find_and_call_menu_selection)
5288 (xmalloc_widget_value, free_menubar_widget_value_tree)
5289 (parse_single_submenu, digest_single_submenu)
5290 (update_submenu_strings): Move to menu.c.
5291
52922008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5293
5294 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5295
52962008-06-06 Miles Bader <miles@gnu.org>
5297
5298 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5299 face, not frame default.
5300
53012008-06-05 Martin Rudalics <rudalics@gmx.at>
5302
5303 * window.c (pop_up_windows, pop_up_frames)
5304 (display_buffer_reuse_frames, Vpop_up_frame_function)
5305 (Vdisplay_buffer_function, Veven_window_heights)
5306 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5307 (Vspecial_display_function, Vsame_window_buffer_names)
5308 (Vsame_window_regexps, split_height_threshold)
5309 (Vsplit_window_preferred_function): Move those vars to window.el.
5310 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5311 (Fdisplay_buffer): Move those functions to window.el.
5312 (syms_of_window): Remove corresponding declarations.
5313 (display_buffer): New function.
5314 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5315 * dispnew.c (Flast_nonminibuf_frame): New function.
5316 * buffer.c (Fpop_to_buffer): Move to window.el.
5317
53182008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5319
5320 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5321
53222008-06-05 Kenichi Handa <handa@m17n.org>
5323
5324 * coding.c (detect_coding): Fix previous change.
5325 (detect_coding_system): Likewise.
5326
53272008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5328
5329 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5330
5331 * keymap.c (Vminibuffer_local_filename_must_match_map):
5332 Rename from Vminibuffer_local_must_match_filename_map.
5333 (syms_of_keymap):
5334 * minibuf.c (Fcompleting_read): Adjust accordingly.
5335 * commands.h: Rename declaration as well.
5336
53372008-06-05 Kenichi Handa <handa@m17n.org>
5338
5339 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5340 family name.
5341 (Ffont_put): Likewise.
5342
5343 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5344 current font-spec.
5345
5346 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5347 is unspecified.
5348
5349 * xfaces.c (realize_x_face): If the font-related face attributes
5350 are the same as those of default face, realize a new fontset from
5351 default->fontset.
5352 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5353
53542008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5355
5356 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5357 (move_it_in_display_line): New wrapper.
5358
5359 * window.c (window_scroll_pixel_based_preserve_x)
5360 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5361 (window_scroll_pixel_based, window_scroll_line_based):
5362 Use them to preserve column positions.
5363 (syms_of_window): Initialize them.
5364
5365 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5366 (HPOS . VPOS) pair.
5367
5368 * dispextern.h (move_it_in_display_line): Declare.
5369
53702008-06-05 Juanma Barranquero <lekktu@gmail.com>
5371
5372 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5373 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5374 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5375
53762008-06-04 Juanma Barranquero <lekktu@gmail.com>
5377
5378 * window.c (Fset_window_parameter): Doc fix.
5379 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5380
53812008-06-04 Joakim Verona <joakim@verona.se>
5382
5383 * window.h (struct window): Add new member window_parameters.
5384
5385 * window.c (Fwindow_parameters, Fwindow_parameter)
5386 (Fset_window_parameter): New defuns.
5387 (syms_of_window): Defsubr the new defuns.
5388 (make_window): Initialize window_parameters to nil.
5389
53902008-06-04 John Paul Wallington <jpw@pobox.com>
5391
5392 * eval.c (Fdefmacro): Doc fix.
5393
53942008-06-04 Kenichi Handa <handa@m17n.org>
5395
5396 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5397 Be sure to call setup_coding_system when we find a proper coding system.
5398 (detect_coding_system): Fix handling of coding->head_ascii.
5399
54002008-06-03 Andreas Schwab <schwab@suse.de>
5401
5402 * font.c (font_prop_validate_spacing): Fix last change.
5403
54042008-06-03 Kenichi Handa <handa@m17n.org>
5405
5406 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5407 (font_parse_fcname): Fix handling of unknown key.
5408
5409 * xfont.c (xfont_list): Try an alias.
5410
5411 * charset.c (char_charset): Return NULL if the arg charset_list is
5412 specified and C doesn't belong to any of them.
5413
54142008-06-02 Chip Coldwell <coldwell@redhat.com>
5415
5416 * font.c (font_pixel_size): Don't take cdr of an integer.
5417
54182008-06-02 Jim Meyering <meyering@redhat.com>
5419
5420 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5421 * alloc.c (xfree): Return right away for a NULL arg.
5422 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5423 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5424 * mac.c (create_apple_event_from_event_ref): Likewise.
5425 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5426 Likewise.
5427 * doprnt.c (doprnt1): Likewise.
5428 * frame.c (frame): Likewise.
5429 * keyboard.c (wipe_kboard): Likewise.
5430 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5431 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5432 * term.c (tty_default_color_capabilities, maybe_fatal)
5433 (delete_tty): Likewise.
5434 * w16select.c (string): Likewise.
5435 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5436 * w32bdf.c (w32_free_bdf_font): Likewise.
5437 * w32fns.c (w32_unload_font): Likewise.
5438 * w32font.c (w32font_close): Likewise.
5439 * window.c (size_window): Likewise.
5440 * xselect.c (receive_incremental_selection): Likewise.
5441 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5442 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5443 * w32.c (stat): Likewise.
5444
5445 Remove useless if-before-free tests.
5446 * editfns.c (Fset_time_zone_rule): Likewise.
5447 * lread.c (nosuffix): Likewise.
5448 * ralloc.c (get_bloc): Likewise.
5449 * regex.c (reg_free): Likewise.
5450 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5451 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5452 * xsmfns.c (smc_save_yourself_CB): Likewise.
5453
54542008-06-02 Kenichi Handa <handa@m17n.org>
5455
5456 * font.c (font_find_for_lface): Handle float font size.
5457 (font_open_for_lface): Likewise.
5458
5459 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5460 comparing the properties.
5461
54622008-06-01 Jason Rumney <jasonr@gnu.org>
5463
5464 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5465 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5466 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5467 Don't add empty script list.
5468 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5469
54702008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5471
5472 * Makefile.in (dot, dotdot): Remove, update users.
5473 ".." has been used elsewhere in the file for a long time.
5474 (LIBXT_STATIC): Remove conditional based on unused variable.
5475
54762008-06-01 Miles Bader <miles@gnu.org>
5477
5478 * xfaces.c (Vface_remapping_alist): New variable.
5479 (syms_of_xfaces): Initialize it.
5480 (enum named_merge_point_kind): New type.
5481 (struct named_merge_point): Add `named_merge_point_kind' field.
5482 (push_named_merge_point): Make cycle detection respect different
5483 named-merge-point kinds.
5484 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5485 Remove face-name alias resolution.
5486 (lface_from_face_name): New definition using
5487 `lface_from_face_name_no_resolve'.
5488 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5489 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5490 (get_lface_attributes): New definition that layers face-remapping on
5491 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5492 (lookup_basic_face): New function.
5493 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5494 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5495 `get_lface_attributes'.
5496 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5497 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5498 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5499
5500 * xdisp.c (init_iterator): Pass base_face_id through
5501 `lookup_basic_face' when we actually use it as a face-id.
5502 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5503 DEFAULT_FACE_ID.
5504
5505 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5506 lookup the initial face-id.
5507
5508 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5509
55102008-06-01 Juanma Barranquero <lekktu@gmail.com>
5511
5512 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5513 (Fremove_text_properties): Fix typos in docstrings.
5514
55152008-05-31 Kenichi Handa <handa@m17n.org>
5516
5517 * font.c (font_list_entities): Fix the car part of data to be
5518 stored in the cache.
5519
5520 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5521
55222008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5523
5524 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5525 Add a `test' argument so another predicate than `equal' can be used.
5526 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5527 (map_char_table): Remove unused vars `c' and `i'.
5528 * lisp.h (Foptimize_char_table): Adjust declaration.
5529 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5530
55312008-05-30 Kenichi Handa <handa@m17n.org>
5532
5533 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5534 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5535 defined.
5536
55372008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5538
5539 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5540 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5541 frame-local settings for the same variable.
5542
55432008-05-30 Kenichi Handa <handa@m17n.org>
5544
5545 * fontset.c (Ffont_info): Move to font.c.
5546 (syms_of_fontset): Delete defsubr of Sfont_info.
5547
5548 * font.c (font_style_to_value, font_score): Delete casting of the
5549 args to xstcasecmp.
5550 (register_font_driver): Increment num_font_drivers only when
5551 registering the driver globally.
5552 (Ffont_info): Move from fontset.c. Handle a font object too.
5553 (syms_of_font): Defsubr Sfont_info.
5554
55552008-05-29 Kenichi Handa <handa@m17n.org>
5556
5557 * coding.h (enum define_coding_utf8_arg_index): New enum.
5558 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5559 coding_attr_utf_bom.
5560 (enum utf_bom_type): Rename from utf_16_bom_type.
5561 (struct utf_16_spec): Adjust for the above change.
5562 (struct coding_system): Add utf_8_bom in `spec' union.
5563
5564 * coding.c (CODING_UTF_8_BOM): New macro.
5565 (enum coding_category): Delete coding_category_utf_8, add
5566 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5567 coding_category_utf_8_sig.
5568 (CATEGORY_MASK_UTF_8): Delete it.
5569 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5570 (CATEGORY_MASK_UTF_8_SIG): New macros.
5571 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5572 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5573 CATEGORY_MASK_UTF_8_SIG.
5574 (CATEGORY_MASK_UTF_8): New macro.
5575 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5576 (detect_coding_utf_8): Check BOM.
5577 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5578 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5579 (encode_coding_utf_16): Likewise.
5580 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5581 (detect_coding, detect_coding_system): Handle utf-8-auto.
5582 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5583 (syms_of_coding): Fix setting up of Vcoding_category_table.
5584
55852008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5586
5587 * process.c (Faccept_process_output): If `millisec' is non-nil,
5588 `seconds' default to 0.
5589 (wait_reading_process_output): Also return non-nil if we read output
5590 from a non-running process.
5591
55922008-05-29 Jason Rumney <jasonr@gnu.org>
5593
5594 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5595 `raster' specified.
5596 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5597 in the uniscribe backend, but disallow any font that has no
5598 unicode subrange support.
5599
56002008-05-29 Juanma Barranquero <lekktu@gmail.com>
5601
5602 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5603 Fix typos in docstrings.
5604
56052008-05-29 Kenichi Handa <handa@m17n.org>
5606
5607 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5608 (Fx_family_fonts): Set frame correctly.
5609
56102008-05-28 Jason Rumney <jasonr@gnu.org>
5611
5612 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5613
56142008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5615
5616 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5617 calling build_annotations.
5618
56192008-05-28 Juanma Barranquero <lekktu@gmail.com>
5620
5621 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5622 (Fencode_coding_string):
5623 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5624 <latin-extra-code-table>: Fix typos in docstrings.
5625 (syms_of_coding) <coding-system-alist>: Doc fix.
5626 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5627
56282008-05-28 Kenichi Handa <handa@m17n.org>
5629
5630 * fontset.c (Ffont_info): Don't call font_close_object.
5631
5632 * font.c (font_parse_family_registry): Use Ffont_put to validate
5633 foundry and family.
5634 (font_delete_unmatched): Don't check spacing.
5635 (font_list_entities): Add spacing to the spec to list fonts.
5636
5637 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5638 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5639
5640 * coding.c (encode_coding_raw_text): Fix previous change.
5641 (encode_coding_object): When the dst_object is a buffer and is
5642 different from src_object, move gap to PT.
5643
56442008-05-27 Chong Yidong <cyd@stupidchicken.com>
5645
5646 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5647
56482008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5649
5650 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5651 all branches. Compute it differently.
5652
5653 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5654
56552008-05-27 Juanma Barranquero <lekktu@gmail.com>
5656
5657 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5658 into "else if () ... else ...".
5659
56602008-05-27 Jason Rumney <jasonr@gnu.org>
5661
5662 * w32font.c (w32font_open_internal): Determine if glyph indices
5663 are likely to work here.
5664
56652008-05-27 Chong Yidong <cyd@stupidchicken.com>
5666
5667 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5668 draw overlap glyphs with appropriate highlighting.
5669
56702008-05-27 Kenichi Handa <handa@m17n.org>
5671
5672 * xfont.c (xfont_open): Fix calculation of font->average_width.
5673
56742008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5675
5676 * casefiddle.c (casify_object): Try to guess better whether the
5677 argument is a byte or a char.
5678
56792008-05-26 Andreas Schwab <schwab@suse.de>
5680
5681 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5682 Always send multiples of format size.
5683
5684 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5685
56862008-05-26 Jason Rumney <jasonr@gnu.org>
5687
5688 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5689 (compute_metrics): Don't set failure if we just cleared the cache.
5690 (w32_weight_table): Remove unused variable.
5691 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5692 backwards compatibility.
5693
56942008-05-25 Kenichi Handa <handa@m17n.org>
5695
5696 * w32term.c (x_draw_glyph_string):
5697 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5698
5699 * xfaces.c: Delete unused function prototypes.
5700 (xstrlwr, font_frame): Delete them.
5701 (clear_face_cache): Delete unused variable.
5702
5703 * xftfont.c (xftfont_open): Delete unused variable.
5704 If underline_thickness is not 1, adjust underline_position.
5705
5706 * ftxfont.c (ftxfont_open): Delete unused variable.
5707
5708 * fontset.c (face_for_char): Optimize for the case of no charset
5709 property.
5710
5711 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5712 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5713 (otf_open, font_otf_capability, generate_otf_features)
5714 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5715 Comment out by surrounding "#if 0" and "#endif" for the moment.
5716 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5717 (syms_of_font): Codes for accessing above commented out.
5718
57192008-05-24 Eli Zaretskii <eliz@gnu.org>
5720
5721 * w32proc.c: Include dispextern.h.
5722
5723 * w32.c: Include dispextern.h.
5724
57252008-05-23 Juanma Barranquero <lekktu@gmail.com>
5726
5727 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5728 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5729 Fix typos in docstrings.
5730
57312008-05-23 Jason Rumney <jasonr@gnu.org>
5732
5733 * xsmfns.c: Remove includes that are already included by config.h.
5734
57352008-05-23 Kenichi Handa <handa@m17n.org>
5736
5737 * charset.c (Qemacs, charset_emacs): New variables.
5738 (char_charset): Fix for non-Unicode characters.
5739 (syms_of_charset): Define charset_emacs.
5740
5741 * w32term.c (x_draw_glyph_string): Be sure to update
5742 s->underline_thickness and s->underline_position. Be sure to draw
5743 underline within the current line area.
5744
5745 * xterm.c (x_draw_glyph_string): Be sure to update
5746 s->underline_thickness and s->underline_position. Be sure to draw
5747 underline within the current line area.
5748
5749 * fontset.c: Delete unused variables and add casting for char *
5750 throughout the file.
5751 (fontset_font): Try the fallback fonts of the current fontset
5752 before consulting the default fontset.
5753
5754 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5755
5756 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5757
57582008-05-22 Jason Rumney <jasonr@gnu.org>
5759
5760 * font.c: Don't include strings.h.
5761
5762 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5763
5764 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5765 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5766 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5767 to call xstrcasecmp.
5768
5769 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5770
5771 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5772
5773 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5774
5775 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5776
57772008-05-22 Kenichi Handa <handa@m17n.org>
5778
5779 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5780
5781 * font.c (font_prop_validate_style): Adjust for the format
5782 change of font_style_table.
5783
5784 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5785 two args.
5786
5787 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5788 two args.
5789
57902008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5791
5792 * minibuf.c (keys_of_minibuf): Delete.
5793 * lisp.h (keys_of_minibuf): Delete.
5794 * emacs.c (main): Don't call keys_of_minibuf.
5795
57962008-05-22 Kenichi Handa <handa@m17n.org>
5797
5798 * ftfont.c (ftfont_resolve_generic_family): Rename from
5799 ftfont_list_generic_family. Return a single family for each
5800 generic family.
5801 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5802 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5803 Call font_add_log.
5804 (ftfont_match): Call font_add_log.
5805
5806 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5807 (FONT_DEBUG): Define it.
5808 (font_add_log): Extern it.
5809 (font_assert): Rename from xassert.
5810
5811 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5812 (xfont_list_family): Call font_add_log.
5813 (xfont_match): Likewise.
5814 (memq_no_quit): Delete.
5815
5816 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5817 call of Ffont_xlfd_name.
5818
5819 * xfaces.c (struct table_entry, slant_table, weight_table)
5820 (swidth_table): Move to font.c.
5821
5822 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5823 xassert are changed to font_assert. Delete many unused variables.
5824 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5825 New variables.
5826 (struct table_entry): Move from xfaces.c and modified.
5827 (weight_table, slant_table, width_table): Move from xfaces.c and
5828 contents adjusted for the change of struct table_entry.
5829 (font_style_to_value, font_style_symbolic): Adjust for the
5830 format change of font_style_table.
5831 (font_parse_family_registry): Don't overwrite existing foundry and
5832 family of font_spec.
5833 (font_score): Fix calculation of diff for sizes.
5834 (font_sort_entites): Call font_add_log.
5835 (font_delete_unmatched): Return a newly created list.
5836 (font_list_entities): Fix previous change. Call font_add_log.
5837 (font_matching_entity, font_open_entity, font_close_entity):
5838 Call font_add_log.
5839 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5840 (Finternal_set_font_style_table): Delete.
5841 (BUILD_STYLE_TABLE): New macro.
5842 (build_style_table): New function.
5843 (Vfont_log, font_log_env_checked): New variables.
5844 (font_add_log): New function.
5845 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5846 Declare Lisp variables "font-weight-table", "font-slant-table",
5847 "font-width-table", and "font-log". Initialize font_style_table.
5848
58492008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5850
5851 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5852
58532008-05-21 Seiji Zenitani <zenitani@mac.com>
5854 Ryo Yoshitake <ryo@shiftmode.net>
5855
5856 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5857 (Vframe_alpha_lower_limit): New variable.
5858 (x_set_alpha): New function.
5859
5860 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5861
5862 * xfns.c (x-create-frame, Qalpha):
5863 Initialize the frame parameter `alpha'.
5864 * xterm.c (OPAQUE, OPACITY): New.
5865 (x_set_frame_alpha): New function.
5866 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5867
5868 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5869 * w32fns.c (w32_frame_parm_handlers): Likewise.
5870
58712008-05-20 Jason Rumney <jasonr@gnu.org>
5872
5873 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5874 truetype fonts to opentype list.
5875
58762008-05-20 Juanma Barranquero <lekktu@gmail.com>
5877
5878 * fontset.c (Ffontset_info): Doc fix.
5879 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5880 <ignore-relative-composition>: Fix typos in docstrings.
5881
5882 * font.c (syms-of-font) <font-encoding-alist>:
5883 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5884 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5885 (Ffont_otf_alternates): Doc fixes.
5886
58872008-05-20 Kenichi Handa <handa@m17n.org>
5888
5889 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5890 font.h through out the file.
5891 (FONT_DRIVERS): Rename from FONTOBJ.
5892 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5893 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5894
5895 * emacs.c (main): Call syms_of_font unconditionally.
5896
5897 * font.h (find_font_encoding): Extern it.
5898
5899 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5900 fontset.c.
5901 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5902 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5903 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5904 only when HAVE_WINDOW_SYSTEM is defined.
5905 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5906 when HAVE_WINDOW_SYSTEM is defined.
5907
5908 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5909 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5910
5911 * xfaces.c: Include font.h unconditionally.
5912 (merge_face_ref, merge_face_vectors)
5913 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5914
59152008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5916
5917 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5918 indirect_variable.
5919 * eval.c (lisp_indirect_variable): New fun.
5920 (Fuser_variable_p): Use it.
5921
59222008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5923
5924 * lisp.h (indirect_variable):
5925 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5926 Use Lisp_Symbol pointers rather than Lisp_Object.
5927 Adjust callers.
5928 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5929 To this end, change calling-convention.
5930
5931 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5932 if some non-hidden buffers are selected by string&pred.
5933
59342008-05-19 Chong Yidong <cyd@stupidchicken.com>
5935
5936 * process.c (wait_reading_process_output): Always check status
5937 when in batch mode.
5938
59392008-05-19 Kenichi Handa <handa@m17n.org>
5940
5941 * font.c (font_list_entities): Fix handling of cache.
5942 (font_matching_entity): Likewise.
5943
5944 * ftfont.c (cs_iso8859_1): Delete.
5945 (ft_face_cache): New variable.
5946 (struct ftfont_info): New member fc_charset_idx.
5947 (ftfont_build_basic_charsets): Delete.
5948 (fc_charset_table): New variable.
5949 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5950 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5951 Callers changed.
5952 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5953 (ftfont_spec_pattern): New argument fc_charset_idx.
5954 Check registry more rigidly. Change callers.
5955 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5956 change of :font-entity property of the font.
5957
5958 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5959 property of the font.
5960
59612008-05-18 Juanma Barranquero <lekktu@gmail.com>
5962
5963 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5964 (Funencodable_char_position, Fcheck_coding_systems_region)
5965 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5966 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5967 (Ffind_operation_coding_system, Fset_coding_system_priority)
5968 (Fcoding_system_eol_type): Doc fixes.
5969
59702008-05-17 Glenn Morris <rgm@gnu.org>
5971
5972 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5973
59742008-05-16 Eli Zaretskii <eliz@gnu.org>
5975
5976 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5977 and st_gid.
5978
5979 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5980 HAVE_WINDOW_SYSTEM is not defined.
5981
5982 * xfaces.c (merge_face_ref, merge_face_vectors)
5983 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5984 HAVE_WINDOW_SYSTEM is defined.
5985 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5986
59872008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5988
5989 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5990
59912008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5992
5993 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5994
59952008-05-15 Kenichi Handa <handa@m17n.org>
5996
5997 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5998 preference.
5999
60002008-05-15 Glenn Morris <rgm@gnu.org>
6001
6002 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6003
60042008-05-15 Chong Yidong <cyd@stupidchicken.com>
6005
6006 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6007 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6008
6009 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6010
60112008-05-15 Kenichi Handa <handa@m17n.org>
6012
6013 * ftfont.c (ftfont_list): Downcase family name to check generic
6014 families.
6015
6016 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6017 font-spec for QCfont value.
6018
6019 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6020 buffer. Check the return value of it.
6021
60222008-05-14 Jason Rumney <jasonr@gnu.org>
6023
6024 * w32term.c (w32_get_glyph_overhangs): Remove.
6025 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6026
60272008-05-14 Kenichi Handa <handa@m17n.org>
6028
6029 * font.c (font_prop_validate): Make nil a valid value.
6030 (font_clear_cache): Check if the cached vector of entities is nil
6031 or not.
6032
60332008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6034
6035 * emacs.c (main_thread): Conditionalize on
6036 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6037 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6038
6039 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6040 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6041 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6042
60432008-05-14 Kenichi Handa <handa@m17n.org>
6044
6045 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6046 has no corresponding coding system.
6047
60482008-05-14 Jason Rumney <jasonr@gnu.org>
6049
6050 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6051
6052 * w32font.h (w32font_open_internal): Update declaration.
6053
6054 * w32font.c (w32font_open_internal): Change last argument from
6055 w32font_info struct to font object. Fill in font object from
6056 font_entity. Get Outline metrics if possible. Use them to
6057 calculate underline position and thickness. Use xlfd name as name
6058 property. Don't set codepage.
6059 (w32font_open): Pass font_object to w32font_open_internal. Don't
6060 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6061 (w32font_draw): Use s->font.
6062 (clear_cached_metrics): Don't clear non-existent blocks.
6063
6064 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6065 font was not found.
6066 (x_draw_glyph_string): Use underline position and thickness from font.
6067
6068 * w32uniscribe.c (uniscribe_open): Pass font_object to
6069 w32font_open_internal.
6070
60712008-05-14 Kenichi Handa <handa@m17n.org>
6072
6073 These changes are to delete all legacy font-handling codes, and
6074 make Emacs use only font-backends.
6075
6076 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6077 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6078
6079 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6080
6081 * charset.h (Vcharset_non_preferred_head)
6082 (Vcurrent_iso639_language): Extern them.
6083
6084 * charset.c (Vcharset_non_preferred_head): New variable.
6085 (Vcurrent_iso639_language): New variable.
6086 (syms_of_charset): Declare it as a Lisp variable.
6087 (char_charset): Don't check non preferred charsets. As a last
6088 resort, return charset_unicode.
6089 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6090
6091 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6092 conditionals. Don't check enable_font_backend. Delete all codes
6093 used only when USE_FONT_BACKEND is not defined.
6094
6095 * dispextern.h (struct glyph_string): Change type of `font' to
6096 `struct font *'.
6097 (struct glyph_string): New member underline_position and
6098 underline_thickness.
6099 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6100 (struct face): Change type of `font' to `struct font *'. Remove
6101 members `font_name', `font_info_id'.
6102 (per_char_metric, encode_char): Delete externs.
6103 (calc_pixel_width_or_height): Adjust the prototype.
6104
6105 * emacs.c (enable_font_backend): Delete extern.
6106 (main): Don't set enable_font_backend. Don't check the command
6107 line argument "-disable-font-backend".
6108
6109 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6110 (enum font_property_index): New members FONT_DPI_INDEX,
6111 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6112 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6113 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6114 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6115 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6116 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6117 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6118 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6119 (struct font_spec, struct font_entity): New structs.
6120 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6121 (struct font): Many members from old "struct font_info" moved to
6122 here. Members font and entity deleted.
6123 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6124 the new font-related objects.
6125 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6126 (CHECK_FONT_GET_OBJECT): Likewise.
6127 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6128 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6129 (struct font_driver): New members case_sensitive anc check. Type
6130 of the member list and open changed.
6131 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6132 (font_symbolic_width, font_find_object, font_get_spec)
6133 (font_set_lface_from_name): Delete extern.
6134 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6135
6136 * font.c: Include <strings.h>.
6137 (enable_font_backend): Delete it.
6138 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6139 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6140 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6141 (null_string): Delete it.
6142 (null_vector): Make it static.
6143 (font_family_alist): Delete it.
6144 (Qnormal): Extern it.
6145 (QCextra, QClanguage): Delete it.
6146 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6147 (font_make_spec, font_make_entity, font_make_object)
6148 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6149 the string. Callers changed.
6150 (font_pixel_size): Adjusted for the format change of font-related
6151 objects.
6152 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6153 (font_style_to_value, font_style_symbolic): New function.
6154 (build_font_family_alist): Delete it.
6155 (font_registry_charsets): Use Fassoc_string instead of
6156 assq_no_quit.
6157 (font_prop_validate_symbol): Don't return null_string.
6158 (font_prop_validate_style): Adjusted for the change of
6159 style-related values in a font vector.
6160 (font_property_table): Delete entries for QClanguage and
6161 QCantialias, add entries for QCavgwidth.
6162 (get_font_prop_index): Delete the 2nd argument FROM.
6163 (font_prop_validate): Arguments changed.
6164 (font_put_extra): Adjusted for the change of font-related objects.
6165 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6166 (font_parse_fcname, font_unparse_fcname)
6167 (font_prepare_composition): Likewise.
6168 (font_parse_family_registry): Renamed from font_merge_old_spec.
6169 (otf_open): Delete the 1st arg entity.
6170 (font_otf_capability): Adjusted for the above change.
6171 (font_score): New arg alternate_families. Adjusted for the change
6172 of font-related objects.
6173 (font_sort_entites): New arg best_only.
6174 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6175 Delete them.
6176 (font_match_p): Check alternate families.
6177 (font_find_object): Delete it.
6178 (font_check_object): New function.
6179 (font_clear_cache): Adjusted for the change of font-related objects.
6180 (font_delete_unmatched): New arg.
6181 (font_list_entities): Call font_driver->list with a spec that
6182 doesn't specify style-related properties.
6183 (font_matching_entity): Arguments changed. Caller changed.
6184 (font_open_entity): Adjusted for the change of font-related objects.
6185 (font_close_object, font_has_char, font_encode_char)
6186 (font_get_name, font_get_spec): Likewise.
6187 (font_spec_from_name, font_clear_prop, font_update_lface):
6188 New functions.
6189 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6190 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6191 (font_at): Adjusted for the change of font-related objects.
6192 (font_range): New function.
6193 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6194 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6195 (Fcopy_font_spec, Fmerge_font_spec): New function.
6196 (Ffont_family_list): Renamed from list-families.
6197 (Finternal_set_font_style_table): Arguments changed.
6198 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6199 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6200 change of font-related objects.
6201 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6202
6203 * fontset.h (struct font_info): Delete it. Most members go to
6204 struct font.
6205 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6206 (enum FONT_SPEC_INDEX): Delete it.
6207 (font_info, list_fonts_func, load_font_func, query_font_func)
6208 (set_frame_fontset_func, find_ccl_program_func)
6209 (get_font_repertory_func, new_fontset_from_font_name): Delete
6210 externs.
6211 (fontset_from_font_name): Extern it.
6212 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6213 (FONT_INFO_FROM_FACE): Deleted.
6214 (face_for_font): Adjust prototype.
6215
6216 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6217 conditionals. Don't check enable_font_backend. Delete all codes
6218 used only when USE_FONT_BACKEND is not defined.
6219 (get_font_info_func, list_font_func, load_font_func)
6220 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6221 (get_font_repertory_func): Delete them.
6222 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6223 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6224 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6225 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6226 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6227 (fontset_compare_rfontdef): New function.
6228 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6229 rfont-defs by qsort. Adjusted for the change of font-group vector.
6230 (load_font_get_repertory): Deleted.
6231 (fontset_find_font): Use new macros to ref/set elements of
6232 font-def and rfont-def.
6233 (fontset_font): Fix the timing of remembering that no font for C.
6234 (free_face_fontset): Do nothing if the face has no fontset.
6235 (face_suitable_for_char_p): Use new macros to ref/set elements of
6236 rfont-def.
6237 (face_for_char): Likewise. Call face_for_char with font_object.
6238 (fs_load_font): Delete. Delete #pragma surrounding it.
6239 (fs_query_fontset): Use strcasecmp instead of strcmp.
6240 (generate_ascii_font_name): Adjusted for the format change of
6241 font-spec.
6242 (Fset_fontset_font): Likewise. Use new macros to set elements of
6243 font-def.
6244 (Fnew_fontset): Use font_unparse_xlfd to generate
6245 FONTSET_ASCII (fontset).
6246 (new_fontset_from_font_name): Deleted.
6247 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6248 a fontset is already created for the font. FIx updating of
6249 Vfontset_alias_alist.
6250 (fontset_ascii_font): Deleted.
6251 (Ffont_info): Adjusted for the format change of font-spec.
6252 (Finternal_char_font): Likewise.
6253 (Ffontset_info): Likewise.
6254 (syms_of_fontset): Don't check load_font_func.
6255
6256 * fns.c (internal_equal): Handle PREV_FONT.
6257
6258 * frame.h: Delete USE_FONT_BACKEND conditional.
6259
6260 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6261 conditionals. Don't check enable_font_backend. Delete all codes
6262 used only when USE_FONT_BACKEND is not defined.
6263 (x_set_font): Call x_new_font, not x_new_fontset2.
6264 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6265 already set for the frame.
6266
6267 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6268 a font-entity by font_make_entity. Use font_intern_prop instead
6269 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6270 font property. If a font is scalable, set avgwidth property to 0.
6271 Set font-entity property by font_put_extra.
6272 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6273 (ffont_driver): Adjusted for the change of struct font_driver.
6274 (ftfont_spec_pattern): New function.
6275 (ftfont_list): Return a list, not vector.
6276 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6277 (ftfont_list_family): Don't downcase names.
6278 (ftfont_free_entity): Deleted.
6279 (ftfont_open): Return a font-object. Adjusted for the change of
6280 struct font. Get underline_thickness and underline_position from
6281 font property. Don't update dpyinfo->smallest_font_height and
6282 dpyinfo->smallest_char_width.
6283 (ftfont_close): Don't free `struct font'.
6284 (ftfont_has_char): Adjusted for the format change of font-entity.
6285 (ftfont_encode_char, ftfont_text_extents): Likewise.
6286
6287 * ftxfont.c (ftxfont_list): Return a list, not vector.
6288 (ftxfont_open): Return a font-object. Adjusted for the change of
6289 struct font. Get underline_thickness and underline_position from
6290 font property. Don't update dpyinfo->smallest_font_height and
6291 dpyinfo->smallest_char_width.
6292 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6293 (ftxfont_draw): Adjusted for the change of struct font.
6294
6295 * image.c (image_ascent): Don't include "charset.h". Include
6296 "character.h" and "font.h".
6297
6298 * lisp.h (enum pvec_type): New member PREV_FONT.
6299 (Fassoc_string): EXFUN it.
6300
6301 * print.c: Include font.h.
6302 (print_object): Handle font-related objects.
6303
6304 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6305 conditionals. Don't check enable_font_backend. Delete all codes
6306 used only when USE_FONT_BACKEND is not defined.
6307 (handle_auto_composed_prop): Do nothing if it->f is not on a
6308 window system. Check how many following characters can be
6309 displayed by the same font.
6310 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6311 'struct font *'.
6312 (get_char_face_and_encoding): Assign the whole encoding task to
6313 the `encode-char' method of a font driver.
6314 (fill_composite_glyph_string): Adjusted for the change of `struct
6315 face' and `struct glyph_string'.
6316 (fill_glyph_string): Likewise.
6317 (get_per_char_metric): Arguments changed.
6318 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6319 and `struct glyph_string'.
6320 (produce_stretch_glyph, calc_line_height_property)
6321 (x_produce_glyphs): Likewise.
6322
6323 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6324 conditionals. Don't check enable_font_backend. Delete all codes
6325 used only when USE_FONT_BACKEND is not defined. Use
6326 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6327 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6328 (Qp): Extern them.
6329 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6330 Deleted.
6331 (struct font_name): Deleted.
6332 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6333 (compare_fonts_by_sort_order): New function.
6334 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6335 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6336 Deleted.
6337 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6338 compare_fonts_by_sort_order.
6339 (Fx_font_family_list): Call Ffont_family_list.
6340 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6341 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6342 (face_symbolic_slant, face_symbolic_swidth)
6343 (split_font_name_into_vector, build_font_name_from_vector)
6344 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6345 (font_rescale_ratio, split_font_name, build_font_name)
6346 (free_font_names, sort_fonts, x_face_list_fonts)
6347 (face_font_available_p, sorted_font_list, cmp_font_names)
6348 (font_list_1, concat_font_list, font_list, remove_duplicates):
6349 Deleted.
6350 (Fx_list_fonts): Use Ffont_list.
6351 (LFACE_AVGWIDTH): Deleted.
6352 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6353 by FONTP.
6354 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6355 (set_lface_from_font_name): Delete it.
6356 (set_lface_from_font): Renamed from
6357 set_lface_from_font_and_fontset. Caller changed. Don't set
6358 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6359 for face.
6360 (merge_face_vectors): Copy font-spec if necessary.
6361 Clear properties of the font-spec if necessary.
6362 (merge_face_ref): Clear properties of the font-spec if necessary.
6363 (Finternal_set_lisp_face_attribute): Likewise.
6364 (set_font_frame_param): Use font_load_for_lface to load a
6365 font-object, and call Fmodify_frame_parameters with it.
6366 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6367 font name by Ffont_xlfd_name.
6368 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6369 QCslant, and QCwidth.
6370 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6371 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6372 Compare fonts by EQ.
6373 (lookup_non_ascii_face): Deleted.
6374 (face_for_font): The 2nd argument changed.
6375 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6376 Check atomic font properties by case insensitive.
6377 (realize_non_ascii_face): Set face->overstrike correctly.
6378 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6379 (dump_realized_face): Get font name from
6380 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6381
6382 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6383 conditionals. Don't check enable_font_backend. Delete all codes
6384 used only when USE_FONT_BACKEND is not defined.
6385 (xic_create_xfontset): Original code deleted and renamed from
6386 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6387 (x_make_gc): Don't set GCFont in GCs.
6388 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6389 opened by "fixed".
6390 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6391 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6392 get_font_repertory_func.
6393
6394 * xfont.c: Include <stdlib.h> and "ccl.h".
6395 (struct xfont_info): New structure.
6396 (xfont_query_font): Deleted.
6397 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6398 moved from xterm.c.
6399 (xfont_driver): Adjusted for the change of struct font_driver.
6400 (compare_font_names): New function.
6401 (xfont_list_pattern): Sort font names case insensitively. Make
6402 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6403 (xfont_list): Return a list, not vector.
6404 (xfont_match): If the font doesn't have QCname property, generate
6405 a name from the other font properties.
6406 (xfont_open): Return a font-object. Adjusted for the change of
6407 struct font. Get underline_thickness and underline_position from
6408 font property. Don't update dpyinfo->smallest_font_height and
6409 dpyinfo->smallest_char_width.
6410 (xfont_close): Don't free struct font.
6411 (xfont_prepare_face): Adjusted for the change of struct font.
6412 (xfont_done_face): Deleted.
6413 (xfont_has_char): Adjusted for the change of struct font.
6414 (xfont_encode_char, xfont_draw): Likewise.
6415 (xfont_check): New function.
6416
6417 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6418 callback function.
6419 (xftfont_match): Adjusted for the format change of font-entity.
6420 (xftfont_open): Adjusted for the format change of font-entity and
6421 font-object. Adjusted for the change of struct font. Return a
6422 font-object. Don't update dpyinfo->smallest_font_height and
6423 dpyinfo->smallest_char_width.
6424 (xftfont_close): Block input while calling XftFontClose.
6425 (xftfont_prepare_face): Don't block input while calling
6426 xftfont_get_colors. Adjusted for the change of struct font.
6427 (xftfont_shape): Return value of error case fixed.
6428
6429 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6430
6431 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6432 conditionals.
6433 (FONT_WIDTH): Return (f)->max_width.
6434 (struct x_display_info): Delete member `font'.
6435 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6436 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6437 (struct x_output): Change type of `font' to `struct font *'.
6438
6439 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6440 conditionals. Don't check enable_font_backend. Delete all codes
6441 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6442 (x_per_char_metric, x_encode_char): Deleted.
6443 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6444 (x_compute_glyph_string_overhangs): Adjusted for the change of
6445 `struct face'.
6446 (x_draw_glyph_string_foreground)
6447 (x_draw_composite_glyph_string_foreground): Likewise.
6448 (x_draw_glyph_string): Likewise. Use font->underline_position and
6449 font->underline_thickness.
6450 (x_new_font): Renamed from x_new_fontset2.
6451 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6452 (x_check_font): Call `check' method of a font driver.
6453 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6454 (x_query_font, x_get_font_repertory): Deleted.
6455 (x_find_ccl_program): Renamed and moved to xfont.c.
6456 (x_redisplay_interface): Adjusted for the change of `struct
6457 redisplay_interface'.
6458
6459 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6460 conditionals. Don't check enable_font_backend. Delete all codes
6461 used only when USE_FONT_BACKEND is not defined. Surround non-used
6462 code by "#ifdef OLD_FONT" and "endif".
6463 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6464
6465 * w32font.h (struct w32font_info): New member.
6466 (FONT_COMPAT): New macro.
6467 (w32font_open_internal): Prototype adjusted.
6468
6469 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6470 OLD_FONT" and "endif".
6471
6472 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6473 conditionals. Don't check enable_font_backend. Delete all codes
6474 used only when USE_FONT_BACKEND is not defined.
6475 (w32font_open): Return a font-object. Make a font-object by
6476 font_make_object. Adjusted for the change of struct w32font_info.
6477 (w32font_close): Don't free struct font. Adjusted for the change
6478 of struct w32font_info.
6479 (w32font_encode_char, w32font_text_extents, w32font_draw):
6480 Adjusted for the change of struct w32font_info.
6481 (w32font_draw): Likewise.
6482 (w32font_list_internal): Return a list, not vector.
6483 (w32font_open_internal): Change the 4th arg to font-object.
6484 Adjusted for the change of struct w32font_info and font-object format.
6485 (add_font_name_to_list): Don't downcase names.
6486 (w32_enumfont_pattern_entity): Make a font-entity by
6487 font_make_entity. Adjusted for the format change of font-entity.
6488 Use FONT_SET_STYLE to set a style-related font property. If a
6489 font is scalable, set avgwidth property to 0. Set font-entity
6490 property by font_put_extra.
6491 (font_matches_spec): Adjusted for the format change of font-entity.
6492 (w32_weight_table, w32_decode_weight): New variables.
6493 (w32_encode_weight): New function.
6494 (fill_in_logfont): Adjusted for the format change of font-spec.
6495 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6496 weight value.
6497 (w32font_driver): Adjusted for the change of struct font_driver.
6498
6499 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6500 conditionals. Don't check enable_font_backend. Surround non-used
6501 code by "#ifdef OLD_FONT" and "endif".
6502 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6503 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6504
6505 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6506 conditionals. Don't check enable_font_backend. Delete all codes
6507 used only when USE_FONT_BACKEND is not defined. Surround non-used
6508 code by "#ifdef OLD_FONT" and "endif".
6509
6510 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6511 (uniscribe_open): Return value changed to font-object.
6512 Adjusted for the format change of font-object.
6513 (uniscribe_otf_capability): Adjusted for the change of struct font.
6514 (add_opentype_font_name_to_list): Don't downcase names.
6515 (uniscribe_font_driver): Adjusted for the change of struct
6516 font_driver.
6517
65182008-05-13 Chong Yidong <cyd@stupidchicken.com>
6519
6520 * dispnew.c (update_frame_1): Check if tty output is still valid
6521 before flushing it.
6522
65232008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6524
6525 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6526 to Gtk+ menus.
6527
65282008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6529
6530 * dired.c (file_name_completion): Tweak the code so as to always do it
6531 in a single pass. Tighten the scope of some variables.
6532
6533 * dired.c (Qdefault_directory): New var.
6534 (file_name_completion): Use it instead of Fexpand_file_name.
6535 (syms_of_dired): Initialize it.
6536
65372008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6538
6539 * fileio.c (double_dollars): Remove dead code.
6540
65412008-05-10 Eli Zaretskii <eliz@gnu.org>
6542
6543 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6544 Mention w32-get-true-file-attributes in doc string.
6545
6546 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6547
65482008-05-09 Glenn Morris <rgm@gnu.org>
6549
6550 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6551 2008-04-23.
6552
65532008-05-09 Eli Zaretskii <eliz@gnu.org>
6554
6555 Support for reporting owner and group of each file on MS-Windows:
6556 * dired.c (stat_uname, stat_gname): New functions, with special
6557 implementation for w32.
6558 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6559
6560 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6561 (dflt_group_name): New static variable.
6562 (dflt_group): Rename from the_group.
6563 (init_user_info): Init dflt_group fields. Get user's group name
6564 from LookupAccountSid.
6565 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6566 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6567 New initialization states.
6568 (globals_of_w32): Initialize them to zero. Initialize the default
6569 group name to "None".
6570 (GetFileSecurity_Name): New global var, the name of the function
6571 to call for GetFileSecurity.
6572 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6573 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6574 (get_file_security, get_security_descriptor_owner)
6575 (get_security_descriptor_group, is_valid_sid)
6576 (get_file_security_desc, get_rid, get_name_and_id)
6577 (get_file_owner_and_group): New functions.
6578 (stat): Use get_file_security_desc and get_file_owner_and_group to
6579 report the owner and primary group of each file. Don't ignore the
6580 high 32 bits of file's size, now that st_size is 64-bit wide.
6581 Fix test when to get true file attributes.
6582 (init_user_info): Use get_rid instead of equivalent inline code.
6583 (fstat): Don't ignore the high 32 bits of file's size.
6584
65852008-05-09 Chong Yidong <cyd@stupidchicken.com>
6586
6587 * image.c (png_load): Use correct bit-depth for setting background
6588 color.
6589
65902008-05-08 Eli Zaretskii <eliz@gnu.org>
6591
6592 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6593 epa-hook.elc.
6594
65952008-05-08 Juanma Barranquero <lekktu@gmail.com>
6596
6597 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6598
65992008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6600
6601 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6602 because the original parameters are in pure storage now.
6603 (mac_window): Remove unused params. Update callers.
6604
66052008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6606
6607 * lread.c (substitute_object_recurse): Use lower-level primitives.
6608 Don't signal errors when traversing sub-char-tables.
6609 Don't loop over all the possible characters when traversing char-tables.
6610
6611 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6612 just like we do in print.c.
6613
66142008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6615
6616 * minibuf.c (Ftry_completion): Remove code left over from when we used
6617 scmp instead of Fcompare_strings.
6618
66192008-05-04 Juanma Barranquero <lekktu@gmail.com>
6620
6621 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6622
66232008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6624
6625 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6626 Create bitmap context in native byte order.
6627
6628 * macterm.c (XDrawLine)
6629 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6630 context in native byte order.
6631
66322008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6633
6634 * config.in: Regenerate.
6635
6636 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6637 New definitions for Image I/O support.
6638 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6639 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6640 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6641 (mac_data_provider_release_data, image_load_image_io)
6642 [USE_MAC_IMAGE_IO]: New functions.
6643 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6644 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6645 (init_image_func_pointer) [MAC_OSX]: Remove function.
6646 (image_load_quartz2d) [MAC_OSX]: Check availability of
6647 CGImageCreateWithPNGDataProvider at compile time.
6648 Use lowercase `false' for boolean constant.
6649 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6650 Use image_load_image_io.
6651 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6652 Don't check MyCGImageCreateWithPNGDataProvider.
6653 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6654 Don't call init_image_func_pointer.
6655
6656 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6657
6658 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6659 Make variable non-static.
6660 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6661 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6662
6663 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6664 (RED_FROM_ULONG): Mask off higher bits.
6665 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6666
6667 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6668 Include AvailabilityMacros.h.
6669 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6670 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6671
66722008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6673
6674 * chartab.c (Fset_char_table_range): If range is t, really set all
6675 chars to that value.
6676
66772008-05-03 Eli Zaretskii <eliz@gnu.org>
6678
6679 * dired.c (Ffile_attributes): Don't allow the device number become
6680 negative.
6681
66822008-05-02 Daiki Ueno <ueno@unixuser.org>
6683
6684 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6685
66862008-05-02 Juri Linkov <juri@jurta.org>
6687
6688 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6689 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6690 DEFAULT argument as a list of default values in docstrings.
6691
66922008-05-01 Chong Yidong <cyd@stupidchicken.com>
6693
6694 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6695
66962008-05-01 Martin Rudalics <rudalics@gmx.at>
6697
6698 * dispnew.c (change_frame_size_1): Preserve small windows when
6699 shrinking frames by calling set_window_height|width with third
6700 arg 2.
6701
6702 * window.h (struct window): Replace field too_small_ok by field
6703 resize_proportionally.
6704
6705 * window.c (make_window): Initialize resize_proportionally.
6706 (enlarge_window): Temporarily set resize_proportionally to make
6707 sure that shrink_windows does scale the window proportionally.
6708 (shrink_windows): When window has resize_proportionally set try
6709 to shrink it proportionally by stealing from other windows.
6710 (struct saved_window, Fset_window_configuration)
6711 (compare_window_configurations): Handle resize_proportionally.
6712 (WINDOW_TOTAL_SIZE): New macro.
6713 (window_min_size, shrink_windows, size_window): Use it.
6714 (check_min_window_sizes): Remove. Invalid values of
6715 window-min-height|width are handled by window_min_size_2 now.
6716 (size_window, Fsplit_window, enlarge_window)
6717 (adjust_window_trailing_edge, grow_mini_window): Don't call
6718 check_min_window_sizes.
6719 (window_min_size_2, window_min_size_1, window_min_size):
6720 New argument safe_p for retrieving "safe" minimum sizes.
6721 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6722 (adjust_window_trailing_edge, grow_mini_window):
6723 Adjust arguments of window_min_size... functions.
6724 (shrink_windows): Argument min_size removed. New argument
6725 safe_p allows shrinking windows to their safe minimum sizes.
6726 Calculate minimum size and decide whether a window shall be
6727 deleted for each window individually.
6728 (size_window): When nodelete_p equals 2, tell shrink_windows to
6729 delete windows only if their new minimum size is no more safe.
6730 (shrink_window_lowest_first): Call window_min_size_1 to make
6731 sure to preserve modeline of bottom-most window when resizing
6732 the minibuffer.
6733 (Fset_window_configuration, Fcurrent_window_configuration)
6734 (compare_window_configurations): Do not handle
6735 window-min-height|width any more.
6736 (syms_of_window): Clarify window-min-height|width doc-strings.
6737
67382008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6739
6740 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6741 some more. Copy some of the code from Ftry_completions.
6742 Remove special case code that dates back to initial revision when the
6743 slash was only added when necessary and that can't trigger nowadays.
6744
67452008-04-27 Kenichi Handa <handa@m17n.org>
6746
6747 * font.c (font_prop_validate): Signal `error' instead of `font'.
6748
67492008-04-29 Jason Rumney <jasonr@gnu.org>
6750
6751 * w32fns.c (Fw32_battery_status): New defun.
6752 (syms_of_w32fns): Defsubr it.
6753
67542008-04-28 Andreas Schwab <schwab@suse.de>
6755
6756 * dired.c (file_name_completion): Fix another mixing of encoded
6757 and decoded names.
6758
67592008-04-28 Juanma Barranquero <lekktu@gmail.com>
6760
6761 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6762
67632008-04-27 Juanma Barranquero <lekktu@gmail.com>
6764
6765 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6766
67672008-04-27 Andreas Schwab <schwab@suse.de>
6768
6769 * dired.c (file_name_completion): Fix inappropriate mixing of
6770 encoded and decoded names.
6771
6772 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6773
6774 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6775
67762008-04-26 Eli Zaretskii <eliz@gnu.org>
6777
6778 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6779 2008-03-31, it's not needed anymore with `struct stat' definition
6780 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6781 for the same reasons.
6782
67832008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6784
6785 * m/sparc.h: Additional redefinitions for GNU/Linux.
6786
67872008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6788
6789 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6790 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6791 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6792 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6793 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6794 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6795 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6796 Likewise.
6797
6798 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6799 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6800 (mac_ax_number_of_characters): Add externs.
6801 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6802 [USE_MAC_TSM]: Likewise.
6803 (mac_handle_text_input_event) [MAC_OSX]:
6804 Handle kEventTextInputOffsetToPos for no active input area case.
6805 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6806 (mac_handle_document_access_event)
6807 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6808 (install_application_handler) [MAC_OSX]: Register handlers for
6809 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6810 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6811 Register mac_handle_document_access_event.
6812
6813 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6814 Make functions non-static.
6815
68162008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6817
6818 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6819 (read_file_name_completion_ignore_case, insert_default_directory)
6820 (Qdefault_directory): Move to minibuffer.el.
6821 (Fread_file_name): Call the new `read-file-name' instead.
6822
68232008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6824
6825 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6826 Make function non-static.
6827 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6828 Remove function.
6829 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6830 Move to mactoolbox.c.
6831 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6832
6833 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6834 (mac_rect_make): New macro.
6835
6836 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6837 instead of float.
6838 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6839 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6840 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6841 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6842 CGRectMake.
6843 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6844 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6845 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6846 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6847 instead of WindowRef in argument type.
6848 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6849 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6850 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6851 instead of DISPLAY. All uses changed.
6852 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6853 (x_calc_absolute_position): Simplify so as not to use
6854 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6855
6856 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6857 instead of WindowRef in argument type.
6858 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6859 [TARGET_API_MAC_CARBON]: Remove externs.
6860 (create_apple_event, mac_event_parameters_to_lisp)
6861 [TARGET_API_MAC_CARBON]: Add externs.
6862
6863 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6864 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6865 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6866 is clicked.
6867 (x_activate_menubar): Remove extern for saved_menu_event_location.
6868 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6869 Move from mac.c.
6870
68712008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6872
6873 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6874 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6875
68762008-04-23 Jason Rumney <jasonr@gnu.org>
6877
6878 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6879 attributes only for local files.
6880
6881 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6882 default to Qlocal.
6883
68842008-04-22 Juri Linkov <juri@jurta.org>
6885
6886 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6887 read-buffer-to-switch instead of using the letter "B".
6888
68892008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6890
6891 * fileio.c (Qdefault_directory): New variable.
6892 (Fread_file_name): Use it to pass `dir' to the completion functions.
6893
68942008-04-20 Chong Yidong <cyd@stupidchicken.com>
6895
6896 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6897
68982008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6899
6900 * keyboard.c (Vpre_help_message): Remove.
6901 (show_help_echo): Remove default C code.
6902
6903 * dired.c (directory_files_internal, file_name_completion):
6904 Only call ENCODE_FILE if the string is indeed decoded.
6905
69062008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6907
6908 * Makefile.in (TOOLKIT_DEFINES): Remove.
6909 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6910
69112008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6912
6913 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6914 (mactoolbox.o): New target.
6915
6916 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6917 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6918
6919 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6920 Use mac_set_frame_window_background instead of XSetWindowBackground.
6921 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6922 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6923 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6924 instead of SetWindowTitleWithCFString.
6925 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6926 Move function to mactoolbox.c.
6927 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6928 Use mac_set_window_modified instead of SetWindowModified.
6929 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6930 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6931 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6932 FrontNonFloatingWindow. Use mac_activate_window instead of
6933 ActivateWindow. Use mac_active_non_floating_window instead of
6934 ActiveNonFloatingWindow.
6935 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6936 Use mac_show_hourglass and mac_hide_hourglass.
6937 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6938 instead of GetGlobalMouse.
6939 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6940 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6941 Use mac_bring_window_to_front instead of BringToFront.
6942 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6943 mactoolbox.c.
6944 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6945 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6946 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6947 mactoolbox.c.
6948
6949 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6950 (XtPointer): Move typedef from macmenu.c.
6951 (enum button_type): Move enum from macmenu.c.
6952 (widget_value): Move typedef from macmenu.c.
6953 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6954 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6955 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6956 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6957 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6958 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6959 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6960 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6961 (Selection): Move typedef from macselect.c.
6962 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6963 macterm.c.
6964 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6965 (mac_is_window_collapsed, mac_bring_window_to_front)
6966 (mac_send_window_behind, mac_hide_window, mac_show_window)
6967 (mac_collapse_window, mac_front_non_floating_window)
6968 (mac_active_non_floating_window, mac_activate_window)
6969 (mac_move_window_structure, mac_move_window, mac_size_window)
6970 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6971
6972 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6973 (enum mac_menu_kind): Move enum to mactoolbox.c.
6974 (min_menu_id): Move variable to mactoolbox.c.
6975 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6976 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6977 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6978 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6979 [TARGET_API_MAC_CARBON]: Likewise.
6980 (XtPointer): Move typedef to macgui.h.
6981 (enum button_type): Move enum to macgui.h.
6982 (widget_value): Move typedef to macgui.h.
6983 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6984 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6985 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6986 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6987 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6988 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6989 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6990 (popup_activated_flag): Make variable non-static.
6991 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6992 (add_menu_item, fill_menu, dispose_menus):
6993 Move functions to mactoolbox.c.
6994 (restore_show_help_function, menu_target_item_handler)
6995 (install_menu_target_item_handler, mac_handle_dialog_event)
6996 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6997 [TARGET_API_MAC_CARBON]: Likewise.
6998 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6999 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7000 (find_and_call_menu_selection, name_is_separator): Make function
7001 non-static.
7002 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7003 to mactoolbox.c.
7004 (set_frame_menubar): Don't call install_menu_quit_handler.
7005 (menu_item_selection): New variable.
7006 (mac_menu_show): Use create_and_show_popup_menu.
7007 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7008 selection but set variable menu_item_selection. All uses changed.
7009 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7010 Call install_menu_quit_handler. Move to mactoolbox.c.
7011
7012 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7013 (Selection): Move typedef to macgui.h.
7014 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7015 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7016 Make variables non-static.
7017 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7018 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7019 Make functions non-static.
7020 (Vmac_service_selection) [MAC_OSX]: Likewise.
7021 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7022 (mac_valid_selection_target_p, mac_clear_selection)
7023 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7024 (mac_put_selection_value, mac_selection_has_target_p)
7025 (mac_get_selection_value, mac_get_selection_target_list)
7026 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7027 Move functions to mactoolbox.c.
7028 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7029 Likewise.
7030 (copy_scrap_flavor_data, mac_handle_service_event)
7031 (install_service_handler) [MAC_OSX]: Likewise.
7032 (syms_of_macselect) <Vmac_dnd_known_types>:
7033 Use mac_dnd_default_known_types.
7034
7035 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7036 Move to mactoolbox.c.
7037 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7038 (Fx_selection_owner_p): Add EXFUN.
7039 (install_window_handler, remove_window_handler, XSetWindowBackground):
7040 Remove externs.
7041 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7042 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7043 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7044 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7045 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7046 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7047 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7048 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7049 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7050 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7051 (mac_valid_selection_target_p, mac_clear_selection)
7052 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7053 (mac_put_selection_value, mac_selection_has_target_p)
7054 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7055 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7056 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7057 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7058 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7059 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7060 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7061 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7062 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7063
7064 * mactoolbox.c: New file.
7065
70662008-04-18 Jason Rumney <jasonr@gnu.org>
7067
7068 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7069
70702008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7071
7072 * character.c (Fmultibyte_char_to_unibyte):
7073 Return latin1 chars unchanged.
7074
7075 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7076 relocated if it points to `name'.
7077
70782008-04-17 Kenichi Handa <handa@m17n.org>
7079
7080 * data.c (Faset): Allow setting a multibyte character in an
7081 ASCII-only unibyte string.
7082
7083 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7084
70852008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7086
7087 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7088 done in config.h.
7089
70902008-04-16 Juanma Barranquero <lekktu@gmail.com>
7091
7092 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7093 (Fchar_direction): Add usage in the docstring.
7094
70952008-04-15 Chong Yidong <cyd@stupidchicken.com>
7096
7097 * keyboard.c (read_key_sequence): Remove always-true checks.
7098
70992008-04-14 Jason Rumney <jasonr@gnu.org>
7100
7101 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7102 compatibility struct, for better underline positioning.
7103
71042008-04-13 David Hansen <david.hansen@gmx.net>
7105
7106 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7107 string.
7108
71092008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7110
7111 * m/hp800.h (XUINT, XSET): Remove.
7112
71132008-04-12 Juanma Barranquero <lekktu@gmail.com>
7114
7115 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7116 previous change.
7117
71182008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7119
7120 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7121 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7122
71232008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7124
7125 * keymap.h (map_keymap_canonical): Declare.
7126 * xmenu.c (single_keymap_panes): Use it.
7127
71282008-04-11 Glenn Morris <rgm@gnu.org>
7129
7130 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7131 set the target's value to that of the alias.
7132
71332008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7134
7135 * term.c (set_tty_color_mode): Left over typo.
7136
71372008-04-10 Michael Albinus <michael.albinus@gmx.de>
7138
7139 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7140 only after check for file name handler functions. Signal, when
7141 native functionality is not supported.
7142 (syms_of_fileio): Declare it unconditionally.
7143
71442008-04-10 Jason Rumney <jasonr@gnu.org>
7145
7146 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7147 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7148
7149 * w32.c (logon_network_drive): Also logon to remote drives that
7150 are mapped to drive letters.
7151
71522008-04-10 Glenn Morris <rgm@gnu.org>
7153
7154 * xdisp.c (truncate-partial-width-windows): Doc fix.
7155
71562008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7157
7158 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7159 Move functions to minibuffer.el.
7160 (syms_of_fileio): Don't declare them.
7161
71622008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7163
7164 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7165 (syms_of_minibuf): Remove its initialization.
7166
7167 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7168
71692008-04-09 Juanma Barranquero <lekktu@gmail.com>
7170
7171 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7172
71732008-04-09 Jason Rumney <jasonr@gnu.org>
7174
7175 * makefile.w32-in (distclean): Delete makefile too.
7176 (maintainer-clean): New target.
7177
7178 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7179
7180 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7181 for new font backend and composite cases.
7182
71832008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7184
7185 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7186 Most of the code moved to run_timers.
7187 (do_pending_atimers): Call run_timers.
7188 (run_timers): New function.
7189
7190 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7191 run atimers.
7192
7193 * process.c (wait_reading_process_output): The same as above.
7194
71952008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7196
7197 * minibuf.c (last_exact_completion): Remove variable.
7198 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7199 (complete_and_exit_1, complete_and_exit_2)
7200 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7201 (Fdisplay_completion_list, display_completion_list_1)
7202 (Fminibuffer_completion_help, Fself_insert_and_exit)
7203 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7204 minibuffer.el.
7205 (syms_of_minibuf): Remove corresponding initializations.
7206
7207 * keyboard.c (Qdeactivate_mark): New var.
7208 (command_loop_1): Use it to call `deactivate-mark'.
7209 (syms_of_keyboard): Initialize it.
7210
7211 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7212 to another frame.
7213 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7214 Don't call set_tty_color_mode.
7215 (store_frame_param): Reset previous_frame rather than call
7216 set_tty_color_mode.
7217 * term.c (set_tty_color_mode): Rewrite.
7218 * dispextern.h (set_tty_color_mode): New type.
7219 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7220
72212008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7222
7223 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7224 for generic chars, which do not exist any more in emacs-unicode.
7225
72262008-04-08 Michael Albinus <michael.albinus@gmx.de>
7227
7228 * coding.c (detect_coding_emacs_mule)
7229 (Ffind_operation_coding_system): Fix typo.
7230
72312008-04-08 Jason Rumney <jasonr@gnu.org>
7232
7233 * w32uniscribe.c (SNAME): Extract only symbol name.
7234
7235 * w32font.h (struct w32_metric_cache): New struct.
7236 (w32font_info): Use it.
7237 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7238 (CACHE_BLOCKSIZE): New constants.
7239
7240 * w32font.c (Qja, Qko, Qzh): New symbols.
7241 (syms_of_w32font): Initialise them.
7242 (font_matches_spec): Use them to filter by language.
7243 (recompute_cached_metrics): Remove function.
7244 (compute_metrics, clear_cached_metrics): New functions.
7245 (w32font_encode_char): Use them to manage metric cache.
7246 (w32font_text_extents): Cache metrics for all glyphs on demand.
7247 Delay converting glyph indices to WORD until needed.
7248 (w32font_open_internal): Initialize metric cache to empty.
7249 (registry_to_w32_charset): Charset should always be a symbol.
7250 (fill_in_logfont, list_all_matching_fonts): Family should
7251 always be a symbol.
7252
72532008-04-06 Jason Rumney <jasonr@gnu.org>
7254
7255 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7256 Give up if glyph indices not supported. Use uniscribe obtained
7257 ABC widths for individual metrics. Map glyph clusters back to
7258 characters using fClusterStart flag. Return number of glyphs
7259 produced, not chars processed.
7260 (uniscribe_shape): Map char at FROM to current glyph.
7261
72622008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7263
7264 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7265 Use SetMenuItemHierarchicalMenu.
7266
72672008-04-05 Jason Rumney <jasonr@gnu.org>
7268
7269 * image.c (pbm_load): Allow color values up to 65535.
7270 Throw an error if max_color_idx is outside the supported range.
7271 Report an error when image size is invalid.
7272 Read two bytes at a time when raw images have max_color_idx above 255.
7273
72742008-04-05 Eli Zaretskii <eliz@gnu.org>
7275
7276 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7277 cFileName a file name that includes `?' characters, use the 8+3
7278 alias in cAlternateFileName instead.
7279
72802008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7281
7282 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7283 append "CCL: Quitted" when the CCL program is quitted.
7284 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7285
7286 * ccl.h (struct ccl_program): New member quit_silently.
7287
72882008-04-05 Chong Yidong <cyd@stupidchicken.com>
7289
7290 * search.c (compile_pattern_1): Treat non-nil and non-string of
7291 search-spaces-regexp as nil.
7292
7293 * minibuf.c (Fassoc_string): Tweak docstring.
7294
72952008-04-05 Eli Zaretskii <eliz@gnu.org>
7296
7297 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7298 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7299 2008-03-14 to force inode be positive.
7300
7301 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7302 _S_* ones, since we now use our own sys/stat.h.
7303 (stat, fstat): Don't mangle the inode number.
7304 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7305
73062008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7307
7308 * frame.h (struct frame): Give one more bit to `visible' since we use
7309 values larger than 1 to indicate obscured frames on ttys.
7310
7311 * keymap.c (Qkeymap_canonicalize): New var.
7312 (Fmap_keymap_internal): New fun.
7313 (describe_map): Use keymap-canonicalize.
7314
7315 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7316 (Fundo_boundary): Set them.
7317 (syms_of_undo): Initialize them.
7318 (record_point): Use them instead of last_point_position*.
7319 (last_undo_buffer): Change type.
7320
73212008-04-04 Jason Rumney <jasonr@gnu.org>
7322
7323 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7324 (recompute_cached_metrics): Don't set ascent and descent per char.
7325
7326 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7327 (uniscribe_check_otf): Add GC protection before consing.
7328 Rearrange loop for counting features.
7329
73302008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7331
7332 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7333 buffer with byte-size of source buffer.
7334
73352008-04-03 Chong Yidong <cyd@stupidchicken.com>
7336
7337 * callint.c (Fcall_interactively): Handle temporary region even
7338 when shift-select-mode is off.
7339
73402008-04-03 Jason Rumney <jasonr@gnu.org>
7341
7342 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7343
73442008-04-03 Kenichi Handa <handa@m17n.org>
7345
7346 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7347 (CATEGORY_MASK_UTF_16): Likewise.
7348 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7349 binary file.
7350 (detect_coding): Add null-byte detection for a binary file.
7351 (detect_coding_system): Likewise.
7352
73532008-04-03 Jason Rumney <jasonr@gnu.org>
7354
7355 * w32uniscribe.c: New file.
7356
7357 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7358
7359 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7360
7361 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7362 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7363 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7364 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7365 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7366 (Qphonetic): New symbols.
7367 (syms_of_w32font): Initialize them.
7368 (font_supported_scripts): Use them.
7369 (w32font_list_family): List all charsets.
7370 (w32font_text_extents, recompute_cached_metrics): Fix metric
7371 calculations.
7372 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7373 Give opentype fonts their own format.
7374 (font_matches_spec): New arguments backend and logfont.
7375 Handle :otf spec for uniscribe backend.
7376 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7377 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7378
7379 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7380 font backend.
7381 (globals_of_w32fns): Initialize uniscribe font backend.
7382
7383 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7384 dependencies.
7385 (w32uniscribe.$(O)): New file to build.
7386 (FONT_OBJ): Include w32uniscribe.$(O).
7387 (LIBS): Add uniscribe libraries.
7388
7389 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7390
73912008-04-02 Chong Yidong <cyd@stupidchicken.com>
7392
7393 * callint.c (Vshift_select_mode): New var.
7394 (Finteractive): Document new ^ spec.
7395 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7396 is present.
7397
7398 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7399 (command_loop_1): Avoid running the direct display versions of
7400 forward-char and backward-char if shift-selection may occur.
7401 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7402 shift-translation takes place.
7403
7404 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7405 avoid clobbering by define-minor-mode.
7406
7407 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7408 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7409
7410 * syntax.c (Fforward_word): Add ^ interactive spec.
7411
7412 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7413 (Fscroll_right): Add ^ interactive spec.
7414
74152008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7416
7417 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7418
7419 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7420
7421 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7422
74232008-03-31 Juri Linkov <juri@jurta.org>
7424
7425 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7426
74272008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7428
7429 * gtkutil.c (xg_set_geometry): Fix indentation.
7430 (xg_resize_outer_widget): Remove.
7431 (x_wm_size_hint_off): Fix indentation.
7432 (xg_frame_set_char_size): Call flush_and_sync after
7433 gtk_window_resize.
7434 (x_wm_set_size_hint): Pass NULL as geometry window to
7435 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7436 Add menu bar and tool bar height to base height.
7437 (xg_update_frame_menubar, free_frame_menubar)
7438 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7439 (update_frame_tool_bar, free_frame_tool_bar):
7440 Change xg_resize_outer_widget to xg_frame_set_char_size.
7441
74422008-03-30 Michael Albinus <michael.albinus@gmx.de>
7443
7444 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7445 (Fdbus_call_method): New parameter TIMEOUT.
7446 (dbus-send-signal): Optimize UNGCPRO call.
7447
74482008-03-29 Juri Linkov <juri@jurta.org>
7449
7450 * window.c (Fdisplay_buffer): Move call to
7451 Vsplit_window_preferred_function out of conditions that check
7452 if window is eligible for vertical splitting.
7453 When Vsplit_window_preferred_function is non-nil, call it and use
7454 its non-nil return value as window. Otherwise, continue doing
7455 vertical splitting using Fsplit_window with arg horflag=nil.
7456 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7457 default value from `split-window' to nil.
7458
74592008-03-29 Juri Linkov <juri@jurta.org>
7460
7461 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7462 for interactive code letters 'b' and 'B'.
7463
74642008-03-29 Eli Zaretskii <eliz@gnu.org>
7465
7466 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7467 multibyte string.
7468
74692008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7470
7471 * keyboard.c (pending_funcalls): New var.
7472 (timer_check): Run it.
7473 (syms_of_keyboard): Initialize it.
7474 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7475 (Vdelete_terminal_functions): New vars.
7476 (syms_of_terminal): Initialize them.
7477 (Fdelete_terminal): Run delete-terminal-functions.
7478 * xdisp.c (safe_eval): Rewrite.
7479 (safe_call2): New fun.
7480 * frame.c (Qdelete_frame_functions): New var.
7481 (syms_of_frame): Initialize it.
7482 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7483 * lisp.h (safe_call2, pending_funcalls): Declare.
7484
74852008-03-28 Andreas Schwab <schwab@suse.de>
7486
7487 * indent.c (Fmove_to_column): Move declaration before statements.
7488
74892008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7490
7491 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7492 (struct frame): Use bit fields for boolean vars.
7493
7494 * process.c (server_accept_connection): Simplify naming.
7495 (emacs_get_tty_pgrp): Use SDATA.
7496
7497 * coding.c (decode_coding_object): Fix last change.
7498
74992008-03-27 Jason Rumney <jasonr@gnu.org>
7500
7501 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7502
75032008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7504
7505 * charset.c (Fdefine_charset_internal): Change the way of
7506 registering charsets in Vcharset_order_list.
7507 (syms_of_charset): Make the charset `eight-bit' supplementary.
7508
75092008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7510
7511 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7512 operations, to avoid having the difference between pointers
7513 overflow.
7514
75152008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7516
7517 * indent.c (check_display_width): New fun.
7518 (scan_for_column): Use it.
7519
7520 * data.c (syms_of_data): Mark most-positive-fixnum and
7521 most-negative-fixnum as constants.
7522
7523 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7524
7525 * indent.c (scan_for_column): Extract from current_column_1.
7526 Merge with the same code from Fmove_to_column.
7527 (current_column_1, Fmove_to_column): Use it.
7528
75292008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7530
7531 * keymap.c (map_keymap_internal): New fun.
7532 (map_keymap): Use it.
7533 (Fmap_keymap_internal): New fun.
7534 (Fmap_keymap): Remove left-out test from before make_save_value.
7535
7536 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7537
7538 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7539 Use XCAR/XCDR.
7540
7541 * process.h (struct Lisp_Process): Remove filter_multibyte.
7542 * process.c (QCfilter_multibyte): Remove.
7543 (setup_process_coding_systems): Don't use filter_multibyte.
7544 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7545 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7546 (Fset_process_filter_multibyte): Change the coding-system to
7547 approximate the previous behavior.
7548 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7549 coding-system.
7550
7551 * coding.c (decode_coding_object): When not decoding into a buffer,
7552 obey the coding system's preference of (uni|multi)byte.
7553
75542008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7555
7556 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7557 every char is changed and has a different byte-length.
7558 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7559 Fix int -> EMACS_INT.
7560
75612008-03-23 David Hansen <david.hansen@gmx.net>
7562
7563 * dbusbind.c (xd_read_message): Remove extra copying of message
7564 strings. Check for NULL `interface' or `member'.
7565
75662008-03-22 Eli Zaretskii <eliz@gnu.org>
7567
7568 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7569 cFileName a file name that includes `?' characters, use the 8+3
7570 alias in cAlternateFileName instead.
7571
75722008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7573
7574 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7575
75762008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7577
7578 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7579 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7580 work on current_buffer only instead (that was already the case
7581 for some of the code anyway).
7582 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7583 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7584 (SET_PT, SET_PT_BOTH): Adjust.
7585 * intervals.h (set_point, temp_set_point, set_point_both)
7586 (temp_set_point_both): Remove redundant declarations.
7587
75882008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7589
7590 * fileio.c (Finsert_file_contents):
7591 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7592 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7593 when buffer != current_buffer anyway.
7594
75952008-03-20 Andreas Schwab <schwab@suse.de>
7596
7597 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7598 as default.
7599
76002008-03-19 Jason Rumney <jasonr@gnu.org>
7601
7602 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7603 (syms_of_w32fns): Initialize them.
7604 (HOURGLASS_ID): New constant.
7605 (x_window_to_frame): Don't check hourglass_window.
7606 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7607 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7608 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7609 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7610 Only change the cursor if hourglass is not active.
7611 (Fx_create_frame): Initialize frame's current_cursor.
7612 (hourglass_atimer): Remove.
7613 (hourglass_started): New function.
7614 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7615 (show_hourglass): Adapt to w32, changing argument to frame.
7616
7617 * w32term.h (struct w32_output): Remove hourglass_window.
7618 Add current_cursor.
7619
7620 * eval.c (call_debugger, Fsignal):
7621 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7622 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7623 (Fexecute_extended_command, cancel_hourglass_unwind):
7624 * minibuf.c (read_minibuf):
7625 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7626
76272008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7628
7629 * window.c (run_funs): New fun.
7630 (run_window_configuration_change_hook): Use it to run the buffer-local
7631 and the global part of the hook.
7632
7633 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7634 (unwind_format_mode_line): Restore selected window.
7635 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7636
76372008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7638
7639 * editfns.c (Fchar_equal): Check they are valid characters.
7640
7641 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7642
76432008-03-17 Andreas Schwab <schwab@suse.de>
7644
7645 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7646 against a charset.
7647
7648 * lisp.h (Fbuffer_list): Declare.
7649
76502008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7651
aac0c6e3
MR
7652 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7653 handlebox_widget is != 0.
7654
76552008-03-16 Juri Linkov <juri@jurta.org>
7656
7657 * callint.c (Fcall_interactively): For interactive code letters
7658 'b' and 'B' put the buffer list into the list of default "future"
7659 values of the minibuffer.
7660
76612008-03-16 Andreas Schwab <schwab@suse.de>
7662
7663 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7664 modifiers.
7665
7666 * regex.c (re_match_2_internal): Correct matching of a charset
7667 against latin-1 characters.
7668
76692008-03-16 Kenichi Handa <handa@m17n.org>
7670
7671 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7672 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7673 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7674 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7675 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7676 CHAR_STRING_ADVANCE.
7677 (produce_chars): Fix for the case that the source and the
7678 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7679 instead of CHAR_STRING_ADVANCE.
7680 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7681 STRING_CHAR_ADVANCE.
7682
76832008-03-15 Andreas Schwab <schwab@suse.de>
7684
7685 * regex.c (re_match_2_internal): Correct matching of eight bit
7686 characters in unibyte strings.
7687
76882008-03-15 Martin Rudalics <rudalics@gmx.at>
7689
7690 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7691 at end of range when it coincides with the end of the buffer.
7692
76932008-03-14 Eli Zaretskii <eliz@gnu.org>
7694
7695 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7696
7697 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7698
76992008-03-14 Jason Rumney <jasonr@gnu.org>
7700
7701 * editfns.c (initial_tz): New variable.
7702 (syms_of_editfns): Initialize it.
7703 (Fset_time_zone_rule): Set it when first called.
7704 Use it when TZSTRING is nil.
7705
7706 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7707 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7708 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7709 (globals_of_w32fns): Initialize them.
7710 (compute_tip_xy): Use them to position tooltips.
7711
77122008-03-14 Glenn Morris <rgm@gnu.org>
7713
7714 * emacs.c (main): Revert previous change.
7715 (standard_args): Revert -internal-script back to -scriptload,
7716 and remove the long-option form.
7717
77182008-03-13 Glenn Morris <rgm@gnu.org>
7719
7720 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7721 Remove option -enable-font-backend.
7722
77232008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7724
7725 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7726
77272008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7728
7729 * xterm.c (x_connection_closed): For GTK: If this is the last
7730 terminal just exit without closing the display.
7731
77322008-03-11 Jason Rumney <jasonr@gnu.org>
7733
7734 * w32font.c (w32font_full_name): Use floor to round.
7735
f0131492 77362008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7737
7738 * sound.c (alsa_configure): Declare vol at beginning of block.
7739
7740 * fontset.c (Ffontset_info): Remove extra semicolon.
7741
77422008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7743
7744 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7745 size of resulting string.
7746
77472008-03-10 Jason Rumney <jasonr@gnu.org>
7748
7749 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7750
77512008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7752
7753 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7754 Don't pretend as if characters with display property haven't been
7755 consumed for string-replacing-string case.
7756
77572008-03-08 Kim F. Storm <storm@cua.dk>
7758
7759 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7760 (get_next_display_element, next_element_from_string)
7761 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7762
77632008-03-08 Andreas Schwab <schwab@suse.de>
7764
7765 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7766
77672008-03-06 Jason Rumney <jasonr@gnu.org>
7768
7769 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7770 when charset not specified. Only translate ANSI to unicode when
7771 font_type is truetype.
7772 (w32font_coverage_ok): New function.
7773 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7774
77752008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7776
7777 * lread.c (Fread_char): Resolve modifiers.
7778 (Fread_char_exclusive): Likewise.
7779
7780 * character.c (char_resolve_modifier_mask): New function.
7781 (char_string): Use char_resolve_modifier_mask.
7782 (Fchar_resolve_modifiers): New function.
7783 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7784 function.
7785
77862008-03-04 Jason Rumney <jasonr@gnu.org>
7787
7788 * makefile.w32-in: Always include w32font.c in the build.
7789 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7790
77912008-03-04 Andreas Schwab <schwab@suse.de>
7792
7793 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7794 (versionclean): Likewise.
7795
77962008-03-04 Juanma Barranquero <lekktu@gmail.com>
7797
7798 * .cvsignore: Add oo.
7799
78002008-03-03 Andreas Schwab <schwab@suse.de>
7801
7802 * coding.c (decode_coding_object): Inhibit gap shrinking while
7803 decoding in place.
7804
78052008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7806
7807 * w32term.c: Remove unused include "gnu.h".
7808 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7809
7810 * gnu.h: Rename to ...
7811 * emacs-icon.h: ... this.
7812 * xterm.c: Use emacs-icon.h instead of gnu.h.
7813 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7814
78152008-03-03 Juanma Barranquero <lekktu@gmail.com>
7816
7817 * w32font.c: Include math.h.
7818
78192008-03-03 Jason Rumney <jasonr@gnu.org>
7820
7821 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7822 Compute options separately.
7823 (w32font_open_internal): Set glyph_idx before caching metrics.
7824
7825 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7826 Define if system headers don't.
7827 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7828 (w32font_encode_char): Don't declare here.
7829
7830 * w32font.c (Quniscribe, QCformat): New symbols.
7831 (syms_of_w32font): Define them.
7832 (w32font_has_char): Indicate uncertainty.
7833 (w32font_encode_char): Encode as glyph point. Make static.
7834 (recompute_cached_metrics): New function.
7835 (w32font_open_internal): Use it. Set font to use glyph points
7836 initially. Set format based on type of font.
7837 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7838 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7839 on it. Set format based on information available here.
7840 (add_font_entity_to_list): Identify backend based on opentype_only.
7841
78422008-03-02 Andreas Schwab <schwab@suse.de>
7843
7844 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7845
7846 * coding.c (decode_coding_big5, produce_chars):
7847 Fix typos in last change.
7848
78492008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7850
7851 * gnu.h: New icon.
7852
78532008-03-02 Kenichi Handa <handa@m17n.org>
7854
7855 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7856 `dos', don't decode '\r' if that is the last in the source.
7857 (decode_coding_utf_16, decode_coding_emacs_mule)
7858 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7859 (decode_coding_raw_text, decode_coding_charset): Likewise.
7860 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7861
78622008-03-01 Jason Rumney <jasonr@gnu.org>
7863
7864 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7865
78662008-03-01 Kim F. Storm <storm@cua.dk>
7867
7868 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7869
78702008-03-01 Jason Rumney <jasonr@gnu.org>
7871
7872 * w32font.c (w32font_full_name): New function.
7873 (w32font_open_internal): Use it.
7874
78752008-03-01 Kim F. Storm <storm@cua.dk>
7876
7877 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7878
78792008-03-01 Jason Rumney <jasonr@gnu.org>
7880
7881 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7882
78832008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7884
7885 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7886 xg_frame_resized when the event is for the edit widget.
7887
7888 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7889
7890 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7891 set_char_size.
7892 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7893 operations on widgets here. Just set frame size if needed.
7894 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7895 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7896 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7897 the whole frame.
7898 (xg_create_tool_bar): Move attachment of the tool bar to
7899 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7900 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7901
79022008-03-01 Jason Rumney <jasonr@gnu.org>
7903
7904 * w32fns.c (w32_msg_pump): Disable debug code.
7905
79062008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7907
7908 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7909
79102008-02-29 Chong Yidong <cyd@stupidchicken.com>
7911
7912 * xdisp.c (next_overlay_string): Don't set
7913 overlay_strings_at_end_processed_p if we're currently reading from
7914 a display string.
7915
79162008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7917
7918 * xdisp.c (get_overlay_strings_1): Fix typo.
7919
79202008-02-29 Chong Yidong <cyd@stupidchicken.com>
7921
7922 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7923
79242008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7925
7926 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7927
7928 * xdisp.c (display_mode_element): Cancel the previous change.
7929 (decode_mode_spec): Likewise.
7930 (handle_auto_composed_prop): Don't make composition if it->string
7931 is a string.
7932
79332008-02-27 Kim F. Storm <storm@cua.dk>
7934
7935 * lisp.h (GLYPH): Change type from int to struct with separate char
7936 and face_id members.
7937 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7938 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7939 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7940 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7941 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7942 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7943 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7944 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7945 handle new Lisp glyph code encoding, either an integer or a cons.
7946
7947 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7948 (GLYPH_ALIAS): Delete.
7949 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7950 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7951 (GLYPH_FROM_CHAR): Replace macro by ...
7952 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7953
7954 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7955 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7956 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7957 (GLYPH_INVALID_P): New macro.
7958 (spec_glyph_lookup_face): Update prototype.
7959
7960 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7961 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7962 new glyph code encoding.
7963 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7964 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7965
7966 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7967 Adapt to new glyph type and new glyph code encoding.
7968
7969 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7970
7971 * indent.c (current_column, current_column_1, Fmove_to_column)
7972 (compute_motion): Adapt to new glyph code encoding.
7973
7974 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7975
79762008-02-27 Chong Yidong <cyd@stupidchicken.com>
7977
7978 * process.c (wait_reading_process_output): Check for window
7979 changes caused by timers.
7980 Suggested by Johan Bockgård.
7981
79822008-02-27 Glenn Morris <rgm@gnu.org>
7983
7984 * emacs.c (USAGE1): Add `--disable-font-backend'.
7985
79862008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7987
7988 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7989 is made to the buffer.
7990
79912008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7992
7993 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7994 (face_at_string_position):
7995 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7996 (face_at_string_position):
7997 * xdisp.c (display_string, next_overlay_change):
7998 * buffer.h (overlays_at):
7999 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8000 Update callers.
8001
80022008-02-26 Chong Yidong <cyd@stupidchicken.com>
8003
8004 * editfns.c (Fformat): Doc fix.
8005
80062008-02-26 Juanma Barranquero <lekktu@gmail.com>
8007
8008 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8009 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8010 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8011
80122008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8013
8014 * buffer.c (Fbuffer_swap_text): New function.
8015 (syms_of_buffer): Defsubr it.
8016
80172008-02-25 Chong Yidong <cyd@stupidchicken.com>
8018
8019 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8020
80212008-02-25 Jason Rumney <jasonr@gnu.org>
8022
8023 * w32font.c (w32font_draw): Draw one character at a time when padding.
8024
80252008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8026
8027 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8028 Handle a nil arg. Use run_window_configuration_change_hook.
8029 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8030 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8031 Use run_window_configuration_change_hook.
8032
80332008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8034
8035 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8036 1-pixel width.
8037
80382008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8039
8040 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8041 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8042 if the glyph in the font is zero pixel with.
8043
8044 * dispextern.h (struct glyph_string): New member padding_p.
8045
8046 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8047
8048 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8049
8050 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8051
8052 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8053
8054 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8055
80562008-02-25 Jason Rumney <jasonr@gnu.org>
8057
8058 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8059
80602008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8061
8062 Allow fine-grained image-cache flushing.
8063 * dispextern.h (struct image): Add `dependencies' field.
8064 (clear_image_caches): Change arg to Lisp_Object.
8065 * image.c (make_image): Initialize `dependencies' field.
8066 (clear_image_cache): Change arg to allow fine-grained flushing.
8067 Perform the flush even if image-cache-eviction-delay is nil.
8068 (clear_image_caches): Change arg to Lisp_Object.
8069 (Fclear_image_cache): Expand meaning of the argument.
8070 (mark_image): Mark `dependencies' field.
8071 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8072 (lface_hash): Use XHASH rather than XFASTINT.
8073 (face_at_buffer_position): Fix int -> EMACS_INT position.
8074 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8075 (select_frame_for_redisplay): Remove code duplication.
8076 (redisplay_internal): Adapt arg to call to clear_image_caches.
8077
80782008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8079
8080 * s/vms4-0.h:
8081 * s/vms4-2.h:
8082 * s/vms4-4.h:
8083 * s/vms5-5.h: Remove, unused.
8084
8085 * s/irix5-2.h:
8086 * s/irix6-0.h:
8087 * s/riscos5.h:
8088 * s/mach-bsd4-3.h:
8089 * m/mips4.h: Remove files for obsolete systems.
8090
8091 * Makefile.in:
8092 * filelock.c:
8093 * unexmips.c:
8094 * m/hp9000s300.h:
8095 * m/iris4d.h:
8096 * s/aix3-1.h:
8097 * s/hpux.h:
8098 * s/msdos.h:
8099 * s/usg5-0.h:
8100 * s/usg5-2-2.h:
8101 * s/usg5-2.h:
8102 * s/usg5-3.h: Remove references to obsolete variables.
8103
8104 * s/irix5-0.h: Remove, move all the contents ...
8105 * s/irix6-5.h: ... here. Simplify.
8106 * config.in: Regenerate.
8107
81082008-02-24 Jason Rumney <jasonr@gnu.org>
8109
8110 * w32term.c (x_draw_glyph_string_background): Clear the background
8111 manually when cleartype is in use.
8112 (x_draw_glyph_string_foreground): Draw text transparently when
8113 cleartype is in use.
8114
8115 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8116 a font into it unless we have to.
8117
81182008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8119
8120 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8121 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8122
aac0c6e3
MR
81232008-02-18 Jason Rumney <jasonr@gnu.org>
8124
8125 * w32fns.c (Fw32_shell_execute): Encode parameters.
8126
81272008-02-09 Eli Zaretskii <eliz@gnu.org>
8128
8129 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8130
81312008-02-05 Juanma Barranquero <lekktu@gmail.com>
8132
8133 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8134
81352008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8136
8137 * xterm.c (x_set_offset): Don't change the gravity if
8138 CHANGE_GRAVITY is -1.
8139
81402008-02-23 Chong Yidong <cyd@stupidchicken.com>
8141
8142 * fileio.c (auto_save_error_occurred): New var.
8143 (auto_save_error): Set it.
8144 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8145 error occurred.
8146
81472008-02-23 Eli Zaretskii <eliz@gnu.org>
8148
8149 * w32.c (globals_of_w32): Add initializations for
8150 g_b_init_get_sid_sub_authority and
8151 g_b_init_get_sid_sub_authority_count.
8152
81532008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8154
8155 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8156 (font_parse_xlfd): Use them for sanity check.
8157 (Finternal_set_font_style_table): Make sure the table is bijective.
8158
8159 Consolidate the image_cache to the terminal struct.
8160 * termhooks.h (P_): Remove redundant def.
8161 (struct terminal): New field `image_cache'.
8162 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8163 of FRAME_X_IMAGE_CACHE.
8164 * xterm.h (struct x_display_info): Remove image_cache field.
8165 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8166 * w32term.h (struct w32_display_info): Remove image_cache field.
8167 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8168 * macterm.h (struct mac_display_info): Remove image_cache field.
8169 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8170 * xterm.c (x_term_init):
8171 * w32term.c (w32_term_init):
8172 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8173 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8174 Remove declarations.
8175 (clear_image_caches, mark_image_cache): New declarations.
8176 * xfaces.c (clear_face_cache):
8177 * xdisp.c (redisplay_internal): Use clear_image_caches.
8178 * image.c (clear_image_cache): Don't check that a frame is on
8179 a window-system before checking if it shares the same cache.
8180 (clear_image_caches): New function.
8181 (Fclear_image_cache): Use it.
8182 (mark_image): Move from allo.c.
8183 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8184 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8185 (mark_object): Don't call mark_image_cache for frames.
8186 (mark_terminals): Call mark_image_cache.
8187
8188 * lisp.h (Fdelete_terminal): Declare.
8189
8190 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8191 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8192 wrong_type_argument.
8193
81942008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8195
8196 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8197 malayalam.el, and tamil.el. Add sinhala.el.
8198
81992008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8200
8201 * xterm.c (x_connection_closed): Consolidate identical tests.
8202 (x_delete_terminal): Don't crash if called via x_connection_closed.
8203
82042008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8205
8206 * xdisp.c (decode_mode_spec): New arg string.
8207 (display_mode_element): Adjust for the above change.
8208
82092008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8210
8211 * callint.c (Fcall_interactively): Use AREF.
8212
82132008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8214
8215 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8216
82172008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8218
8219 * xfns.c (Fx_show_tip): Set string to " " if empty.
8220
82212008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8222
8223 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8224 with Qt.
8225
82262008-02-17 Kenichi Handa <handa@m17n.org>
8227
8228 * ftfont.c (ftfont_shape): Return Lispy number.
8229
8230 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8231 for GCs.
8232 (Finternal_set_font_selection_order): Call font_update_sort_order
8233 only when enable_font_backend is set.
8234 (realize_x_face): Set face->font_info to that of default face only
8235 when enable_font_backend is set.
8236
8237 * xdisp.c (handle_composition_prop): Set it->c to the fist
8238 character of the composed region.
8239 (fill_composite_glyph_string): Set base_face->font_info to
8240 s->font_info. Get a face for ascii from base_face->ascii_face.
8241 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8242 with a face already decided.
8243 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8244 non-negative.
8245 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8246 call font_prepare_composition unconditionally.
8247
8248 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8249
8250 * xterm.h (struct x_display_info): New member font.
8251
8252 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8253 (x_set_mouse_face_gc, x_new_font): Likewise.
8254 (x_term_init): Setup display_info->font.
8255 (x_delete_terminal): Free display_info->font.
8256
8257 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8258
8259 * ftxfont.c (ftxfont_default_fid): Delete it.
8260 (ftxfont_open): Set xfont->fid to 0.
8261 (ftxfont_end_for_frame): Clear data specific to the frame and the
8262 font-driver.
8263
8264 * xftfont.c (xftfont_default_fid): Delete it.
8265 (xftfont_open): Set xfont->fid to 0.
8266
8267 * fontset.c (FONTSET_OBJLIST): New macro.
8268 (fontset_find_font): Update font-object list of the fontset.
8269 (free_realized_fontset): New function.
8270 (free_face_fontset): Call free_realized_fontset.
8271 (Ffont_info): Call font_close_object only when enable_font_backend
8272 is set.
8273
8274 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8275 [HAVE_NTGUI]: Include w32term.h.
8276 [MAC_OS]: Include macterm.ch.
8277 (font_otf_ValueRecord): Use make_number.
8278 (font_finish_cache): Fix handling of reference count.
8279 (font_clear_cache): Update num_fonts.
8280 (font_open_entity): Update smallest_char_width and
8281 smallest_font_height of the frame.
8282 (font_close_object): Update num_fonts.
8283 (Fclear_font_cache): Fix finding the target cache data.
8284
82852008-02-16 Glenn Morris <rgm@gnu.org>
8286
8287 * fontset.c (Finternal_char_font): Fix compilation warning.
8288
82892008-02-16 Eli Zaretskii <eliz@gnu.org>
8290
8291 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8292 instead of char arrays. Enlarge the size of array passed to
8293 get_token_information.
8294
8295 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8296 warnings.
8297
82982008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8299
8300 * .gdbinit: Don't set `args', it breaks gdb --args.
8301
83022008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8303
8304 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8305 within a narrowed buffer.
8306
83072008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8308
8309 * coding.c (decode_coding_object, encode_coding_object):
8310 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8311
83122008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8313
8314 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8315 hardcoding 1.
8316 (detect_coding_system):
8317 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8318 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8319 * insdel.c (insert_from_gap):
8320 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8321 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8322 (string_to_multibyte):
8323 * character.c (chars_in_text, multibyte_chars_in_text):
8324 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8325
8326 * character.h (FETCH_STRING_CHAR_ADVANCE)
8327 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8328 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8329 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8330
8331 * casefiddle.c (casify_region): Only call after-change and composition
8332 functions on the part of the region that was changed.
8333
8334 * keyboard.c (read_avail_input):
8335 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8336
83372008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8338
8339 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8340 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8341
83422008-02-11 Juanma Barranquero <lekktu@gmail.com>
8343
8344 * w32menu.c (push_submenu_start, push_submenu_end)
8345 (push_left_right_boundary, push_menu_pane, push_menu_item):
8346 * keyboard.c (read_key_sequence): Don't pass args with side effects
8347 to AREF, it fails when compiling with -DENABLE_CHECKING.
8348
83492008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8350
8351 * Makefile.in (${lispsource}international/charprop.el):
8352 Delete this target.
8353
8354 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8355 emacs-unicode-2.
8356
83572008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8358
8359 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8360
83612008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8362
8363 * frame.c (Qnoelisp): New symbol.
8364 (syms_of_frame): Initialize it.
8365 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8366 harmless Elisp code, from a strong `force' from x_connection_closed.
8367 * frame.h (Qnoelisp): Declare.
8368 * xterm.c (x_connection_closed): Pass `noelisp'.
8369
8370 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8371 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8372 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8373 rather than `int' for the type of `type'.
8374
83752008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8376
8377 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8378
8379 * Makefile.in (GNUC): Remove support for gcc-1.x.
8380
83812008-02-10 Richard Stallman <rms@gnu.org>
8382
8383 * lisp.h (ASET): Use AREF, not ASLOT.
8384
83852008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8386
8387 * lisp.h (ASET): Check bounds.
8388
83892008-02-10 Glenn Morris <rgm@gnu.org>
8390
8391 * buffer.c (mode-name): Doc fix.
8392
83932008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8394
8395 * Makefile.in:
8396 * emacs.c:
8397 * gmalloc.c:
8398 * keyboard.c:
8399 * lisp.h:
8400 * m/ibm370aix.h:
8401 * process.c:
8402 * regex.c:
8403 * s/hpux.h:
8404 * sysdep.c:
8405 * sysselect.h:
8406 * systty.h:
8407 * unexec.c:
8408 * w32term.c:
8409 * xsmfns.c:
8410 * xterm.c: Remove code that deals with obsolete variables.
8411
8412 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8413
8414 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8415 nothing else needs it anymore.
8416
84172008-02-09 Eli Zaretskii <eliz@gnu.org>
8418
8419 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8420 instead of unibyte_char_to_multibyte.
8421
84222008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8423
8424 * s/gnu-linux.h: Remove commented out code.
8425
8426 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8427
8428 * Makefile.in: Update what RMS says about using autoconf.
8429 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8430 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8431 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8432 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8433
84342008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8435
8436 * keymap.c (Fkey_description): Move side effect outside of macro call.
8437
8438 * xfaces.c (Finternal_make_lisp_face):
8439 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8440
8441 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8442 (syms_of_fontset): Use ASET.
8443
8444 * fns.c (concat): Move side effect outside of macro call.
8445 (hash_clear): Use ASET.
8446
84472008-02-08 Richard Stallman <rms@gnu.org>
8448
8449 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8450 If FORCE, and frame has a surrogate minibuffer for another frame,
8451 delete the other frame first.
8452
84532008-02-07 Timo Savola <timo.savola@iki.fi>
8454
8455 * xterm.c (x_detect_focus_change): Handle embed client message.
8456 (handle_one_xevent): Ditto.
8457 (handle_one_xevent): If embedded and we get a button press/release,
8458 request focus.
8459 (xembed_set_info, xembed_send_message): New functions.
8460 (x_make_frame_visible): Call xembed_set_info if embedded.
8461 (x_make_frame_invisible): Call xembed_set_info if embedded.
8462 (x_term_init): Initialize Xatom_XEMBED.
8463 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8464 (x_iconify_frame): Ditto.
8465
8466 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8467 (enum xembed_info, enum xembed_message, enum xembed_focus)
8468 (enum xembed_modifier, enum xembed_accelerator): New.
8469 (xembed_set_info, xembed_send_message): Declare.
8470 (FRAME_X_EMBEDDED_P): New.
8471
8472 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8473 gtk_plug_new.
8474
8475 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8476 window ID of a frame.
8477 (x_window): Reparent frame if embedded.
8478 (Fx_create_frame): Don't set border width if embedded.
8479
8480 * emacs.c (USAGE3): Add --parent-id.
8481 (standard_args): Ditto.
8482
84832008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8484
8485 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8486
84872008-02-07 Jim Meyering <meyering@redhat.com>
8488
8489 Use "do...while (0)", not "if (1)...else" in macro definitions.
8490 The latter provokes a warning from gcc about the empty else, when
8491 followed by ";". Also, without that trailing semicolon, it would
8492 silently swallow up any following statement.
8493 * syntax.h (SETUP_SYNTAX_TABLE)
8494 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8495 * buffer.h (DECODE_POSITION): Likewise.
8496 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8497 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8498 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8499 (FETCH_CHAR_ADVANCE): Likewise.
8500 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8501
85022008-02-07 Jim Meyering <meyering@redhat.com>
8503
8504 * lread.c [lint]: Don't include <sys/inode.h>.
8505
85062008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8507
8508 * xselect.c (x_handle_dnd_message):
8509 * xmenu.c (digest_single_submenu, xmenu_show):
8510 * xdisp.c (with_echo_area_buffer_unwind_data)
8511 (format_mode_line_unwind_data, unwind_format_mode_line)
8512 (display_menu_bar):
8513 * eval.c (Ffetch_bytecode):
8514 * doc.c (store_function_docstring):
8515 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8516 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8517 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8518
85192008-02-07 Kenichi Handa <handa@m17n.org>
8520
8521 * ftxfont.c (ftxfont_open): Don't set
8522 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8523
8524 * ftfont.c (ftfont_open): Fix previous change.
8525
85262008-02-06 Jason Rumney <jasonr@gnu.org>
8527
8528 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8529 Use cached metrics for ASCII characters.
8530 (w32font_open_internal): Don't set font's owning_frame.
8531 Cache metrics for ASCII characters.
8532
8533 * w32font.h (struct w32font_info): Add ascii_metrics.
8534 Remove owning_frame.
8535
85362008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8537
8538 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8539 to negative value.
8540
8541 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8542
8543 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8544
8545 * charset.c (syms_of_charset): Set QCtest and Qeq.
8546
85472008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8548
8549 * process.c (Fstart_process):
8550 * callproc.c (Fcall_process): Handle the case where
8551 Funhandled_file_name_directory returns nil.
8552
8553 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8554 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8555 * font.c (check_gstring): Use them and AREF to access the vector before
8556 we know it's really a gstring.
8557 (Ffont_shape_text): Fix typo.
8558 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8559
8560 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8561 Declare.
8562
8563 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8564
85652008-02-05 Jason Rumney <jasonr@gnu.org>
8566
8567 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8568 Set smallest_font_height and smallest_char_width in display info.
8569
85702008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8571
8572 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8573
85742008-02-05 Miles Bader <miles@gnu.org>
8575
8576 * xfaces.c (get_lface_attributes, merge_named_face)
8577 (lookup_named_face, lookup_derived_face, realize_named_face):
8578 Revert 2008-02-01 change by cyd@stupidchicken.com.
8579
85802008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8581
8582 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8583 fallback fonts.
8584 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8585
85862008-02-04 Jason Rumney <jasonr@gnu.org>
8587
8588 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8589 set full_name.
8590 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8591
85922008-02-03 Jason Rumney <jasonr@gnu.org>
8593
8594 * makefile.w32-in (OBJ1): Include font.o here.
8595 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8596
85972008-02-02 Jason Rumney <jasonr@gnu.org>
8598
8599 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8600
86012008-02-01 Jason Rumney <jasonr@gnu.org>
8602
8603 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8604
8605 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8606
86072008-02-01 Andreas Schwab <schwab@suse.de>
8608
8609 * Makefile.in (shortlisp, lisp): Update for rename of
8610 ../lisp/language/myanmar.el.
8611
86122008-02-01 Chong Yidong <cyd@stupidchicken.com>
8613
8614 * xfaces.c (get_lface_attributes): Delete function.
8615 (merge_named_face, lookup_named_face, lookup_derived_face)
8616 (realize_named_face): Call lface_from_face_name directly, and use
8617 the fact that merge_face_vectors does not alter its FROM argument.
8618
86192008-02-01 Jason Rumney <jasonr@gnu.org>
8620
8621 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8622 input in the default locale. Handle non-Unicode multibyte input.
8623
86242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8625
8626 * fontset.c (reorder_font_vector): Exclude nil elements from the
8627 font group. Don't try multiple fonts.
8628 (fontset_font): Adjust for the above change.
8629 (Finternal_char_font): Return nil if the found font doesn't
8630 contain the character ch.
8631
8632 * Makefile.in (lisp, shortlisp): Add cham.el.
8633
86342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8635
8636 * font.h (FONTP): Make it return 1 also for a font-object.
8637
8638 * .gdbinit (xfontset): New function.
8639
8640 * font.c (font_find_for_lface): Check if the character C is
8641 supported or not only for the first font.
8642
8643 * fontset.c (reorder_font_vector): Fix typo.
8644 (fontset_find_font): Don't add a font-spec specifying a script.
8645 Use 0 (not Qt) for the indication of empty font-group. Change the
8646 format of RFONT-DEF. Return Qt if no font in the font-group
8647 support the character.
8648 (fontset_font): Adjust for the above change. If no font was
8649 found the character, remember that.
8650 (face_for_char): Adjust for the change of RFONT-DEF.
8651 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8652 no font for the target.
8653 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8654
86552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8656
8657 * font.c (font_load_for_face): Handle the case that the font in
8658 face->lface is a string.
8659
86602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8661
8662 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8663
86642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8665
8666 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8667 Fix previous change. If the frame is not on a window system,
8668 signal an error.
8669
86702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8671
8672 * coding.c (decode_coding_object, encode_coding_object): Adjust
8673 marker positions after conversion.
8674
8675 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8676
86772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8678
8679 * font.c (font_find_for_lface): Fix the handling of the return
8680 value of font_has_char.
8681 (Ffont_shape_text): Fix previous change.
8682
8683 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8684 (fontset_ref_and_range): Delete it.
8685 (fontset_find_font): Call char_table_ref_and_range instead of
8686 FONTSET_REF_AND_RANGE.
8687 (make_fontset): Don't setup font groups of Latin here.
8688 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8689 (new_fontset_from_font): Make the specified font the default for
8690 all Latin characters.
8691
86922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8693
8694 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8695 is on a window system before accessing the fontset of the frame.
8696
86972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8698
8699 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8700
8701 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8702 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8703
8704 * font.c (Ffont_shape_text): If the font driver doesn't have a
8705 shaper function, make zero-width glyphs to have at least one-pixel
8706 width. Fix setting of `to' field of glyphs.
8707
87082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8709
8710 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8711 glyphs.
8712
8713 * font.h (struct font_driver): Improve docstring of member `shape'.
8714
87152008-02-01 Kenichi Handa <handa@m17n.org>
8716
8717 * composite.c (syms_of_composite): Fix docstring of
8718 auto-composition-function.
8719
8720 * font.h (LGLYPH_SIZE): New macro.
8721
8722 * font.c (Ffont_fill_gstring): Stop filling when a character not
8723 supported by the font is found.
8724 (Ffont_shape_text): When a shape callback function returns nil,
8725 try at most two more times with larger gstring.
8726 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8727
8728 * xdisp.c (handle_auto_composed_prop): Change the argument to
8729 auto-composition-function.
8730
8731 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8732 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8733 Lispy glyph and store it in the lgstring.
8734
8735 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8736
8737 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8738
87392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8740
8741 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8742
8743 * fontset.c (Vfont_encoding_charset_alist): New variable.
8744 (syms_of_fontset): DEFVAR it.
8745 (reorder_font_vector, fontset_find_font): Optimize for the case of
8746 no need of reordering.
8747 (face_for_char): Map the charset property by
8748 Vfont_encoding_charset_alist.
8749
87502008-02-01 Jason Rumney <jasonr@gnu.org>
8751
8752 * w32font.c (logfonts_match): Don't check adstyle here.
8753 (font_matches_spec): Check here against physical font instead.
8754 (add_font_entity_to_list): Avoid some substitutions.
8755
8756 * font.c (font_parse_fcname): Default weight and slant to normal.
8757 (font_score): Prefer normal fonts if weight or slant unspecified.
8758 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8759 match freetype scores.
8760
87612008-02-01 Jason Rumney <jasonr@gnu.org>
8762
8763 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8764 font, as it may have been deleted.
8765 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8766 most common hyphenless variation.
8767 (logfonts_match): Check generic family.
8768 (font_matches_spec): Don't check generic family here.
8769 (fill_in_logfont): Set generic family based on adstyle.
8770
8771 * w32font.h (w32font_get_cache): Update declaration.
8772
87732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8774
8775 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8776
8777 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8778 If none of the new drivers are available, call font_update_drivers
8779 with the old drivers.
8780
8781 * w32font.c (w32font_get_cache): Adjust the argument type.
8782
8783 * xfont.c (xfont_get_cache): Adjust the argument type.
8784
8785 * font.h (struct font_driver): Change argument type of get_cache.
8786
8787 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8788
8789 * font.c (Ffont_get): Fix arguments to Fassoc.
8790 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8791 (font_clear_cache): New function.
8792 (font_list_entities, font_matching_entity): Use font_get_cache.
8793 (font_update_drivers): Call font_clear_cache when finishing a driver.
8794
8795 * fontset.c (fontset_find_font): Fix previous change.
8796
87972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8798
8799 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8800 dpyinfo->font_table.
8801 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8802 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8803
8804 * font.c (font_at): Handle the case that the arg C is negative.
8805 Handle the unibyte case.
8806 (Ffont_at): Call font_at with the arg C -1.
8807
8808 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8809 the position here, and call font_at with the arg C -1.
8810 Don't check the range of the existing composition at the point.
8811
88122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8813
8814 * fontset.c (fontset_add): New args charset_id and family.
8815 Change caller.
8816 (load_font_get_repertory, fontset_find_font): Assume that
8817 font_spec is always a font-spec object.
8818 (Fset_fontset_font): Always store a font-spec object in a fontset.
8819
8820 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8821 instead of get_property_and_range.
8822
88232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8824
8825 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8826 (xftfont_open): Don't keep locking face.
8827 (xftfont_close): Don't unlock face.
8828 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8829
8830 * fontset.c (fontset_find_font): Don't prefer a font of
8831 supplementary charset.
8832
88332008-02-01 Kenichi Handa <handa@m17n.org>
8834
8835 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8836 script, langsys_tag to langsys, new member script.
8837 (OTF_TAG_STR): Terminate by '\0'.
8838 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8839 listing to the script specified in that property. Fix arg to
8840 OTF_check_features.
8841
88422008-02-01 Jason Rumney <jasonr@gnu.org>
8843
8844 * w32font.h: New file.
8845
8846 * w32font.c: Include it.
8847 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8848 (w32font_open): Set owning_frame.
8849 (w32font_text_extents): Use owning_frame.
8850 (struct font_callback_data): Add opentype_only field.
8851 (add_font_entity_to_list): Use it to filter fonts.
8852 Don't check against full name.
8853 (w32font_list_internal): New function.
8854 (w32font_list): Use it.
8855 (w32font_match_internal): New function.
8856 (w32font_match): Use it.
8857 (w32font_open_internal): New function.
8858 (w32font_open): Use it.
8859 (w32font_get_cache, w32font_close, w32font_has_char)
8860 (w32font_encode_char, w32font_text_extents, w32font_draw):
8861 Make non-static.
8862
8863 * makefile.w32-in (w32font.o): Depend on w32font.h.
8864
88652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8866
8867 * charset.c (Fdefine_charset_internal): Record a supplementary
8868 charset at the tail of Vcharset_order_list.
8869
8870 * font.c (Ffont_shape_text): Fix the return value.
8871
8872 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8873
8874 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8875
88762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8877
8878 * ftfont.c (struct OpenTypeSpec): New struct.
8879 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8880 (ftfont_get_open_type_spec): New function.
8881 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8882
8883 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8884
88852008-02-01 Jason Rumney <jasonr@gnu.org>
8886
8887 * w32font.c (add_font_entity_to_list): Compare only the beginning
8888 of full name.
8889
88902008-02-01 Kenichi Handa <handa@m17n.org>
8891
8892 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8893 Never return HANDLED_RECOMPUTE_PROPS.
8894
88952008-02-01 Kenichi Handa <handa@m17n.org>
8896
8897 * font.c (font_gstring_produce): Delete it.
8898
8899 * composite.h (COMPOSITION_METHOD):
8900 Handle COMPOSITION_WITH_GLYPH_STRING.
8901
89022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8903
8904 * xfont.c (Qx): Delete.
8905 (syms_of_xfont): Don't initialize Qx.
8906
8907 * composite.h (enum composition_method):
8908 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8909
89102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8911
8912 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8913 (choose_face_font): Accept new form of font-spec.
8914
8915 * frame.h (font_driver_list): Declare it unconditionally.
8916 (struct frame): Define members font_driver_list and font_data_list
8917 unconditionally.
8918
8919 * fontset.c: Include "font.h" unconditionally.
8920 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8921 (Fset_fontset_font): Accept a font-spec object.
8922
8923 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8924 PIXEL_SIZE part a wild card.
8925
8926 * dispextern.h (struct glyph_string): Define members clip and
8927 num_clips unconditionally.
8928 (struct face): Define members font_info and extra unconditionally.
8929
8930 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8931 ftfont_info only when HAVE_LIBOTF is defined.
8932
89332008-02-01 Andreas Schwab <schwab@suse.de>
8934
8935 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8936 and end.
8937
89382008-02-01 Jason Rumney <jasonr@gnu.org>
8939
8940 * w32font.c (w32font_driver): Add new fields.
8941
89422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8943
8944 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8945 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8946 (LIBES): Add @M17N_FLT_CFLAGS@.
8947
8948 * composite.c (compose_text): Don't treat the new style
8949 composition specially.
8950
8951 * emacs.c (main): Call syms_of_font unconditionally.
8952
8953 * font.h (FONT_ENTITY_NOT_LOADABLE)
8954 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8955 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8956 (struct font_driver): New member shape.
8957 (font_registry_charsets): Extern it.
8958 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8959 (font_otf_capability, font_drive_otf): Delete their externs.
8960
8961 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8962 (font_charset_alist, font_registry_charsets): Move from xfont.c
8963 and rename.
8964 (font_prop_validate_otf): New function.
8965 (font_property_table): Register it for QCotf.
8966 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8967 (font_drive_otf): Delete.
8968 (font_prepare_composition): New arg F. Adjust for the change of
8969 lispy gstring.
8970 (font_find_for_lface): New arg C.
8971 (font_load_for_face): Adjust for the change of font_find_for_lface.
8972 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8973 lispy gstring.
8974 (Ffont_shape_text): New function.
8975 (Fopen_font): If the font size is not given, use 12-pixel.
8976 (Ffont_at): New arg STRING.
8977 (syms_of_font): Initalize font_charset_alist.
8978 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8979 conditionally.
8980
8981 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8982 fonts of the same font-spec. Change the format of RFONT-DEF.
8983 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8984 Adjust for the change of RFONT-DEF.
8985 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8986
8987 * ftfont.h: New file.
8988
8989 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8990 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8991 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8992 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8993 font_otf_capability and font_drive_otf, set ftfont_shape.
8994 (ftfont_list): Adjust for the change of :otf property value.
8995 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8996 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8997 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8998 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8999 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9000 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9001
9002 * w32term.c (x_draw_composite_glyph_string_foreground):
9003 Adjust for the change of lispy gstring.
9004
9005 * xdisp.c (handle_composition_prop): Adjust for the change of
9006 lispy gstring. Call a function for auto-composition with the
9007 third arg it->window.
9008 (fill_composite_glyph_string): Adjust for the change of lispy string.
9009 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9010
9011 * xfaces.c (set_font_frame_param): Adjust for the change of
9012 font_find_for_lface.
9013
9014 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9015 (xfont_registry_charsets): Likewise. Change caller.
9016 (syms_of_xfont): Don't handle x_font_charset_alist.
9017
9018 * xftfont.c: Include "ftfont.h".
9019 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9020 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9021 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9022 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9023 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9024 Set xftfont_driver.shape to xftfont_shape.
9025
9026 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9027 the change of lispy gstring.
9028
90292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9030
9031 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9032
90332008-02-01 Jason Rumney <jasonr@gnu.org>
9034
9035 * w32font.c (w32font_draw): Fill background manually.
9036
90372008-02-01 Jason Rumney <jasonr@gnu.org>
9038
9039 * font.c (Qfontp): Remove unused symbol.
9040 (QCantialias): New symbol.
9041 (syms_of_font): Define it.
9042 (font_property_table): Set a validator for QCantialias.
9043
9044 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9045 Define if not already.
9046 (QCfamily): Share with xfaces.c.
9047 (Qstandard, Qsubpixel, Qnatural): New symbols.
9048 (syms_of_w32font): Define them. Don't define QCfamily here.
9049 (w32_antialias_type, lispy_antialias_type): New functions.
9050 (w32_enumfont_pattern_entity): New arg requested_font.
9051 Set antialias parameter if non-default was requested.
9052 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9053
90542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9055
9056 * lread.c (read1): Undo the previous change.
9057
90582008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9059
9060 * frame.c (Fdelete_frame): Call font_update_drivers only when
9061 USE_FONT_BACKEND is defined.
9062
90632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9064
9065 * font.h (struct font_bitmap): New member bits_per_pixel.
9066 (struct font_driver): New members start_for_frame and end_for_frame.
9067 (struct font_data_list): New struct.
9068 (font_put_frame_data, font_get_frame_data): Extern them.
9069
9070 * frame.h (struct frame): New member font_data_list.
9071
9072 * font.c (font_update_drivers): Call driver->start_for_frame and
9073 driver->end_for_frame at proper timings.
9074 (font_put_frame_data, font_get_frame_data): New functions.
9075 (Ffont_spec): Add usage in the docstring.
9076
9077 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9078 (Fdelete_frame): Call font_update_drivers.
9079
9080 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9081 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9082 (xftfont_get_xft_draw): New function.
9083 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9084 (xftfont_end_for_frame): New function.
9085 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9086
9087 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9088 Change argument. Cache GCs in the per-frame data.
9089 (struct ftxfont_frame_data): New struct.
9090 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9091 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9092 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9093 (ftxfont_end_for_frame): New function.
9094 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9095
9096 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9097
90982008-02-01 Kenichi Handa <handa@m17n.org>
9099
9100 * xselect.c (Vselection_coding_system)
9101 (Vnext_selection_coding_system): Delete them.
9102 (syms_of_xselect): Don't declare selection-coding-system and
9103 next-selection-coding-system. They are declared in select.el.
9104
91052008-02-01 Jason Rumney <jasonr@gnu.org>
9106
9107 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9108
9109 * w32fns.c: Include imm.h.
9110 (get_composition_string_fn, get_ime_context_fn): New optional
9111 system functions.
9112 (globals_of_w32fns): Load them from imm32.dll.
9113 (ignore_ime_char): New flag.
9114 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9115 WM_IME_ENDCOMPOSITION messages.
9116
9117 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9118 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9119
91202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9121
9122 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9123 (READCHAR_REPORT_MULTIBYTE): New macro.
9124 (readchar): New 2nd arg MULTIBYTE.
9125 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9126 Make symbol's name multibyte according to the multibyteness of the
9127 source.
9128
91292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9130
9131 * xfaces.c (face_for_overlay_string): Call lookup_face with
9132 correct arguments (fix of synching with the trunk).
9133
91342008-02-01 Kenichi Handa <handa@m17n.org>
9135
9136 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9137 (font_prop_validate_non_neg, font_prop_validate_spacing):
9138 Delete argument prop_index.
9139 (font_property_table): Change arguments to validater. Change Callers.
9140 (font_lispy_object): Delete.
9141 (font_at): Use font_find_object instead fo font_lispy_object.
9142
91432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9144
9145 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9146 and file names.
9147
91482008-02-01 Jason Rumney <jasonr@gnu.org>
9149
9150 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9151 (font_matches_spec): Remove debug output.
9152 (add_font_entity_to_list): Avoid using substituted fonts.
9153
91542008-02-01 Jason Rumney <jasonr@gnu.org>
9155
9156 * doc.c (Fsnarf_documentation):
9157 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9158
91592008-02-01 Miles Bader <miles@gnu.org>
9160
9161 * dispextern.h (struct glyph_row): Only define "clip" field if
9162 HAVE_WINDOW_SYSTEM is defined.
9163
91642008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9165
9166 Fix up multi-tty merge.
9167
9168 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9169 and indentation.
9170
9171 * xfaces.c (free_realized_face, clear_face_gcs):
9172 Include font_done_for_face in the input_blocked section, just in case.
9173
9174 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9175 (get_char_face_and_encoding): Undo last change and remove the *other*
9176 duplicate definition (i.e. keep the one that's better scoped and that
9177 includes code for the font-backend).
9178
9179 * terminal.c (create_terminal): Default keyboard_coding to
9180 `no-conversion' and terminal_coding to `undecided'.
9181
9182 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9183
9184 * fontset.c (free_realized_fontsets): Check that the table entry does
9185 contain a fontset before trying to compare it to `base'.
9186
9187 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9188 syms_of_charset, and syms_of_coding earlier because init_window_once
9189 now needs Vcoding_system_hash_table to be setup.
9190
9191 * coding.h (default_buffer_file_coding): Remove.
9192
9193 * coding.c (default_buffer_file_coding): Remove.
9194 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9195 than ->symbol, and use the terminal-local coding system.
9196 (syms_of_coding): Don't setup the coding-systems that are not
9197 terminal-local.
9198 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9199
9200 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9201 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9202
9203 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9204 in chartab.c and were re-added here by mistake.
9205 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9206
9207 * doc.c (Fsnarf_documentation):
9208 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9209 src to etc.
9210
9211 * ChangeLog.10: Add mistakenly removed entry.
9212
92132008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9214
9215 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9216
92172008-02-01 Miles Bader <miles@gnu.org>
9218
9219 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9220 Add extra args to FACE_FOR_CHAR.
9221
92222008-02-01 Kenichi Handa <handa@m17n.org>
9223
9224 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9225 in sequence.
9226
9227 * chartab.c (map_sub_char_table, map_char_table): If the range
9228 contains just one character, call the function with that character
9229 even if the depth is not 3.
9230
92312008-02-01 Jason Rumney <jasonr@gnu.org>
9232
9233 * w32font.c (w32font_text_extents): Calculate metrics for the
9234 whole string.
9235
92362008-02-01 Jason Rumney <jasonr@gnu.org>
9237
9238 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9239
92402008-02-01 Jason Rumney <jasonr@gnu.org>
9241
9242 * w32term.c (x_set_glyph_string_clipping): Use
9243 get_glyph_string_clip_rects.
9244 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9245 Adjust for the change of struct glyph_string.
9246
9247 * w32font.c (w32font_draw): Do clipping here.
9248
92492008-02-01 Kenichi Handa <handa@m17n.org>
9250
9251 * xftfont.c (xftfont_draw): Adjust for the change of struct
9252 glyph_string.
9253
9254 * xterm.c (x_set_glyph_string_clipping): Use
9255 get_glyph_string_clip_rects.
9256 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9257 Adjust for the change of struct glyph_string.
9258
9259 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9260 the resulting clip(s}.
9261 (expose_overlaps): Add arg r. Change callers. Set it to
9262 row->clip temporarily.
9263 (expose_window): Redraw rows overlapping the exposed area.
9264
9265 * dispextern.h (struct glyph_row): New member clip.
9266 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9267 clip_height, new member clip, and num_clips.
9268
92692008-02-01 Kenichi Handa <handa@m17n.org>
9270
9271 * data.c (Fchar_or_string_p): Fix docstring.
9272
92732008-02-01 Kenichi Handa <handa@m17n.org>
9274
9275 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9276 create a temporary XftDraw object.
9277
92782008-02-01 Kenichi Handa <handa@m17n.org>
9279
9280 * font.c (Ffontp): Fix docstring.
9281
9282 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9283 strong evidence of ISO-2022.
9284
92852008-02-01 Kenichi Handa <handa@m17n.org>
9286
9287 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9288 SYNTAX_ENTRY_FOLLOW_PARENT.
9289
92902008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9291
9292 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9293 its type.
9294 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9295 Update to the new type of weak_hash_tables and next_weak.
9296
9297 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9298 a plain C pointer to Lisp_Hash_Table.
9299
9300 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9301 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9302 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9303 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9304 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9305 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9306 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9307 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9308 (GC_EQ): Remove since they've been identical to their non-GC_
9309 alter-egos ever since the markbit was eradicated.
9310
9311 * alloc.c:
9312 * buffer.c:
9313 * buffer.h:
9314 * data.c:
9315 * fileio.c:
9316 * filelock.c:
9317 * fns.c:
9318 * frame.h:
9319 * lisp.h:
9320 * macterm.c:
9321 * print.c:
9322 * process.c:
9323 * w32fns.c:
9324 * w32menu.c:
9325 * w32term.c:
9326 * xfns.c:
9327 * xmenu.c:
9328 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9329
93302008-02-01 Kenichi Handa <handa@m17n.org>
9331
9332 * chartab.c (map_sub_char_table): Make it work for the top-level
9333 char-table. Fix handling of parent char-table.
9334 (map_char_table): Adjust for the above change.
9335
93362008-02-01 Jason Rumney <jasonr@gnu.org>
9337
9338 * w32font.c (Qgdi): Rename from Qw32.
9339
93402008-02-01 Jason Rumney <jasonr@gnu.org>
9341
9342 * w32bdf.c (get_quoted_string): Make function static.
9343
93442008-02-01 Kenichi Handa <handa@m17n.org>
9345
9346 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9347 bigger ascent and descent than those of the font, use them as
9348 font's ascent and descent.
9349
93502008-02-01 Kenichi Handa <handa@m17n.org>
9351
9352 * Makefile.in (${lispsource}international/charprop.el): Move this
9353 target within "#ifdef HAVE_UNIDATA" and "#endif".
9354
93552008-02-01 Kenichi Handa <handa@m17n.org>
9356
9357 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9358 (shortlisp): Add ../lisp/language/tai-viet.el.
9359
93602008-02-01 Ulrich Mueller <ulm@gentoo.org>
9361
9362 * Makefile.in (${lispsource}international/charprop.el): Depend on
9363 temacs${EXEEXT}.
9364
93652008-02-01 Jason Rumney <jasonr@gnu.org>
9366
9367 * w32font.c (w32font_close): Delete the GDI font object.
9368
9369 * w32menu.c: Include character.h.
9370
9371 * w32proc.c: Likewise.
9372
9373 * w32select.c: Likewise.
9374
9375 * makefile.w32-in (w32proc.o): Depend on character.h.
9376
93772008-02-01 Jason Rumney <jasonr@gnu.org>
9378
9379 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9380
9381 * w32menu.c (syms_of_w32menu): Likewise.
9382
9383 * w32proc.c (syms_of_ntproc): Likewise.
9384
9385 * w32select.c (syms_of_w32select): Likewise.
9386
9387 * w32term.c (syms_of_w32term): Likewise.
9388
93892008-02-01 Jason Rumney <jasonr@gnu.org>
9390
9391 * w32font.c (w32font_draw): Delete brush after using it.
9392
93932008-02-01 Jason Rumney <jasonr@gnu.org>
9394
9395 * w32font.c (w32font_open): Don't set font_idx.
9396 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9397 to font settings.
9398 (w32font_draw): Fill background explicitly.
9399
94002008-02-01 Jason Rumney <jasonr@gnu.org>
9401
9402 * w32term.c (w32_initialize): Don't call w32font_initialize.
9403
9404 * w32font.c (w32font_info): Remove subranges.
9405 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9406 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9407 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9408 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9409 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9410 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9411 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9412 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9413 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9414 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9415 New symbols.
9416 (font_callback_data): New struct.
9417 (w32font_list, w32font_match): Use it.
9418 (w32font_open): Don't populate subranges.
9419 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9420 (w32font_encode_char): Always return unicode code-point as-is.
9421 (w32font_text_extents): Supply a transformation matrix to
9422 GetGlyphOutline. Never look up by glyph index. Avoid looping
9423 twice. Use unicode version of GetTexExtentPoint32 instead of
9424 glyph index version.
9425 (set_fonts_frame): Remove.
9426 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9427 set frame parameter. Use backward compatible fake foundries.
9428 Save generic family in extra slot under QCfamily. Make width slot
9429 constant. Save QCspacing value. Save list of scripts instead of
9430 binary subranges.
9431 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9432 (add_font_entity_to_list): Use font_callback_data struct. Filter
9433 unwanted fonts.
9434 (add_one_font_entity_to_list): Use font_callback_data struct.
9435 (w32_registry): Default to iso10646_1.
9436 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9437 string font registries. Don't fill in font name if it is a generic
9438 family name, fill family instead. Use spacing, family and script
9439 extra info to fill pitch, family and charset fields.
9440 (list_all_matching_fonts): Use font_callback_data struct.
9441 (unicode_range_for_char): Remove.
9442 (font_supported_scripts): New function.
9443 (w32font_initialize): Remove.
9444 (syms_of_w32font): Update which symbols are defined.
9445
94462008-02-01 Jason Rumney <jasonr@gnu.org>
9447
9448 * font.c (font_pixel_size): Reverse assq_no_quit args.
9449
9450 * w32term.h (FONT_WIDTH): Report max width, not average.
9451 (FONT_MAX_WIDTH): Remove.
9452 (FONT_AVG_WIDTH): New macro.
9453
9454 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9455 redefinition of FONT_WIDTH.
9456
9457 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9458 (w32_cache_char_metrics): Use FONT_WIDTH.
9459
9460 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9461
94622008-02-01 Jason Rumney <jasonr@gnu.org>
9463
9464 * w32font.c (w32font_open): Make lfHeight negative.
9465
9466 * w32fns.c (x_default_font_parameter): Use new style font name.
9467 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9468
94692008-02-01 Jason Rumney <jasonr@gnu.org>
9470
9471 * w32font.c (QCsubranges): New symbol.
9472 (w32font_open, w32font_has_char): Get subranges from subproperty
9473 of extra.
9474 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9475 (syms_of_w32font): Define :subranges symbol.
9476
9477 * font.c (font_put_extra): Expose externally.
9478
9479 * font.h (font_put_extra): Move declaration from font.c.
9480
9481 * font.c (Ffont_get): Use font driver to determine otf capability.
9482 (adjust_anchor): Check if driver defines anchor_point before using.
9483
9484 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9485 (w32font_draw): Use options.
9486 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9487 Fix detection of truetype fonts.
9488 (registry_to_w32_charset): Handle charsets other than iso8859-1
9489 expressed as lisp symbols.
9490 (w32_registry): Express charset as lisp symbol.
9491 (fill_in_logfont): Reverse pixel and point height logic.
9492 Don't set width here. Set quality to default.
9493
9494 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9495 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9496
9497 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9498 Remove redundant loop and allocation.
9499
9500 * makefile.w32-in (font.o, w32font.o): New objects.
9501 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9502 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9503
9504 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9505 STORE_XCHARB a valid l-value.
9506
9507 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9508 calculations for non-Truetype fonts.
9509 (x_draw_glyph_string): Sync with xterm.c.
9510 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9511 Remove redundant code.
9512 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9513
9514 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9515 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9516
9517 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9518 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9519
9520 * w32font.c: New file for w32 font backend.
9521
95222008-02-01 Kenichi Handa <handa@m17n.org>
9523
9524 * term.c: Don't include "buffer.h" twice.
9525
95262008-02-01 Kenichi Handa <handa@m17n.org>
9527
9528 * character.c (Funibyte_string): New function.
9529 (syms_of_character): Defsubr it.
9530
95312008-02-01 Jason Rumney <jasonr@gnu.org>
9532
9533 * w32term.c [USE_FONT_BACKEND]:
9534 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9535 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9536 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9537 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9538 (x_free_frame_resources): Sync with xterm.c.
9539
95402008-02-01 Andreas Schwab <schwab@suse.de>
9541
9542 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9543 char-table size.
9544
95452008-02-01 Kenichi Handa <handa@m17n.org>
9546
9547 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9548
95492008-02-01 Kenichi Handa <handa@m17n.org>
9550
9551 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9552 font_otf_gpos, add font_drive_otf.
9553
9554 * fontset.c (fontset_find_font): Pay attention to font size
9555 specified for a font.
9556 (reorder_font_vector): Check contents of font_def.
9557
9558 * font.c (struct otf_list): Delete it.
9559 (otf_list): Make it a lisp variable.
9560 (otf_open): Use lispy otf_list.
9561 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9562 (check_otf_features): New function.
9563 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9564 New functions.
9565 (font_drive_otf): New function merging font_otf_gsub and
9566 font_otf_gpos.
9567 (font_open_for_lface): New arg spec. Change argument order.
9568 (font_load_for_face): Adjust for the change of font_open_for_lface.
9569 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9570 Ffont_otf_gpos.
9571 (syms_of_font): Staticpro otf_list. Delete defsubr of
9572 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9573
9574 * xfaces.c (set_font_frame_param): Adjust for the change of
9575 font_open_for_lface.
9576
9577 * font.h (font_open_for_lface): Adjust prototype.
9578 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9579 member otf_drive.
9580 (font_otf_gsub, font_otf_gpos): Delete externs.
9581 (font_drive_otf): Extern it.
9582
95832008-02-01 Kenichi Handa <handa@m17n.org>
9584
9585 * font.c (font_at): If the window W is not on a window system,
9586 return Qnil.
9587
9588 * coding.c (produce_chars, encode_coding): Don't call
9589 insert_from_gap if no characters to produce.
9590
95912008-02-01 Kenichi Handa <handa@m17n.org>
9592
9593 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9594 Fclear_face_cache.
9595
9596 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9597
95982008-02-01 Miles Bader <miles@gnu.org>
9599
9600 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9601 Parse "--disable-font-backend" option.
9602 (standard_args): Add "--disable-font-backend" option.
9603
96042008-02-01 Kenichi Handa <handa@m17n.org>
9605
9606 * fontset.c (fontset_find_font): New function.
9607 (fontset_font): Use fontset_find_font.
9608 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9609 Register the specified font for all Latin characters.
9610 (new_fontset_from_font): Register the specified font for all Latin
9611 characters.
9612 (dump_fontset): For a realized fontset, include the base fontset
9613 name in the returned vector.
9614
96152008-02-01 Kenichi Handa <handa@m17n.org>
9616
9617 * character.h (CHAR_STRING): Cast C to unsigned on calling
9618 char_string.
9619
9620 * character.c (char_string): Type of arg C changed to unsigned.
9621 Signal an error if C is an invalid character code.
9622
9623 * editfns.c (general_insert_function, Fchar_to_string):
9624 Use CHARACTERP, not INTEGERP.
9625
96262008-02-01 Kenichi Handa <handa@m17n.org>
9627
9628 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9629 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9630
9631 * regex.c (analyse_first): Fix for multibyte characters in "case
9632 charset:" and "case categoryspec:".
9633
96342008-02-01 Andreas Schwab <schwab@suse.de>
9635
9636 * Makefile.in (LIBES): Move standard libraries to the end.
9637
96382008-02-01 Kenichi Handa <handa@m17n.org>
9639
9640 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9641 nonzero, don't shrink the buffer nextb.
9642
9643 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9644
9645 * coding.c (coding_alloc_by_making_gap): New arg offset.
9646 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9647 offset.
9648 (decode_coding_iso_2022): Update coding->safe_charsets.
9649 (decode_coding_gap): Temporarily set
9650 current_buffer->text->inhibit_shrinking to 1.
9651
96522008-02-01 Kenichi Handa <handa@m17n.org>
9653
9654 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9655 indexing into elements of s->cmp and s->char2b.
9656
96572008-02-01 Juanma Barranquero <lekktu@gmail.com>
9658
9659 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9660
96612008-02-01 Kenichi Handa <handa@m17n.org>
9662
9663 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9664 target_multibyte instead of multibyte.
9665 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9666 (bcmp_translate): Change the argument name from multibyte to
9667 target_multibyte.
9668
96692008-02-01 Kenichi Handa <handa@m17n.org>
9670
9671 These changes are to compile a regexp into a pattern that can be
9672 used both for multibyte and unibyte targets.
9673
9674 * Makefile.in (search.o): Depend on charset.h.
9675
9676 * character.c (multibyte_char_to_unibyte_safe): New function.
9677
9678 * search.c: Include "charset.h".
9679 (compile_pattern_1): Delete argument multibyte. Don't set
9680 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9681 (compile_pattern): Don't compare cp->buf.target_multibyte.
9682 Compare cp->buf.charset_unibyte.
9683 (compile_pattern): Set cp->buf.target_multibyte.
9684
9685 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9686
9687 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9688
9689 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9690 multibyte. Change callers.
9691 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9692 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9693 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9694 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9695 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9696 (regex_compile): Make the compiled pattern usable both for
9697 multibyte and unibyte targets.
9698 (analyse_first): Make the fastmap usable both for multibyte and
9699 unibyte targets.
9700 (TRANSLATE_VIA_MULTIBYTE): Delete.
9701 (re_match_2_internal): Pay attention to the case that the
9702 multibyteness of bufp and target may be different.
9703
97042008-02-01 Kenichi Handa <handa@m17n.org>
9705
9706 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9707 empty box occupy at least one column width.
9708
97092008-02-01 Miles Bader <miles@gnu.org>
9710
9711 * Makefile.in: Remove redundant HAVE_XFT clause.
9712
97132008-02-01 Kenichi Handa <handa@m17n.org>
9714
9715 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9716
97172008-02-01 Kenichi Handa <handa@m17n.org>
9718
9719 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9720 being nil.
9721
97222008-02-01 Kenichi Handa <handa@m17n.org>
9723
9724 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9725
97262008-02-01 Kenichi Handa <handa@m17n.org>
9727
9728 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9729
97302008-02-01 Kenichi Handa <handa@m17n.org>
9731
9732 * search.c (simple_search): Fix previous change.
9733
97342008-02-01 Kenichi Handa <handa@m17n.org>
9735
9736 * xftfont.c (ftfont_font_format): Extern declaration.
9737
9738 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9739
9740 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9741 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9742
9743 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9744 (ftfont_font_format): Fix previous change.
9745
9746 * font.h (Ffont_xlfd_name): EXFUN it.
9747
9748 * font.c (font_parse_xlfd): Fix the array size of `f'.
9749 (register_font_driver): Use EQ to compare driver->type.
9750
9751 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9752 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9753 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9754
97552008-02-01 Kenichi Handa <handa@m17n.org>
9756
9757 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9758 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9759
97602008-02-01 Kenichi Handa <handa@m17n.org>
9761
9762 * xfont.c (xfont_open): Set font->format.
9763
9764 * xftfont.c (xftfont_open): Set font->format.
9765
9766 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9767 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9768 (ftfont_open): Set font->format.
9769 (ftfont_font_format): New function.
9770
9771 * font.h (struct font): New member format.
9772
9773 * font.c (Qopentype): New variable.
9774 (syms_of_font): Defsym it.
9775 (Fquery_font): Change the format of the last element of the return
9776 value.
9777
97782008-02-01 Kenichi Handa <handa@m17n.org>
9779
9780 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9781 last resort.
9782
97832008-02-01 Kenichi Handa <handa@m17n.org>
9784
9785 * coding.c (detect_coding_charset): Fix detection of multi-byte
9786 charset.
9787
97882008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9789
9790 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9791
97922008-02-01 Kenichi Handa <handa@m17n.org>
9793
9794 * xdisp.c (get_next_display_element): Set it->face_id for the
9795 first component of a composition.
9796 (x_produce_glyphs): Check if the font is changed or not for composition.
9797
97982008-02-01 Kenichi Handa <handa@m17n.org>
9799
9800 * fontset.c (Qlatin): New variable.
9801 (syms_of_fontset): Define it as a lisp symbol.
9802 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9803
98042008-02-01 Kenichi Handa <handa@m17n.org>
9805
9806 * font.c (font_unparse_fcname): Pay attention to the case that
9807 some of font property is a null string.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * term.c: Include "composite.h".
9812 (encode_terminal_code): Output all components of composition.
9813 Check the size of encode_terminal_src.
9814 (produce_glyphs): For composition, call produce_composite_glyph.
9815 (append_composite_glyph, produce_composite_glyph): New functions.
9816
9817 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9818 is not found, get font_info from the current ascii face.
9819
98202008-02-01 Kenichi Handa <handa@m17n.org>
9821
9822 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9823 buffer-file-name to Qnil before calling insert_from_buffer.
9824
9825 * font.c (font_unparse_fcname): Pay attention to the case that
9826 foundry is a null string.
9827
98282008-02-01 Kenichi Handa <handa@m17n.org>
9829
9830 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9831
9832 * font.c (Qunicode_sip): New variable.
9833 (syms_of_font): Declare it as a Lisp symbol.
9834
9835 * font.h (Qunicode_sip): Extern it.
9836
98372008-02-01 Kenichi Handa <handa@m17n.org>
9838
9839 * composite.c (get_composition_id): Pay attention to TAB component.
9840
9841 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9842 TAB. Adjust for the change of s->char2b which always points to
9843 the first element of allocated memory.
9844
9845 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9846
9847 * xdisp.c (handle_composition_prop): Set it->c to the first
9848 non-TAB component.
9849 (fill_composite_glyph_string): Change argument.
9850 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9851 (x_produce_glyphs): Fix handling of left/right padding.
9852
98532008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * coding.c (detect_coding_system): Fix for handling off
9856 inhibit_iso_escape_detection. Fix for the case that no coding
9857 system is defined for a specific coding category.
9858
98592008-02-01 Kenichi Handa <handa@m17n.org>
9860
9861 * font.c (font_matching_entity): Delete unused local var.
9862
9863 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9864 opening a font.
9865
9866 * fileio.c (Finsert_file_contents): On recovering a file, assume
9867 Unix-like eol.
9868 (choose_write_coding_system): On auto-saving a file, force
9869 Unix-like eol.
9870
9871 * coding.c (setup_coding_system): Fix setting of
9872 coding->common_flags based on eol_type.
9873 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9874 inherit from it.
9875
98762008-02-01 Kenichi Handa <handa@m17n.org>
9877
9878 * alloc.c (NSTATICS): Increas to 0x600.
9879
98802008-02-01 Kenichi Handa <handa@m17n.org>
9881
9882 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9883 (ftfont_list): Don't check :name property.
9884 (ftfont_match): New function.
9885 (ftfont_pattern_entity): If the pattern doesn't contain
9886 FC_SPACING, don't assume FC_MONO.
9887
9888 * font.h (struct font_driver): New member `match'.
9889 (font_update_drivers): Adjust prototype.
9890
9891 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9892 property of FONT.
9893 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9894 them unconditionally.
9895 (font_matching_entity): New function.
9896 (font_open_by_name): Try font_matching_entity if exact match is
9897 not found.
9898 (font_update_drivers): Delete the arg FONT. Return a list of
9899 actually used backends. Don't free faces, font caches here.
9900 Don't store data in frame parameters. Don't call x_set_font.
9901 (Ffont_spec): Store :name property as is.
9902 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9903 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9904 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9905 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9906 Call font->driver->otf_gsub instead of font_otf_gsub.
9907
9908 * frame.c (x_set_font_backend): Do more works that were done in
9909 font_update_drivers before.
9910
9911 * xfont.c (xfont_match): New function.
9912 (xfont_driver): Set xfont_driver.match to xfont_match.
9913 (xfont_draw): Set font in GC if necessary.
9914
9915 * ftxfont.c (ftxfont_match): New function.
9916 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9917
9918 * xftfont.c (xftfont_match): New function.
9919 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9920
99212008-02-01 Kenichi Handa <handa@m17n.org>
9922
9923 * font.h (struct font): New member scalable.
9924 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9925 (font_otf_gsub): Adjust prototype.
9926
9927 * font.c (font_otf_capability): Fix handling of the default langsys.
9928 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9929 Check the contents of SPEC.
9930 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9931 (check_gstring): New function.
9932 (REPLACEMENT_CHARACTER): New macro.
9933 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9934 glyph codes of GSTRING.
9935 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9936 (font_prepare_composition): Set cmp->glyph_len.
9937 (font_open_entity): Set font->scalable.
9938 (Ffont_get): Handle :otf property.
9939 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9940 functions.
9941 (Fquery_font): Use font->font.full_name.
9942 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9943 Sfont_otf_alternates.
9944
9945 * ftfont.c (ftfont_open): Set font->font.full_name and
9946 font->font.name properly. Fix calculation of font->font.height
9947 and font->min_width.
9948
9949 * ftxfont.c (ftxfont_create_gcs): New function.
9950 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9951 (ftxfont_draw_backgrond): Fix filling region.
9952 (ftxfont_default_fid): New function.
9953 (ftxfont_open): Set xfont->fid to the return value of
9954 ftxfont_default_fid.
9955 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9956 (ftxfont_done_face): Free only GCs that are created by
9957 ftxfont_create_gcs.
9958 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9959
9960 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9961 Clip to src->width, etc (not src->clip_XXX).
9962
9963 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9964 FontBackend frame parameter.
9965
99662008-02-01 Kenichi Handa <handa@m17n.org>
9967
9968 * font.h (struct font_driver_list): New member `on'.
9969 (Fclear_font_cache): EXFUN it.
9970 (font_update_drivers): Extern it.
9971
9972 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9973 (font_list_entities): Check driver_list->on.
9974 (register_font_driver): Initalize `on' member to 0.
9975 (font_update_drivers): New function.
9976 (Fclear_font_cache): Check driver_list->on.
9977
9978 * frame.h (Qfont_backend): Extern it.
9979 (x_set_font_backend): Extern it.
9980
9981 * frame.c (Qfont_backend): New variable.
9982 (frame_parms): New element for font-backend.
9983 (x_set_font_backend): New function.
9984
9985 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9986 FontBackend frame parameter.
9987 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9988 x_set_font_backend.
9989
9990 * xfont.c (xfont_list): Don't try listing by :name property if the
9991 name is not for XLFD.
9992
99932008-02-01 Kenichi Handa <handa@m17n.org>
9994
9995 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9996 (LGLYPH_SET_TO): New macros.
9997 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9998 element of G is vector or not.
9999 (font_at): Extern it.
10000
10001 * font.c: Include window.h.
10002 (font_lispy_object): New function.
10003 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10004 end of valid glyph.
10005 (font_close_object): Fix getting (struct font *).
10006 (font_at): New function.
10007 (Ffont_get): If FONT is a font-object, get entity from it.
10008 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10009 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10010 range check.
10011 (Ffont_at): New function.
10012 (syms_of_font): Defsubr Sfont_at.
10013
10014 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10015 before the entry for Qcomposition.
10016 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10017 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10018 the font in gstring.
10019 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10020 LGLYPH_FORM (g) to detect the end of valid glyph.
10021 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10022 we are composing with gstring.
10023
10024 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10025 Check if adjustment is vector or not.
10026
10027 * Makefile.in (font.o): Make it depends on window.h.
10028
100292008-02-01 Kenichi Handa <handa@m17n.org>
10030
10031 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10032 adjustment is vector or not.
10033
100342008-02-01 Miles Bader <miles@gnu.org>
10035
10036 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10037
100382008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10041 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10042 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10043
10044 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10045 (DEVICE_DELTA): Fix typo.
10046 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10047 LGLYPH format.
10048
10049 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10050 the change of LGLYPH format.
10051
100522008-02-01 Kenichi Handa <handa@m17n.org>
10053
10054 * ftfont.c (ftfont_list): Fix typo.
10055 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10056
100572008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10058
10059 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10060
10061 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10062 xftface_info is non-NULL.
10063
100642008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10065
10066 * ftfont.c (ftfont_list): Move misplaced #endif.
10067
100682008-02-01 Kenichi Handa <handa@m17n.org>
10069
10070 * ftfont.c (ftfont_list): Pay attention to the case that
10071 FC_CAPABILITY is not defined.
10072
100732008-02-01 Kenichi Handa <handa@m17n.org>
10074
10075 * xftfont.c (xftfont_open): Set charset related members to -1.
10076
10077 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10078 QCname.
10079 (ftfont_open): Set charset related members to -1.
10080
10081 * fontset.c (Votf_script_alist): New variable.
10082 (syms_of_fontset): Initialize it.
10083 (fontset_font): Delete unused variable.
10084
10085 * fontset.h (Votf_script_alist): Extern it.
10086
10087 * font.c (font_find_for_lface): Optimize code.
10088
10089 * font.h (font_close_object, font_merge_old_spec): Extern them.
10090
100912008-02-01 Kenichi Handa <handa@m17n.org>
10092
10093 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10094 (syms_of_font): Initialize them.
10095 (font_pixel_size): Allow float value in dpi.
10096 (font_prop_validate_type): Delete.
10097 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10098 Change caller.
10099 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10100 (font_prop_validate_extra): Delete.
10101 (font_prop_validate_spacing): New function.
10102 (font_property_table): Add elements for all known properties.
10103 (get_font_prop_index): Rename from check_font_prop_name. New
10104 argument FROM. Change caller.
10105 (font_prop_validate): Validate all known properties.
10106 (font_put_extra): Delete argument force. Change caller.
10107 (font_expand_wildcards): Make it static. Fix the way of shrinking
10108 the possible range.
10109 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10110 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10111 Change caller.
10112 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10113 (font_parse_fcname): Delete argument merge. Fix parsing of point
10114 size. Don't validate properties values here. Change caller.
10115 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10116 (font_open_by_name): Delete unused variable.
10117 (Ffont_spec): Likewise. Validate property values.
10118 (Ffont_match_p): New function.
10119
10120 * font.h (QCscalable): Extern it.
10121 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10122
10123 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10124
10125 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10126 (xfont_list_pattern): New function.
10127 (xfont_list): Use xfont_list_pattern.
10128
101292008-02-01 Kenichi Handa <handa@m17n.org>
10130
10131 * font.h (Flist_fonts): EXFUN it.
10132
101332008-02-01 Jason Rumney <jasonr@gnu.org>
10134
10135 * w32term.c (w32_initialize): Add back smoothing_type and
10136 smoothing_enabled definitions.
10137
101382008-02-01 Kenichi Handa <handa@m17n.org>
10139
10140 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10141 s->face->font on determining underline position.
10142
101432008-02-01 Kenichi Handa <handa@m17n.org>
10144
10145 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10146 (font_has_char): Accept font-object too.
10147 (font_find_for_lface): Try at first with a size specified in face.
10148
101492008-02-01 Kenichi Handa <handa@m17n.org>
10150
10151 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10152 font_open_by_name.
10153
101542008-02-01 Kenichi Handa <handa@m17n.org>
10155
10156 * font.h (QCspacing, QCdpi): Extern them.
10157 (enum font_spacing): New enum.
10158 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10159
10160 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10161 (QCspacing, QCdpi): New variables.
10162 (syms_of_font): Initialize them.
10163 (font_pixel_size): New function.
10164 (font_put_extra): New function.
10165 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10166 in FONT_EXTRA.
10167 (font_parse_fcname): Handle enumerated values (e.g. bold).
10168 Fix handling font size. Add QCname property that contains only
10169 unknown properties.
10170 (font_score): Change argument. Change caller. Pay attention to
10171 FONT_PIXEL_SIZE_QUANTUM.
10172 (font_sort_entites, font_list_entities, font_find_for_lface)
10173 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10174 (Ffont_spec): Add QCname property that contains only unknown properties.
10175
10176 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10177 include weight in listing pattern, instead check weight of each
10178 listed font. Don't include scalable in pattern. Pay attention to
10179 FONT_PIXEL_SIZE_QUANTUM.
10180
101812008-02-01 Kenichi Handa <handa@m17n.org>
10182
10183 * font.c (font_parse_fcname): Fix parsing of point-size.
10184 (font_unparse_fcname): Produce symbolic names for style properties.
10185 (font_list_entities): Handle float size correctly.
10186 (font_open_by_name): Prefer `normal' property values if the name
10187 doesn't specify them.
10188
10189 * fontset.c (Finternal_char_font): Use font_get_name, not
10190 Ffont_xlfd_name.
10191
10192 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10193 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10194 pattern. Don't force scalable.
10195
10196 * xftfont.c (xftfont_open): For generating a name, start from
10197 96-byte buffer.
10198
101992008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10200
10201 * frame.h (x_new_fontset2): Fix prototype.
10202
102032008-02-01 Kenichi Handa <handa@m17n.org>
10204
10205 * font.h (struct font_driver): Delete member parse_name.
10206 (font_match_p, font_get_spec, font_parse_fcname)
10207 (font_unparse_fcname): Extern them.
10208 (font_get_name): Adjust prototype.
10209
10210 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10211 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10212 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10213 unnecessary checks for weight, slant, and swidth.
10214 (font_parse_fcname): New function.
10215 (font_unparse_fcname): New function.
10216 (font_parse_name): New function.
10217 (font_match_p): New function.
10218 (font_get_name): Change return value to Lisp string.
10219 (font_get_spec): New function.
10220 (Qunspecified, Qignore_defface): Don't extern them.
10221 (font_find_for_lface): Assume that LFACE is fully specified.
10222 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10223 object, use it for FACE.
10224 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10225 driver->parse_name.
10226 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10227
10228 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10229 prototype.
10230
10231 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10232 argument F. Don't call Fnew_fontset. Instead, directly call
10233 make_fontset.
10234
10235 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10236
10237 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10238 of x_new_fontset2.
10239
10240 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10241 (Qsans__serif): New variables.
10242 (ftfont_generic_family_list): New variable.
10243 (syms_of_ftfont): Initialize the above variables.
10244 (ftfont_pattern_entity): Delete argument NAME.
10245 (ftfont_list_generic_family): New function.
10246 (ftfont_parse_name): Delete this function.
10247 (ftfont_list): Try generic family only when FcFontList found no font.
10248 (ftfont_list_family): Fix args to FcObjectSetBuild.
10249
10250 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10251 object in attrs[LFACE_FONT_INDEX].
10252 (set_lface_from_font_name): Cancel all changes for font-backend.
10253 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10254 function.
10255 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10256 font object in QCfont attribute.
10257 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10258 (realize_default_face) [USE_FONT_BACKEND]: Call
10259 set_lface_from_font_and_fontset.
10260
10261 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10262 "fixed", and signal error here if no suitable font was found.
10263
10264 * xfont.c (xfont_parse_name): Delete this function.
10265
10266 * xftfont.c (xftfont_open): Change coding style of error
10267 handling. Generate fontconfig's fontname pattern.
10268
10269 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10270 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10271
10272 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10273 Both args FONTSET and FONT_OBJECT must be existing ones.
10274
102752008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10276
10277 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10278
102792008-02-01 Kenichi Handa <handa@m17n.org>
10280
10281 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10282
10283 * font.h (struct font): Fix typo.
10284
10285 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10286 XLFD_XXX_INDEX.
10287 (enum xlfd_field_mask): New enum.
10288 (intern_font_field): Changed argument. Change caller. If digits
10289 are followed by non-digits, return a symbol.
10290 (font_expand_wildcards): New function.
10291 (font_parse_xlfd): Fix wildcard handling.
10292 (Ffont_spec): If :name is specified, reflect the info in the other
10293 properties.
10294
10295 * ftfont.c (ftfont_pattern_entity): Fix typo.
10296 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10297 locale.
10298
102992008-02-01 Kenichi Handa <handa@m17n.org>
10300
10301 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10302
10303 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10304 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10305 registry doesn't specify encoding part.
10306 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10307 (font_open_by_name): At first try parsing the name.
10308 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10309 as Lisp symbols.
10310
10311 * fontset.c (reorder_font_vector): Pay attention to the case that
10312 the 3rd element of font_def is nil.
10313 (fontset_font): For the default fontset, append one more fontset
10314 elements for a script-based font specification. Don't add script
10315 attribute on finding a font.
10316 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10317 font name.
10318 (fontset_ascii_font): If a font can't be opened, return nil.
10319
10320 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10321 (ftfont_pattern_entity): New function.
10322 (ftfont_get_cache): Assume that freetype_font_cache is already
10323 initialized.
10324 (ftfont_list): Handle the case that a file is specified in font
10325 name. Use ftfont_pattern_entity to generate entities.
10326 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10327 (syms_of_ftfont): Initialize freetype_font_cache.
10328
10329 * xftfont.c (xftfont_open): Make the font name fontconfig's
10330 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10331 (xftfont_close): Free font->font.name if not NULL.
10332
10333 * xfont.c (xfont_list): If script is specified for a font, return
10334 null_vector.
10335 (xfont_list_family): Declare argument type.
10336
10337 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10338 name, set LFACE_FONT (lface) to nil.
10339
10340 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10341 return Qnil.
10342
103432008-02-01 Kenichi Handa <handa@m17n.org>
10344
10345 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10346 (standard_args): Add "-enable-font-backend".
10347
103482008-02-01 Kenichi Handa <handa@m17n.org>
10349
10350 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10351 (struct xftdraw_list, xftdraw_list): Delete them.
10352 (register_xftdraw, check_xftdraw): Delete them.
10353 (xftfont_prepare_face): Don't call register_xftdraw.
10354 (xftfont_done_face): Don't call check_xftdraw.
10355 (xftfont_draw): Get background color only when with_background is
10356 nonzero.
10357
10358 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10359
103602008-02-01 Kenichi Handa <handa@m17n.org>
10361
10362 These changes are for the new font handling codes.
10363
10364 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10365 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10366 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10367 (FONTSRC, FONTOBJ): New variables.
10368 (obj): Add $(FONTOBJ).
10369 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10370 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10371 @LIBOTF_LIBS@.
10372 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10373 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10374
10375 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10376
10377 * character.h (Vscript_representative_chars): Extern it.
10378
10379 * character.c (Vscript_representative_chars): New variable.
10380 (syms_of_character): Declare it as a Lisp variable.
10381
10382 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10383 enable_font_backend is nonzero, accept the composition method
10384 COMPOSITION_WITH_GLYPH_STRING.
10385
10386 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10387 enumeration COMPOSITION_WITH_GLYPH_STRING.
10388
10389 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10390 members clip_x, clip_y, clip_width, and clip_height.
10391 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10392
10393 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10394 --enable-font-backend. Call syms_of_font.
10395
10396 * fns.c (assoc_no_quit): New function.
10397
10398 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10399 (face_for_font, new_fontset_from_font)
10400 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10401
10402 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10403 (fontset_font, fontset_ascii, face_for_char)
10404 (make_fontset_for_ascii_face, Ffont_info)
10405 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10406 is nonzero, use font-backend mechanism.
10407 (find_font_encoding): Make it non-static.
10408 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10409 New functions.
10410
10411 * frame.h (struct frame): New members resx and resy.
10412 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10413 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10414
10415 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10416 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10417
10418 * lisp.h (assoc_no_quit): Extern it.
10419
10420 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10421 Through out the file, use FONT_INFO_FROM_FACE instead of
10422 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10423 rif->per_char_metric.
10424 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10425 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10426 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10427 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10428 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10429 nonzero, use font-backend mechanism.
10430 (get_per_char_metric): New function.
10431
10432 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10433 (set_lface_from_font_name)
10434 (set_font_frame_param, free_realized_face)
10435 (prepare_face_for_display, clear_face_gcs)
10436 (Finternal_set_font_selection_order, realize_x_face)
10437 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10438 font-backend mechanism.
10439 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10440 (load_face_font) [USE_FONT_BACKEND]: Abort.
10441 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10442 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10443
10444 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10445 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10446 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10447 nonzero, register all available font drivers. Call
10448 x_default_font_parameter for deciding a font.
10449 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10450
10451 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10452 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10453 (x_set_glyph_string_clipping_exactly)
10454 (x_compute_glyph_string_overhangs)
10455 (x_draw_glyph_string_foreground)
10456 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10457 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10458 enable_font_backend is nonzero, use font-backend mechanism.
10459 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10460
104612008-02-01 Kenichi Handa <handa@m17n.org>
10462
10463 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10464 system_eol_type.
10465 (syms_of_coding): Initialize system_eol_type.
10466
10467 * process.c (Fset_process_coding_system): Inherit system's eol
10468 format if necessary.
10469
104702008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10471
10472 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10473
104742008-02-01 Kenichi Handa <handa@m17n.org>
10475
10476 * coding.c (decode_eol): Pay attention to buffer relocation in
10477 del_range_2.
10478 (decode_coding): Call decode_eol before restoring undo_list.
10479
104802008-02-01 Kenichi Handa <handa@m17n.org>
10481
10482 * charset.c (Fdefine_charset_internal): Fix setting of
10483 emacs_mule_bytes.
10484
104852008-02-01 Kenichi Handa <handa@m17n.org>
10486
10487 * keyboard.c (read_char): Check if C is a character or not before
10488 looking up Vkeyboard_translate_table.
10489
104902008-02-01 Kenichi Handa <handa@m17n.org>
10491
10492 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10493 condition to terminate the loop.
10494
104952008-02-01 Kenichi Handa <handa@m17n.org>
10496
10497 * coding.c (produce_composition): Compare charbuf[i] instead of
10498 args[i] against 0.
10499 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10500
105012008-02-01 Kenichi Handa <handa@m17n.org>
10502
10503 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10504 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10505 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10506 detect_coding.
10507 (emacs_mule_char): Handle old style (Emacs 20) component character
10508 of a composition.
10509 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10510 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10511 composition rule.
10512 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10513
105142008-02-01 Kenichi Handa <handa@m17n.org>
10515
10516 * coding.c (encode_coding_ccl): Allocate destination dynamically
10517 when necessary.
10518
105192008-02-01 Kenichi Handa <handa@m17n.org>
10520
10521 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10522 the loop. When quitted, show a proper error message.
10523
105242008-02-01 Kenichi Handa <handa@m17n.org>
10525
10526 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10527 src->clip_head and src->clip_tail temporarily instead of src->hl.
10528
10529 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10530 character sequence.
10531 (Fccl_execute_on_string): Use ASET, not XSET.
10532
105332008-02-01 Kenichi Handa <handa@m17n.org>
10534
10535 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10536
105372008-02-01 Kenichi Handa <handa@m17n.org>
10538
10539 * coding.c (decode_coding): Fix the condition of terminating the
10540 decoding loop.
10541
105422008-02-01 Kenichi Handa <handa@m17n.org>
10543
10544 * data.c (Faset): On setting a character bigger than 255 in a
10545 unibyte string, signal an error instead of make the string multibyte.
10546
105472008-02-01 Kenichi Handa <handa@m17n.org>
10548
10549 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10550 made by a mapping table.
10551
105522008-02-01 Kenichi Handa <handa@m17n.org>
10553
10554 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10555 not.
10556 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10557 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10558
10559 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10560 s->face is NULL or not.
10561
105622008-02-01 Kenichi Handa <handa@m17n.org>
10563
10564 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10565 (x_draw_glyph_string): Fix drawing of right_overhang and
10566 left_overhang around/on cursor.
10567
10568 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10569
105702008-02-01 Kenichi Handa <handa@m17n.org>
10571
10572 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10573
105742008-02-01 Kenichi Handa <handa@m17n.org>
10575
10576 * coding.c (Fdefine_coding_system_internal)
10577 (Fdefine_coding_system_alias): Avoid a duplicated element in
10578 Vcoding_system_alist.
10579
105802008-02-01 Kenichi Handa <handa@m17n.org>
10581
10582 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10583
10584 * coding.c (Qcoding_system_define_form): New variable.
10585 (syms_of_coding): Intern and staticpro it.
10586 (Fcoding_system_p): Check Qcoding_system_define_form.
10587 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10588
10589 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10590 Fcoding_system_p.
10591 (CHECK_CODING_SYSTEM): If ID is not available, call
10592 Fcheck_coding_system.
10593 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10594 Try also Fcheck_coding_system.
10595
105962008-02-01 Kenichi Handa <handa@m17n.org>
10597
10598 * coding.c (code_conversion_restore): GCPRO arg.
10599
106002008-02-01 Kenichi Handa <handa@m17n.org>
10601
10602 * character.c (lisp_string_width): Check multibyteness of STRING.
10603
106042008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10605
10606 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10607 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10608 (decode_mac_font_name): Use decode_coding_c_string instead of
10609 decode_coding.
10610 (x_load_font): Initialize fontp->fontset to -1. Set
10611 fontp->encoding_type.
10612
106132008-02-01 Kenichi Handa <handa@m17n.org>
10614
10615 * search.c (search_buffer): Give up BM search on case-fold-search
10616 if one of a target character has a case-equivalence of different
10617 byte length even if that target charcter is an ASCII.
10618 (simple_search): Fix calculation of byte length of matched text.
10619 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10620
106212008-02-01 Kenichi Handa <handa@m17n.org>
10622
10623 * coding.c (decode_coding): Fix handling of invalid bytes.
10624
106252008-02-01 Kenichi Handa <handa@m17n.org>
10626
10627 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10628 Unicode characters.
10629
106302008-02-01 Kenichi Handa <handa@m17n.org>
10631
10632 * coding.c (encode_coding_object): If a pre-write-conversion
10633 function makes a new buffer, kill it.
10634
106352008-02-01 Kenichi Handa <handa@m17n.org>
10636
10637 * coding.c (QCascii_compatible_p): New variable.
10638 (syms_of_coding): Initialize it.
10639 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10640 calling string_char.
10641 (record_conversion_result): Add `default:' case.
10642 (coding_charset_list): Delete unused variable `coding_type'.
10643 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10644 property in the plist of the coding system.
10645 (Fcoding_system_put): Check QCascii_compatible_p.
10646
106472008-02-01 Miles Bader <miles@gnu.org>
10648
10649 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10650 removed calculation of frame `f', as it's now used.
10651
106522008-02-01 Kenichi Handa <handa@m17n.org>
10653
10654 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10655 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10656 (UNIDATA): New variable.
10657 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10658 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10659 $(RUN_TEMACS) unconditionally.
10660
106612008-02-01 Kenichi Handa <handa@m17n.org>
10662
10663 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10664 (admindir): New variable.
10665 ($(lispsource)international/charprop.el): New target.
10666
106672008-02-01 Miles Bader <miles@gnu.org>
10668
10669 * character.c (chars-in-region): Remove obsolete function.
10670 (syms_of_character): Remove its initialization.
10671
106722008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10673
10674 * w32select.c (validate_coding_system)
10675 (setup_windows_coding_system): New functions.
10676 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10677 setup_windows_coding_system.
10678 (setup_config, Fw32_get_clipboard_data): Use
10679 validate_coding_system.
10680 (Fx_selection_exists): Move call to setup_config to a place
10681 where signals are allowed.
10682
10683 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10684 (Fcheck_coding_system): Add declarations.
10685
106862008-02-01 Kenichi Handa <handa@m17n.org>
10687
10688 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10689
106902008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10691
10692 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10693 string as the second argument for x_new_fontset.
10694
106952008-02-01 Kenichi Handa <handa@m17n.org>
10696
10697 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10698 (encode_coding_object): Use safe_call instead of call2.
10699
107002008-02-01 Kenichi Handa <handa@m17n.org>
10701
10702 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10703
10704 * Makefile.in (lisp): Include charprop.el.
10705
107062008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10707
10708 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10709 Not sure if it's unnecessary.
10710
107112008-02-01 Steven Tamm <steventamm@mac.com>
10712
10713 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10714 some possibly unnecessary fontset checking code that crashed
10715 when creating a new frame.
10716
107172008-02-01 Kenichi Handa <handa@m17n.org>
10718
10719 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10720 lookup_face.
10721
10722 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10723
10724 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10725
107262008-02-01 Kenichi Handa <handa@m17n.org>
10727
10728 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10729 (coding_charset_list): New function.
10730
10731 * coding.h (coding_charset_list): Extern it.
10732
107332008-02-01 Kenichi Handa <handa@m17n.org>
10734
10735 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10736 concatenation of family and registry.
10737
107382008-02-01 Kenichi Handa <handa@m17n.org>
10739
10740 * character.h (BYTE8_STRING): Fix typo.
10741
10742 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10743 string to multibyte (sync to HEAD).
10744
10745 * casefiddle.c (casify_region): Handle changes in byte-length
10746 using replace_range_2 (sync to HEAD).
10747
107482008-02-01 Andreas Schwab <schwab@suse.de>
10749
10750 * chartab.c (map_char_table): GCPRO table and arg.
10751
107522008-02-01 Kenichi Handa <handa@m17n.org>
10753
10754 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10755 already at limit.
10756
107572008-02-01 Kenichi Handa <handa@m17n.org>
10758
10759 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10760 instead of fast_c_string_match_ignore_case.
10761 (find_font_encoding): Change argument to Lisp_Object. Use
10762 fast_string_match_ignore_case instead of
10763 fast_c_string_match_ignore_case. Change caller.
10764
107652008-02-01 Kenichi Handa <handa@m17n.org>
10766
10767 * xdisp.c (get_next_display_element): In unibyte case, decide to
10768 display in octal form by checking a character by
10769 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10770
10771 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10772
10773 * character.c (unibyte_has_multibyte_table): New variable.
10774
10775 * character.h (unibyte_has_multibyte_table): Extern it.
10776 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10777
107782008-02-01 Kenichi Handa <handa@m17n.org>
10779
10780 * coding.c (encode_coding_iso_2022): Fix handling of charset
10781 annotation.
10782
107832008-02-01 Kenichi Handa <handa@m17n.org>
10784
10785 * coding.c (setup_coding_system): If coding_system is nil, use
10786 Qundecided.
10787 (Fterminal_coding_system): Return nil if terminal coding system is
10788 `undecided'.
10789 (syms_of_coding): Define coding-system `undecided' here. Setup
10790 terminal_coding as `undecided'.
10791
107922008-02-01 Kenichi Handa <handa@m17n.org>
10793
10794 * xdisp.c (message_dolog, set_message_1): Call
10795 unibyte_char_to_multibyte with arg type int.
10796
10797 * lread.c (read1): Fix reading of a char-table.
10798
10799 * print.c (print_object): Include sub char-table in circularities
10800 detection.
10801
108022008-02-01 Kenichi Handa <handa@m17n.org>
10803
10804 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10805 Append the found sequences in car of ARGS instead of prepending.
10806
108072008-02-01 Kenichi Handa <handa@m17n.org>
10808
10809 * fileio.c (report_file_error): Make a unibyte string from
10810 strerror (errorno).
10811 (Fsubstitute_in_file_name): Fix the arg to
10812 unibyte_char_to_multibyte. It is evaluated twice.
10813
108142008-02-01 Kenichi Handa <handa@m17n.org>
10815
10816 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10817
108182008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10821 BOM is not found.
10822 (detect_coding, detect_coding_system): Optimization for ISO-2022
10823 when no 8-bit data is found.
10824
108252008-02-01 Jason Rumney <jasonr@gnu.org>
10826
10827 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10828
108292008-02-01 Kenichi Handa <handa@m17n.org>
10830
10831 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10832 CHARS.
10833
108342008-02-01 Steven Tamm <steventamm@mac.com>
10835
10836 * macterm.c (mac_encode_char): Add charset argument and update
10837 to use encoding_type.
10838 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10839 switch to pure fontset.
10840 (decode_mac_font_name): Temporarily remove decoding.
10841 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10842 (x_load_font): Temporarily remove encoding.
10843
108442008-02-01 Kenichi Handa <handa@m17n.org>
10845
10846 * xfaces.c (Fface_font): If frame is not on a window system,
10847 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10848 refer to face->font.
10849 (split_font_name_into_vector, build_font_name_from_vector)
10850 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10851 when HAVE_WINDOW_SYSTEM is defined.
10852
108532008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10856 (x_produce_glyphs): Fix setting of members of cmp in case
10857 cmp->glyph_len is zero.
10858
10859 * fontset.c (Fset_fontset_font): Fix docstring.
10860 (Ffontset_info): Make it backward compatible. New arg ALL.
10861
108622008-02-01 Kim F. Storm <storm@cua.dk>
10863
10864 * process.c (read_process_output): Grow decoding_buf when needed;
10865 this could cause a crash in allocate_string and compact_small_strings.
10866
108672008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10870
108712008-02-01 Kenichi Handa <handa@m17n.org>
10872
10873 * coding.c (setup_coding_system): Set coding->common_flags
10874 correctly for raw-text.
10875 (consume_chars): On encoding unibyte text by raw-text, don't check
10876 multibyte form.
10877 (encode_coding): On encoding by raw-text, never use translation tables.
10878
10879 * fileio.c (e_write): Short cut for the case of no encoding.
10880
108812008-02-01 Kenichi Handa <handa@m17n.org>
10882
10883 * coding.c (detect_coding, detect_coding_system): Delete unused
10884 variables.
10885
108862008-02-01 Kenichi Handa <handa@m17n.org>
10887
10888 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10889 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10890
108912008-02-01 Kenichi Handa <handa@m17n.org>
10892
10893 * coding.c (Ffind_coding_systems_region_internal): Include
10894 raw-text and no-conversion in the result.
10895
108962008-02-01 Kenichi Handa <handa@m17n.org>
10897
10898 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10899 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10900 FONT_DEF.
10901 (font_def_arg, add_arg, from_arg, to_arg): New args.
10902 (set_fontset_font): Change argument.
10903 (Fset_fontset_font): Fix for the case that TARGET is a script
10904 name and charset name.
10905 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10906
109072008-02-01 Kenichi Handa <handa@m17n.org>
10908
10909 * fontset.c (fontset_font): Rename from fontset_face. Change return
10910 value.
10911 (face_suitable_for_char_p, face_for_char): Adjust for the change
10912 of fontset_font.
10913 (make_fontset_for_ascii_face): Fix setting of the fontset element
10914 for ASCII.
10915 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10916 to get a font name.
10917 (Ffontset_info): Adjust for the change of fontset_font.
10918
10919 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10920
10921 * character.h (LEADING_CODE_LATIN_1_MIN)
10922 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10923
109242008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * editfns.c (check_translation): New function.
10927 (Ftranslate_region_internal): Handle M:N mapping.
10928
109292008-02-01 Kenichi Handa <handa@m17n.org>
10930
10931 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10932
109332008-02-01 Kenichi Handa <handa@m17n.org>
10934
10935 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10936 goto invalid_code.
10937 (decode_coding_iso_2022): Fix handling of invalid designation.
10938
10939 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10940 after calling code_conversion_save.
10941
109422008-02-01 Kenichi Handa <handa@m17n.org>
10943
10944 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10945
10946 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10947
10948 * fontset.c: Include "intervals.h".
10949 (fontset_face): Fix comparing of Lisp_Objects.
10950 (free_face_fontset, new_fontset_from_font_name): Fix
10951 Lisp_Object/int mixup.
10952
10953 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10954
10955 * coding.c: Add many prototypes for static functions.
10956 (get_translation_table): Allow max_lookup to be NULL.
10957 (decode_coding, Ffind_coding_systems_region_internal)
10958 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10959 get_translation_table with max_lookup NULL.
10960
109612008-02-01 Kenichi Handa <handa@m17n.org>
10962
10963 * coding.c (get_translation_table): Declare it as Lisp_Object.
10964 (LOOKUP_TRANSLATION_TABLE): New macro.
10965 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10966 instead of CHAR_TABLE_REF.
10967
109682008-02-01 Kenichi Handa <handa@m17n.org>
10969
10970 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10971 annotation data format.
10972 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10973 Change arguments FROM and TO to single argument NCHARS. Change caller.
10974 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10975 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10976 (decode_coding_ccl, decode_coding_charset): Pay attention to
10977 coding->charbuf_used.
10978 (get_translation): New function.
10979 (produce_chars): New arguments translation_table and last_block.
10980 Translate characters here. Return number of carryover chars.
10981 Change caller.
10982 (produce_composition): New argument pos. Change caller.
10983 Adjust for the change of annotation data format.
10984 (produce_charset, produce_annotation): Likewise.
10985 (decode_coding, encode_coding): Don't call translate_chars.
10986 (consume_chars): New arg translation_table. Change caller.
10987 (translate_chars): Delete.
10988 (syms_of_coding): Make translation-table's number of extra slots 2.
10989
109902008-02-01 Kenichi Handa <handa@m17n.org>
10991
10992 * search.c (simple_search): Fix setting this_pos_byte in backward
10993 search.
10994
10995 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10996 byte sequence.
10997 (detect_coding_ccl): Fix setting of the variable valids.
10998
109992008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11002
11003 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11004
11005 * editfns.c (Ftranslate_region_internal): Rename from
11006 Ftranslate_region. Accept a char-table in TABLE.
11007 (syms_of_editfns): Defsubr Stranslate_region_internal.
11008
11009 * xfaces.c (set_lface_from_font_name): If a font is specified for
11010 a frame, generate a fontset from the font.
11011 (build_scalable_font_name): If the scalable font is requested for
11012 a specific size, don't change that size.
11013 (try_font_list): Try a scalable font also in the case that a
11014 pattern string is specified.
11015
110162008-02-01 Kenichi Handa <handa@m17n.org>
11017
11018 * xfaces.c (Fface_font): New optional arg CHARACTER.
11019
110202008-02-01 Kenichi Handa <handa@m17n.org>
11021
11022 * charset.h (CHARSET_OFFSET): New macro.
11023
110242008-02-01 Kenichi Handa <handa@m17n.org>
11025
11026 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11027
11028 * fontset.c (fontset_face): Handle the case that repertory is a
11029 char-table.
11030 (find_font_encoding): Return nil for unknown encoding.
11031 (Fset_fontset_font): Ignore a font of unknown encoding.
11032
110332008-02-01 Kenichi Handa <handa@m17n.org>
11034
11035 * keymap.c (describe_vector): Handle default value of a char table.
11036
11037 * fontset.c (fontset_face): Handle fallback fonts correctly.
11038 (Ffontset_info): Return infomation about fallback fonts.
11039
110402008-02-01 Kenichi Handa <handa@m17n.org>
11041
11042 * fontset.c (FONTSET_DEFAULT): New macro.
11043 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11044 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11045 the case that it is nil.
11046 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11047 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11048
11049 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11050 subset or superset.
11051
110522008-02-01 Kenichi Handa <handa@m17n.org>
11053
11054 * emacs.c (main): Call init_charset after syms_of_XXX.
11055
11056 * charset.c (Vcharset_map_directory): Delete.
11057 (Vcharset_map_path): New variable.
11058 (load_charset_map_from_file): Use Vcharset_map_path instead.
11059 (init_charset): Initialize Vcharset_map_path.
11060 (syms_of_charset): Delete declaration of "charset-map-directory",
11061 add declaration of "charset-map-path".
11062
110632008-02-01 Kenichi Handa <handa@m17n.org>
11064
11065 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11066 ASCII only string.
11067
11068 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11069
11070 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11071 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11072
110732008-02-01 Kenichi Handa <handa@m17n.org>
11074
11075 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11076
11077 * coding.c (QCmnemonic, QCdefalut_char)
11078 (QCdecode_translation_table, QCencode_translation_table)
11079 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11080 (get_translation_table): Return a list of translation tables if
11081 necessary.
11082 (decode_coding): Call get_translation_table with ENCODEP 0.
11083 (char_encodable_p): If translation_table is non-nil, always call
11084 translate_char.
11085 (Fdefine_coding_system_internal): Accept list of translation
11086 tables as :encode-translation-table and :decode-translation-table.
11087 (Fcoding_system_put): New function.
11088 (syms_of_coding): Declare new symbols. Defsubr
11089 Scoding_system_put.
11090 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11091 typically JISX0212.
11092
11093 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11094 when the charset is superset type.
11095
11096 * character.c (translate_char): Accept list of translation tables.
11097
110982008-02-01 Kenichi Handa <handa@m17n.org>
11099
11100 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11101 (CODING_ATTR_TRANS_TBL): New macro.
11102
11103 * coding.c (get_translation_table): New function.
11104 (translate_chars): Fix the bug of skipping annotation data.
11105 (decode_coding, encode_coding): Utilize get_translation_table.
11106 (char_encodable_p, Funencodable_char_position): Translate char if
11107 necessary.
11108 (Ffind_coding_systems_region_internal)
11109 (Fcheck_coding_systems_region): Setup translation table for encode
11110 in a coding system attribute vector in advance.
11111 (Fdefine_coding_system_internal): Allow a symbol as translation
11112 table. For shift-jis type coding system, allow 4th charset.
11113
111142008-02-01 Kenichi Handa <handa@m17n.org>
11115
11116 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11117
11118 * xdisp.c (get_next_display_element): Pass -1 as POS to
11119 FACE_FOR_CHAR if displaying a C-string.
11120
111212008-02-01 Kenichi Handa <handa@m17n.org>
11122
11123 * composite.c (get_composition_id): Handle xoff and yoff in a
11124 composition rule.
11125
11126 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11127 (struct composition): New member lbearing and rbearing.
11128
11129 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11130 (x_get_glyph_overhangs): Handle a composition glyph.
11131 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11132
11133 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11134 composition glyph.
11135
111362008-02-01 Kenichi Handa <handa@m17n.org>
11137
11138 * print.c: Include charset.h.
11139 (Vprint_charset_text_property): New variable.
11140 (Qdefault): Extern it.
11141 (PRINT_STRING_NON_CHARSET_FOUND)
11142 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11143 (print_check_string_result): New variable.
11144 (print_check_string_charset_prop): New function.
11145 (print_prune_charset_plist): New variable.
11146 (print_prune_string_charset): New function.
11147 (print_object): Call print_prune_string_charset if
11148 Vprint_charset_text_property is not t.
11149 (print_interval): Print nothing if interval->plist is nil.
11150 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11151 variable. Init and staticpro print_prune_charset_plist.
11152
111532008-02-01 Kenichi Handa <handa@m17n.org>
11154
11155 * fontset.c (new_fontset_from_font_name): Use the specified font
11156 for all characters in the new fontset.
11157
11158 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11159 OBJECT args.
11160
11161 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11162 OBJECT args for composition too.
11163
11164 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11165 OBJECT args.
11166
111672008-02-01 Kenichi Handa <handa@m17n.org>
11168
11169 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11170
11171 * fontset.c (reorder_font_vector): Adjust for the change of
11172 FONT_DEF format.
11173 (fontset_face): New arg id. Change caller.
11174 (face_for_char): New args pos and object.
11175 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11176 (fs_query_fontset): Check NAME by Fassoc too.
11177 (Fset_fontset_font): Allow non-XLFD font name.
11178 (Ffontset_info): Adjust for the change of FONT_DEF format.
11179
11180 * fontset.h (face_for_char): Adjust prototype.
11181
11182 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11183 (append_space, extend_face_to_end_of_line)
11184 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11185 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11186
11187 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11188 POS and OBJECT args.
11189
11190 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11191 POS and OBJECT args.
11192
111932008-02-01 Jason Rumney <jasonr@gnu.org>
11194
11195 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11196 of GlobalAlloc'ed memory.
11197
111982008-02-01 Kenichi Handa <handa@m17n.org>
11199
11200 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11201
11202 * charset.h (charset_table_used): Delete extern.
11203
11204 * charset.c (charset_table_used): Make it static.
11205 (map_charset_chars): Fix args to c_function with.
11206
11207 * chartab.c (map_sub_char_table_for_charset): Fix args to
11208 c_function with.
11209
11210 * coding.h (enum coding_result_code): Delete
11211 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11212
11213 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11214 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11215 (Vlast_code_conversion_error): New variables.
11216 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11217 (ONE_MORE_BYTE): Record error if any instead of signaling an
11218 error. If non-ASCII multibyte char is found, return the negative
11219 value of the code. All callers changed to check it.
11220 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11221 (record_conversion_result): New function. Change all codes setting
11222 coding->result to call this function.
11223 (detect_coding_utf_8, decode_coding_utf_8)
11224 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11225 Don't use the local variable incomplete.
11226 (emacs_mule_char): Change the second arg to `const'.
11227 (decode_coding): Fix of flushing out unprocessed data.
11228 (make_conversion_work_buffer): Fix making of a work buffer.
11229 (decode_coding_object): Return coding->dst_object.
11230
11231 * fontset.c (set_fontset_font): Fix args.
11232
11233 * lisp.h (CHARACTERBITS): Define as 22.
11234
11235 * process.c (send_process): Be sure to set coding->src_multibyte.
11236
11237 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11238
112392008-02-01 Kenichi Handa <handa@m17n.org>
11240
11241 * xdisp.c (handle_auto_composed_prop): Give limit to
11242 Fnext_single_char_property_change.
11243
112442008-02-01 Kenichi Handa <handa@m17n.org>
11245
11246 * composite.c (syms_of_composite): Don't make the composition hash
11247 table weak.
11248
11249 * fontset.c (Fset_fontset_font): Fix docstring.
11250
11251 * lisp.h (detect_coding_system): Adjust prototype.
11252
11253 * fileio.c (kill_workbuf_unwind): Delete this function.
11254 (Finsert_file_contents): Adjust the call of detect_coding_system.
11255 Get conversion_buffer by code_conversion_save. Use the macro
11256 CODING_MAY_REQUIRE_DECODING. After decoding, update
11257 coding_system.
11258
11259 * coding.h (make_conversion_work_buffer): Delete extern.
11260 (code_conversion_save): Extern it.
11261
11262 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11263 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11264 (decode_coding_utf_8): Don't do eol converion.
11265 (detect_coding_utf_16): Check coding->src_chars, not
11266 coding->src_bytes. Add heuristics for those that have no signature.
11267 (decode_coding_emacs_mule, decode_coding_iso_2022)
11268 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11269 Don't do eol converion.
11270 (adjust_coding_eol_type): Return a new coding system.
11271 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11272 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11273 each change.
11274 (decode_coding): Pay attention to undo_list. Do eol conversion for
11275 all types of coding-systems (if necessary).
11276 (Vcode_conversion_work_buf_list): Delete it.
11277 (Vcode_conversion_reused_workbuf): Rename from
11278 Vcode_conversion_reused_work_buf.
11279 (Vcode_conversion_workbuf_name): New variable.
11280 (reused_workbuf_in_use): New variable.
11281 (make_conversion_work_buffer): Delete the arg DEPTH.
11282 (code_conversion_restore): Change argument to cons.
11283 (code_conversion_save): Delete the argument BUFFER. Change callers.
11284 (detect_coding_system): New argument src_chars. Change callers.
11285 Fix for utf-16 detection.
11286 (init_coding_once): Don't use ISO_carriage_return.
11287 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11288 reused_workbuf_in_use.
11289
112902008-02-01 Kenichi Handa <handa@m17n.org>
11291
11292 * keymap.c (store_in_keymap): Pay attention to the case that idx
11293 is a cons specifying a character range.
11294
112952008-02-01 Kenichi Handa <handa@m17n.org>
11296
11297 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11298 HANDLED_RECOMPUTE_PROPS.
11299
11300 * coding.c (Fdefine_coding_system_internal): Fix checking of
11301 ascii compatibility.
11302
113032008-02-01 Kenichi Handa <handa@m17n.org>
11304
11305 * charset.c (find_charsets_in_text): Delete unused locale variable.
11306 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11307
11308 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11309 Resync charset_list to Vemacs_mule_charset_list.
11310
11311 * keymap.c (store_in_keymap): Pay attention to the case that idx
11312 is a cons specifying a character range.
11313
113142008-02-01 Kenichi Handa <handa@m17n.org>
11315
11316 * composite.c (update_compositions): Bind inhibit-read-only, etc
11317 to t before calling remove-list-of-text-properties.
11318
11319 * print.c (print_object): Always print ASCII chars as is.
11320
113212008-02-01 Kenichi Handa <handa@m17n.org>
11322
11323 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11324
11325 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11326 is a char table.
11327
113282008-02-01 Kenichi Handa <handa@m17n.org>
11329
11330 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11331
113322008-02-01 Kenichi Handa <handa@m17n.org>
11333
11334 * xfaces.c (set_lface_from_font_name): Fix for the case that
11335 FONTNAME is not fontset name.
11336
113372008-02-01 Kenichi Handa <handa@m17n.org>
11338
11339 * fns.c (base64_encode_1): Fix previous change.
11340
113412008-02-01 Kenichi Handa <handa@m17n.org>
11342
11343 * fontset.c (set_fontset_font): New function.
11344 (Fset_fontset_font): If a font is specified for a charset, use
11345 map_charset_chars to store the font spec in a fontset.
11346
113472008-02-01 Kenichi Handa <handa@m17n.org>
11348
11349 * fontset.c (fontset_face): Create a fallback fontset on demand.
11350 (make_fontset): Don't create a fallback fontset here.
11351 (free_face_fontset): Free a fallback fontset (if any) too.
11352 (n_auto_fontsets): Delete this variable.
11353 (auto_fontset_alist): New variable.
11354 (new_fontset_from_font_name): Check auto_fontset_alist.
11355 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11356 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11357 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11358 Defsubr Sfontset_list_all.
11359
113602008-02-01 Kenichi Handa <handa@m17n.org>
11361
11362 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11363
113642008-02-01 Kenichi Handa <handa@m17n.org>
11365
11366 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11367
113682008-02-01 Kenichi Handa <handa@m17n.org>
11369
11370 * editfns.c (Fgoto_char): Fix docstring.
11371
113722008-02-01 Kenichi Handa <handa@m17n.org>
11373
11374 * insdel.c (insert_from_gap): Adjust intervals correctly.
11375
113762008-02-01 Jason Rumney <jasonr@gnu.org>
11377
11378 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11379 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11380 (w32_initialize): Try to load it.
11381 (x_get_font_repertory): Use it if available.
11382 (w32_encode_char): Add shortcut for unicode output.
11383
11384 * w32fns.c (w32_load_system_font): Default charset to -1.
11385 (x_to_w32_charset): Match all fonts for unicode.
11386 (w32_to_x_charset): New parameter matching. Don't return partial
11387 or wildcard charsets.
11388 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11389 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11390 (w32_to_x_font): Match charset to real charset.
11391 (enum_font_cb2): Always list unicode versions.
11392
11393 * makefile.w32-in (temacs): Increase EMHEAP.
11394
113952008-02-01 Jason Rumney <jasonr@gnu.org>
11396
11397 * w32term.c (w32_encode_char): New charset parameter.
11398 font_info.encoding becomes encoding_type.
11399 (x_get_font_repertory): New function. Warning: stub only!
11400 (x_new_font): Return quickly if font already set.
11401 (x_new_fontset): fontsetname parameter is Lisp_Object.
11402 Use new fs_query_fontset. Try new_fontset_from_font_name.
11403 Use fontset_name for return value.
11404
11405 * w32term.h: Declare x_get_font_repertory.
11406
11407 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11408 place of find_charset_in_text. Use encode_coding_object in place
11409 of encode_coding.
11410 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11411 decode_coding.
11412
11413 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11414 of x_new_fontset.
11415 (w32_load_system_font): Initialize charset as unicode.
11416 font_info.encoding becomes encoding_type.
11417 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11418 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11419 (syms_of_w32fns): Set get_font_repertory_func.
11420
11421 * w32console.c: Include character.h. Use terminal_encode_buffer
11422 from term.c.
11423 (write_glyphs): Use new version of encode_terminal_code. Use
11424 encode_coding_object in place of encode_coding.
11425
11426 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11427 encoding becomes encoding_type.
11428
11429 * term.c (terminal_encode_buffer): Make externally visible.
11430
11431 * makefile.w32-in: Add character.h dependancies.
11432 (character.o, chartab.o): New targets.
11433
114342008-02-01 Kenichi Handa <handa@m17n.org>
11435
11436 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11437 CODING_ID_EOL_TYPE.
11438
114392008-02-01 Andreas Schwab <schwab@suse.de>
11440
11441 * coding.c (produce_chars): Revert last change.
11442
114432008-02-01 Kenichi Handa <handa@m17n.org>
11444
11445 * charset.h (charset_unicode): Extern it.
11446
11447 * charset.c (string_xstring_p): Check by (C >= 0x100).
11448 (find_charsets_in_text): Change format of the arc CHARSETS. New
11449 arg MULTIBYTE.
11450 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11451 change of find_charsets_in_text.
11452 (Fsplit_char): Fix doc. Never return unknown.
11453
11454 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11455
11456 * coding.c (Fdefine_coding_system_alias): Update
11457 Vcoding_system_list.
11458
11459 * fontset.c (load_font_get_repertory): Pay attention to the case
11460 that ENCODING of a font is specified by a char-table.
11461
11462 * xterm.c (x_get_font_repertory): Handle the case that the
11463 encoding of font is other than Unicode.
11464
114652008-02-01 Kenichi Handa <handa@m17n.org>
11466
11467 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11468 if a character is encodable by the terminal coding system. If
11469 not, produces proper number of `?'s. Update
11470 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11471 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11472
114732008-02-01 Kenichi Handa <handa@m17n.org>
11474
11475 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11476 variables.
11477 (encode_terminal_code): Change argument. Encode multiple
11478 characters at once. Store the result of encoding in
11479 terminal_encode_buffer.
11480 (write_glyphs, insert_glyphs): Adjust for the change of
11481 encode_terminal_code.
11482 (term_init): Initialize terminal_encode_buffer and
11483 terminal_encode_buf_size.
11484
11485 * coding.c (consume_chars): If coding->src_object is nil, don't
11486 check annotation.
11487
114882008-02-01 Kenichi Handa <handa@m17n.org>
11489
11490 * character.c (char_string): Use ASCII_CHAR_P instead of
11491 SINGLE_BYTE_CHAR_P.
11492
114932008-02-01 Kenichi Handa <handa@m17n.org>
11494
11495 * xdisp.c (handle_auto_composed_prop): Check if the last
11496 characters of auto-composed region is newly composed with the
11497 following characters.
11498 (handle_composition_prop): Fix checking of point being inside
11499 composition.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * fns.c (concat): Don't change multibyteness of the result by
11504 concatenating an 8-bit character.
11505
11506 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11507 multibyteness of the result when newelt is an 8-bit character.
11508
115092008-02-01 Dave Love <fx@gnu.org>
11510
11511 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11512 EMACS_INT.
11513
11514 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11515
11516 * xfaces.c (face_numeric_value): Declare dim size_t.
11517 (Finternal_lisp_face_equal_p): Remove unused f.
11518
11519 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11520 (MATRIX_ROW): Remove unused vars.
11521 (draw_glyphs, x_insert_glyphs, fast_find_position)
11522 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11523 byte/char counts.
11524
11525 * regex.c (regex_compile): Remove unused var.
11526
11527 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11528
11529 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11530 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11531
11532 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11533
11534 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11535
11536 * fileio.c (Fwrite_region): Remove unused var.
11537
11538 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11539 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11540
11541 * composite.c (Fremove_list_of_text_properties): Declare.
11542
11543 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11544 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11545 (coding_inherit_eol_type): Remove unused attrs.
11546 (detect_coding): Cast arg of detect_eol.
11547
11548 * charset.c (syms_of_charset): Remove unused var p.
11549 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11550 byte/char counts.
11551
11552 * casetab.c (set_case_table): Remove unused var.
11553
11554 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11555 unused vars.
11556
115572008-02-01 Dave Love <fx@gnu.org>
11558
11559 * xterm.c (x_bitmap_mask): Declare.
11560
115612008-02-01 Dave Love <fx@gnu.org>
11562
11563 * xterm.c (x_term_init): Fix type error.
11564
11565 * lisp.h: Add Funibyte_char_to_multibyte.
11566
11567 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11568 (Fset_coding_system_priority): Doc fix.
11569
11570 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11571
11572 * indent.c (check_composition): Make start and end EMACS_INT.
11573
11574 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11575
11576 * xdisp.c (handle_composition_prop, check_point_in_composition):
11577 Make buffer positions EMACS_INT.
11578
11579 * composite.c (find_composition, run_composition_function)
11580 (update_compositions, Ffind_composition_internal): Make buffer
11581 positions EMACS_INT.
11582
11583 * composite.h (find_composition, update_compositions): Make
11584 position args EMACS_INT.
11585
11586 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11587
11588 * intervals.c (get_property_and_range):
11589 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11590
11591 * unexalpha.c: Don't include varargs.h.
11592
115932008-02-01 Dave Love <fx@gnu.org>
11594
11595 * coding.h (ENCODE_UTF_8): New.
11596
11597 * Makefile.in (gtkutil.o): Depend on coding.h.
11598
11599 * coding.c (Fset_coding_system_priority): Doc fix.
11600
116012008-02-01 Kenichi Handa <handa@m17n.org>
11602
11603 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11604 the case of auto saving.
11605
116062008-02-01 Andreas Schwab <schwab@suse.de>
11607
11608 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11609 `range' from GC.
11610
116112008-02-01 Kenichi Handa <handa@m17n.org>
11612
11613 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11614
116152008-02-01 Kenichi Handa <handa@m17n.org>
11616
11617 * fileio.c (choose_write_coding_system): Return a decided coding system.
11618 (Fwrite_region): Set Vlast_coding_system_used to the return value
11619 of choose_write_coding_system.
11620
116212008-02-01 Kenichi Handa <handa@m17n.org>
11622
11623 * charset.c (Fset_charset_priority): Pay attention to duplicated
11624 arguments.
11625
11626 * coding.c (QCcategory): New variable.
11627 (syms_of_coding): Defsym it. Set all elements of
11628 Vcoding_category_table and their symbol values.
11629 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11630 coding-category-XXX, and coding-category-list.
11631 (Fdefine_coding_system_internal): Add category in the plist.
11632
116332008-02-01 Kenichi Handa <handa@m17n.org>
11634
11635 * callproc.c (Fcall_process): Handle carryover correctly.
11636
11637 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11638 (raw_text_coding_system): Check NILP (coding_system).
11639 (coding_inherit_eol_type): Check NILP (coding_system) and
11640 NILP (parent).
11641 (consume_chars): Fix for the case of raw-text.
11642
11643 * process.c (read_process_output): Handle carryover correctly.
11644
116452008-02-01 Dave Love <fx@gnu.org>
11646
11647 * regex.c (re_search_2): Fix last change.
11648
116492008-02-01 Kenichi Handa <handa@m17n.org>
11650
11651 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11652 target_multibyte. Even in a unibyte case, return a converted
11653 multibyte char.
11654 (GET_CHAR_AFTER): New macro.
11655 (PATFETCH): Translate via multibyte char.
11656 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11657 (SETUP_MULTIBYTE_RANGE): New macro.
11658 (regex_compile): Setup compiled code so that its multibyteness
11659 matches that of a target. Fix the handling of "[X-YZ]" using
11660 SETUP_MULTIBYTE_RANGE.
11661 (analyse_first) <charset>: For filling fastmap for all multibyte
11662 characters, don't check by BASE_LEADING_CODE_P.
11663 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11664 the same as RE_MULTIBYTE_P (bufp) now.
11665 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11666 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11667 (TRANSLATE_VIA_MULTIBYTE): New macro.
11668 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11669 It is the same as RE_MULTIBYTE_P (bufp) now.
11670 <exactn>: Translate via multibyte.
11671 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11672 translate it.
11673 <charset, charset_not>: Fetch a character by
11674 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11675 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11676 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11677 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11678 by GET_CHAR_AFTER.
11679 (bcmp_translate): Likewise.
11680
11681 * search.c (compile_pattern): Check the member target_multibyte,
11682 not the member multibyte of buf.
11683
11684 * lread.c (read1): While reading a string, set force_singlebyte
11685 and force_multibyte correctly.
11686
11687 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11688 up of unibyte_to_multibyte_table.
11689
116902008-02-01 Kenichi Handa <handa@m17n.org>
11691
11692 * coding.c (setup_coding_system): If coding has
11693 post-read-conversion or pre-write-conversion, set
11694 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11695 respectively.
11696 (decode_coding_gap): Run post-read-conversion if any.
11697
11698 * fileio.c (Finsert_file_contents): Even if we read into a
11699 unibyte buffer, check if we must decode the result or not.
11700
117012008-02-01 Kenichi Handa <handa@m17n.org>
11702
11703 * coding.c (make_conversion_work_buffer): Change the work buffer
11704 name to the same one as that of Emacs 21.
11705
117062008-02-01 Kenichi Handa <handa@m17n.org>
11707
11708 * coding.h (make_conversion_work_buffer): Adjust prototype.
11709 (code_conversion_restore): Don't extern it.
11710
11711 * coding.c (detected_mask): Delete unused variable.
11712 (decode_coding_iso_2022): Pay attention to the byte sequence of
11713 CTEXT extended segment, and retain those bytes as is.
11714 (decode_coding_ccl): Delete unused variable `valids'.
11715 (setup_coding_system): Delete unused variable `category'.
11716 (consume_chars): Delete unused variable `category'. Make it work
11717 for non-multibyte case.
11718 (make_conversion_work_buffer): Change argument.
11719 (saved_coding): Delete unused variable.
11720 (code_conversion_restore): Don't check saved_coding->destination.
11721 (code_conversion_save): New function.
11722 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11723 instead of record_unwind_protect.
11724 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11725 (detect_coding_system): Delete unused variable `mask'.
11726 (Fdefine_coding_system_internal): Delete unused variable id.
11727
11728 * fileio.c (kill_workbuf_unwind): New function.
11729 (Finsert_file_contents): On replacing, call
11730 make_conversion_work_buffer with correct args, and call
11731 record_unwind_protect with the first arg kill_workbuf_unwind.
11732
11733 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11734
117352008-02-01 Kenichi Handa <handa@m17n.org>
11736
11737 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11738 (fontset_add): Fix for the case that TO is less than TO1.
11739 (Ffontset_info): Don't use fallback fontset on checking the
11740 default fontset.
11741 (dump_fontset): New function for debugging.
11742
11743 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11744 coding_type is Qcharset.
11745
117462008-02-01 Kenichi Handa <handa@m17n.org>
11747
11748 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11749 (map_char_table): Don't inherit the value from the parent on
11750 initializing VAL. Adjust for the above change.
11751
117522008-02-01 Kenichi Handa <handa@m17n.org>
11753
11754 * coding.c (Qsignature, Qendian): Delete these variables.
11755 (syms_of_coding): Don't initialize them.
11756 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11757 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11758 detect_info->found.
11759 (decode_coding_utf_16): Don't detect BOM here.
11760 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11761 is NOT utf_16_without_bom.
11762 (setup_coding_system): For a coding system of type utf-16, check
11763 if the attribute :endian is Qbig or not (not nil or not), and set
11764 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11765 (detect_coding): If coding type is utf-16 and BOM detection is
11766 required, detect it.
11767 (Fdefine_coding_system_internal): For a coding system of type
11768 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11769
117702008-02-01 Kenichi Handa <handa@m17n.org>
11771
11772 * coding.c (coding_set_source): Fix for the case that the current
11773 buffer is different from coding->src_object.
11774 (decode_coding_object): Don't use the conversion work buffer if
11775 DST_OBJECT is a buffer.
11776
117772008-02-01 Dave Love <fx@gnu.org>
11778
11779 * lread.c (read_emacs_mule_char) [len==2]: Index
11780 emacs_mule_charset correctly.
11781
117822008-02-01 Dave Love <fx@gnu.org>
11783
11784 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11785 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11786 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11787 treated specially.)
11788 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11789 (detected_mask): Remove Big5 bits.
11790
117912008-02-01 Kenichi Handa <handa@m17n.org>
11792
11793 The following changes are to make the font rescaling facility
11794 compatible with Emacs 21.
11795
11796 * xfaces.c (Vface_font_rescale_alist): Rename from
11797 Vface_resizing_fonts.
11798 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11799 (font_rescale_ratio): Rename from font_resizing_ratio.
11800 (split_font_name): Set font->rescale_ratio.
11801 (better_font_p): Pay attention to font->rescale_ratio.
11802 (build_scalable_font_name): Likewise. Change RESX, and RESY
11803 fields.
11804 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11805
118062008-02-01 Kenichi Handa <handa@m17n.org>
11807
11808 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11809 (Qutf_16_le): Remove these variables.
11810 (syms_of_coding): Don't DEFSYM them.
11811 (decode_coding_utf_16): Fix handling of BOM.
11812 (encode_coding_utf_16): Fix handling of BOM.
11813
118142008-02-01 Kenichi Handa <handa@m17n.org>
11815
11816 * fileio.c (Finsert_file_contents): On replacing, before decoding
11817 the file into the work buffer, set point of the work buffer to the end.
11818
118192008-02-01 Dave Love <fx@gnu.org>
11820
11821 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11822
118232008-02-01 Dave Love <fx@gnu.org>
11824
11825 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11826 and fix C types.
11827
118282008-02-01 Kenichi Handa <handa@m17n.org>
11829
11830 * xdisp.c (SKIP_GLYPHS): New macro.
11831 (set_cursor_from_row): Pay attention to string display properties.
11832
11833 * category.c (copy_category_entry): Fix for the case that RANGE
11834 is an integer.
11835
11836 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11837
11838 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11839
118402008-02-01 Kenichi Handa <handa@m17n.org>
11841
11842 * charset.c (Fcharset_id_internal): New function.
11843 (syms_of_charset): Defsubr it.
11844
11845 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11846 with the last arg charset_list acquired from coding.
11847 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11848 the attribute coding_attr_ccl_valids.
11849
11850 * coding.h (enum define_coding_ccl_arg_index): Set the first
11851 member coding_arg_ccl_decoder to coding_arg_max.
11852
11853 * ccl.h (ccl_driver): Adjust prototype.
11854
11855 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11856 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11857 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11858 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11859 last arg Qnil.
11860
118612008-02-01 Kenichi Handa <handa@m17n.org>
11862
11863 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11864 call encode_char.
11865
11866 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11867
118682008-02-01 Dave Love <fx@gnu.org>
11869
11870 * composite.c (syms_of_composite): Make composition_hash_table weak.
11871
118722008-02-01 Kenichi Handa <handa@m17n.org>
11873
11874 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11875 (font_name_registry): Don't extern them.
11876 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11877
11878 * fontset.h (Qfontset): Don't extern it.
11879 (new_fontset_from_font_name): Extern it.
11880
11881 * fontset.c: Give 8 extra slots to fontset objects.
11882 (Qfontset_info): New variable.
11883 (syms_of_fontset): Defsym it.
11884 (FONTSET_FALLBACK): New macro.
11885 (fontset_face): Try also the default fontset.
11886 (make_fontset): Realize a fallback fontset from the default fontset.
11887 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11888 using split_font_name_into_vector and build_font_name_from_vector.
11889 (Fset_fontset_font): Access the elements of font_spec by enum
11890 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11891 name by using split_font_name_into_vector.
11892 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11893 generate a proper font name from the fontset name. Update
11894 Vfontset_alias_alist.
11895 (n_auto_fontsets): New variable.
11896 (new_fontset_from_font_name): New function.
11897 (Ffont_info): Store the information about fonts generated from the
11898 default fontset in the first extra slot of the returned char-table.
11899
11900 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11901 (font_name_registry): Delete function.
11902 (split_font_name_into_vector): New function.
11903 (build_font_name_from_vector): New function.
11904 (font_list): The argument REGISTRY is now a list of registry names.
11905 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11906 specifies an explicit font name, return the name as is. Make a
11907 list of registy names.
11908
11909 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11910 of x_new_fontset.
11911 (Fx_create_frame): Don't call x_new_fontset here. Just use
11912 x_list_fonts to check the existence of fonts.
11913
11914 * xterm.h (x_new_fontset): Adjust prototype.
11915
11916 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11917 string. Use new_fontset_from_font_name to create a fontset from a
11918 font name.
11919
119202008-02-01 Kenichi Handa <handa@m17n.org>
11921
11922 * syntax.c (Vfind_word_boundary_function_table): New name for
11923 Vnext_word_boundary_function_table.
11924 (find-word-boundary-function-table): New name for
11925 next-word-boundary-function-table.
11926
119272008-02-01 Dave Love <fx@gnu.org>
11928
11929 * Makefile.in: Fix some dependencies.
11930
11931 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11932 set it to nil before returning.
11933
11934 * composite.c (update_compositions): Fix type error.
11935
11936 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11937
119382008-02-01 Kenichi Handa <handa@m17n.org>
11939
11940 * xterm.c (x_new_font): Optimize for the case that the font is
11941 already set for the frame.
11942
119432008-02-01 Kenichi Handa <handa@m17n.org>
11944
11945 * chartab.c (char_table_ascii): Check if the char table contents
11946 is sub-char-table or not.
11947 (char_table_set, char_table_set_range): Fix argument to
11948 char_table_ascii.
11949
11950 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11951 (detect_coding_utf_8, detect_coding_utf_16)
11952 (detect_coding_emacs_mule, detect_coding_iso_2022)
11953 (detect_coding_sjis, detect_coding_big5)
11954 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11955 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11956 sequence is valid in this coding system. Change callers.
11957 (MAX_ANNOTATION_LENGTH): New macro.
11958 (ADD_ANNOTATION_DATA): New macro.
11959 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11960 ADD_ANNOTATION_DATA. Change the format of annotation data.
11961 (ADD_CHARSET_DATA): New macro.
11962 (emacs_mule_char): New argument ID. Change callers.
11963 (decode_coding_emacs_mule, decode_coding_iso_2022)
11964 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11965 Produce charset annotation data in coding->charbuf.
11966 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11967 to charset annotation data in coding->charbuf.
11968 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11969 coding->common_flags if the coding system is iso-2022 based and
11970 uses designation.
11971 (produce_composition): Adjust for the new annotation data format.
11972 (produce_charset): New function.
11973 (produce_annotation): Handle charset annotation.
11974 (handle_composition_annotation, handle_charset_annotation): New
11975 functions.
11976 (consume_chars): Handle charset annotation. Utilize the above two
11977 functions.
11978 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11979 buffer, get the deleted text as a string and set
11980 coding->src_object to that string.
11981 (detect_coding, detect_coding_system): Use the new struct
11982 coding_detection_info.
11983
11984 * coding.h (struct coding_detection_info): New structure.
11985 (struct coding_system): Adjust prototype of the member `detector'.
11986 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11987
119882008-02-01 Kenichi Handa <handa@m17n.org>
11989
11990 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11991
119922008-02-01 Dave Love <fx@gnu.org>
11993
11994 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11995 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11996 to new local and nullify apropos_accumulate before returning.
11997 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11998
119992008-02-01 Kenichi Handa <handa@m17n.org>
12000
12001 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12002 correctly.
e3eea1fc 12003
aac0c6e3
MR
120042008-02-01 Dave Love <fx@gnu.org>
12005
12006 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12007
120082008-02-01 Kenichi Handa <handa@m17n.org>
12009
12010 The following changes are to make character composition happen
12011 automatically on displaying.
12012
12013 * Makefile.in (lisp, shortlisp): Add composite.elc.
12014
12015 * composite.h (Qauto_composed, Vauto_composition_function)
12016 (Qauto_composition_function): Extern them.
12017
12018 * composite.c (Vcomposition_function_table)
12019 (Qcomposition_function_table): Delete variables.
12020 (Qauto_composed, Vauto_composition_function)
12021 (Qauto_composition_function): New variables.
12022 (run_composition_function): Don't call
12023 compose-chars-after-function.
12024 (update_compositions): Clear `auto-composed' text property.
12025 (compose_chars_in_text): Delete this function.
12026 (syms_of_composite): Staticpro Qauto_composed and
12027 Qauto_composition_function. Declare Vauto_composition_function as
12028 a Lisp variable.
12029
12030 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12031
12032 * xdisp.c (it_props): Add an entry for Qauto_composed.
12033 (handle_auto_composed_prop): New function.
12034
12035 * xselect.c (selection_data_to_lisp_data): Don't call
12036 compose_chars_in_text.
12037
120382008-02-01 Dave Love <fx@gnu.org>
12039
12040 * keyboard.c (read_char): Modify checking around use of
12041 Vkeyboard_translate_table.
12042
12043 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12044 and fix C types.
12045
120462008-02-01 Kenichi Handa <handa@m17n.org>
12047
12048 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12049 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12050 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12051 the case that the last byte is '\r' correctly.
12052 (decode_coding): Flush out the unprocessed data correctly.
12053 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12054
120552008-02-01 Dave Love <fx@gnu.org>
12056
12057 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12058 Add XK_ISO... case.
12059 (xaw_scroll_callback): Revert last change.
12060
120612008-02-01 Kenichi Handa <handa@m17n.org>
12062
12063 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12064
120652008-02-01 Kenichi Handa <handa@m17n.org>
12066
12067 * xfaces.c (Vface_resizing_fonts): New variable.
12068 (struct font_name): New member `resizing_ratio'.
12069 (font_resizing_ratio): New function.
12070 (split_font_name): Set font->resizing_ratio.
12071 (better_font_p): Pay attention to font->resizing_ratio.
12072 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12073 RESX, and RESY fields.
12074 (try_alternative_families): Try scalable fonts if
12075 Vscalable_fonts_allowed is not Qt.
12076 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12077
120782008-02-01 Dave Love <fx@gnu.org>
12079
12080 * xterm.c (xaw_scroll_callback): Cast correctly.
12081
120822008-02-01 Dave Love <fx@gnu.org>
12083
12084 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12085 (lispy_kana_keys): Comment out.
12086 (make_lispy_event) [XK_kana_A]: Comment out.
12087
12088 * xterm.c (xaw_scroll_callback): Cast call_data.
12089 (XTread_socket): Deal with ASCII keysyms.
12090 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12091
120922008-02-01 Dave Love <fx@gnu.org>
12093
12094 * xterm.c (Vx_keysym_table): New.
12095 (syms_of_xterm): Initialize it.
12096 (XTread_socket): Use it.
12097 From head: Eliminate incorrect optimization that tried to avoid
12098 decoding the output of X*LookupString.
12099 (x_get_font_repertory): Delete charset declaration.
12100
121012008-02-01 Kenichi Handa <handa@m17n.org>
12102
12103 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12104 return 0.
12105 (Fdefine_coding_system_internal): Setup
12106 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12107
121082008-02-01 Dave Love <fx@gnu.org>
12109
12110 * coding.c (Fcheck_coding_system): Doc fix.
12111
12112 * editfns.c (Finsert_byte): Return a proper value.
12113
121142008-02-01 Kenichi Handa <handa@m17n.org>
12115
12116 * coding.c (decode_coding): Fix args to translate_chars. Pay
12117 attention to Vstandard_translation_table_for_decode.
12118 (encode_coding): Fix args to translate_chars. Pay attention to
12119 Vstandard_translation_table_for_encode.
12120
12121 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12122 SINGLE_BYTE_CHAR_P.
12123
12124 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12125 not by SINGLE_BYTE_CHAR_P.
12126
12127 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12128 SINGLE_BYTE_CHAR_P.
12129
12130 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12131 SINGLE_BYTE_CHAR_P.
12132
12133 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12134 by SINGLE_BYTE_CHAR_P.
12135
12136 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12137 SINGLE_BYTE_CHAR_P.
12138
121392008-02-01 Dave Love <fx@gnu.org>
12140
12141 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12142
121432008-02-01 Dave Love <fx@gnu.org>
12144
12145 * fns.c (Flanginfo): Fix typo.
12146
12147 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12148
121492008-02-01 Kenichi Handa <handa@m17n.org>
12150
12151 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12152 (detect_coding_emacs_mule, detect_coding_iso_2022)
12153 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12154 incomplete byte sequence. Don't update *mask when correctly detected.
12155 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12156 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12157 (detect_coding, detect_coding_system): Adjust for the changes above.
12158
121592008-02-01 Kenichi Handa <handa@m17n.org>
12160
12161 * character.c (char_string): Rename from
12162 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12163 (string_char): Rename from string_char.
12164
12165 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12166 if C is greater than MAX_3_BYTE_CHAR.
12167 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12168 string_char instead of string_char_with_unification.
12169
121702008-02-01 Dave Love <fx@gnu.org>
12171
12172 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12173
121742008-02-01 Kenichi Handa <handa@m17n.org>
12175
12176 * keymap.c (push_key_description): Pay attention to force_multibyte.
12177
12178 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12179
121802008-02-01 Dave Love <fx@gnu.org>
12181
12182 * charset.c (define_charset_internal): Rename `supprementary'.
12183
12184 * Makefile.in (lisp, shortlisp): Remove latin-N.
12185
121862008-02-01 Dave Love <fx@gnu.org>
12187
12188 * xfns.c (x_window, x_window): Use use_xim.
12189
12190 * xterm.c (use_xim): Initialize.
12191 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12192 (x_term_init): Maybe set use_xim.
12193
12194 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12195
121962008-02-01 Kenichi Handa <handa@m17n.org>
12197
12198 * search.c (search_buffer): Fix case-fold-search of multibyte
12199 characters.
12200 (boyer_moore): Rename the last argument to char_high_bits.
12201
122022008-02-01 Kenichi Handa <handa@m17n.org>
12203
12204 * xdisp.c (display_string): Fix for the case of zero width glyph.
12205
12206 * xfns.c (x_set_font): Change the error message of the case that
12207 x_new_fontset returns Qt.
12208
12209 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12210 (Finternal_set_lisp_face_attribute): Use signal_error for the
12211 error of invalid fontset.
12212
12213 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12214 fontset, return Qt.
12215
122162008-02-01 Dave Love <fx@gnu.org>
12217
12218 * unexelf.c (unexec): Make .got handling not SGI-specific.
12219
12220 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12221
12222 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12223
12224 * keyboard.c (read_key_sequence): Fix type error.
12225
12226 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12227 type error.
12228
12229 * fontset.c (fontset_add): Return Lisp_Object.
12230
122312008-02-01 Dave Love <fx@gnu.org>
12232
12233 * charset.h (charset_ordered_list_tick): Declare extern.
12234
122352008-02-01 Kenichi Handa <handa@m17n.org>
12236
12237 The following changes (and some of 2008-02-01 changes of mine) are
12238 for handling syntax, category, and case conversion for unibyte
12239 characters by converting them to multibyte on the fly. With these
12240 changes, we don't have to setup syntax and case tables for unibyte
12241 characters in each language environment.
12242
12243 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12244 multibyte if necessary.
12245
12246 * bytecode.c (Fbyte_code): Likewise.
12247
12248 * character.h (LEADING_CODE_LATIN_1_MIN)
12249 (LEADING_CODE_LATIN_1_MAX): New macros.
12250 (unibyte_to_multibyte_table): Extern it.
12251 (unibyte_char_to_multibyte): New macro.
12252 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12253 (CHAR_LEADING_CODE): New macro.
12254 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12255
12256 * character.c (unibyte_to_multibyte_table): New variable.
12257 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12258 (multibyte_char_to_unibyte): If C is an eight-bit character,
12259 convert it to the corresponding byte value.
12260
12261 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12262 not 1, signals an error. Update the elements of
12263 unibyte_to_multibyte_table.
12264 (init_charset_once): Initialize unibyte_to_multibyte_table.
12265 (syms_of_charset): Define the charset `iso-8859-1'.
12266
12267 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12268 as is without converting it to unibyte. In a unibyte buffer,
12269 convert C to multibyte before checking the syntax.
12270
12271 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12272
12273 * minibuf.c (Fminibuffer_complete_word): Use the macro
12274 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12275
12276 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12277
12278 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12279 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12280 that is zero, convert an eight-bit char to multibyte.
12281 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12282 non-emacs case.
12283 (PATFETCH): Convert an eight-bit char to multibyte.
12284 (HANDLE_UNIBYTE_RANGE): New macro.
12285 (regex_compile): Setup the compiled pattern for multibyte chars
12286 even if the given regex string is unibyte. Use PATFETCH_RAW
12287 instead of PATFETCH in many places. To handle `charset'
12288 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12289 only for ASCII chars.
12290 (analyse_first) <exactn>: Simplify because the compiled pattern
12291 is multibyte.
12292 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12293 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12294 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12295 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12296 multibyte always 1.
12297 (re_search_2): In emacs, set the locale variable multibyte to 1,
12298 otherwise to 0. New local variable target_multibyte. Check it
12299 to decide the multibyteness of STR1 and STR2. If
12300 target_multibyte is zero, convert unibyte chars to multibyte
12301 before translating and checking fastmap.
12302 (TARGET_CHAR_AND_LENGTH): New macro.
12303 (re_match_2_internal): In emacs, set the locale variable multibyte
12304 to 1, otherwise to 0. New local variable target_multibyte. Check
12305 it to decide the multibyteness of STR1 and STR2. Use
12306 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12307 <charset, charset_not>: If multibyte is nonzero, check fastmap
12308 only for ASCII chars. Call bcmp_translate with
12309 target_multibyte, not with multibyte.
12310 <begline>: Declare the local variable C as `unsigned'.
12311 (bcmp_translate): Change the last arg name to target_multibyte.
12312
12313 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12314 the regexp pattern and the matching target. Set cp->buf.multibyte
12315 to the multibyteness of the regexp pattern. Set
12316 cp->but.target_multibyte to the multibyteness of the matching target.
12317 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12318 FETCH_STRING_CHAR_ADVANCE.
12319 (Freplace_match): Convert unibyte chars to multibyte.
12320
12321 * syntax.c (char_quoted, back_comment, scan_words)
12322 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12323 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12324 unibyte chars to multibyte.
12325 (skip_chars): Delete the arg syntaxp, and move the code for
12326 handling syntaxes to skip_syntaxes. Change callers.
12327 Fix the case that the multibyteness of STRING and the current
12328 buffer doesn't match.
12329 (skip_syntaxes): New function.
12330 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12331 SINGLE_BYTE_CHAR_P.
12332
123332008-02-01 Kenichi Handa <handa@m17n.org>
12334
12335 * xfaces.c (QCfontset): New variable.
12336 (LFACE_FONTSET): New macro.
12337 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12338 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12339 (Finternal_set_lisp_face_attribute)
12340 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12341 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12342 check also LFACE_FONTSET_INDEX.
12343 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12344 attrs[LFACE_FONT_INDEX].
12345 (syms_of_xfaces): Intern and staticpro QCfontset.
12346
12347 * dispextern.h (enum lface_attribute_index): New member
12348 LFACE_FONTSET_INDEX.
12349
12350 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12351
123522008-02-01 Kenichi Handa <handa@m17n.org>
12353
12354 * coding.c (coding_set_destination): Fix coding->destination for
12355 the case converting a region.
12356 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12357 (encode_coding_object): Fix coding->dst_pos and
12358 coding->dst_pos_byte for the case converting a region.
12359
12360 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12361
12362 * character.h (BYTE8_STRING): New macro.
12363
12364 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12365
123662008-02-01 Kenichi Handa <handa@m17n.org>
12367
12368 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12369 characters by octal form.
12370
12371 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12372
12373 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12374 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12375 _fetch_multibyte_char_len.
12376 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12377
12378 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12379
12380 * casefiddle.c (casify_object): Simplify. Handle the case that
12381 the case conversion change the byte length.
12382 (casify_region): Likewise.
12383
12384 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12385
12386 * character.c (_fetch_multibyte_char_len): Delete this variable.
12387 (syms_of_character): Setup Vprintable_chars.
12388
12389 * editfns.c (Fchar_equal): Fix for the unibyte case.
12390 (Finsert_byte): New function.
12391 (syms_of_editfns): Defsubr it.
12392
12393 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12394 of direct code 0x3ffff.
12395
12396 * search.c (Freplace_match): Fix for the unibyte case.
12397
123982008-02-01 Kenichi Handa <handa@m17n.org>
12399
12400 * lread.c (safe_to_load_p): Fix the logic.
12401
12402 * syntax.c (scan_words): Don't treat characters belonging to
12403 different scripts as constituting a word.
12404
12405 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12406
12407 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12408
12409 * emacs.c (main): In the case of --unibyte, instead of aborting on
12410 finding non-empty buffer, make it unibyte.
12411
124122008-02-01 Kenichi Handa <handa@m17n.org>
12413
12414 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12415 to create a fontset.
12416
124172008-02-01 Dave Love <fx@gnu.org>
12418
12419 * character.c (Funibyte_char_to_multibyte): Doc fix.
12420
12421 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12422
124232008-02-01 Kenichi Handa <handa@m17n.org>
12424
12425 * fontset.c (fontset_add): Make the type `int'.
12426 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12427
12428 * character.c (unibyte_char_to_multibyte)
12429 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12430 charset_unibyte, not charset_primary.
12431
12432 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12433
12434 * charset.c (charset_unibyte): Rename from charset_primary.
12435 (Funibyte_charset): Rename from Fprimary_charset.
12436 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12437 (syms_of_charset): Adjust for the above changes.
12438
12439 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12440 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12441 it->multibyte_p is zero.
12442
12443 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12444 Delete extern.
12445
124462008-02-01 Kenichi Handa <handa@m17n.org>
12447
12448 * coding.c (Fdefine_coding_system_internal): Fix category setting
12449 for a coding system of type iso-2022.
12450
124512008-02-01 Kenichi Handa <handa@m17n.org>
12452
12453 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12454
124552008-02-01 Kenichi Handa <handa@m17n.org>
12456
12457 * syntax.c (Vnext_word_boundary_function_table): New variable.
12458 (next-word-boundary-function-table): Declare it as a Lisp variable
12459 in syms_of_syntax.
12460 (scan_words): Call functions in Vnext_word_boundary_function_table
12461 if any.
12462
12463 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12464
12465 * fontset.c (fs_load_font): If fontp->charset is not negative,
12466 return fontp without setting its members.
12467
124682008-02-01 Dave Love <fx@gnu.org>
12469
12470 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12471
12472 * m/sparc.h (HAVE_ALLOCA): Delete.
12473
12474 * s/irix6-5.h: Don't include strings.h.
12475 (bcopy, bzero, bcmp): Don't undef.
12476
12477 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12478
12479 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12480 (TIOCSIGSEND): Don't test IRIX6.
12481 (bcopy, bzero, bcmp): Define conditionally.
12482
124832008-02-01 Kenichi Handa <handa@m17n.org>
12484
12485 * buffer.c (Qas, Qmake, Qto): New variables.
12486 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12487 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12488
12489 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12490 we are inserting a process output into a multibyte buffer.
12491
12492 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12493 multibyte_char_to_unibyte.
12494
12495 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12496 by the primary charset, make it eight-bit char.
12497 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12498
12499 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12500 (charset_8_bit__control, charset_8_bit_graphic)
12501 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12502 (define_charset_internal): New function.
12503 (syms_of_charset): Call define_charset_internal for pre-defined
12504 charsets.
12505
12506 * charset.h (charset_8_bit): Extern it.
12507
12508 * coding.c (make_conversion_work_buffer): Adjust for the change
12509 of Fset_buffer_multibyte.
12510 (encode_coding_raw_text): Increment p0 in the loop.
12511
12512 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12513
12514 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12515 for the change of Fset_buffer_multibyte.
12516
12517 * fns.c (Fstring_to_multibyte): New function.
12518 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12519
125202008-02-01 Dave Love <fx@gnu.org>
12521
12522 * xfns.c (x_put_x_image): Declare args.
12523
12524 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12525 (try_font_list): Declare an arg.
12526
12527 * xdisp.c (message2_nolog, set_message): Declare an arg.
12528
12529 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12530
12531 * syntax.c (scan_sexps_forward): Declare an arg.
12532
12533 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12534 Declare an arg.
12535
12536 * lisp.h (Fnew_fontset): Declare.
12537
12538 * keymap.c (push_key_description): Call CHARACTERP correctly.
12539
12540 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12541 (face_for_char): Delete unused vars.
12542 (Fset_fontset_font): Doc fix. Delete unused vars.
12543
12544 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12545
12546 * composite.c (update_compositions): Declare arg.
12547
12548 * cm.c (calccost, cmgoto): Declare args.
12549
12550 * charset.c: Remove `emacs' conditional. Doc fixes.
12551 (map_char_table_for_charset): Declare.
12552
12553 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12554
12555 * ccl.c: Remove `emacs' conditional.
12556
125572008-02-01 Kenichi Handa <handa@m17n.org>
12558
12559 The following changes are to allow specifying multiple font
12560 patterns for a character range (specified by script or charset).
12561
12562 * Makefile.in (abbrev.o): Depend on syntax.h.
12563 (xfaces.o): Depend on charset.h.
12564
12565 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12566 SINGLE_BYTE_CHAR_P.
12567
12568 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12569
12570 * character.h (Vchar_script_table): Extern it.
12571
12572 * character.c (Vscript_alist): Delete.
12573 (Vchar_script_table, Qchar_script_table): New variable.
12574 (syms_of_character): Declare Vchar_script_table as a lisp variable
12575 and initialize it.
12576
12577 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12578 have property char-table-extra-slots, make no extra slot.
12579
12580 * dispextern.h (struct face): Delete member `charset'.
12581 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12582 SINGLE_BYTE_CHAR_P.
12583 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12584 Add prototypes.
12585 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12586 (generate_ascii_font_name): Rename from generate_ascii_font.
12587
12588 * fontset.h (get_font_repertory_func): New prototype.
12589 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12590 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12591
12592 * fontset.c (Qprepend, Qappend): New variables.
12593 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12594 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12595 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12596 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12597 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12598 (load_font_get_repertory): New functions.
12599 (fontset_set): Delete.
12600 (fontset_face): New arg FACE. Return face ID, not face.
12601 Complete re-write to handle new fontset structure. Change caller.
12602 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12603 (face_for_char): Don't call lookup_face.
12604 (make_fontset_for_ascii_face): New arg FACE.
12605 (fs_load_font): New arg CHARSET_ID. Don't check
12606 Vfont_encoding_alist here.
12607 (find_font_encoding): New function.
12608 (list_fontsets): Use STRINGP, not ! NILP.
12609 (accumulate_script_ranges): New function.
12610 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12611 re-written to handle new fontset structure.
12612 (Ffontset_font): Return a copy of element.
12613 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12614 docstring of font-encoding-alist.
12615
12616 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12617 (Fset_fotset_font): Fix arguments to 5.
12618
12619 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12620
12621 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12622 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12623 (highlight_trailing_whitespace): Adjust for the change of
12624 lookup_named_face.
12625
12626 * xfaces.c: Include charset.h.
12627 (load_face_font): Delete argument C. Change caller.
12628 (generate_ascii_font_name): Rename from generate_ascii_font.
12629 (font_name_registry): New function.
12630 (cache_face): Store ascii faces before non-ascii faces in buckets.
12631 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12632 Lookup only ascii faces.
12633 (lookup_non_ascii_face): New function.
12634 (lookup_named_face): Delete argument C. Change caller.
12635 (lookup_derived_face): Delete argument C. Change caller.
12636 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12637 a string, just call font_list with it.
12638 (choose_face_font): Delete arguments FACE and C. New arg
12639 FONT_SPEC. Change caller.
12640 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12641 Change caller.
12642 (realize_non_ascii_face): New function.
12643 (realize_x_face): Call load_face_font here.
12644 (realize_tty_face): Delete argument C. Change caller.
12645 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12646 get a face ID.
12647 (dump_realized_face): Don't print charset of FACE.
12648
12649 * xfns.c (x_set_font): Always call x_new_fontset and
12650 store_frame_parameter.
12651 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12652 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12653
12654 * xterm.h (x_get_font_repertory): Extern it.
12655
12656 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12657 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12658 it->multibyte_p is zero.
12659 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12660 (x_new_fontset): If FONTSETNAME doesn't match any existing
12661 fontsets, create a new one.
12662 (x_get_font_repertory): New function.
12663
126642008-02-01 Kenichi Handa <handa@m17n.org>
12665
12666 * coding.c (Ffind_coding_systems_region_internal): Detect an
12667 ASCII only string correctly.
12668
12669 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12670 version is 0.
12671
126722008-02-01 Kenichi Handa <handa@m17n.org>
12673
12674 * lread.c: Include "coding.h".
12675 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12676 (load_each_byte, unread_char): New variables.
12677 (readchar_backlog): Delete.
12678 (readchar): Return a character unless load_each_byte is nonzero.
12679 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12680 cons. If unread_char is not -1, simply return it.
12681 (unreadchar): Handle the case that readcharfun is
12682 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12683 (read_multibyte): Delete.
12684 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12685 (read_emacs_mule_char): New functions.
12686 (Fload): Even if the file doesn't have the extension ".elc", if
12687 safe_to_load_p returns a positive version number, assume that the
12688 file contains bytecompiled code. If the version is less than 22,
12689 load the file while decoding multibyte sequences by emacs-mule.
12690 (readevalloop): Don't use readchar_backlog.
12691 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12692 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12693 (read_escape): Delete the arg BYTEREP.
12694 (read1): Set load_each_byte to 1 temporarily while handling
12695 #@NUMBER. Don't call read_multibyte.
12696 (read_vector): Call Fread with a cons. If readcharfun is
12697 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12698 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12699 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12700 and Qload_force_doc_strings.
12701
127022008-02-01 Kenichi Handa <handa@m17n.org>
12703
12704 * xdisp.c (face_before_or_after_it_pos): Call
12705 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12706
127072008-02-01 Kenichi Handa <handa@m17n.org>
12708
12709 * character.h (TRAILING_CODE_P): New macro.
12710 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12711 (string_char_with_unification): Fix prototype.
12712 (Vscript_alist): Extern it.
12713
12714 * character.c (Vscript_alist): New variable.
12715 (string_char_with_unification, str_as_unibyte)
12716 (string_escape_byte8): Add `const' to local variables.
12717 (syms_of_character): Declare script-alist as a Lisp variable.
12718
12719 * charset.h (Vcharset_ordered_list): Extern it.
12720 (charset_ordered_list_tick): Extern it.
12721 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12722 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12723 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12724 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12725 (Funify_charset): Adjust for the change of Funify_charset.
12726
12727 * charset.c (charset_ordered_list_tick): New variable.
12728 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12729 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12730 deunify intead of unify a charset.
12731 (string_xstring_p): Add `const' to local variables.
12732 (find_charsets_in_text): Add `const' to arguments and local variables.
12733 (encode_char): Adjust for the change of Funify_charset. Fix
12734 detecting of invalid code.
12735 (Fset_charset_priority): Increment charset_ordered_list_tick.
12736 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12737 and TO_CODE.
12738
12739 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12740 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12741 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12742 (decode_coding_ccl, consume_chars)
12743 (Ffind_coding_systems_region_internal)
12744 (Fcheck_coding_systems_region): Add `const' to local variables.
12745
12746 * print.c (print_object): Use octal form for printing the
12747 contents of a bool vector.
12748
127492008-02-01 Dave Love <fx@gnu.org>
12750
12751 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12752 <version == 20>: Refuse to load.
12753
127542008-02-01 Dave Love <fx@gnu.org>
12755
12756 * fns.c: Move coding.h.
12757 (Qcodeset, Qdays, Qmonths): New.
12758 (concat): Use CHARACTERP instead of INTEGERP.
12759 (Flocale_codeset): Delete.
12760 (Flanginfo): New function.
12761 (syms_of_fns): Change accordingly.
12762
12763 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12764
127652008-02-01 Dave Love <fx@gnu.org>
12766
12767 * casetab.c (init_casetab_once, init_casetab_once): Fix
12768 CHAR_TABLE_SET call.
12769
12770 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12771
12772 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12773
12774 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12775 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12776 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12777
12778 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12779
12780 * coding.c (ENCODE_DESIGNATION, decode_eol)
12781 (make_conversion_work_buffer, code_conversion_restore)
12782 (Fdefine_coding_system_internal): Convert Lisp types.
12783 (code_conversion_restore): Use EQ, not ==.
12784 (Fencode_coding_string): Fix code_convert_string call.
12785
12786 * coding.h (code_convert_region): Fix prototype.
12787
12788 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12789
12790 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12791 (Ffontset_info): Convert Lisp types.
12792
12793 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12794
12795 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12796
12797 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12798
12799 * chartab.c: Include "...h", not <...h> in some cases.
12800
12801 * callproc.c (Fcall_process): Remove unused variables.
12802
128032008-02-01 Dave Love <fx@gnu.org>
12804
12805 * coding.c (Fset_coding_system_priority): Allow null arg list.
12806
128072008-02-01 Dave Love <fx@gnu.org>
12808
12809 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12810 (Fself_insert_and_exit): Use CHARACTERP.
12811
12812 * callproc.c (Fcall_process): Remove unused vars.
12813
12814 * xterm.c (XTread_socket): Add extra dead keysyms.
12815
12816 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12817
12818 * dispextern.h: Remove prototypes for redraw_frame,
12819 redraw_garbaged_frames.
12820
12821 * cmds.c (Fself_insert_command): Use CHARACTERP.
12822
12823 * chartab.c (make_sub_char_table): Remove unused var.
12824 (Fset_char_table_default, Fmap_char_table): Doc fix.
12825
12826 * keymap.c (access_keymap): Remove generic char code.
12827 (push_key_description): Use CHARACTERP.
12828
128292008-02-01 Dave Love <fx@gnu.org>
12830
12831 * charset.c: Doc fixes.
12832 (Funify_charset): Extra checking.
12833
128342008-02-01 Dave Love <fx@gnu.org>
12835
12836 * lread.c: Remove some unused variables.
12837 (safe_to_load_p): If safe, return the magic number version byte.
12838 (Fload): Maybe use load-with-code-conversion.
12839
128402008-02-01 Kenichi Handa <handa@m17n.org>
12841
12842 * category.c (Fmodify_category_entry): Don't modify the contents
12843 of category_set for characters out of the range. Avoid
12844 unnecessary modification.
12845
12846 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12847 Vchar_unify_table. The default value of the table is now nil.
12848
12849 * character.c (syms_of_character): Setup Vchar_width_table for
12850 eight-bit-control and raw-byte chars.
12851
12852 * charset.h (enum define_charset_arg_index): Delete
12853 charset_arg_parents and add charset_arg_subset and
12854 charset_arg_superset.
12855 (enum charset_attr_index): Delete charset_parents and add
12856 charset_subset and charset_superset.
12857 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12858 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12859 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12860 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12861 (CHARSET_SUPERSET): New macros.
12862 (charset_work): Extern it.
12863 (ENCODE_CHAR): Use charset_work.
12864 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12865 (map_charset_chars): Extern it.
12866
12867 * charset.c (load_charset_map): Set the default value of encoder
12868 and deunifier char-tables to nil.
12869 (map_charset_chars): Change argument. Change callers. Use
12870 map_char_table_for_charset instead of map_char_table.
12871 (Fmap_charset_chars): New optional args from_code and to_code.
12872 (Fdefine_charset_internal): Adjust for the change of
12873 `define-charset' (:parents -> :subset or :superset).
12874 (charset_work): New variable.
12875 (encode_char, syms_of_charset): Adjust for the change of
12876 Fdefine_charset_internal.
12877 (Ffind_charset_string): Setup the vector `charsets' correctly.
12878
12879 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12880 the previous change.
12881 (char_table_ref_and_range): Adjust for the above change.
12882 (map_sub_char_table_for_charset): New function.
12883 (map_char_table_for_charset): New function.
12884
12885 * keymap.c (describe_vector): Handle a char-table directly here.
12886 (describe_char_table): Delete.
12887
12888 * lisp.h (map_charset_chars): Delete.
12889
128902008-02-01 Dave Love <fx@gnu.org>
12891
12892 * fns.c (count_combining): Comment out (unused).
12893 (Flocale_codeset): New.
12894 (syms_of_fns): Defsubr it.
12895
12896 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12897 (size_t): Remove.
12898
128992008-02-01 Dave Love <fx@gnu.org>
12900
12901 * Makefile.in (chartab.o): Depend on charset.h.
12902
129032008-02-01 Kenichi Handa <handa@m17n.org>
12904
12905 * character.c (syms_of_character): Set the default value of
12906 Vprintable_chars to Qnil.
12907
129082008-02-01 Dave Love <fx@gnu.org>
12909
12910 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12911
129122008-02-01 Kenichi Handa <handa@m17n.org>
12913
12914 * charset.c (load_charset_map): Handle the case that from < to
12915 correctly.
12916
12917 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12918 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12919 Pay attention to raw-8-bit chars.
12920
129212008-02-01 Kenichi Handa <handa@m17n.org>
12922
12923 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12924 It is not bytecompiled now.
12925
12926 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12927 (charset_jisx0208): New variables.
12928 (Fdefine_charset_internal): Setup them if appropriate.
12929 (init_charset_once): Initialize them to -1.
12930
12931 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12932 (charset_jisx0208): Extern them.
12933
12934 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12935 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12936 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12937 (setup_iso_safe_charsets): Fix arguments to Fassq.
12938 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12939 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12940 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12941 (encode_coding_iso_2022): Change the 1st arg to
12942 ENCODE_ISO_CHARACTER to a variable.
12943
129442008-02-01 Kenichi Handa <handa@m17n.org>
12945
12946 * charset.h (enum define_charset_arg_index): New enums
12947 charset_arg_min_code and charset_arg_max_code.
12948 (struct charset): New member char_index_offset.
12949
12950 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12951 Take charset->char_index_offset into account.
12952 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12953 args[charset_arg_max_code]. Setup charset.char_index_offset.
12954 (syms_of_charset): Fix args to Fdefine_charset_internal.
12955
129562008-02-01 Dave Love <fx@gnu.org>
12957
12958 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12959
129602008-02-01 Dave Love <fx@gnu.org>
12961
12962 * coding.c: Doc fixes.
12963 (Fcoding_system_aliases): Fix return value.
12964 (Qmac): Remove (duplicated) definition.
12965
129662008-02-01 Dave Love <fx@gnu.org>
12967
12968 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12969 functions.
12970
12971 * character.c (Fstring): Doc fix.
12972
12973 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12974
12975 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12976 ids.
12977 (font-encoding-alist): Doc fix.
12978
129792008-02-01 Dave Love <fx@gnu.org>
12980
12981 * term.c (costs_set): Declare static, non-initialized for pcc.
12982 (encode_terminal_code): Remove unused var.
12983
12984 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12985 for K&R.
12986
12987 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12988
12989 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12990 (suffixes): Move out of make_subsidiaries for K&R.
12991
12992 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12993
12994 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12995
129962008-02-01 Dave Love <fx@gnu.org>
12997
12998 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12999
13000 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13001
130022008-02-01 Yong Lu <lyongu@asia-infonet.com>
13003
13004 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13005
13006 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13007
130082008-02-01 Kenichi Handa <handa@m17n.org>
13009
13010 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13011 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13012
130132008-02-01 Kenichi Handa <handa@m17n.org>
13014
13015 * coding.c (decode_coding_charset): Adjust for the change of
13016 Fdefine_coding_system_internal.
13017 (Fdefine_coding_system_internal): For a coding system of
13018 `charset' type, store a list of charset IDs in
13019 `charset_attr_charset_valids' element of coding attributes.
13020
130212008-02-01 Kenichi Handa <handa@m17n.org>
13022
13023 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13024 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13025 caller. Handle 2-byte and 3-byte charsets correctly.
13026 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13027 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13028 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13029 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13030 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13031 sequence.
13032 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13033 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13034 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13035 and alt&rule composition.
13036 (decode_coding_iso_2022): Handle composition correctly.
13037 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13038
13039 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13040 re-defining a charset. If the charset has :emacs-mule-id, setup
13041 emacs_mule_bytes.
13042 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13043
130442008-02-01 Kenichi Handa <handa@m17n.org>
13045
13046 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13047 (encode_coding_big5, encode_coding_charset): If coding requires safe
13048 encoding, produce a character specified by
13049 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13050
130512008-02-01 Dave Love <fx@gnu.org>
13052
13053 * xterm.c (XSetIMValues): Declare.
13054
13055 * process.c: Conditionally include sys/wait.h, pty.h.
13056
13057 * print.c (print_object): Fix print format for 64-bit systems.
13058
13059 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13060
13061 * buffer.c (emacs_strerror): Declare.
13062
13063 * fontset.c (Fclear_face_cache): Declare.
13064 (accumulate_font_info): Comment-out (unused).
13065 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13066 variables.
13067
13068 * character.h (string_escape_byte8): Declare.
13069
13070 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13071 unused vars.
13072 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13073 (Fmap_charset_chars): Doc fix.
13074
13075 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13076 (Fset_coding_system_priority, Fset_coding_system_priority)
13077 (Fdefine_coding_system_internal): Doc fix.
13078
130792008-02-01 Dave Love <fx@gnu.org>
13080
13081 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13082
130832008-02-01 Kenichi Handa <handa@m17n.org>
13084
13085 * character.c (string_escape_byte8): Make multibyte string with
13086 correct size.
13087
13088 * charset.c (Fmake_char): Delete unnecessary code.
13089
130902008-02-01 Kenichi Handa <handa@m17n.org>
13091
13092 * xfns.c (x_encode_text): Allocate coding.destination here, and
13093 call encode_coding_object with dst_object Qnil.
13094
13095 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13096 multibyte form correctly.
13097
13098 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13099 against Vfont_encoding_alist.
13100
13101 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13102 handling of charset list.
13103 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13104 (decode_coding_object): Move point to coding->dst_pos before
13105 calling post-read-conversion function.
13106 (encode_coding_object): Give correct arguments to
13107 pre-write-conversion. Ignore the return value of
13108 pre-write-conversion function. Pay attention to the case that
13109 pre-write-conversion changes the current buffer. If dst_object is
13110 Qt, even if coding->src_bytes is zero, allocate at least one byte
13111 to coding->destination.
13112
13113 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13114
13115 * charset.c (Fmake_char): Make it more backward compatible.
13116 (Fmap_charset_chars): Fix docstring.
13117
131182008-02-01 Dave Love <fx@gnu.org>
13119
13120 * coding.c: Doc fixes.
13121 (Fdefine_coding_system_alias): Use names, not symbols, in
13122 coding-system-alist.
13123
131242008-02-01 Kenichi Handa <handa@m17n.org>
13125
13126 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13127 of calling free_realized_face.
13128
131292008-02-01 Yong Lu <lyongu@asia-infonet.com>
13130
13131 * charset.c (read_hex): Don't treat SPC as a comment starter.
13132 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13133 (Fdecode_char): Fix typo.
13134
131352008-02-01 Kenichi Handa <handa@m17n.org>
13136
13137 * charset.h (struct charset): New member `code_space_mask'.
13138
13139 * coding.c (coding_set_source): Delete the local variable beg_byte.
13140 (encode_coding_charset, Fdefine_coding_system_internal):
13141 Delete the local variable charset.
13142 (Fdefine_coding_system_internal): Setup
13143 attrs[coding_attr_charset_valids] correctly.
13144
13145 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13146 member to check if CODE is valid or not.
13147 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13148 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13149 is within the range of charset->min_code and carset->max_code.
13150
131512008-02-01 Dave Love <fx@gnu.org>
13152
13153 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13154
13155 * dispextern.h (generate_ascii_font): Fix return type.
13156
13157 * xfaces.c (generate_ascii_font): Fix arg declaration.
13158
13159 * coding.c (coding_inherit_eol_type)
13160 (Fset_terminal_coding_system_internal)
13161 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13162
131632008-02-01 Kenichi Handa <handa@m17n.org>
13164
13165 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13166 multiple charsets correctly.
13167
131682008-02-01 Kenichi Handa <handa@m17n.org>
13169
13170 * search.c (boyer_moore): Fix handling of multibyte character
13171 translation.
13172
13173 * xdisp.c (display_mode_element): When the variable `elt' is
13174 changed, update `this' and `lisp_string'.
13175
131762008-02-01 Kenichi Handa <handa@m17n.org>
13177
13178 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13179
13180 * callproc.c (Fcall_process): Be sure to give the current buffer
13181 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13182
13183 * charset.c (struct charset_map_entries): New struct.
13184 (load_charset_map): Rename from parse_charset_map. New args
13185 entries and n_entries. Change caller.
13186 (load_charset_map_from_file): Rename from load_charset_map.
13187 Change caller. New arg control_flag. Call load_charset_map at
13188 the tail.
13189 (load_charset_map_from_vector): New function.
13190 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13191 (encode_char): If the charset is compact, change a character index
13192 to a code point.
13193
13194 * coding.c (coding_alloc_by_making_gap): Check the case that the
13195 source and destination are the same correctly.
13196 (decode_coding_raw_text): Set coding->consumed_char and
13197 coding->consumed to 0.
13198 (produce_chars): If coding->chars_at_source is nonzero, update
13199 coding->consumed_char and coding->consumed before calling
13200 alloc_destination.
13201 (Fdefine_coding_system_alias): Register ALIAS in
13202 Vcoding_system_alist.
13203 (syms_of_coding): Define `no-conversion' coding system at the tail.
13204
13205 * fileio.c (Finsert_file_contents): Set coding_system instead of
13206 val. If the current buffer is multibyte, always call
13207 decode_coding_gap.
13208
13209 * xfaces.c (try_font_list): Give higher priority to fontset's
13210 family than face's family.
13211
132122008-02-01 Kenichi Handa <handa@m17n.org>
13213
13214 * callproc.c (Fcall_process): Be sure to give the current buffer
13215 to decode_coding_c_string.
13216
13217 * xfaces.c (try_font_list): Give a family specified in a fontset
13218 higher priority than a family specified in a face.
13219
132202008-02-01 Kenichi Handa <handa@m17n.org>
13221
13222 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13223 Fix arguments to insert_from_buffer.
13224
13225 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13226
132272008-02-01 Kenichi Handa <handa@m17n.org>
13228
13229 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13230 (decode_coding_gap): Set coding->dst_multibyte correctly.
13231
132322008-02-01 Kenichi Handa <handa@m17n.org>
13233
13234 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13235 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13236 (encode_coding_utf_16): Substitute coding->default_char for
13237 non-Unicode characters.
13238 (decode_coding): Don't call record_insert here.
13239 (setup_coding_system): Initialize `surrogate' of
13240 coding->spec.utf_16 to 0.
13241 (EMIT_ONE_BYTE): Fix for multibyte case.
13242
13243 * insdel.c (insert_from_gap): Call record_insert.
13244
132452008-02-01 Kenichi Handa <handa@m17n.org>
13246
13247 * casefiddle.c (casify_region): Fix multibyte case.
13248
13249 * character.c (c_string_width): Add return type `int'.
13250 (char_string_with_unification): Delete arg ADVANCED.
13251
13252 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13253 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13254 (CHAR_STRING_ADVANCE): Make it do-while statement.
13255
13256 * chartab.c (sub_char_table_set_range): Optimize for the case
13257 DEPTH == 3. Add workaround code for a GCC optimization bug.
13258
13259 * charset.c (parse_charset_map): Remove an unused variable.
13260
13261 * coding.c: Delete unused variables.
13262
13263 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13264 earlier. If inserted is zero and the coding system doesn't
13265 require flushing, don't call decode_coding_gap.
13266
13267 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13268
132692008-02-01 Kenichi Handa <handa@m17n.org>
13270
13271 The following changes are for using Unicode as an internal
13272 character model, and use UTF-8 format for buffer/string
13273 representation.
13274
13275 * .gdbinit (xchartable): Adjust for the change of char table structure.
13276 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13277
13278 * Makefile.in (obj): Add character.o and chartab.o.
13279 (lisp, shortlisp): Remove utf-8.elc.
13280 (*.o): For many files, change dependency on charset.h to
13281 character.h, and add dependency on character.h.
13282 (character.o, chartab.o): New targets.
13283
13284 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13285 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13286 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13287 of "charset.h".
13288
13289 * dired.c, filelock.c: Include "character.h".
13290
13291 * alloc.c: Include "character.h" instead of "charset.h".
13292 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13293 (syms_of_alloc): Remove defsubr for Smake_char_table.
13294
13295 * buffer.c: Include "character.h" instead of "charset.h", don't
13296 include "coding.h".
13297 (Fset_buffer_multibyte): Adjust for UTF-8.
13298
13299 * buffer.h: EXFUN Fbuffer_live_p.
13300
13301 * callproc.c: Include "character.h" instead of "charset.h".
13302 (Fcall_process): Big change for the new code-conversion APIs.
13303
13304 * casetab.c: Include "character.h" instead of "charset.h".
13305 (set_canon, set_identity, shuffle): Adjust for the new
13306 map_char_table spec.
13307 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13308 accessing the char table structure.
13309
13310 * chartab.c: New file that implements char table.
13311
13312 * category.c: Include "character.h".
13313 (copy_category_entry): New function.
13314 (copy_category_table): Call map_char_table and copy_category_entry.
13315 (Fmake_category_table): Initialize all top-level slots.
13316 (char_category_set): New function.
13317 (modify_lower_category_set): Delete.
13318 (Fmodify_category_entry): Call char_table_ref_and_range.
13319
13320 * category.h (CATEGORY_SET): Just call char_category_set.
13321
13322 * ccl.c: Include "character.h".
13323 (Qccl, Qcclp): New variables.
13324 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13325 it's less than 256.
13326 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13327 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13328 and DST type.
13329 (ccl_driver): Change types of argument, adjust code accordingly.
13330 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13331 ccl_driver.
13332 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13333
13334 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13335 New members src_multibyte, dst_multibyte, consumed, and produced.
13336 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13337 (CODING_SPEC_CCL_PROGRAM): New macro.
13338 (ccl_driver): Update prototype.
13339 (Qccl, Qcclp, Fccl_program_p): Extern them.
13340 (CHECK_CCL_PROGRAM): New macro.
13341
13342 * character.c, character.h, chartab.c: New files.
13343
13344 * charset.c: Mostly re-written. Move character and multibyte sequence
13345 handling codes to character.c.
13346
13347 * charset.h: Mostly re-written. Move character and multibyte sequence
13348 handling codes to character.h.
13349
13350 * coding.c, coding.h: Mostly re-written.
13351
13352 * composite.c: Include "character.h" instead of "charset.h".
13353 (CHAR_WIDTH): Move to character.h.
13354 (HASH_KEY, HASH_VALUE): Delete.
13355
13356 * composite.h (enum composition_method): Change order of enumeration
13357 symbols.
13358
13359 * data.c: Include "character.h" instead of "charset.h".
13360 (Faref): Call CHAR_TABLE_REF for a char table.
13361 (Faset): Call CHAR_TABLE_SET for a char table.
13362
13363 * dispextern.h (free_realized_face, check_face_attribytes)
13364 (generate_ascii_font): Extern them.
13365 (free_realized_multibyte_face): Delete extern.
13366
13367 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13368 table structure.
13369
13370 * editfns.c: Include "character.h" instead of "charset.h".
13371 (Fchar_to_string): Always call CHAR_STRING.
13372
13373 * emacs.c (main): Call init_charset_once, init_charset,
13374 syms_of_chartab, and syms_of_character.
13375
13376 * fileio.c: Include "character.h" instead of "charset.h".
13377 (Finsert_file_contents): Big change for the new code-conversion API.
13378 (choose_write_coding_system, Fwrite_region): Likewise.
13379 (build_annotations_2): Delete.
13380 (e_write): Big change for the new code-conversion API.
13381
13382 * fns.c: Include "character.h" instead of "charset.h".
13383 (copy_sub_char_table): Move to chartab.c.
13384 (Fcopy_sequence): Call copy_char_table for a char table.
13385 (concat): Delete codes calling count_multibyte.
13386 (string_char_to_byte, string_byte_to_char): Adjust for the new
13387 multibyte form.
13388 (internal_equal): Adjust for the change of char table structure.
13389 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13390 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13391 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13392 (char_table_translate, optimize_sub_char_table)
13393 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13394 chartab.c.
13395 (char_table_ref_and_index): Delete.
13396 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13397 (Fmd5): Call preferred_coding_system instead of accessing
13398 Vcoding_category_list. Adjust for the new code-conversion API.
13399 (syms_of_fns): Move defsubr for char table related functions to
13400 chartab.c.
13401
13402 * fontset.c: Mostly re-written.
13403
13404 * fontset.h (struct font_info): Change type of the member encoding_type.
13405 (enum FONT_SPEC_INDEX): New enum.
13406 (fontset_font_pattern, fs_load_font): Update prototype.
13407 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13408
13409 * indent.c: Include "character.h" instead of "charset.h".
13410 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13411
13412 * insdel.c: Include "character.h" instead of "charset.h".
13413 (copy_text): Don't refer to Vnonascii_translation_table.
13414 (insert_from_gap): New function.
13415
13416 * keyboard.c: Include "character.h" instead of "charset.h".
13417 (command_loop_1): Never call direct_output_forward_char before
13418 a non-ASCII character.
13419 (read_char): If Vkeyboard_translate_table is a char table, always
13420 translate a character.
13421
13422 * keymap.c: Include "character.h".
13423 (store_in_keymap): Handle the case that IDX is a cons.
13424 (Fdefine_key): Handle the case that KEY is a cons and the car part
13425 is also a cons (range).
13426 (push_key_description): Adjust for the new character code.
13427 (describe_vector): Call describe_char_table for a char table.
13428 (describe_char_table): New function.
13429
13430 * keymap.h (describe_char_table): Extern it.
13431
13432 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13433 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13434 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13435 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13436 Delete.
13437 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13438 structure.
13439 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13440 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13441 (CHARTAB_SIZE_BITS_3): New macros.
13442 (chartab_size): Extern it.
13443 (struct Lisp_Char_Table): Re-design.
13444 (struct Lisp_Sub_Char_Table): New structure.
13445 (HASH_KEY, HASH_VALUE): Move from fns.c.
13446 (CHARACTERBITS): Define as 22.
13447 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13448 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13449 (GC_SUB_CHAR_TABLE_P): New macro.
13450 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13451 (code_convert_string_norecord): Deleted extern.
13452 (init_character_once, syms_of_character, init_charset)
13453 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13454
13455 * lread.c: Include "character.h".
13456 (read_multibyte): New arg NBYTES.
13457 (read_escape): Change the meaning of returned *BYTEREP.
13458 (to_multibyte): Delete.
13459 (read1): Adjust the handling of char table and string.
13460
13461 * print.c: Include "character.h" instead of "charset.h".
13462 (print_string): Convert 8-bit raw bytes to octal form by
13463 string_escape_byte8.
13464 (print_object): Adjust for the new multibyte form. Print 8-bit
13465 raw bytes always in octal form. Handle sub char table correctly.
13466
13467 * process.c: Include "character.h" instead of "charset.h".
13468 (read_process_output, send_process): Adjust for the new
13469 code-conversion API.
13470
13471 * puresize.h (BASE_PURESIZE): Increase.
13472
13473 * regex.c: Include "character.h" instead of "charset.h".
13474 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13475 (regex_compile): Accept a range whose starting and ending
13476 character have different leading bytes.
13477 (analyse_first): Adjust for the above change.
13478
13479 * search.c: Include "character.h" instead of "charset.h".
13480 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13481 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13482
13483 * syntax.c: Include "character.h" instead of "charset.h".
13484 (syntax_parent_lookup): Delete.
13485 (Fmodify_syntax_entry): Accept a cons as CHAR.
13486 (skip_chars): Adjust for the new multibyte form.
13487 (init_syntax_once): Call char_table_set_range instead of directly
13488 accessing the structure of a char table.
13489
13490 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13491 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13492 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13493 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13494
13495 * term.c: Include "buffer.h" and "character.h".
13496 (encode_terminal_code, write_glyphs): Adjust for the new
13497 code-conversion API.
13498 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13499
13500 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13501
13502 * xdisp.c: Include "character.h".
13503 (get_next_display_element): Adjust for the new multibyte form.
13504 (disp_char_vector): Adjust for the new char table structure.
13505 (decode_mode_spec_coding): Adjust for the new structure of
13506 coding system.
13507 (decode_mode_spec): Adjust for the new code-conversion API.
13508
13509 * xfaces.c: Include "character.h" instead of "charset.h".
13510 (load_face_font): Adjust for the change of choose_face_font and
13511 FS_LOAD_FONT.
13512 (generate_ascii_font): New function.
13513 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13514 (set_font_frame_param): Adjust for the change of choose_face_font.
13515 (free_realized_face): Make it public.
13516 (free_realized_faces_for_fontset): Rename from
13517 free_realized_multibyte_face. Free also faces realized for ASCII.
13518 (choose_face_font): Change arguments. Adjust for the change of
13519 fontset_font_pattern and FS_LOAD_FONT.
13520
13521 * xfns.c: Include "character.h".
13522 (x_encode_text): Adjust for the new code-conversion API.
13523
13524 * xselect.c: Don't include "charset.h".
13525 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13526
13527 * xterm.c: Include "character.h".
13528 (x_encode_char): New argument CHARSET. Change caller.
13529 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13530 Call ENCODE_CHAR instead of SPLIT_CHAR.
13531 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13532 CHAR_WIDTH instead of CHARSET_WIDTH.
13533 (XTread_socket): Adjust for the new code-conversion API.
13534 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13535 (x_load_font): Adjust for the change of struct font.
13536
135372008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13538
13539 * xfaces.c (face_at_buffer_position): Remove unused vars.
13540
135412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13542
13543 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13544 Fix overflow checking.
13545
135462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13547
13548 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13549 Cancel previous change.
13550
135512008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13552
13553 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13554 ccl->eight_bit_control. Fix check for buffer overflow.
13555 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13556 (ccl_driver): Initialize extra_bytes to 0.
13557
135582008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13559
13560 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13561 return it ORed with ctrl_modifier.
13562
135632008-01-29 Miles Bader <miles@gnu.org>
13564
13565 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13566
135672008-01-28 Jason Rumney <jasonr@gnu.org>
13568
13569 * w32.c (stat): Don't double check for networked drive.
13570
135712008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13572
13573 * window.c (run_window_configuration_change_hook): New function.
13574 Code extracted from set_window_buffer. Set the selected frame.
13575 (set_window_buffer): Use it.
13576 * window.h (run_window_configuration_change_hook): Declare.
13577 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13578
13579 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13580
135812008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13582
13583 * Makefile.in: Remove references to unused macros.
13584
135852008-01-26 Eli Zaretskii <eliz@gnu.org>
13586
13587 * w32.c (g_b_init_get_sid_sub_authority)
13588 (g_b_init_get_sid_sub_authority_count): New static variables.
13589 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13590 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13591 (init_user_info): Use them to retrieve uid and gid.
13592 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13593 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13594 st_uid and st_gid of the file.
13595
135962008-01-26 Jason Rumney <jasonr@gnu.org>
13597
13598 * w32.c (logon_network_drive): New function.
13599 (stat): Use it.
13600
136012008-01-26 Chong Yidong <cyd@stupidchicken.com>
13602
13603 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13604 invisible text covered with an ellipsis.
13605
136062008-01-25 Richard Stallman <rms@gnu.org>
13607
13608 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13609 jump back to beginning. Move some other initializations after that.
13610 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13611 New variables.
13612 (syms_of_xdisp): Init them.
13613
13614 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13615
13616 * buffer.c (reset_buffer_local_variables):
13617 Implement `permanent-local-hook'.
13618 (Qpermanent_local_hook): New variable.
13619 (syms_of_buffer): Init and staticpro it.
13620
136212008-01-25 Michael Albinus <michael.albinus@gmx.de>
13622
13623 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13624
136252008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13626
13627 * fns.c (Fclrhash): Return TABLE.
13628
136292008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13630
13631 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13632 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13633 is set even without positional changes.
13634 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13635
13636 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13637
136382008-01-23 Jason Rumney <jasonr@gnu.org>
13639
13640 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13641
13642 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13643 the unicode range available in MULE by locale-coding-system.
13644 Improve dbcs lead byte detection. Set event timestamp and modifiers
13645 earlier.
13646
136472008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13648
13649 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13650 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13651 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13652 when used on child processes.
13653
136542008-01-21 Michael Albinus <michael.albinus@gmx.de>
13655
13656 * dbusbind.c (Fdbus_method_return_internal): Rename from
13657 Fdbus_method_return.
13658 (Fdbus_unregister_object): Move to dbus.el.
13659 (Fdbus_call_method, Fdbus_method_return_internal)
13660 (Fdbus_send_signal): Improve debug messages.
13661
136622008-01-20 Martin Rudalics <rudalics@gmx.at>
13663
13664 * undo.c (undo_inhibit_record_point): New variable.
13665 (syms_of_undo): Initialize it.
13666 (record_point): Don't record point when undo_inhibit_record_point
13667 is set.
13668
136692008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13670
13671 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13672
13673 * xdisp.c (Qauto_hscroll_mode): New var.
13674 (syms_of_xdisp): Initialize it.
13675 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13676 window's buffer.
13677 (hscroll_windows): Don't check automatic_hscrolling_p here.
13678
13679 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13680 vscroll if we're setting window-buffer to the value it already has.
13681
136822008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13683
13684 * m/intel386.h: Remove references to XENIX.
13685
136862008-01-17 Andreas Schwab <schwab@suse.de>
13687
13688 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13689 instead of HAVE_X86_64_LIB64_DIR.
13690 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13691
136922008-01-17 Glenn Morris <rgm@gnu.org>
13693
13694 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13695 to HAVE_X86_64_LIB64_DIR.
13696
136972008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13698
13699 * s/irix3-3.h:
13700 * s/irix4-0.h:
13701 * s/386-ix.h:
13702 * s/domain.h:
13703 * s/hpux9-x11r4.h:
13704 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13705
13706 * sysdep.c: Remove code containing references to symbols defined
13707 by unsupported systems.
13708
137092008-01-16 Glenn Morris <rgm@gnu.org>
13710
13711 * coding.c (select-safe-coding-system-function): Doc fix.
13712
137132008-01-15 Glenn Morris <rgm@gnu.org>
13714
13715 * config.in: Revert 2008-01-13 change: this is a generated file.
13716
137172008-01-13 Tom Tromey <tromey@redhat.com>
13718
13719 * lisp.h: Fix typo.
13720
137212008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13722
13723 * m/sequent-ptx.h:
13724 * m/sequent.h:
13725 * s/ptx.h:
13726 * s/ptx4-2.h:
13727 * s/ptx4.h: Remove files for systems no longer supported.
13728
13729 * callproc.c (Fcall_process): Fix previous change.
13730
137312008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13732
13733 * unexsunos4.c: Remove file, system not supported anymore.
13734
13735 * m/mips.h:
13736 * m/intel386.h:
13737 * callproc.c:
13738 * config.in:
13739 * ecrt0.c:
13740 * emacs.c:
13741 * fileio.c:
13742 * frame.c:
13743 * getpagesize.h:
13744 * keyboard.c:
13745 * lread.c:
13746 * process.c:
13747 * puresize.h:
13748 * sysdep.c:
13749 * systty.h:
13750 * syswait.h:
13751 * unexec.c:
13752 * xdisp.c:
13753 * alloc.c: Remove code containing references to symbols defined by
13754 unsupported systems.
13755
137562008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13757
13758 * coding.c (detect_coding_mask): Fix previous change.
13759
137602008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13761
13762 * coding.c (detect_coding_iso2022): New arg
13763 latin_extra_code_state. Allow Latin extra codes only
13764 when *latin_extra_code_state is nonzero.
13765 (detect_coding_mask): If there is a NULL byte, detect the encoding
13766 as UTF-16 or binary. If Latin extra codes exist, detect the
13767 encoding as ISO-2022 only when there's no other proper encoding is
13768 found.
13769
137702008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13771
13772 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13773 #ifdef MAC_OS.
13774
137752008-01-08 Richard Stallman <rms@gnu.org>
13776
13777 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13778
137792008-01-06 Nick Roberts <nickrob@snap.net.nz>
13780
13781 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13782 menu bar in parentheses.
13783
137842008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13785
13786 * m/7300.h:
13787 * m/acorn.h:
13788 * m/alliant-2800.h:
13789 * m/alliant.h:
13790 * m/alliant1.h:
13791 * m/alliant4.h:
13792 * m/altos.h:
13793 * m/amdahl.h:
13794 * m/apollo.h:
13795 * m/att3b.h:
13796 * m/aviion-intel.h:
13797 * m/aviion.h:
13798 * m/celerity.h:
13799 * m/clipper.h:
13800 * m/cnvrgnt.h:
13801 * m/convex.h:
13802 * m/cydra5.h:
13803 * m/delta88k.h:
13804 * m/dpx2.h:
13805 * m/dual.h:
13806 * m/elxsi.h:
13807 * m/f301.h:
13808 * m/gould-np1.h:
13809 * m/gould.h:
13810 * m/i860.h:
13811 * m/ibmps2-aix.h:
13812 * m/ibmrt-aix.h:
13813 * m/ibmrt.h:
13814 * m/irist.h:
13815 * m/is386.h:
13816 * m/isi-ov.h:
13817 * m/mega68.h:
13818 * m/mg1.h:
13819 * m/news-r6.h:
13820 * m/news-risc.h:
13821 * m/news.h:
13822 * m/nh3000.h:
13823 * m/nh4000.h:
13824 * m/ns16000.h:
13825 * m/ns32000.h:
13826 * m/nu.h:
13827 * m/orion.h:
13828 * m/orion105.h:
13829 * m/paragon.h:
13830 * m/pfa50.h:
13831 * m/plexus.h:
13832 * m/pyramid.h:
13833 * m/pyrmips.h:
13834 * m/sh3el.h:
13835 * m/sps7.h:
13836 * m/sr2k.h:
13837 * m/stride.h:
13838 * m/sun1.h:
13839 * m/sun2.h:
13840 * m/sun3-68881.h:
13841 * m/sun3-fpa.h:
13842 * m/sun3-soft.h:
13843 * m/sun3.h:
13844 * m/sun386.h:
13845 * m/symmetry.h:
13846 * m/tad68k.h:
13847 * m/tahoe.h:
13848 * m/targon31.h:
13849 * m/tek4300.h:
13850 * m/tekxd88.h:
13851 * m/tower32.h:
13852 * m/tower32v3.h:
13853 * m/ustation.h:
13854 * m/wicat.h:
13855 * m/xps100.h:
13856 * s/cxux.h:
13857 * s/cxux7.h:
13858 * s/dgux.h:
13859 * s/dgux4.h:
13860 * s/dgux5-4-3.h:
13861 * s/dgux5-4r2.h:
13862 * s/esix.h:
13863 * s/esix5r4.h:
13864 * s/hiuxmpp.h:
13865 * s/hiuxwe2.h:
13866 * s/iris3-5.h:
13867 * s/iris3-6.h:
13868 * s/isc2-2.h:
13869 * s/isc3-0.h:
13870 * s/isc4-0.h:
13871 * s/isc4-1.h:
13872 * s/newsos5.h:
13873 * s/newsos6.h:
13874 * s/osf1.h:
13875 * s/osf5-0.h:
13876 * s/riscix1-1.h:
13877 * s/riscix12.h:
13878 * s/sco4.h:
13879 * s/sco5.h:
13880 * s/sunos4-0.h:
13881 * s/sunos4-1.h:
13882 * s/sunos413.h:
13883 * s/sunos4shr.h:
13884 * s/umax.h:
13885 * s/unipl5-2.h:
13886 * s/xenix.h:
13887 * cxux-crt0.s:
13888 * unexapollo.c:
13889 * unexconvex.c:
13890 * unexenix.c:
13891 * unexsni.c: Remove files for systems no longer supported.
13892
13893 * m/intel386.h: Remove references to unsupported systems.
13894
13895 * w32.c (get_emacs_configuration): Remove reference to i860.
13896
13897 * sysdep.c: Remove dead code.
13898
138992008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13900
13901 * s/rtu.h:
13902 * m/masscomp.h: Remove files. Platform is obsolete.
13903
139042008-01-04 Michael Albinus <michael.albinus@gmx.de>
13905
13906 * dbusbind.c (Fdbus_method_return): New function.
13907 (xd_read_message): Add the serial number to the event.
13908 (Fdbus_register_method): Activate the function.
13909
139102008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13911
13912 * keyboard.c (read_key_sequence): Fix typo.
13913
139142008-01-03 Michael Albinus <michael.albinus@gmx.de>
13915
13916 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13917 (xd_signature, xd_append_arg): Handle element type detection for
13918 empty arrays.
13919 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13920 SDATA () calls; this must be solved more general.
13921 (Fdbus_register_signal): Use SBYTES instead of strlen.
13922
139232008-01-03 Magnus Henoch <magnus@zemdatav>
13924
13925 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13926 unsigned int for byte values (necessary for big-endian platform).
13927 (Fdbus_call_method): Handle the case of no returned arguments.
13928
139292007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13930
13931 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13932
139332007-12-31 Magnus Henoch <mange@freemail.hu>
13934
13935 * dbusbind.c (xd_signature): Signature of variant is just "v".
13936
139372007-12-30 Michael Albinus <michael.albinus@gmx.de>
13938
13939 * dbusbind.c: Fix several errors and compiler warnings.
13940 Reported by Tom Tromey <tromey@redhat.com>.
13941 (XD_ERROR, XD_DEBUG_MESSAGE)
13942 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13943 (xd_append_arg): Part for basic D-Bus types rewritten.
13944 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13945 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13946 appropriate.
13947 (xd_read_message): Return Qnil. Don't signal an error; it is not
13948 useful during event reading.
13949 (Fdbus_register_signal): Signal an error if the check for
13950 FUNCTIONP fails.
13951 (Fdbus_register_method): New function. The implementation is not
13952 complete, the call of the function signals an error therefore.
13953 (Fdbus_unregister_object): New function, renamed from
13954 Fdbus_unregister_signal. The initial check signals an error, if
13955 the object is not well formed.
13956
139572007-12-30 Richard Stallman <rms@gnu.org>
13958
13959 * textprop.c (get_char_property_and_overlay):
13960 Signal error if POSITION is out of range in a buffer.
13961
139622007-12-29 Martin Rudalics <rudalics@gmx.at>
13963
13964 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13965 because the original parameters are in pure storage now.
13966
139672007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13968
13969 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13970
139712007-12-22 Eli Zaretskii <eliz@gnu.org>
13972
13973 * callint.c (syms_of_callint) <command-history>: Add reference to
13974 history-length in the doc string.
13975
139762007-12-17 Jason Rumney <jasonr@gnu.org>
13977
13978 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13979 before passing as wParam.
13980
139812007-12-22 Michael Albinus <michael.albinus@gmx.de>
13982
13983 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13984 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13985 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13986 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13987 as number.
13988 (Fdbus_call_method): Fix docstring.
13989
139902007-12-21 Michael Albinus <michael.albinus@gmx.de>
13991
13992 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13993 New macros.
13994 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13995 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13996 Simplify.
13997 (xd_signature): New function.
13998 (xd_append_arg): Compute also signatures. Major rewrite.
13999 (xd_retrieve_arg): Make debug messages friendly.
14000 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14001 Check for signatures of arguments.
14002
140032007-12-19 Michael Albinus <michael.albinus@gmx.de>
14004
14005 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14006 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14007 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14008 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14009 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14010 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14011 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14012 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14013 (xd_retrieve_value): Remove. Functionality included in ...
14014 (xd_append_arg): New function.
14015 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14016
140172007-12-16 Michael Albinus <michael.albinus@gmx.de>
14018
14019 * dbusbind.c (top): Include <stdio.h>.
14020 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14021 dbus_message_new_method_call and dbus_message_new_signal.
14022 (Fdbus_register_signal): Rename unique_name to uname.
14023 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14024 non-existing unique name. Fix typos in matching rule. Return an
14025 object which is useful in Fdbus_unregister_signal.
14026 (Fdbus_unregister_signal): Reimplementation, in order to remove
14027 only the corresponding entry.
14028 (Vdbus_registered_functions_table): Change the order of entries.
14029 Apply these changes in xd_read_message and Fdbus_register_signal.
14030
140312007-12-16 Andreas Schwab <schwab@suse.de>
14032
14033 * fileio.c (Finsert_file_contents): Fix overflow check to not
14034 depend on undefined integer overflow.
14035
140362007-12-14 Jason Rumney <jasonr@gnu.org>
14037
14038 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14039 for characters above 127.
14040
140412007-12-13 Jason Rumney <jasonr@gnu.org>
14042
14043 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14044 before dereferencing array.
14045 (lookup_vk_code): Remove zero comparison.
14046
140472007-12-14 Michael Albinus <michael.albinus@gmx.de>
14048
14049 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14050 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14051 Use `unsigned int' instead of `uint'.
14052 (xd_read_message, Fdbus_register_signal): Split expressions into
14053 multiple lines before operators "&&" and "||", according to the
14054 GNU Coding Standards.
14055
140562007-12-14 Eli Zaretskii <eliz@gnu.org>
14057
14058 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14059
140602007-12-12 Juri Linkov <juri@jurta.org>
14061
14062 * buffer.c (Frename_buffer): In interactive spec replace
14063 `read-buffer' with `read-string' that uses `buffer-name-history'
14064 as history, and the current buffer's name as default.
14065
140662007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14067
14068 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14069 manipulating the backtrace manually.
14070 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14071 (struct backtrace, backtrace_list): Remove.
14072 (command_loop_1): Remove dead var `no_direct'.
14073
14074 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14075 preserve non-built-in buffer-local variables.
14076 (Fkill_all_local_variables): Don't re-create&re-set permanent
14077 buffer-local variables.
14078
140792007-12-09 Juri Linkov <juri@jurta.org>
14080
14081 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14082 Lisp code that uses `read-buffer' with current buffer as default.
14083
140842007-12-08 Michael Albinus <michael.albinus@gmx.de>
14085
14086 * dbusbind.c (xd_read_message): Generate an event for every
14087 registered handler. There might be several handlers registered
14088 for the same signal.
14089 (Fdbus_register_signal): Don't overwrite a registration for the
14090 same signal. Add a new registration if handlers are different.
14091 (Vdbus_registered_functions_table): Rework doc string.
14092
140932007-12-07 Michael Albinus <michael.albinus@gmx.de>
14094
14095 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14096 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14097 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14098 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14099 Unify argument lists.
14100 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14101 arguments and hash table keys. Use unique name for service.
14102 (Fdbus_unregister_signal): Remove checks.
14103 (Vdbus_registered_functions_table): Fix doc string.
14104
141052007-12-05 Magnus Henoch <mange@freemail.hu>
14106
14107 * process.c (make_process): Initialize pty_flag to 0.
14108
141092007-12-05 Jason Rumney <jasonr@gnu.org>
14110
14111 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14112 specified XBMs.
14113
141142007-12-05 Richard Stallman <rms@gnu.org>
14115
14116 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14117
141182007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14119
14120 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14121 New variable.
14122 (mac_try_close_socket) [MAC_OSX]: New function.
14123 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14124 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14125
14126 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14127 Use mac_try_close_socket.
14128
141292007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14130
14131 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14132 reloc_base.
14133 (copy_dysymtab): Compute relocation base here.
14134 (rebase_reloc_address) [__ppc64__]: New function.
14135 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14136 changed.
14137
141382007-12-05 Jason Rumney <jasonr@gnu.org>
14139
14140 * w32proc.c (sys_spawnve): Quote args with wildcards.
14141
141422007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14143
14144 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14145 __objc_* sections.
14146 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14147
141482007-12-05 Michael Albinus <michael.albinus@gmx.de>
14149
14150 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14151 Move check for Vdbus_registered_functions_table to
14152 xd_read_queued_messages.
14153 (xd_read_queued_messages): Protect xd_read_message calls by
14154 internal_condition_case_1.
14155
141562007-12-04 Michael Albinus <michael.albinus@gmx.de>
14157
14158 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14159 Qdbus_system_bus and Qdbus_session_bus, respectively.
14160 (Vdbus_intern_symbols): Remove.
14161 (Vdbus_registered_functions_table): New hash table.
14162 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14163 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14164 Rewrite in order to manage registered functions by hash table
14165 Vdbus_registered_functions_table.
14166
141672007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14168
14169 * xterm.c: Update URL to Window Manager Specification in comment.
14170
141712007-12-02 Michael Albinus <michael.albinus@gmx.de>
14172
14173 * config.in (HAVE_DBUS): Add.
14174
14175 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14176 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14177 (obj): Add $(DBUS_OBJ).
14178 (LIBES): Add $(DBUS_LIBS).
14179 (dbusbind.o): New target.
14180
14181 * dbusbind.c: New file.
14182
14183 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14184
14185 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14186 (Qdbus_event): New Lisp symbol.
14187 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14188 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14189 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14190
14191 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14192
141932007-12-01 Richard Stallman <rms@gnu.org>
14194
14195 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14196
141972007-11-30 Jason Rumney <jasonr@gnu.org>
14198
14199 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14200 (w32con_reset_terminal_modes): Clear screen buffer.
14201 (w32_face_attributes): Don't use color indexes that are out of range.
14202 Only reverse the default colors.
14203
14204 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14205 WINDOWSNT.
14206
14207 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14208
142092007-11-29 Jason Rumney <jasonr@gnu.org>
14210
14211 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14212 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14213 if the terminal colors are initialized.
14214 (unspecified_fg, unspecified_bg): Remove unused declarations.
14215
142162007-11-29 Andreas Schwab <schwab@suse.de>
14217
14218 * keyboard.c (apply_modifiers): Fix typo.
14219
142202007-11-29 Richard Stallman <rms@gnu.org>
14221
14222 * keymap.c (Fcurrent_local_map): Doc fix.
14223
142242007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14225
14226 * s/gnu-kfreebsd.h: New file.
14227
142282007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14229
14230 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14231 Don't cast redundantly.
14232
14233 * keyboard.c (KEY_TO_CHAR): New macro.
14234 (parse_modifiers, apply_modifiers): Accept integer arguments.
14235 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14236 for chars and symbol keys.
14237 After doing such remapping, apply function-key-map again.
14238
142392007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14240
14241 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14242 compiled anymore.
14243
142442007-11-26 Andreas Schwab <schwab@suse.de>
14245
14246 * process.c (list_processes_1): Fix indentation level of the
14247 command column.
14248
142492007-11-23 Andreas Schwab <schwab@suse.de>
14250
14251 * editfns.c (Fformat): Handle %c specially since it requires the
14252 argument to be of type int.
14253
142542007-11-23 Markus Triska <markus.triska@gmx.at>
14255
14256 * emacs.c (main): Call init_editfns before init_process, since
14257 init_process sets Vprocess_connection_type depending on OS release.
14258
142592007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14260
14261 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14262 (find_symbol_value): Use do_symval_forwarding.
14263
14264 * data.c (set_internal): Set the value in the `cons-cell' (for
14265 Buffer_Local_values) not only for frame-local variables.
14266
142672007-11-22 Andreas Schwab <schwab@suse.de>
14268
14269 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14270 values to sprintf.
14271 * keymap.c (Fsingle_key_description): Likewise.
14272 * print.c (print_object): Likewise.
14273
142742007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14275
14276 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14277 file for image is nil.
14278
142792007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14280
14281 * term.c: Include stdarg.h.
14282 (fatal): Implement using varargs.
14283 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14284
142852007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14286
14287 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14288 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14289 Update call to buffer_slot_type_mismatch.
14290 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14291 (buffer_slot_type_mismatch): Update.
14292 * buffer.c (buffer_local_types): Remove.
14293 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14294 (defvar_per_buffer): Set the type in the buffer_objfwd.
14295
142962007-11-21 Jason Rumney <jasonr@gnu.org>
14297
14298 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14299 CreateFileMapping returns NULL on failure.
14300
143012007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14302
14303 * search.c (Fset_match_data): Remove the `evaporate' feature.
14304 (unwind_set_match_data): Don't use the `evaporate' feature.
14305
143062007-11-21 Jason Rumney <jasonr@gnu.org>
14307
14308 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14309
14310 * w32console.c (w32con_write_glyphs): Remove unused variables.
14311
143122007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14313
14314 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14315
14316 * s/darwin.h (MULTI_KBOARD): Remove.
14317
14318 * macfns.c (x_create_tip_frame, Fx_create_frame)
14319 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14320
143212007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14322
14323 * buffer.c (Fbuffer_local_value): Remove redundant test.
14324 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14325 than in `current-buffer' to match the comment.
14326 Do the swap using swap_in_global_binding.
14327
14328 * data.c (store_symval_forwarding, set_internal):
14329 * eval.c (specbind): Remove dead code.
14330
14331 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14332 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14333 Since we do not want to see internal Lisp_*fwd objects here.
14334
143352007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14336
14337 * sysdep.c (init_system_name): Use getaddrinfo if available.
14338
14339 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14340 (x_scroll_bar_note_movement): start, end, with, height in struct
14341 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14342
143432007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14344
14345 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14346
143472007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14348
14349 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14350 This undoes Richard's change of 14-Oct-2002.
14351
14352 * alloc.c (allocate_other_vector):
14353 * lisp.h (allocate_other_vector): Remove.
14354
14355 * window.c (struct save_window_data): Move non-lisp data to the end
14356 and make it `int' rather than Lisp_Object.
14357 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14358 Done wrap/unwrap integer values.
14359 (Fset_window_configuration, compare_window_configurations):
14360 Update use of fields to their new types.
14361
14362 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14363 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14364 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14365 (SET_SCROLL_BAR_X_WINDOW): Remove.
14366 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14367 Access the new x_window field directly.
14368 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14369 Don't wrap/unwrap integers into Lisp_Objects.
14370 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14371 (x_scroll_bar_report_motion):
14372 Don't wrap/unwrap integers into Lisp_Objects.
14373 (x_term_init): Use SDATA.
14374 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14375 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14376 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14377 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14378 * xfns.c (x_set_background_color):
14379 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14380 Access the new x_window field directly.
14381
14382 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14383 (allocate_pseudovector): Make non-static.
14384
14385 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14386 (allocate_pseudovector): Declare.
14387 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14388
143892007-11-15 Andreas Schwab <schwab@suse.de>
14390
14391 * editfns.c (Fformat): Correctly format EMACS_INT values.
14392 Also take precision into account when formatting an integer.
14393
14394 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14395
143962007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14397
14398 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14399 (syms_of_keyboard): Defsubr it.
14400
14401 * data.c (swap_in_global_binding): Fix longstanding bug where
14402 store_symval_forwarding was not called with the right second argument,
14403 thus causing objfwd-ing from being dropped.
14404
144052007-11-14 Juanma Barranquero <lekktu@gmail.com>
14406
14407 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14408 (Fx_display_pixel_height, Fx_display_planes)
14409 (Fx_display_color_cells, Fx_server_max_request_size)
14410 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14411 (Fx_display_visual_class, Fx_display_save_under):
14412 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14413 (Fx_display_pixel_height, Fx_display_planes)
14414 (Fx_display_color_cells, Fx_server_max_request_size)
14415 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14416 (Fx_display_mm_height, Fx_display_mm_width)
14417 (Fx_display_backing_store, Fx_display_visual_class)
14418 (Fw32_select_font, Fx_display_save_under):
14419 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14420 (Fx_display_pixel_height, Fx_display_planes)
14421 (Fx_display_color_cells, Fx_server_max_request_size)
14422 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14423 (Fx_display_save_under): Fix typos in docstrings.
14424
144252007-11-14 Juanma Barranquero <lekktu@gmail.com>
14426
14427 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14428 corresponding to deleted entries; they are an implementation detail.
14429 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14430 Remove variables.
14431 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14432 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14433 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14434 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14435 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14436 (Fw32_define_rgb_color, Fw32_load_color_file)
14437 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14438 Fix typos in docstrings.
14439 (Fx_server_version): Reflow docstring.
14440 (Fw32_shell_execute): Doc fixes.
14441
144422007-11-13 Juanma Barranquero <lekktu@gmail.com>
14443
14444 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14445 if w32_parse_hot_key returned nil.
14446
144472007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14448
14449 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14450
144512007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14452
aac0c6e3
MR
14453 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14454
14455 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14456
14457 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14458 Remove W32_SCROLL_BAR_CLICK_EVENT.
14459
14460 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14461 Add MULTIMEDIA_KEY_EVENT.
14462
14463 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14464 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14465 (make_lispy_event) [WINDOWSNT]: Use it to translate
14466 MULTIMEDIA_KEY_EVENT.
14467
14468 * w32term.h (WM_APPCOMMAND): Define if not already.
14469 (GET_APPCOMMAND_LPARAM): Likewise.
14470
14471 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14472 WM_APPCOMMAND.
14473
14474 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14475 (syms_of_w32fns): Export and initialize it.
14476 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14477
144782007-11-09 Chong Yidong <cyd@stupidchicken.com>
14479
14480 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14481 twice.
14482
14483 * xdisp.c (handle_face_prop): Fix last change.
14484
144852007-11-09 Richard Stallman <rms@gnu.org>
14486
14487 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14488 not just for after-strings and before-strings.
14489 Call face_for_overlay_string and pass the overlay to it.
14490 (handle_display_prop): Determine whether property came from an overlay.
14491 Pass OVERLAY arg to handle_single_display_spec.
14492 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14493 (load_overlay_strings): Fill in it->string_overlays.
14494 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14495
14496 * xfaces.c (face_for_overlay_string): Function renamed from
14497 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14498
14499 * dispextern.h (struct it): New elt string_overlays.
14500 New elt from_overlay, also in stack.
14501 Rearrange a few elements.
14502 (face_for_overlay_string): Decl renamed from
14503 face_at_buffer_position_no_overlays, and add argument.
14504
145052007-11-09 Richard Stallman <rms@gnu.org>
14506
14507 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14508 to get the base face for an overlay string.
14509
14510 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14511
14512 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14513
14514 * xdisp.c (handle_stop): Move some code out of loop.
14515
145162007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14517
14518 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14519 Fix conversion from Lisp object to ATSUFontID.
14520
145212007-11-09 Jason Rumney <jasonr@gnu.org>
14522
14523 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14524
145252007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14526
14527 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14528 Don't assume regions are aligned to page boundary.
14529 (print_load_command_name): Add LC_UUID if defined.
14530
145312007-11-09 Richard Stallman <rms@gnu.org>
14532
14533 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14534
145352007-11-07 Jason Rumney <jasonr@gnu.org>
14536
14537 * s/windows95.h: Remove.
14538
145392007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14540
14541 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14542 abort with a message on unhandled store_type values.
14543
145442007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14545
14546 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14547 Remove HAVE_X11R5 and HAVE_X11R4.
14548
145492007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14550
14551 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14552
145532007-11-01 Johan Bockgård <bojohan@gnu.org>
14554
14555 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14556 Don't set s->stippled_p here, since it has already been set by
14557 x_set_glyph_string_gc from x_draw_glyph_string.
14558
145592007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14560
14561 * sunfns.c: Remove file.
14562
14563 * m/sun386.h:
14564 * m/sun2.h:
14565 * m/sparc.h: Remove Sun windows code.
14566
145672007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14568
14569 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14570 (init_keyboard): Set current_kboard's window-system to nil.
14571 (tty_read_avail_input): Typo.
14572 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14573
145742007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14575
14576 * s/usg5-4.h:
14577 * s/usg5-3.h:
14578 * s/ptx.h:
14579 * m/is386.h:
14580 * m/ibmps2-aix.h:
14581 * Makefile.in: Remove all mentions of X10.
14582
14583 * dispnew.c (syms_of_display): Don't mention version 10.
14584
145852007-10-28 Juanma Barranquero <lekktu@gmail.com>
14586
14587 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14588 ($(BLD)/abbrev.$(O)): Remove.
14589
145902007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14591
14592 Rewrite abbrev.c in Elisp.
14593 * image.c (Qcount): Don't declare as extern.
14594 (syms_of_image): Initialize and staticpro `Qcount'.
14595 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14596 * emacs.c (main): Don't call syms_of_abbrev.
14597 * Makefile.in (obj): Remove abbrev.o.
14598 (abbrev.o): Remove.
14599 * abbrev.c: Remove.
14600
146012007-10-26 Martin Rudalics <rudalics@gmx.at>
14602
14603 * window.c (window_min_size_2): Don't count header-line.
14604
146052007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14606
14607 * frame.h (struct frame): Move all bit fields after the first bit
14608 field to take advantage of the available space. Group all the
14609 chars together to reduce wasted space due to padding.
14610
146112007-10-26 Juanma Barranquero <lekktu@gmail.com>
14612
14613 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14614
14615 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14616 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14617 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14618 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14619 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14620 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14621 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14622 (last_marked, mark_object_loop_halt): Make static.
14623
14624 * frame.c (syms_of_frame) <delete-frame-functions>:
14625 Fix typo in docstring.
14626
146272007-10-25 Juanma Barranquero <lekktu@gmail.com>
14628
14629 * w32.c (init_environment): Fix tiny memory leak.
14630 (w32_get_resource): Remove unused variable `ok'.
14631
146322007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14633
14634 Make `window-system' into a keyboard-local variable (rather than
14635 frame-local as done originally by multi-tty).
14636
14637 * keyboard.h (struct kboard): Add Vwindow_system.
14638 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14639 (mark_kboards): Mark Vwindow_system.
14640
14641 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14642 (init_display): Don't set the obsolete `window-system' frame-param.
14643
14644 * xterm.c (x_term_init):
14645 * w32term.c (w32_create_terminal):
14646 * term.c (init_tty): Set Vwindow_system.
14647 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14648 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14649
14650 * xfns.c (Fx_create_frame, x_create_tip_frame):
14651 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14652 * macfns.c (Fx_create_frame):
14653 Don't set the obsolete `window-system' frame-param.
14654
14655 * frame.h (Qwindow_system): Remove.
14656 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14657 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14658
146592007-10-24 Richard Stallman <rms@gnu.org>
14660
14661 * frame.c (x_figure_window_size): For fullscreen case,
14662 set USPosition | PPosition without clobbering rest of window_prompting.
14663
14664 * keyboard.c (Fcurrent_idle_time): Doc fix.
14665
14666 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14667
146682007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14669
14670 * process.c (unwind_request_sigio): Only define if __ultrix__.
14671
14672 * callproc.c (child_setup): Remove spurious *.
14673
14674 * lisp.h (Fget_text_property): Declare.
14675 (have_menus_p): Declare it here rather than in sys-dep header files.
14676 * macterm.h (have_menus_p):
14677 * msdos.h (have_menus_p):
14678 * xterm.h (have_menus_p): Remove.
14679
14680 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14681 (Fmake_variable_frame_local): Just check the variable's const-ness
14682 rather than checking nil or t.
14683
146842007-10-22 Jason Rumney <jasonr@gnu.org>
14685
14686 * w32fns.c: Include math.h.
14687 (w32_abort): Declaration moved to nt/config.nt.
14688
14689 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14690 (abort): Redefinition moved to nt/config.nt.
14691
14692 * m/windowsnt.h: Remove.
14693
146942007-10-22 Juanma Barranquero <lekktu@gmail.com>
14695
14696 * emacs.c (Fdump_emacs): Fix typo in message.
14697 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14698 <installation-directory>: Reflow docstring.
14699
147002007-10-22 Juri Linkov <juri@jurta.org>
14701
14702 * minibuf.c: Allow minibuffer default to be a list of default values.
14703 With empty input use the first element of this list as returned default.
14704 (string_to_object)
14705 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14706 (read_minibuf): If defalt is cons, set histstring to its car.
14707 (Fread_string): If default_value is cons, set val to its car.
14708 (Fread_buffer): If def is cons, use its car.
14709 (Fcompleting_read): If defalt is cons, set val to its car.
14710
147112007-10-21 Michael Albinus <michael.albinus@gmx.de>
14712
14713 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14714
147152007-10-20 Juanma Barranquero <lekktu@gmail.com>
14716
14717 * doc.c (Fdocumentation): Check for advice in all cases.
14718
147192007-10-19 Chong Yidong <cyd@stupidchicken.com>
14720
14721 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14722
147232007-10-19 Richard Stallman <rms@gnu.org>
14724
14725 * doc.c (Fdocumentation): Check for and handle an advised function.
14726
147272007-10-19 Juanma Barranquero <lekktu@gmail.com>
14728
14729 * process.c (Fset_process_filter): Doc fix.
14730
147312007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14732
14733 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14734 which caused key-translation-map to applied repeatedly (thus breaking
14735 double-mode).
14736
147372007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14738
14739 * xselect.c (x_own_selection, x_handle_selection_clear)
14740 (x_clear_frame_selections):
14741 * w32menu.c (list_of_panes, list_of_items):
14742 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14743 * textprop.c (validate_plist, interval_has_all_properties)
14744 (interval_has_some_properties, interval_has_some_properties_list)
14745 (add_properties, text_property_list):
14746 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14747 * minibuf.c (Fassoc_string):
14748 * macselect.c (x_own_selection, x_clear_frame_selections)
14749 (Fx_disown_selection_internal):
14750 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14751 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14752
147532007-10-17 Chong Yidong <cyd@stupidchicken.com>
14754
14755 * process.c: Link to libs for calling res_init() if available.
14756 (Fmake_network_process): Call res_init() before getaddrinfo or
14757 gethostbyname, if possible.
14758
147592007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14760
14761 * lread.c (read1): Set pvectype for char_tables.
14762
14763 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14764 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14765 Add type checks.
14766 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14767
14768 * alloc.c (free_misc): Use XMISCTYPE.
14769 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14770
147712007-10-17 Glenn Morris <rgm@gnu.org>
14772
14773 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14774 (syms_of_minibuf): Add Qcompletion_ignore_case.
14775 * dired.c (Qcompletion_ignore_case): Change to external.
14776 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14777 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14778 (Fread_file_name): Use it rather than intern'ing.
14779
14780 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14781 (Fread_coding_system): Ignore case of user input.
14782
147832007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14784
14785 * xdisp.c (handle_display_prop): Ignore display specs after
14786 replacing one when string text is being replaced.
14787 (handle_single_display_spec): Pretend as if characters with display
14788 property haven't been consumed only when buffer text is being replaced.
14789
147902007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14791
14792 * xfns.c (Fx_create_frame, Fx_display_list):
14793 * window.c (window_fixed_size_p, enlarge_window)
14794 (shrink_window_lowest_first):
14795 * macterm.c (init_font_name_table):
14796 * macfns.c (Fx_create_frame, Fx_display_list):
14797 * lread.c (close_load_descs):
14798 * keyboard.c (read_char_x_menu_prompt):
14799 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14800 * coding.c (code_convert_region_unwind): Test the type of an object
14801 rather than just !NILP before extracting data from it.
14802
14803 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14804
14805 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14806 (XMISCANY): New macro.
14807 (XMISCTYPE): Use it.
14808 (struct Lisp_Misc_Any): New type.
14809 (union Lisp_Misc): Use it.
14810 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14811 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14812 (find_symbol_value, set_internal, default_value, Fset_default)
14813 (Fmake_variable_buffer_local, Fmake_local_variable)
14814 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14815 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14816 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14817 * alloc.c (allocate_buffer): Set the size and tag.
14818 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14819 Use XMISCANY.
14820 (die): Follow the GNU convention for error messages.
14821 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14822 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14823 tag any more.
14824 (set_buffer_internal_1):
14825 * frame.c (store_frame_param):
14826 * eval.c (specbind):
14827 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14828
14829 * doc.c (Fsnarf_documentation): Simplify.
14830
148312007-10-14 Juanma Barranquero <lekktu@gmail.com>
14832
14833 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14834 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14835
148362007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14837
14838 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14839
148402007-10-14 Juanma Barranquero <lekktu@gmail.com>
14841
14842 * eval.c (do_autoload): Don't save autoloads.
14843
14844 * data.c (Ffset): Save autoload of the function being set.
14845
148462007-10-07 John Paul Wallington <jpw@pobox.com>
14847
14848 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14849 parameter before setting up faces.
14850
148512007-10-13 Eli Zaretskii <eliz@gnu.org>
14852
14853 * ccl.c (Fregister_code_conversion_map):
14854 * keyboard.c (append_tool_bar_item): Reformat last change.
14855
14856 * lisp.h (eabs): Rename from `abs'. All callers changed.
14857
148582007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14859
14860 * buffer.c (add_overlay_mod_hooklist):
14861 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14862 * fontset.c (make_fontset):
14863 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14864 (append_tool_bar_item):
14865 * macmenu.c (grow_menu_items):
14866 * w32menu.c (grow_menu_items):
14867 * xmenu.c (grow_menu_items): Use larger_vector.
14868
148692007-10-13 Eli Zaretskii <eliz@gnu.org>
14870
14871 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14872 selected frame'' on MSDOS).
14873
148742007-10-12 Martin Rudalics <rudalics@gmx.at>
14875
14876 * frame.c (Qexplicit_name): New variable.
14877 (x_report_frame_params): Report it in parameter alist.
14878 (syms_of_frame): Intern and staticpro it.
14879
148802007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14881
14882 * macfns.c (x_create_tip_frame): Set terminal for frame.
14883
148842007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14885
14886 * frame.c (Qenvironment): Remove.
14887 (syms_of_frame) <Qenvironment>: Don't initialize.
14888 (Fdelete_frame): Don't treat the `environment' param specially.
14889 * frame.h (Qenvironment): Don't declare.
14890 * callproc.c (set_initial_environment): Don't set unused frame param.
14891
14892 * frame.c (Fframe_with_environment): Remove.
14893 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14894
14895 * lisp.h (Fframe_with_environment): Don't declare.
14896
148972007-10-10 Juanma Barranquero <lekktu@gmail.com>
14898
14899 * indent.c (indent_tabs_mode, last_known_column)
14900 (last_known_column_modified): Make static.
14901 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14902
149032007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14904
14905 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14906
149072007-10-09 Jason Rumney <jasonr@gnu.org>
14908
14909 * w32term.c (x_set_window_size): Disable code that attempts to tell
14910 Lisp code about a size change before it actually happens.
14911
149122007-10-09 Richard Stallman <rms@gnu.org>
14913
14914 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14915 return HANDLED_RETURN.
14916
149172007-10-08 Martin Rudalics <rudalics@gmx.at>
14918
14919 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14920 when there's an unread command event.
14921
14922 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14923 window autoselection act appropriately when leaving selected frame.
14924 (syms_of_frame): Initialize focus_follows_mouse.
14925 * frame.h (focus_follows_mouse): Extern it.
14926 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14927 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14928 * msdos.c (dos_rawgetc): Likewise.
14929 * w32term.c (w32_read_socket): Likewise.
14930 * xterm.c (handle_one_xevent): Likewise.
14931 * xdisp.c (syms_of_xdisp): In doc-string of
14932 mouse-autoselect-window mention focus-follows-mouse.
14933
149342007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14935
14936 * macterm.c (mac_load_query_font): Fix missing return value.
14937 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14938 Add BLOCK_INPUT.
14939
149402007-10-08 Richard Stallman <rms@gnu.org>
14941
14942 * xdisp.c (get_window_cursor_type): Implement documented behavior
14943 for cursor-in-non-selected-windows = t.
14944
149452007-10-08 Jason Rumney <jasonr@gnu.org>
14946
14947 * w32.c (w32_get_resource): Always close registry keys.
14948
149492007-10-08 Jason Rumney <jasonr@gnu.org>
14950
14951 * makefile.w32-in (LIBS): Add COMCTL32.
14952
14953 * w32fns.c (globals_of_w32fns): Init common controls.
14954
149552007-10-08 Richard Stallman <rms@gnu.org>
14956
14957 * image.c (our_memory_buffer): Rename from omfib_buffer.
14958
149592007-10-08 Richard Stallman <rms@gnu.org>
14960
14961 * buffer.c (Foverlays_at): Doc fix.
14962
149632007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14964
14965 * fns.c (Fplist_put): Preserve uneven tail data.
14966
149672007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14968
14969 * termhooks.h (enum event_kind): Remove trailing comma.
14970
14971 * frame.h (enum): Remove trailing comma.
14972
149732007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14974
14975 * w32proc.c (delete_child): Don't terminate threads of zombies.
14976
149772007-10-08 Martin Rudalics <rudalics@gmx.at>
14978
14979 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14980
14981 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14982 last-repeatable-command.
14983 (init_kboard): Initialize Vlast_repeatable_command.
14984 (command_loop_1): Set it to real_this_command unless that was
14985 bound to an input event.
14986 (mark_kboards): Mark it.
14987
149882007-10-08 Richard Stallman <rms@gnu.org>
14989
14990 * eval.c (condition-case): Doc fix.
14991
149922007-10-08 Masatake YAMATO <jet@gyve.org>
14993
14994 * xfaces.c (tty_supports_face_attributes_p): Fix code
14995 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14996 was copied and not edited.
14997
149982007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14999
15000 Add new `input-decode-map' keymap and use it for terminal
15001 escape sequences.
15002 * keyboard.h (struct kboard): Add Vinput_decode_map.
15003 Remove Vlocal_key_translation_map.
15004 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15005 (init_kboard): Init input-decode-map.
15006 Replace local-key-translation-map back with key-translation-map.
15007 (syms_of_keyboard): Declare input-decode-map.
15008 Remove local-key-translation-map. Update docstrings.
15009 (mark_kboards): Mark Vinput_decode_map.
15010 Don't mark Vlocal_key_translation_map.
15011 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15012 Replace local-key-translation-map back with key-translation-map.
15013 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15014 Bind in input-decode-map rather than function-key-map.
15015
15016 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15017 This was made redundant by the previous introduction of XSETPVECTYPE.
15018
150192007-10-09 Richard Stallman <rms@gnu.org>
15020
15021 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15022
150232007-09-29 Richard Stallman <rms@gnu.org>
15024
15025 * eval.c (internal_condition_case_2, internal_condition_case_1)
15026 (internal_condition_case): Reenable abort if x_catching_errors ()
15027 to see if that really happens and why.
15028
150292007-10-06 Andreas Schwab <schwab@suse.de>
15030
15031 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15032
150332007-10-04 Juanma Barranquero <lekktu@gmail.com>
15034
15035 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15036
150372007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15038
15039 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15040
150412007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15042
15043 * window.h (struct window):
15044 * window.c (struct save_window_data, struct saved_window):
15045 * termhooks.h (struct terminal):
15046 * process.h (struct Lisp_Process):
15047 * frame.h (struct frame):
15048 * buffer.h (struct buffer):
15049 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15050 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15051 The size field of (pseudo)vectors is now unsigned.
15052 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15053
15054 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15055 Turn `count' into an integer.
15056
15057 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15058 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15059 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15060 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15061 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15062
15063 * alloc.c (allocate_pseudovector): New fun.
15064 (ALLOCATE_PSEUDOVECTOR): New macro.
15065 (allocate_window, allocate_terminal, allocate_frame)
15066 (allocate_process): Use it.
15067 (mark_vectorlike): New function.
15068 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15069 (mark_terminals): Use it.
15070 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15071 (Fmake_byte_code): Use XSETPVECTYPE.
15072
15073 * frame.c (Fframe_parameters): Minor simplification.
15074
15075 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15076
15077 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15078
15079 * buffer.c (Fget_buffer_create, init_buffer_once):
15080 * lread.c (defsubr):
15081 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15082
15083 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15084 defined differently in the m/*.h files.
15085 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15086 (XSETPVECTYPE): New macro.
15087 (XSETPSEUDOVECTOR): Use it.
15088
15089 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15090 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15091
15092 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15093 * lread.c (defvar_per_buffer):
15094 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15095
15096 * window.c (candidate_window_p): Only consider as visible frames that
15097 are on the same terminal.
15098
15099 * m/ibms390x.h (MARKBIT): Remove unused macro.
15100
151012007-10-01 Juanma Barranquero <lekktu@gmail.com>
15102
15103 * lread.c (Fload): Fix typo in docstring.
15104
151052007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15106
15107 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15108 of a non-zero value can't yield zero.
15109
151102007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15111
15112 * term.c (term_clear_mouse_face, term_mouse_highlight)
15113 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15114
15115 * print.c (safe_debug_print): Use XHASH.
15116
15117 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15118 Lisp elements such as tags.
15119 (XHASH): New macro.
15120 (EQ): Use it.
15121 (SREF, SSET, STRING_COPYIN): Use SDATA.
15122 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15123
15124 * alloc.c (mark_terminal): Remove left-over declaration.
15125 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15126 (allocate_vectorlike): Remove type argument. Adjust callers.
15127 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15128 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15129
15130 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15131 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15132 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15133 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15134 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15135 Use them.
15136
15137 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15138 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15139 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15140
151412007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15142
15143 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15144 loaded by default.
15145
151462007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15147
15148 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15149 on this tty.
15150 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15151
15152 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15153 Update all users.
15154 (handle_one_term_event): Use Gpm_DrawPointer.
15155 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15156 Signal errors instead of returning nil. Always return nil.
15157 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15158 Make it a noop if gpm-mouse was not activated.
15159 (syms_of_term): Update names.
15160
151612007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15162
15163 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15164 (init_sys_modes): Check that gpm_tty is the current tty.
15165
15166 * alloc.c (allocate_terminal): Set the vector size to only count the
15167 lisp fields. Initialize those to nil.
15168 (mark_object): Don't treat terminals specially.
15169 (mark_terminal): Remove.
15170 (mark_terminals): Use mark_object instead.
15171
15172 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15173 the GC to the beginning.
15174
15175 * indent.h:
15176 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15177
15178 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15179
151802007-09-25 Jason Rumney <jasonr@gnu.org>
15181
15182 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15183
15184 * w32console.c (create_w32cons_output): Remove.
15185
15186 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15187
15188 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15189 (reset_sys_modes): Use reset_terminal_modes_hook.
15190
151912007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15192
15193 * eval.c (do_autoload): Don't output any message.
15194
151952007-09-24 Juri Linkov <juri@jurta.org>
15196
15197 * emacs.c (standard_args): Change priority of "--no-splash"
15198 from 40 to 3. Add "--no-desktop" with the same priority.
15199
152002007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15201
15202 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15203 and optimize the case where they are all 1.
15204
152052007-09-23 Johannes Weiner <hannes@saeurebad.de>
15206
15207 * lisp.h (abs): Define if not defined.
15208 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15209 Don't define `abs', since it's defined in lisp.h.
15210
152112007-09-22 Eli Zaretskii <eliz@gnu.org>
15212
15213 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15214 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15215 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15216 (init_tty): Use DEV_TTY instead of "/dev/tty".
15217 [WINDOWSNT]: No need to protect from NAME arg being null.
15218
152192007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15220
15221 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15222 up the tty state.
15223
152242007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15225
15226 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15227 (gpm_tty): Change its type.
15228 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15229 (gpm_tty): Change its type and initialize it.
15230 (Fterm_open_connection): Check the frame is indeed a tty.
15231 Use the new gpm_tty.
15232 (Fterm_close_connection): Use the new gpm_tty.
15233 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15234 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15235
152362007-09-21 Juanma Barranquero <lekktu@gmail.com>
15237
15238 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15239 underline_color, to draw strike-through.
15240
152412007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15242
15243 * lisp.h (allocate_terminal): Declare.
15244
15245 * window.c (candidate_window_p): Consider frames that are being placed
15246 by the user as somewhere between visible and iconified.
15247 (window_loop): Prefer windows on the current frame.
15248 (Fselect_window): Move the use of select-frame to the beginning so we
15249 can just delegate all the work (it'll call us back anyway).
15250
15251 * frame.c (Qdisplay_environment_variable):
15252 * frame.h (Qdisplay_environment_variable): Delete.
15253
15254 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15255 of the first arg, since that value may be a union.
15256
15257 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15258 parameter rather than Qdisplay_environment_variable. If all else
15259 fails, look for DISPLAY in initial-environment.
15260
152612007-09-21 Glenn Morris <rgm@gnu.org>
15262
15263 * Makefile.in (emacstool): Remove target.
15264 (lisp, shortlisp): Remove termdev.elc.
15265
152662007-09-21 Markus Triska <markus.triska@gmx.at>
15267
15268 * xterm.c (x_delete_display): Compile session management conditionally.
15269
152702007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15271
15272 * callproc.c (getenv_internal_1): New function.
15273 (getenv_internal): Use it.
15274 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15275
15276 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15277 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15278 (Fset_terminal_parameter): Work with dead terminals as well.
15279 (Fmodify_terminal_parameters): Remove.
15280
15281 * terminal.c (get_terminal): Handle terminals.
15282 Make sure the terminal returned is live.
15283 (create_terminal): Use allocate_terminal.
15284 (mark_terminals): Move to alloc.c.
15285 (delete_terminal): Use terminal->name as liveness status.
15286 NULL out fields after freeing their contents.
15287 Don't deallocate the object.
15288 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15289 rather than an int.
15290 (Fterminal_live_p): Accept non-integer arguments.
15291 (Fterminal_list): Return terminal objects rather than an ints.
15292
15293 * alloc.c (enum mem_type): New member for `terminal' objects.
15294 (allocate_terminal): New function.
15295 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15296 Handle terminals.
15297 (mark_terminal): New fun.
15298 (mark_terminals): Move from terminal.c.
15299
15300 * term.c (get_tty_terminal): Don't treat output_initial specially.
15301 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15302 (delete_tty): Use terminal->name as liveness status.
15303
15304 * termhooks.h (struct terminal): Make it into a pseudovector.
15305 Remove `deleted' replaced by checking `name's nullness.
15306
15307 * print.c (print_object): Handle terminals.
15308
15309 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15310 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15311
15312 * frame.c (make_terminal_frame):
15313 * keyboard.c (tty_read_avail_input):
15314 * w32term.c (x_delete_terminal):
15315 * xfns.c (Fx_create_frame, x_create_tip_frame):
15316 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15317
153182007-09-20 Glenn Morris <rgm@gnu.org>
15319
15320 * process.c (Fmake_network_process): Doc fix.
15321
153222007-09-19 Jason Rumney <jasonr@gnu.org>
15323
15324 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15325
153262007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15327
15328 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15329 Fix a C warning regarding variable constness.
15330
15331 * xterm.c (handle_one_xevent): Fix a C warning.
15332
153332007-09-18 Jason Rumney <jasonr@gnu.org>
15334
15335 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15336
153372007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15338
15339 * gtkutil.c (gdpy_def): New variable.
15340 (xg_initialize): Initialize gdpy_def.
15341 (xg_display_close): If no other display exists, set gdpy_def to a
15342 new connection.
15343
153442007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15345
15346 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15347 when we have no file name for the icon.
15348 (xg_tool_bar_expose_callback): Remove.
15349 (xg_create_tool_bar): Don't connect expose signal to
15350 xg_tool_bar_expose_callback.
15351 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15352
153532007-09-16 Andreas Schwab <schwab@suse.de>
15354
15355 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15356 values instead of zapping them.
15357
153582007-09-14 Glenn Morris <rgm@gnu.org>
15359
15360 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15361 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15362 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15363 scope and rename to omfib_buffer for clarity.
15364 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15365
153662007-09-14 Kenichi Handa <handa@m17n.org>
15367
15368 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15369
153702007-09-13 Jason Rumney <jasonr@gnu.org>
15371
15372 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15373
15374 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15375
15376 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15377 (mac_term_init): Call here instead, passing rif.
15378
153792007-09-13 Glenn Morris <rgm@gnu.org>
15380
15381 * s/hpux.h: No longer define `static' as nothing.
15382
153832007-09-13 Johan Bockgård <bojohan@gnu.org>
15384
15385 * callint.c (Fcall_interactively): Remove unused var `fun'.
15386
153872007-09-12 Romain Francoise <romain@orebokech.com>
15388
15389 * window.c (prefer_window_split_horizontally, display_buffer):
15390 Revert 2007-09-08 change.
15391
153922007-09-12 Glenn Morris <rgm@gnu.org>
15393
15394 * alloca.c: Remove file.
15395 * Makefile.in (alloca): Do not undef.
15396 (allocaobj, alloca.o): Remove.
15397 (otherobj): Remove allocaobj.
15398 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15399 * regex.c (C_ALLOCA): Remove all references and code that was only
15400 used when this was defined.
15401 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15402 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15403 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15404
15405 * Makefile.in (SOURCES, unlock, relock): Delete.
15406
15407 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15408 (menu_grab_callback): All uses changed.
15409
15410 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15411 (x_reply_selection_request): All uses changed.
15412
154132007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15414
15415 * lread.c (load_warn_old_style_backquotes): Change message to look
15416 better when it appears in the middle of byte-compiler messages.
15417
154182007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15419
15420 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15421
15422 * xterm.c (x_create_terminal): Add comment.
15423
15424 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15425
154262007-09-10 Richard Stallman <rms@gnu.org>
15427
15428 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15429
154302007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15431
15432 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15433 (DEFUN): Document `intspec', use it instead of `prompt'.
15434
15435 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15436
15437 * data.c (Finteractive_form): If the interactive specification starts
15438 with a `(', use it as a Lisp form.
15439
15440 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15441 name and file modes.
15442
15443 * callint.c (Fcall_interactively): Comment fixes.
15444
154452007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15446
15447 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15448 and compiled functions.
15449
154502007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15451
15452 * window.c (prefer_window_split_horizontally): New variable.
15453 (display_buffer): Consider splitting window horizontally depending
15454 on prefer_window_split_horizontally.
15455
154562007-09-08 Eli Zaretskii <eliz@gnu.org>
15457
15458 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15459
154602007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15461
15462 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15463
15464 * frame.c (x_set_frame_parameters): Check number is positive before
15465 using XFASTINT.
15466
15467 * window.c (freeze_window_start): Don't presume selected_window holds
15468 a window object.
15469 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15470
154712007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15472
15473 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15474
154752007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15476
15477 * window.c (Vsplit_window_preferred_function): New var.
15478 (Fdisplay_buffer): Use it.
15479 (syms_of_window): Export, and initialize it.
15480
154812007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15482
15483 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15484
154852007-09-06 Glenn Morris <rgm@gnu.org>
15486
15487 * gtkutil.c (menu_grab_callback) <cnt>:
15488 * xselect.c (x_reply_selection_request) <cnt>: Move static
15489 variable to file scope.
15490
154912007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15492
15493 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15494 consistent values of selected_frame and selected_window.
15495
154962007-09-04 Jason Rumney <jasonr@gnu.org>
15497
15498 * w32console.c (initialize_w32_display): Zero unused hooks.
15499
155002007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15501
15502 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15503 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15504
155052007-09-04 Jason Rumney <jasonr@gnu.org>
15506
15507 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15508 in w32console.c. Set up input. Remove XXX comments that have been
15509 confirmed as correct.
15510
15511 * s/ms-w32.h (MULTI_KBOARD): Define.
15512
15513 * w32console.c (one_and_only_w32cons): Remove.
15514 (initialize_w32_display): Take terminal argument.
15515
15516 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15517 initialize_w32_display.
15518 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15519
15520 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15521
15522 * keyboard.c (discard_mouse_events): Discard it.
15523 (make_lispy_event): Translate it to a lisp event.
15524 (lispy_wheel_names): Add wheel-left and right events.
15525 (syms_of_keyboard): Enlarge wheel_syms.
15526
15527 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15528 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15529
15530 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15531
15532 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15533 from WM_MOUSEHWHEEL.
15534 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15535
15536 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15537 terminal.
15538
15539 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15540 keyboard for the terminal.
15541
155422007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15543
15544 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15545 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15546 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15547 and resume-tty-function to resume-tty-hook.
15548 (Fsuspend_tty, Fresume_tty): Use new names.
15549
155502007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15551
15552 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15553 if it starts with "n:".
15554
155552007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15556
15557 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15558
155592007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15560
15561 * frame.h:
15562 * frame.c (Qterm_environment_variable): Remove.
15563 (syms_of_frame): Don't init and staticpro it.
15564
15565 * callproc.c (getenv_internal): Remove special case for $TERM.
15566
15567 * callproc.c (Vinitial_environment): New variable.
15568 (set_initial_environment): Initialize it.
15569 (syms_of_callproc): Declare it.
15570 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15571 TERM under which a process runs is never related to the TERM in which
15572 Emacs is running.
15573
155742007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15575
15576 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15577 * s/darwin.h: ... do it here.
15578
155792007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15580
15581 * lisp.h (set_initial_environment): Rename from set_global_environment.
15582
15583 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15584 removed by mistake on the multi-tty branch.
15585
15586 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15587 (Fmodify_frame_parameters): Return a value.
15588
15589 * image.c (png_load): Comment-out var only used in commented-out code.
15590
15591 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15592 before passing it to mark_object.
15593
15594 * xfaces.c (internal_resolve_face_name): Return a value.
15595 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15596
15597 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15598 (x_icon): Comment-out var only used in commented-out code.
15599
156002007-08-29 Romain Francoise <romain@orebokech.com>
15601
15602 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15603 QUIT hasn't been provided.
15604
156052007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15606
15607 * callproc.c (child_setup, getenv_internal): Use the
15608 display-environment-variable and term-environment-variable frame params.
15609 (set_initial_environment): Initialise Vprocess_environment.
15610
15611 * config.in: Disable multi-keyboard support on a mac.
15612
15613 * frame.c (Qterm_environment_variable)
15614 (Qdisplay_environment_variable): New variables.
15615 (syms_of_frame): Intern and staticpro them.
15616 (Fmake_terminal_frame): Disable output method test.
15617
15618 * frame.h: Declare them here.
15619
15620 * macfns.c (x_set_mouse_color): Get rif from the frame.
15621 (x_set_tool_bar_lines): Don't use updating_frame.
15622 (mac_window): Add 2 new parameters for consistency with other systems.
15623 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15624 frame parameters following what is done in X11 and w32. Don't use
15625 FRAME_MAC_DISPLAY_INFO.
15626 (Fx_open_connection, start_hourglass): Remove window-system check.
15627 (x_create_tip_frame): Get the keyboard from the terminal.
15628
15629 * macmenu.c: Reorder includes.
15630 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15631
15632 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15633 terminal parameter.
15634 (x_clear_frame): Add a frame parameter.
15635 (note_mouse_movement): Get rif from the frame.
15636 (mac_term_init): Initialize the terminal.
15637 (mac_initialize): Make static and move terminal initialization ...
15638 (mac_create_terminal): ... to this new function.
15639
15640 * macterm.h (struct mac_display_info): Add terminal.
15641 (mac_initialize): Delete declaration.
15642
15643 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15644
15645 * sysdep.c: Comment out text after #endif.
15646
15647 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15648 is defined. Better initialize ttys in windows. Use terminal
15649 specific mouse_position_hook.
15650
15651 * termhooks.h (union display_info): Add mac_display_info.
15652
15653 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15654 Set the default minibuffer frame, window_system and the rest of the
15655 frame parameters following what is done in X11.
15656
15657 * w32term.c (w32_initialize): Make static.
15658
15659 * xselect.c (x_handle_selection_clear): Only access
15660 terminal->kboard when MULTI_KBOARD is defined.
15661
15662 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15663 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15664
156652007-08-29 Jason Rumney <jasonr@gnu.org>
15666
15667 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15668 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15669
15670 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15671 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15672
15673 * keyboard.c (restore_kboard_configuration): Only define when
15674 MULTI_KBOARD defined.
15675
15676 * makefile.w32-in: Update dependancies from Makefile.in.
15677 (OBJ1): Add terminal.$(O)
15678
15679 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15680 Don't define function body.
15681 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15682
15683 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15684
15685 * w32.c (request_sigio, unrequest_sigio): Remove.
15686
15687 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15688 (w32con_clear_frame, w32con_clear_end_of_line)
15689 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15690 (w32con_delete_glyphs, w32con_set_terminal_window)
15691 (scroll_line, w32_sys_ring_bell): Add frame arg.
15692 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15693 Add terminal arg.
15694 (PICK_FRAME): Remove.
15695 (w32con_write_glyphs): Use frame specific terminal coding.
15696 (one_and_only_w32cons): New global variable.
15697 (initialize_w32_display): Use it for storing hooks.
15698 (create_w32cons_output): New function.
15699
15700 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15701 arg a frame.
15702
15703 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15704 Set window_system.
15705 (x_set_tool_bar_lines): Don't use updating_frame.
15706 (Fx_create_frame): Set terminal and ref count.
15707 (Fx_open_connection): Remove window-system check.
15708
15709 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15710
15711 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15712 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15713 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15714 Add frame arg.
15715 (x_delete_terminal, w32_create_terminal): New functions.
15716 (w32_term_init): Create a terminal.
15717 (w32_initialize): Move terminal specific initialization to
15718 w32_create_terminal.
15719
15720 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15721 (w32_clear_rect, w32_clear_area): Use background from frame.
15722 (w32_display_info): Add terminal.
15723 (w32_sys_ring_bell, x_delete_display): Declare here.
15724
15725 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15726
15727 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15728
157292007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15730
15731 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15732 Fix get_named_tty calls for the controlling tty.
15733
157342007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15735
15736 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15737
157382007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15739
15740 * term.c (tty_insert_glyphs): Add missing first parameter.
15741
157422007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15743
15744 * buffer.c (Fbuffer_list, Fbury_buffer):
15745 Take frame->buried_buffer_list into account.
15746
15747 * cm.c (current_tty): New variable, for cmputc().
15748 (cmputc): Use it.
15749 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15750 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15751 (cmgoto): Add tty parameter. Pass it on to calccost().
15752 Use emacs_tputs() instead of tputs().
15753
15754 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15755 tputs().
15756 (current_tty): New variable, for cmputc().
15757 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15758
15759 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15760 (internal_condition_case, internal_condition_case_1)
15761 (internal_condition_case_2): Don't abort when x_catching_errors.
15762
15763 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15764 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15765 prevent crashes caused by bogus longjmps in read_char.
15766
15767 * keymap.h (Fset_keymap_parent): Add EXFUN.
15768
15769 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15770 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15771 Remove redundant definition.
15772
15773 * macfns.c (x_set_mouse_color, x_make_gc):
15774 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15775
15776 * w32term.c (x_free_frame_resources):
15777 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15778 (w32_initialize): Use the accessor macros for terminal characteristics.
15779
15780 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15781 Use the accessor macros for terminal characteristics.
15782 * msdos.c (internal_terminal_init): Use the accessor macros for
15783 terminal characteristics.
15784 (ScreenVisualBell, internal_terminal_init):
15785 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15786
15787 * termopts.h (no_redraw_on_reenter): Declare.
15788
15789 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15790 (mark_terminals, mark_ttys): Declare.
15791 (Fgarbage_collect): Call them.
15792 (mark_object): Mark buried_buffer_list.
15793
15794 * prefix-args.c: Include stdlib.h for exit.
15795
15796 * syssignal.h: Add comment.
15797
15798 * indent.c: Include stdio.h.
15799
15800 * window.h (Vinitial_window_system): Declare.
15801 (Vwindow_system): Delete declaration.
15802
15803 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15804
15805 * image.c (lookup_image): Don't initialize `c' until the xasserts
15806 have been run.
15807
15808 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15809 FRAME_FOREGROUND_PIXEL.
15810
15811 * print.c (print_preprocess): Don't lose print_depth levels while
15812 iterating.
15813
15814 * widget.c (update_from_various_frame_slots):
15815 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15816
15817 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15818 frames.
15819 (window_internal_height): Remove bogus make_number call.
15820 (init_window_once): Call make_terminal_frame with two zero parameters.
15821
15822 * fileio.c (Fread_file_name): Update comment.
15823
15824 * callint.c (Fcall_interactively):
15825 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15826 Make sure it is correctly unwound.
15827
15828 * xsmfns.c (x_session_close): New function.
15829
15830 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15831 Delete declarations.
15832
15833 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15834 (x_output): Remove background_pixel and foreground_pixel fields.
15835 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15836 (x_delete_device, x_session_close): Declare.
15837
15838 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15839 (read_filtered_event): Call `read_char' with a local
15840 `wrong_kboard_jmpbuf'.
15841
15842 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15843 Don't call single_kboard_state. Use FRAME_RIF.
15844
15845 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15846 systems.
15847
15848 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15849 (Fframe_with_environment, Fset_input_meta_mode)
15850 (Fset_quit_char): EXFUN.
15851 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15852 (init_sys_modes, reset_sys_modes): Update prototypes.
15853 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15854
15855 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15856 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15857 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15858 Delete declarations.
15859 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15860 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15861 New declarations.
15862
15863 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15864 already does that during init_display(). Call syms_of_keymap
15865 before syms_of_keyboard. Call `syms_of_terminal'.
15866 Call set_initial_environment, not set_process_environment.
15867 (shut_down_emacs): Call reset_all_sys_modes() instead of
15868 reset_sys_modes().
15869
15870 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15871 (internal_resolve_face_name, resolve_face_name_error): New functions.
15872 (resolve_face_name): Protect against loops and errors thrown by Fget.
15873 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15874 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15875
15876 * scroll.c: Replace CURTTY() with local variables throughout the
15877 file (where applicable).
15878 (calculate_scrolling, calculate_direct_scrolling)
15879 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15880 characteristics.
15881
15882 * keymap.c (Vfunction_key_map): Remove.
15883 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15884 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15885 (Vkey_translation_map): Remove.
15886 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15887 (Fdescribe_buffer_bindings)
15888 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15889 Update for terminal-local key-translation-map.
15890
15891 * Makefile.in (callproc.o): Update dependencies.
15892 (lisp, shortlisp): Add termdev.elc.
15893 (obj): Add terminal.o.
15894 (terminal.o): Add dependencies.
15895 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15896 (data.o, fns.o): Add termhooks.h dependency.
15897 (SOME_MACHINE_LISP): Add dnd.elc.
15898 (minibuf.o): Fix typo.
15899 Update dependencies.
15900
15901 * data.c (do_symval_forwarding, store_symval_forwarding)
15902 (find_symbol_value): Use the selected frame's keyboard, not
15903 current_kboard.
15904
15905 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15906 Vwindow_system.
15907
15908 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15909 Fmenu_bar_open.
15910 (syms_of_xmenu): Update defsubr.
15911 (mouse_position_for_popup, Fx_popup_menu)
15912 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15913 (set_frame_menubar, free_frame_menubar)
b97439ce 15914 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15915 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15916 an X frame.
15917
15918 * xselect.c (x_own_selection): Abort if not an X frame.
15919 (some_frame_on_display): Check if it is an X frame.
15920 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15921
15922 * coding.c: Include frame.h and termhooks.h.
15923 (terminal_coding, keyboard_coding): Delete.
15924 (Fset_terminal_coding_system_internal)
15925 (Fset_keyboard_coding_system_internal)
15926 (Fkeyboard_coding_system)
15927 (Fterminal_coding_system): Add a terminal parameter.
15928 Get terminal_coding from the terminal.
15929 (init_coding_once): Don't call setup_coding_system here.
15930
15931 * dispextern.h (set_scroll_region, turn_off_insert)
15932 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15933 (tty_clear_end_of_line, tty_setup_colors)
15934 (delete_tty, updating_frame)
15935 (produce_special_glyphs, produce_glyphs, write_glyphs)
15936 (insert_glyphs): Remove.
15937 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15938 (tty_turn_off_highlight, get_tty_size): Add declaration.
15939 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15940
15941 * frame.h (enum output_method): Add output_initial.
15942 (struct x_output): Delete.
15943 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15944 Access foreground_pixel and background_pixel directly from the frame.
15945 (tty_display): Delete.
15946 (struct frame): Add buried_buffer_list, foreground_pixel,
15947 background_pixel and terminal. Delete kboard.
15948 (union output_data): Add tty.
15949 (FRAME_KBOARD): Get the kboard from the terminal.
15950 (FRAME_INITIAL_P): New macro.
15951 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15952 (Qterm_environment_variable, Qdisplay_environment_variable)
15953 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15954 New declarations.
15955
15956 * termchar.h (tty_output, tty_display_info): New structures.
15957 (tty_list): Declare.
15958 (FRAME_TTY, CURTTY): New macros.
15959 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15960 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15961 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15962 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15963
15964 * callproc.c: Include frame.h and termhooks.h, for terminal
15965 parameters.
15966 (add_env): New function.
15967 (child_setup): Use it.
15968 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15969 (getenv_internal): Fix get_terminal_param call.
15970 (Fgetenv_internal, egetenv): Update doc.
15971 (syms_of_callproc): Initialize Vprocess_environment to nil.
15972 Register and initialize them. Remove obsolete defvars. Update doc
15973 strings.
15974 (child_setup): Handle Vlocal_environment_variables.
15975 (getenv_internal): Add terminal parameter.
15976 Handle Vlocal_environment_variables.
15977 (Fgetenv_internal): Add terminal parameter.
15978 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15979 environment in a frame (not terminal) parameter. Update doc strings.
15980 (set_initial_environment): Rename from set_global_environment.
15981 Store Emacs environment in initial frame parameter.
15982
15983 * xdisp.c (redisplay_internal): Update references to
15984 `previous_terminal_frame'.
15985 (display_mode_line, Fformat_mode_line): Replace calls to
15986 `push_frame_kboard' with `push_kboard'.
15987 (get_glyph_string_clip_rects): Add extra parentheses and
15988 braces to prevent compiler warnings.
15989 (calc_pixel_width_or_height): Add xassert to check that the
15990 frame is alive. Don't call `lookup_image' on a termcap frame.
15991 (message2_nolog, message3_nolog, redisplay_internal)
15992 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15993 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15994 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15995 (Fx_display_pixel_width, Fx_display_pixel_height)
15996 (Fx_display_planes, Fx_display_color_cells)
15997 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15998 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15999 (Fx_display_backing_store, Fx_display_visual_class)
16000 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16001 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16002
16003 * xfns.c (x_set_foreground_color x_set_background_color)
16004 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16005 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16006 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16007 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16008 terminal that is being deleted.
16009 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16010 frame parameter, and make sure it overrides any user-supplied setting.
16011 (Fx_close_connection, Fx_synchronize): Unify argument names with
16012 the rest of the DEFUNs.
16013
16014 * dispnew.c (Fsend_string_to_terminal): Update call to
16015 `get_tty_terminal'.
16016 (Fredraw_frame, Fsend_string_to_terminal)
16017 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16018 FRAME_TERMCAP_P and FRAME_TTY.
16019 (window_change_signal): Don't believe width/height values that are
16020 impossibly small.
16021 (Vinitial_window_system): Rename from Vwindow_system.
16022 (termscript, Wcm, rif): Delete.
16023
16024 * termhooks.h (struct terminal): New struct containing the
16025 previously global text display hooks and new members NAME,
16026 DELETED and PARAM_ALIST.
16027 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16028 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16029 (FRAME_RIF): New macros.
16030 (get_terminal_param, get_device): New declarations.
16031 (termscript): Delete declaration.
16032
16033 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16034 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16035 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16036 FRAME_FOREGROUND_PIXEL.
16037 (x_fully_uncatch_errors): Disable definition.
16038 (x_scroll_bar_expose): Fix reference to foreground pixel.
16039 (XTread_socket): Disable loop on all X displays.
16040 (x_delete_terminal): Don't set terminal->deleted and let
16041 delete_terminal delete the frames on the terminal.
16042 (x_delete_display): Doc update to reflect changes in
16043 delete_terminal.
16044 (x_display_info) <terminal>: Move member earlier in the struct.
16045 (deleting_tty): Remove old variable.
16046 (Fsuspend_tty): Call clear_tty_hooks.
16047 (Fresume_tty, init_tty): Call set_tty_hooks.
16048 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16049 errors on X frames.
16050 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16051 (handle_one_xevent): Initialize `f' to NULL.
16052 (x_delete_terminal, x_create_terminal): New functions.
16053 (XTset_terminal_modes, XTreset_terminal_modes)
16054 (XTread_socket, x_connection_closed, x_term_init)
16055 (x_term_init, x_delete_display): Add terminal parameter.
16056 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16057 X connections.
16058
16059 * frame.c: Include termchar.h.
16060 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16061 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16062 (Qdisplay_environment_variable): New vars.
16063 (Fframep): Deal with output_initial.
16064 (Fframe-live-p): Doc fix.
16065 (Fwindow-system): New function.
16066 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16067 (make_terminal_frame): Don't create frames on a terminal that is
16068 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16069 (store_frame_param): Check for found_for_frame before calling XFRAME.
16070 (Fmake_terminal_frame): Handle NULL tty names correctly.
16071 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16072 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16073 frames to refer to a deleted frame in their 'environment parameter.
16074 (Fframe_with_environment): New function.
16075 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16076 (get_future_frame_param): New function.
16077 (Fmake_terminal_frame): Use it.
16078 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16079
16080 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16081 * sysdep.c (reset_sys_modes): Update for renames.
16082
16083 * keyboard.c (tty_read_avail_input): New function.
16084 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16085 (syms_of_keyboard): Defsubr them.
16086 (Fset_input_meta_mode, Fset_quit_char): New functions.
16087 (Fset_input_mode): Split to above functions.
16088 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16089 parameter. Use it in call to `read_char'.
16090 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16091 Set wrong_kboard_jmpbuf correctly in recursive calls.
16092 Use current_kboard to access Vkeyboard_translate_table.
16093 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16094 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16095 Update longjmp invocations. Remember the original current_kboard,
16096 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16097 changes it. Comment out unnecessary calls to
16098 `record_single_kboard_state' and `any_kboard_state'.
16099 Update recursive calls.
16100 (wrong_kboard_jmpbuf): Remove global variable.
16101 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16102 Handle deleted interrupted_kboards correctly; that is a legal
16103 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16104 and read_char calls. Abort if interrupted_kboard died in read_char.
16105 (any_kboard_state, single_kboard_state)
16106 (push_frame_kboard): Remove function.
16107 (pop_kboard): Switch out of single_kboard mode if the kboard has
16108 been deleted. Remove unused variable. Help debugging by not
16109 changing current_kboard unnecessarily. Set current_kboard to the
16110 kboard of the selected frame when the stored kboard object has
16111 been deleted before pop_kboard.
16112 (temporarily_switch_to_single_kboard): Change first parameter to a
16113 frame pointer. Throw an error when caller wants to change kboards
16114 while in single_kboard mode. Don't push_kboard if we weren't in
16115 single kboard state. Don't pop_kboard if we popped into any
16116 kboard state.
16117 (restore_kboard_configuration): Abort if pop_kboard changed the
16118 kboard in single_kboard mode. Call pop_kboard only after setting
16119 up single_kboard mode.
16120 (Frecursive_edit): Switch to single_kboard mode only in nested
16121 command loops.
16122 (cmd_error, command_loop, command_loop_1, timer_check):
16123 Comment out unnecessary call to `any_kboard_state' and
16124 `record_single_kboard_state'.
16125 (delete_kboard): Exit single_kboard mode if we have just deleted
16126 that kboard. Use FRAME_KBOARD.
16127 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16128 `fatal_error_signal'.
16129 (record_single_kboard_state): Don't push_kboard if we weren't in
16130 single kboard state. Don't pop_kboard if we popped into any
16131 kboard state.
16132 (push_frame_kboard): Rename to push_kboard.
16133 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16134 (read_avail_input): Read input from all terminals.
16135 (mark_kboards): Also mark Vkeyboard_translate_table.
16136 (kbd_buffer_store_event_hold): Simplify condition.
16137 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16138 (Vkeyboard_translate_table): Move to struct kboard.
16139 (init_kboard): Initialize Vkeyboard_translate_table.
16140 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16141 Vkeyboard_translate_table. Update doc strings. Update docs of
16142 local-function-key-map and function-key-map.
16143
16144 * terminal.c: New file.
16145
16146 * term.c: Include errno.h.
16147 (Vring_bell_function, device_list, initial_device)
16148 (next_device_id, ring_bell, update_begin, update_end)
16149 (set_terminal_window, cursor_to, raw_cursor_to)
16150 (clear_to_end, clear_frame, clear_end_of_line)
16151 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16152 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16153 (syms_of_term): Move their initialization to terminal.c.
16154 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16155 (Ftty_display_color_cells)
16156 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16157 (clear_tty_hooks, set_tty_hooks)
16158 (init_tty, maybe_fatal): New functions.
16159 (Ftty_type): Return nil if terminal is not on a tty instead of
16160 throwing an error. Doc update.
16161 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16162 Doc update. Initialize new subrs and variables.
16163 (delete_tty): Use terminal->deleted.
16164 (tty_set_terminal_modes): Rename from set_terminal_modes.
16165 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16166 (set_scroll_region): Rename to `tty_set_scroll_region'.
16167 (turn_on_insert): Rename to `tty_turn_on_insert'.
16168 (turn_off_insert): Rename to `tty_turn_off_insert'.
16169 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16170 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16171 (toggle_highligh): Rename to `tty_toggle_highlight'.
16172 (background_highlight): Rename to `tty_background_highlight'.
16173 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16174 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16175 (tty_set_scroll_region, tty_background_highlight)
16176 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16177 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16178 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16179 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16180 Add static modifier.
16181 (tty_reset_terminal_modes, tty_set_terminal_window)
16182 (tty_set_scroll_region, tty_background_highlight)
16183 (tty_highlight_if_desired, tty_cursor_to)
16184 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16185 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16186 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16187 renames.
16188
161892007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16190
16191 * keyboard.c: Qrtl is new.
16192 (parse_tool_bar_item): Handle :rtl keyword.
16193 (syms_of_keyboard): Intern :rtl keyword.
16194
16195 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16196
16197 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16198 so no Lisp code is executed.
16199 (file_for_image, find_rtl_image): New functions.
16200 (xg_get_image_for_pixmap): Use file_for_image.
16201 (update_frame_tool_bar): If direction is RTL, use RTL image if
16202 defined. Use Gtk stock images if defined.
16203
162042007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16205
16206 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16207 for nonexistent or zero-width glyph in composition glyph.
16208
162092007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16210
16211 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16212
16213 * xdisp.c (Finvisible_p): New function.
16214 (syms_of_xdisp): defsubr it.
16215
162162007-08-24 Juanma Barranquero <lekktu@gmail.com>
16217
16218 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16219 Doc fixes.
16220
162212007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16222
16223 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16224
162252007-08-24 Martin Rudalics <rudalics@gmx.at>
16226
16227 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16228 whether decoding has modified buffer contents.
16229
162302007-08-24 Jason Rumney <jasonr@gnu.org>
16231
16232 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16233 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16234 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16235 (init_svg_functions) [HAVE_NTGUI]: New function.
16236 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16237 (svg_load_image): Use them.
16238 (svg_load_image) [HAVE_NTGUI]: Implement background.
16239
162402007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16241
16242 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16243 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16244 (LIBX): Remove @RSVG_LIBS@.
16245 (LIBES): Add $(RSVG_LIBS).
16246
16247 * image.c (svg_load_image): Blend with specified background if exists.
16248 Use IMAGE_BACKGROUND. Add Mac OS Support.
16249
16250 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16251 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16252 Remove macros.
16253 [MAC_OSX] (socket_callback): Do nothing.
16254 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16255 ReceiveNextEvent.
16256 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16257 socket_callback.
16258 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16259
162602007-08-22 Glenn Morris <rgm@gnu.org>
16261
16262 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16263
162642007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16265
16266 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16267
16268 * image.c: Add support for SVG images. Some additional comments
16269 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16270 (svg_image_p): New function to test for SVG image.
16271 (svg_load): New function to load SVG image.
16272 (svg_load_image): New function, helper for svg_load.
16273 (Qsvg): New Lisp_object.
16274 (svg_keyword_index): New enum.
16275 (svg_format): New static `image_keyword' struct.
16276 (svg_type): New static `image_type' struct.
16277 (librsvg/rsvg.h): Include it.
16278
162792007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16280
16281 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16282
162832007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16284
16285 * lread.c (Qold_style_backquotes): New var.
16286 (syms_of_lread): Init and staticpro it.
16287 (load_warn_old_style_backquotes): New fun.
16288 (Fload): Use them to warn about old style backquotes.
16289 (end_of_file_error, Fload): Remove unused vars.
16290
16291 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16292
16293 * lread.c (Vold_style_backquotes): New var.
16294 (syms_of_lread): Init and export it to Elisp.
16295 (read1): Set it when we find an old-style (back)quote.
16296
162972007-08-22 Jason Rumney <jasonr@gnu.org>
16298
16299 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16300
163012007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16302
16303 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16304
163052007-08-19 Richard Stallman <rms@gnu.org>
16306
16307 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16308
163092007-08-19 Andreas Schwab <schwab@suse.de>
16310
16311 * alloc.c (pure): Round PURESIZE up.
16312
163132007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16314
16315 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16316 active frame.
16317
163182007-08-16 Richard Stallman <rms@gnu.org>
16319
16320 * eval.c (Fcommandp): Add parens to clarify.
16321
16322 * minibuf.c (Fall_completions): Use enum for type of table.
16323
16324 * emacs.c (USAGE2): Improve text.
16325
163262007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16327
16328 * term.c (tty_default_color_capabilities): Declare static
16329 variables in file scope, to avoid HPUX compiler problem.
16330
163312007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16332
16333 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16334 to gtk_toolbar_insert.
16335
163362007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16337
16338 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16339
16340 * insdel.c (reset_var_on_error): New fun.
16341 (signal_before_change, signal_after_change):
16342 Use it to reset (after|before)-change-functions to nil in case of error.
16343 Bind inhibit-modification-hooks to t.
16344 Don't bind (after|before)-change-functions to nil while they run.
16345
163462007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16347
16348 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16349 filling pixmap with stippled background.
16350
163512007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16352
16353 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16354 Don't use invisible frame as parent window for repositioning.
16355
163562007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16357
16358 * print.c (new_backquote_output): Rename from old_backquote_output.
16359 (print): Inverse its logic (according to its name) so as to match the
16360 behavior of new_backquote_flag in lread.c.
16361
163622007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16363
16364 * gmalloc.c (posix_memalign): New function.
16365
16366 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16367 ActivateControl/DeactivateControl here.
16368 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16369 frame-notice-user-settings is non-nil.
16370 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16371 for kEventParamFMFontStyle.
16372 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16373 mac_pass_command_to_system and mac_pass_control_to_system here.
16374 (XTread_socket): Call ActivateControl/DeactivateControl here.
16375 (XTread_socket) [TARGET_API_MAC_CARBON]:
16376 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16377 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16378 for window repositioning.
16379
163802007-08-08 Glenn Morris <rgm@gnu.org>
16381
16382 * Replace `iff' in doc-strings and comments.
16383
163842007-08-07 Chong Yidong <cyd@stupidchicken.com>
16385
16386 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16387
163882007-08-07 Martin Rudalics <rudalics@gmx.at>
16389
16390 * fileio.c (Finsert_file_contents): Run format-decode and
16391 after_insert_file_functions on entire buffer when REPLACE is
16392 non-nil and inhibit modification_hooks and point_motion_hooks.
16393 For consistency, run after_insert_file_functions iff something
16394 got inserted. Move signal_after_change and update_compositions
16395 after code running after_insert_file_functions. Make sure that
16396 undo_list doesn't record intermediate steps of the decoding process.
16397
163982007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16399
16400 * emacs.c (main)
16401 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16402 Call malloc_enable_thread on interactive startup.
16403
16404 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16405 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16406 [USE_PTHREAD]: Conditionalize with it.
16407 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16408 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16409 New functions.
16410
164112007-08-06 Chong Yidong <cyd@stupidchicken.com>
16412
16413 * xdisp.c (redisplay_window): When restoring original buffer
16414 position, make sure it is still valid.
16415
16416 * image.c (png_load): Ignore png-supplied background color.
16417
164182007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16419
16420 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16421 Use kCFAbsoluteTimeIntervalSince1970.
16422
16423 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16424 New variable.
16425 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16426 event loop should be quit.
16427 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16428 Quit dialog event loop if quit_dialog_event_loop is set.
16429
16430 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16431 (Selection): New typedef. Use instead of ScrapRef.
16432 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16433 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16434 (mac_clear_selection): Rename from clear_scrap.
16435 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16436 scrap_has_target_type. All uses changed.
16437 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16438 (mac_selection_has_target_p): New functions.
16439 (mac_put_selection_value): Rename from put_scrap_string.
16440 (mac_get_selection_value): Rename from get_scrap_string.
16441 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16442 (put_scrap_private_timestamp, scrap_has_target_type)
16443 (get_scrap_private_timestamp): Remove functions.
16444 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16445 (x_own_selection, x_get_local_selection):
16446 Use mac_valid_selection_value_p.
16447 (x_own_selection): Don't use put_scrap_private_timestamp.
16448 Record OWNERSHIP-INFO into Vselection_alist instead.
16449 (x_get_local_selection): Don't check type if request is local.
16450 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16451 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16452
164532007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16454
16455 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16456 add comment explaining why.
16457
164582007-08-03 Richard Stallman <rms@gnu.org>
16459
16460 * fileio.c (Fvisited_file_modtime): Use make_time.
16461
164622007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16463
16464 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16465 build.
16466
164672007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16468
16469 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16470
164712007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16472
16473 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16474
164752007-07-30 Richard Stallman <rms@gnu.org>
16476
16477 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16478
164792007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16480
16481 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16482
164832007-07-28 Nick Roberts <nickrob@snap.net.nz>
16484
16485 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16486 remote default-directory.
16487
16488 * buffer.c (mode-line-format): Update doc string.
16489
164902007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16491
16492 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16493 scroll bar gap.
16494 (x_scroll_bar_create): Set bar->fringe_extended_p.
16495 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16496 on frame edge. Check fringe background extension. Don't clear
16497 extended fringe background area.
16498
16499 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16500 (w32_fill_area): Enclose multiple statements with do ... while (0).
16501
16502 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16503 Extend fringe background to scroll bar gap.
16504 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16505 Set bar->fringe_extended_p.
16506 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16507 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16508 background extension. Don't clear extended fringe background area.
16509
16510 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16511 New member fringe_extended_p.
16512
165132007-07-25 Glenn Morris <rgm@gnu.org>
16514
16515 * Relicense all FSF files to GPLv3 or later.
16516
16517 * COPYING: Switch to GPLv3.
16518
165192007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16520
16521 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16522
16523 * data.c (Finteractive_form): Check for the presence of an
16524 `interactive-form' symbol property more thoroughly.
16525
16526 * data.c (Finteractive_form): Use an `interactive-form' property if
16527 present, analogous to the function-documentation property.
16528
165292007-07-24 Jason Rumney <jasonr@gnu.org>
16530
16531 * w32fns.c (x_real_positions): Get real position from OS instead of
16532 calculating it.
16533
165342007-07-23 Jason Rumney <jasonr@gnu.org>
16535
16536 * filelock.c (current_lock_owner): Allow for @ sign in username.
16537
165382007-07-22 Nick Roberts <nickrob@snap.net.nz>
16539
16540 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16541 remote default-directory.
16542
16543 * buffer.c (mode-line-format): Describe above case in doc string.
16544
165452007-07-20 Eli Zaretskii <eliz@gnu.org>
16546
16547 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16548 Define if not defined.
16549
165502007-07-18 Jason Rumney <jasonr@gnu.org>
16551
16552 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16553
165542007-07-18 Richard Stallman <rms@gnu.org>
16555
16556 * data.c (Fsetq_default): Doc fix.
16557
16558 * eval.c (Fsetq): Doc fix.
16559
165602007-07-18 Juanma Barranquero <lekktu@gmail.com>
16561
16562 * coding.c (Ffind_operation_coding_system):
16563 * eval.c (For, Fand): Doc fixes.
16564 Reported by Johan Bockgård.
16565
165662007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16567
16568 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16569
16570 * xterm.h: Declare x_ewmh_activate_frame.
16571
16572 * xterm.c (x_ewmh_activate_frame): New function.
16573 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16574
165752007-07-17 Martin Rudalics <rudalics@gmx.at>
16576
16577 * window.c (Fdisplay_buffer): If largest or LRU window is the
16578 only window, split it even if it is not eligible for splitting.
16579 This restores the original behavior broken by the 2007-07-15
16580 change.
16581
165822007-07-17 Glenn Morris <rgm@gnu.org>
16583
16584 * abbrev.c (abbrev_check_chars): New function.
16585 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16586 Call abbrev_check_chars to check abbrev characters are word
16587 constituents. Doc fix.
16588
165892007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16590
16591 * process.c (Fstart_process, Fmake_network_process)
16592 (read_process_output): Fix up last changes.
16593
165942007-07-16 Eli Zaretskii <eliz@gnu.org>
16595
16596 * makefile.w32-in (clean): Don't delete *~.
16597
165982007-07-16 Andreas Schwab <schwab@suse.de>
16599
16600 * window.c (Fdisplay_buffer): Use NILP.
16601 (Fset_window_scroll_bars): Likewise.
16602
166032007-07-15 Martin Rudalics <rudalics@gmx.at>
16604
16605 * window.c (window_min_size_2): New function.
16606 (window_min_size_1, size_window, Fdisplay_buffer)
16607 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16608 windows without mode- or header-lines when window-min-height is
16609 too small.
16610 (size_window): Reset nodelete_p after testing it, following an
16611 earlier note by Kim F. Storm.
16612 (display_buffer): Do not set split_height_threshold to twice the
16613 value of window_min_height to avoid changing the value of a
16614 customizable variable. Rather explicitly check whether the
16615 height of the window that shall be splitted is at least as large
16616 as split_height_threshold.
16617 (Fwindow_full_width_p): New defun.
16618 (syms_of_window): Defsubr it.
16619
16620 * window.h: Add EXFUN for Fwindow_full_width_p.
16621
166222007-07-14 Jason Rumney <jasonr@gnu.org>
16623
16624 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16625
166262007-07-14 Richard Stallman <rms@gnu.org>
16627
16628 * eval.c (maybe_call_debugger): New function.
16629 (find_handler_clause): Use maybe_call_debugger.
16630 Call it when the handler says `debug'.
16631 Eliminate DEBUGGER_VALUE_PTR.
16632 (Fsignal): Eliminate debugger_value.
16633 (Qdebug): New variable.
16634 (syms_of_eval): Initialize it.
16635
166362007-07-14 Juanma Barranquero <lekktu@gmail.com>
16637
16638 * eval.c (Fprogn):
16639 * keyboard.c (Ftrack_mouse):
16640 * print.c (Fwith_output_to_temp_buffer):
16641 * window.c (Fsave_window_excursion): Doc fix.
16642
166432007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16644
16645 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16646
166472007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16648
16649 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16650 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16651 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16652 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16653 Remove unused encoding_carryover.
16654 * process.c: Adjust all functions accordingly.
16655
166562007-07-12 Richard Stallman <rms@gnu.org>
16657
16658 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16659
166602007-07-11 Jason Rumney <jasonr@gnu.org>
16661
16662 * makefile.w32-in (LIBS): Include OLE32.
16663
16664 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16665 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16666
166672007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16668
16669 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16670 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16671 from a Lisp_Object into a bare pointer.
16672 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16673 Adjust the code correspondingly.
16674
16675 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16676
16677 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16678 (term_show_mouse_face): Remove unused var `j'.
16679 (handle_one_term_event): Remove unused vars `i' and `j'.
16680 Don't cast return value of ttyname since it's not necessary.
16681
166822007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16683
16684 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16685 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16686
16687 * fns.c (map_char_table): Use an array of int for `indices' rather than
16688 an array of Lisp_Objects (which are only ever integers anyway).
16689 (Fmap_char_table): Update caller.
16690 * lisp.h: Update prototype.
16691 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16692 * fontset.c (Ffontset_info):
16693 * casetab.c (set_case_table): Update callers.
16694
16695 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16696
16697 * keymap.c (struct accessible_keymaps_data)
16698 (struct where_is_internal_data): New structures.
16699 (accessible_keymaps_1, where_is_internal_1): Use them to change
16700 interface to adhere to the one used by map_keymap.
16701 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16702 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16703
16704 * keymap.h (map_keymap_function_t): More informative prototype.
16705
167062007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16707
16708 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16709 (looking_at_1): Don't change search_regs and last_thing_searched
16710 if `inhibit-changing-match-data' is non-nil.
16711 (string_match_1, search_buffer, set_search_regs): Likewise.
16712 (syms_of_search): Add Lisp level definition for
16713 `inhibit-changing-match-data' and set it to nil.
16714 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16715 start and end of the match, instead of using values in search_regs.
16716
167172007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16718
16719 * minibuf.c (Fcompleting_read): New value `confirm-only'
16720 for `require-match'.
16721
167222007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16723
16724 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16725 part of the 2007-06-27 change to syms_of_fileio.
16726
167272007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16728
16729 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16730 Check WINDOWP before using XWINDOW. Consolidate return statements.
16731
167322007-06-27 Richard Stallman <rms@gnu.org>
16733
16734 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16735
167362007-06-27 Juanma Barranquero <lekktu@gmail.com>
16737
16738 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16739
167402007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16741
16742 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16743 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16744 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16745 (_free_internal, memalign): Use them.
16746 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16747 Initialize to PTHREAD_MUTEX_INITIALIZER.
16748 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16749 (morecore_nolock): Rename from morecore. All uses changed.
16750 Use only nolock versions of internal allocation functions.
16751 (_malloc_internal_nolock, _realloc_internal_nolock)
16752 (_free_internal_nolock): New functions created from
16753 _malloc_internal, _realloc_internal, and _free_internal.
16754 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16755 Copy hook value to automatic variable before its use.
16756 (memalign): Copy hook value to automatic variable before its use.
16757
167582007-06-26 Kenichi Handa <handa@m17n.org>
16759
16760 * coding.c (Ffind_operation_coding_system): Docstring improved.
16761 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16762
167632007-06-25 David Kastrup <dak@gnu.org>
16764
16765 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16766 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16767 cater for additional parameter.
16768
16769 * keymap.h: Adjust number of parameters to `current-active-maps'.
16770
16771 * doc.c (Fsubstitute_command_keys): Adjust call of
16772 `current-active-maps'.
16773
167742007-06-25 David Kastrup <dak@gnu.org>
16775
16776 * callint.c (Fcall_interactively): Make the parsing of interactive
16777 specs somewhat more readable.
16778
167792007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16780
16781 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16782 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16783 if extended background has already been filled.
16784
167852007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16786
16787 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16788 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16789
16790 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16791 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16792 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16793 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16794 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16795 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16796 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16797 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16798 Run timers during dialog popup.
16799 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16800
168012007-06-21 Jason Rumney <jasonr@gnu.org>
16802
16803 * image.c (convert_mono_to_color_image): Swap fore and background.
16804
168052007-06-20 Jason Rumney <jasonr@gnu.org>
16806
16807 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16808 (w32_free_bdf_font): Unmap memory not handle.
16809
168102007-06-20 Sam Steingold <sds@gnu.org>
16811
16812 * gmalloc.c (__morecore): Fix the declaration to comply with the
16813 definition.
16814
168152007-06-20 Juanma Barranquero <lekktu@gmail.com>
16816
16817 * w32term.c (w32_delete_display): Remove leftover declaration.
16818 (w32_define_cursor, w32_initialize): Make static.
16819
16820 * w32.c (_wsa_errlist): Fix typo in error message.
16821 (init_environment): Ignore any environment variable from the
16822 registry having a null value.
16823
168242007-06-20 Glenn Morris <rgm@gnu.org>
16825
16826 * Makefile.in (LIBGIF): Default to -lgif.
16827
168282007-06-17 Jason Rumney <jasonr@gnu.org>
16829
16830 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16831 unicode strings.
16832
168332007-06-16 Juanma Barranquero <lekktu@gmail.com>
16834
16835 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16836 Fix typo in docstring.
16837
168382007-06-16 Eli Zaretskii <eliz@gnu.org>
16839
16840 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16841 and their keybindings.
16842
168432007-06-15 Chong Yidong <cyd@stupidchicken.com>
16844
16845 * composite.c (update_compositions): Fix last fix.
16846
168472007-06-14 Jason Rumney <jasonr@gnu.org>
16848
16849 * w32.c (get_process_times_fn): New function pointer.
16850 (globals_of_w32): Intialize it if present in kernel32.dll.
16851 (w32_get_internal_run_time): New function.
16852
16853 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16854
168552007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16856
16857 * composite.c (update_compositions): Check the validness of
16858 compositions.
16859
168602007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16861
16862 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16863 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16864
16865 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16866 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16867
16868 * macgui.h (USE_MAC_TOOLBAR): New define.
16869
16870 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16871 Return immediately unless popup is activated.
16872
16873 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16874 background to scroll bar gap.
16875 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16876 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16877 scroll bars on frame edge. Check fringe background extension.
16878 Don't clear extended fringe background area.
16879 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16880 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16881 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16882 [USE_MAC_TOOLBAR]: New macros.
16883 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16884 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16885 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16886 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16887 [USE_MAC_TOOLBAR]: New functions.
16888 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16889 manually if previous repositioning has failed.
16890 (mac_handle_keyboard_event): Use precomputed event kind.
16891 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16892 as tool bar item click. Handle mouse movement over tool bar items.
16893
16894 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16895 toolbar_win_gravity.
16896 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16897 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16898 Add externs.
16899
16900 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16901 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16902
169032007-06-14 Chong Yidong <cyd@stupidchicken.com>
16904
16905 * image.c (search_image_cache): Remove unused variable.
16906
169072007-06-13 Chong Yidong <cyd@stupidchicken.com>
16908
16909 * xfns.c, xmenu.c: Link to xaw3d if available.
16910
169112007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16912
16913 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16914 frame_foreground and frame_background.
16915
16916 * image.c (lookup_image): Save frame foreground and background colors.
16917 (search_image_cache): Check if saved and current frame colors match.
16918
169192007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16920
16921 * regex.c (regex_compile): Remove the `regnum' counter.
16922 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16923
169242007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16925
16926 * term.c: Include intervals.h to declare Fget_text_property.
16927
169282007-06-10 Jason Rumney <jasonr@gnu.org>
16929
16930 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16931
169322007-06-08 Juanma Barranquero <lekktu@gmail.com>
16933
16934 * callint.c (Fcall_interactively):
16935 * editfns.c (Fdelete_and_extract_region):
16936 * fileio.c (Fread_file_name):
16937 * fns.c (Fmapconcat):
16938 * keyboard.c (cmd_error_internal):
16939 * keymap.c (Fkey_description):
16940 * lread.c (openp):
16941 * minibuf.c (read_minibuf):
16942 * search.c (wordify):
16943 * sunfns.c (sel_read):
16944 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16945 * xfns.c (x_default_scroll_bar_color_parameter):
16946 * xmenu.c (menu_help_callback):
16947 * xselect.c (Fx_get_atom_name):
16948 * xterm.c (x_term_init): Use empty_unibyte_string.
16949
169502007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16951
16952 * alloc.c (init_strings): Initialize canonical empty strings.
16953 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16954 canonical empty string when the requested size is 0.
16955
16956 * emacs.c (empty_unibyte_string): Rename from empty_string.
16957 (empty_multibyte_string): New canonical empty string.
16958 (syms_of_emacs): Don't initialize empty_string.
16959
16960 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16961 string, if appropriate.
16962 (empty_unibyte_string, empty_multibyte_string): New externs.
16963 (empty_string): Remove extern.
16964
16965 * lread.c (syms_of_lread): Use empty_unibyte_string.
16966
169672007-06-07 Jason Rumney <jasonr@gnu.org>
16968
16969 * s/ms-w32.h: Don't define HAVE_TZNAME.
16970
16971 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16972
169732007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16974
16975 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16976
16977 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16978 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16979
16980 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16981 Don't call next handler.
16982 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16983 Remove argument. Install handler to application.
16984 (set_frame_menubar): Don't change deep_p.
16985 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16986 FRAME_OUTER_TO_INNER_DIFF_Y.
16987 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16988 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16989 [HAVE_DIALOGS]: New macros.
16990 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16991 Use them.
16992 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16993
16994 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16995 init_service_handler. All callers changed. Return OSStatus value.
16996
16997 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16998 All callers changed so as not to call SetPortWindowPort.
16999 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17000 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17001 mac_draw_string_common.
17002 (mac_draw_image_string_qd): Likewise.
17003 (mac_draw_string_common): Use them. Add INLINE.
17004 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17005 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17006 GetGlobalMouse.
17007 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17008 and FRAME_OUTER_TO_INNER_DIFF_Y.
17009 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17010 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17011 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17012 repositioning window to mac_handle_window_event.
17013 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17014 saving window location to mac_handle_window_event
17015 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17016 (install_menu_target_item_handler): Remove argument in extern.
17017 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17018 Also accept command events.
17019 (do_keystroke): New function created from XTread_socket.
17020 (init_command_handler): Remove functions.
17021 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17022 and save window location by kEventWindowShowing and kEventWindowHiding
17023 handlers here. Don't call next handler for window state change and
17024 focus events.
17025 (mac_handle_application_event, mac_handle_keyboard_event)
17026 [TARGET_API_MAC_CARBON]: New functions.
17027 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17028 kEventWindowShowing and kEventWindowHiding events. Move installation
17029 of mouse, font, text input and menu target item handlers to
17030 install_application_handler.
17031 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17032 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17033 New function.
17034 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17035 Register it.
17036 (XTread_socket) [TARGET_API_MAC_CARBON]:
17037 Consolidate SendEventToEventTarget calls.
17038 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17039 Move application activation handler to mac_handle_application_event.
17040 Move keyboard handler to mac_handle_keyboard_event.
17041 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17042 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17043 init_command_handler. Call install_application_handler.
17044
17045 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17046 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17047
170482007-06-07 Glenn Morris <rgm@gnu.org>
17049
17050 * emacs.c (main): Use `emacs-copyright' in --version output.
17051
170522007-06-06 Chong Yidong <cyd@stupidchicken.com>
17053
17054 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17055
170562007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17057
17058 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17059
17060 * macgui.h: Replace WindowPtr with WindowRef.
17061
17062 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17063 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17064 Replace ControlHandle with ControlRef.
17065 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17066
17067 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17068 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17069 Replace ControlHandle with ControlRef.
17070 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17071 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17072
17073 * macterm.h (struct scroll_bar): Rename member control_handle_low
17074 and control_handle_high to control_ref_low and control_ref_high.
17075 All uses changed.
17076 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17077 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17078 respectively. All uses changed.
17079 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17080 (install_window_handler, remove_window_handler): Replace WindowPtr
17081 with WindowRef in externs.
17082
170832007-06-05 Juanma Barranquero <lekktu@gmail.com>
17084
17085 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17086
170872007-06-03 Nick Roberts <nickrob@snap.net.nz>
17088
17089 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17090
17091 * frame.c (Fmouse_position, Fmouse_pixel_position):
17092 Condition on HAVE_GPM too.
17093
17094 * term.c (term_mouse_highlight): Remove unused variables.
17095 (Fterm_open_connection): Set gpm_zerobased to 1.
17096 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17097 Use zero based co-ordinates.
17098 (handle_one_term_event): Report a drag as mouse movement too.
17099
17100 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17101
171022007-06-03 Chong Yidong <cyd@stupidchicken.com>
17103
17104 * image.c (search_image_cache): New function. Require background
17105 color match if background color is unspecified in the image spec.
17106 (uncache_image, lookup_image): Use it.
17107
171082007-06-01 Juanma Barranquero <lekktu@gmail.com>
17109
17110 * window.c (Fshrink_window): Reflow docstring.
17111
171122007-06-02 Chong Yidong <cyd@stupidchicken.com>
17113
17114 * Version 22.1 released.
17115
171162007-06-01 Richard Stallman <rms@gnu.org>
17117
17118 * xfns.c (x_encode_text): Add GCPRO.
17119
171202007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17121
17122 * xfns.c (x_set_name_internal): Save encoded name before
17123 x_encode_text in case string data is relocated.
17124
171252007-05-31 Richard Stallman <rms@gnu.org>
17126
17127 * buffer.c (syms_of_buffer): Doc fix.
17128
171292007-05-30 Nick Roberts <nickrob@snap.net.nz>
17130
17131 * sysdep.c (init_sys_modes): Add rather than replace with
17132 O_NONBLOCK.
17133
17134 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17135 term_mouse_moveto.
17136
17137 * termhooks.h (term_mouse_moveto): New extern.
17138
17139 * term.c (mouse_face_window): Rename...
17140 (Qmouse_face_window): ...to this.
17141 (term_show_mouse_face, term_clear_mouse_face)
17142 (term_mouse_highlight): Use Qmouse_face_window.
17143 (term_mouse_moveto): New function.
17144 (term_mouse_position): Make it work.
17145 (syms_of_term): Uncomment assignment to mouse_position_hook.
17146 Staticpro Qmouse_face_window.
17147
171482007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17149
17150 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17151 around current_column call.
17152
171532007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17154
17155 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17156 * xdisp.c (next_element_from_buffer):
17157 * window.c (delete_window):
17158 * term.c (term_mouse_highlight):
17159 * msdos.c (getdefdir):
17160 * macterm.c (mac_create_bitmap_from_bitmap_data)
17161 (init_font_name_table):
17162 * fns.c (Fsxhash):
17163 * data.c (Fmake_local_variable):
17164 * ccl.c (ccl_driver): Likewise.
17165
171662007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17167
17168 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17169 Call mac_wakeup_from_rne on window size change.
17170
171712007-05-25 Chong Yidong <cyd@stupidchicken.com>
17172
17173 * image.c (uncache_image): Fix typo.
17174
171752007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17176
17177 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17178
171792007-05-22 Richard Stallman <rms@gnu.org>
17180
17181 * xterm.c (x_connection_closed): Remove NO_RETURN.
17182
171832007-05-22 Martin Rudalics <rudalics@gmx.at>
17184
17185 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17186
171872007-05-21 Chong Yidong <cyd@stupidchicken.com>
17188
17189 * image.c (uncache_image): New function.
17190 (Fimage_refresh): New function.
17191
171922007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17193
17194 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17195
171962007-05-20 Nick Roberts <nickrob@snap.net.nz>
17197
17198 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17199 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17200
172012007-05-20 Nick Roberts <nickrob@snap.net.nz>
17202
17203 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17204 conditional on [HAVE_GPM_H].
17205
172062007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17207
17208 * syntax.c (skip_chars): Update syntax-table only after we checked that
17209 the new location is valid.
17210
172112007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17212
17213 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17214 mac_get_window_bounds.
17215
172162007-05-20 Nick Roberts <nickrob@snap.net.nz>
17217
17218 * Makefile.in (LIBGPM): Allow it to be set from configure.
17219 If set then link Emacs with it.
17220
17221 * config.in: Regenerate.
17222
17223 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17224 New externs.
17225
17226 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17227 Include gpm.h.
17228 (handle_one_term_event, term_gpm): New externs.
17229
17230 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17231 and allow it to be interrupted by SIGIO.
17232
17233 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17234 (wait_reading_process_output): Wait on gpm_fd too.
17235 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17236 (add_gpm_wait_descriptor_called_flag): New variable.
17237 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17238
17239 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17240 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17241 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17242 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17243 (make_lispy_event): Add case GPM_CLICK_EVENT.
17244 (read_avail_input): Handle mouse input.
17245
17246 * term.c (write_glyphs_with_face): New function.
17247 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17248 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17249 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17250 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17251 (last_mouse_x, last_mouse_y): New variables.
17252 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17253 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17254 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17255 (Fterm_close_connection): New functions.
17256 (term_init): Initialise mouse_face_window.
17257
172582007-05-19 Chong Yidong <cyd@stupidchicken.com>
17259
17260 * xdisp.c (redisplay_window): If first window line is a
17261 continuation line, recompute the new window start instead of
17262 recentering.
17263
172642007-05-18 Glenn Morris <rgm@gnu.org>
17265
17266 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17267 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17268
172692007-05-17 Glenn Morris <rgm@gnu.org>
17270
17271 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17272
172732007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17274
17275 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17276 dead key repeat and up events.
17277
172782007-05-14 Chong Yidong <cyd@stupidchicken.com>
17279
17280 * image.c (pbm_load): Check image size for monochrome pbm.
17281
172822007-05-13 Chong Yidong <cyd@stupidchicken.com>
17283
17284 * xterm.c (XTread_socket): Revert last change.
17285
172862007-05-12 Chong Yidong <cyd@stupidchicken.com>
17287
17288 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17289
17290 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17291
172922007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17293
17294 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17295 mixup (YAILOM).
17296
172972007-05-07 Andreas Schwab <schwab@suse.de>
17298
17299 * keymap.c (Flookup_key): Fix typo in last change.
17300
173012007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17302
17303 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17304 mapping for unibyte strings.
17305
173062007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17307
17308 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17309 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17310
173112007-04-29 Richard Stallman <rms@gnu.org>
17312
17313 * insdel.c (replace_range): For undo, record insertion first.
17314
173152007-04-29 Andreas Schwab <schwab@suse.de>
17316
17317 * lisp.h (VECSIZE): Use OFFSETOF.
17318
173192007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17320
17321 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17322 disabled lines.
17323
173242007-04-28 Richard Stallman <rms@gnu.org>
17325
17326 * lread.c (read_escape): In a string, \s is always space.
17327
173282007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17329
17330 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17331
17332 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17333 submenu for menu bar items.
17334
17335See ChangeLog.10 for earlier changes.
17336
17337;; Local Variables:
17338;; coding: utf-8
17339;; add-log-time-zone-rule: t
17340;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17341;; End:
17342
76b6f707 17343 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17344
17345 This file is part of GNU Emacs.
17346
17347 GNU Emacs is free software: you can redistribute it and/or modify
17348 it under the terms of the GNU General Public License as published by
17349 the Free Software Foundation, either version 3 of the License, or
17350 (at your option) any later version.
17351
17352 GNU Emacs is distributed in the hope that it will be useful,
17353 but WITHOUT ANY WARRANTY; without even the implied warranty of
17354 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17355 GNU General Public License for more details.
17356
17357 You should have received a copy of the GNU General Public License
17358 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17359
17360;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40