(fontset_find_font): Fix the condition for checking
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8810a12f
KH
12009-02-24 Kenichi Handa <handa@m17n.org>
2
3 * fontset.c (fontset_find_font): Fix the condition for checking
4 unavailable font.
5
2c7d1565
GM
62009-02-24 Glenn Morris <rgm@gnu.org>
7
8 * xfaces.c (Finternal_set_font_selection_order): Remove leading
9 whitespace that confuses documentation.
10
a20878b6
MB
112009-02-23 Miles Bader <miles@gnu.org>
12
13 * process.c (Flist_system_processes, Fprocess_attributes)
14 (syms_of_process): Rename `system-process-attributes' to
15 `process-attributes'.
16
b3b58c01
AS
172009-02-22 Andreas Schwab <schwab@linux-m68k.org>
18
1b3b981b
AS
19 * coding.h (struct coding_system): Make safe_charsets a pointer to
20 unsigned char.
21 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
22 being 255.
23 (SAFE_CHARSET_P): Likewise.
24 (setup_iso_safe_charsets): Properly setup safe_charsets.
25 (Fdefine_coding_system_internal): Likewise.
26 (setup_coding_system): Likewise. Remove unneeded casts.
27 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
28 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
29 unneeded casts.
30
b3b58c01
AS
31 * insdel.c (del_range_2): Don't modify gap contents when called
32 from decode_coding_object. (Bug#1809)
33
0b6f228c
CY
342009-02-21 Chong Yidong <cyd@stupidchicken.com>
35
36 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
37 Qfont_object.
38 (Ftype_of): Recognize font objects.
39
40 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
41
42 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
43 moved to data.c.
44
52f8870b
AR
452009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
46
47 * nsterm.m (x_make_frame_invisible): Unset async_visible,
48 async_iconified. Based on a patch by Christian Lynbech
49 <christian.lynbech@tieto.com>.
50 (EmacsView-windowDidMiniaturize:): Unset async_visible.
51
7087d5e9
GM
522009-02-20 Glenn Morris <rgm@gnu.org>
53
54 * syntax.c (Fskip_chars_forward): Fix doc typo.
55
41d2ceef
CY
562009-02-20 Chong Yidong <cyd@stupidchicken.com>
57
58 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
59
1a3b7ca6
CY
602009-02-19 Chong Yidong <cyd@stupidchicken.com>
61
62 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
63
73cce38d
KH
642009-02-19 Kenichi Handa <handa@m17n.org>
65
66 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 67 Don't overflow coding->carryover. (Bug#2370)
73cce38d 68
a51092ee
DN
692009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
70
71 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
72
c423ecca
KH
732009-02-18 Kenichi Handa <handa@m17n.org>
74
75 * font.c (font_check_otf_features): Fix handling of `nil' element.
76 (Ffont_spec): Describe :lang and :otf in the docstring.
77
4c1958f4
AS
782009-02-16 Andreas Schwab <schwab@suse.de>
79
80 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
81 string.
82
5704f39a
KH
832009-02-16 Kenichi Handa <handa@m17n.org>
84
85 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 86 (Bug#1723)
5704f39a 87
8f0085aa
CY
882009-02-14 Chong Yidong <cyd@stupidchicken.com>
89
a057d86a 90 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
91
92 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
93 (handle_line_prefix): Suppress wrapping of wrap prefixes.
94
aff01dd9
EZ
952009-02-14 Eli Zaretskii <eliz@gnu.org>
96
97 * msdos.c (MAX_SCREEN_BUF): New macro.
98 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
99 Encode the entire run of glyphs sharing the same face, instead of
100 doing that one glyph at a time (fixes a bug with displaying
101 double-size characters).
102
ba301db3
AR
1032009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
104
105 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
106
107 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
108 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 109 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
110
111 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 112 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 113
51d861de
SM
1142009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
115
116 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
117 invisible areas.
118
7fed8996
JR
1192009-02-12 Jason Rumney <jasonr@gnu.org>
120
631ea4fb
JR
121 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
122 (add_font_entity_to_list): Call check_face_name even when family
123 is unspecified.
124
cb4a3e42
JR
125 * w32term.c (x_display_pixel_height, x_display_pixel_width):
126 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 127 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 128
7fed8996 129 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 130 raster fonts. (Bug#2219)
7fed8996 131
895416e3
KH
1322009-02-12 Kenichi Handa <handa@m17n.org>
133
134 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
135 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
136 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 137 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
138 (find_automatic_composition): While looking forward and backward,
139 check static composition. Fix where to stop looking forward.
140 (composition_adjust_point): Fix checking of static composition.
141 (Fcomposition_get_gstring): Pay attention to
1dacf998 142 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
143
144 * lisp.h (fast_looking_at): Extern it.
145
146 * search.c (fast_looking_at): New function.
147
51d861de 148 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
149 <struct glyph>.u.cmp.to.
150 (append_composite_glyph): Likewise.
151
51d861de 152 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
153 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
154 composition.
51d861de 155 (append_composite_glyph): Adjust for the change of
895416e3
KH
156 <strcut glyph>.u.cmp.to.
157
8510724d
JB
1582009-02-11 Juanma Barranquero <lekktu@gmail.com>
159
160 * casetab.c (init_casetab_once):
161 * coding.c (ALLOC_CONVERSION_WORK_AREA):
162 * font.c (font_update_lface):
163 * fontset.c (Fnew_fontset):
164 * ftfont.c (ftfont_drive_otf):
165 * xfont.c (xfont_open):
166 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
167
294fa707
SM
1682009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
169
170 * fileio.c (Fwrite_region): !NILP -> CONSP.
171
b5bfebec
AS
1722009-02-10 Andreas Schwab <schwab@suse.de>
173
174 * process.c (send_process): Properly relocate pointer into data
adab88bd 175 when using encoded data. (Bug#2272)
b5bfebec 176
cb84a2be
KH
1772009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
178
179 * coding.c (detect_coding_charset): Fix previous change.
180
89e09428
JR
1812009-02-08 Jason Rumney <jasonr@gnu.org>
182
183 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 184 disappeared while hourglass was displayed. (Bug #2193)
89e09428 185
4470a277
AS
1862009-02-07 Andreas Schwab <schwab@suse.de>
187
188 * unexelf.c (unexec): Fix error message.
189
3175b12a
AR
1902009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
191
192 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 193 when modal window is active. (Bug #2152)
3175b12a
AR
194 (applicationShouldTerminate:): Remove now-unneeded while loop
195 around NSRunAlertPanel.
196
197 * nsmenu.m (popupSession): New file-global variable.
198 (pop_down_menu): End the popupSession before closing dialog.
199 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
200 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
201 don't query NSApp for events (just sleep instead).
202
8434d0b8
EZ
2032009-02-07 Eli Zaretskii <eliz@gnu.org>
204
51d861de
SM
205 * coding.c (syms_of_coding) <translation-table-for-input>:
206 Modify doc string to discourage use for character code unification.
8434d0b8 207
aa82edfd
CY
2082009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
209
210 * atimer.c (run_timers): Update pending_atimers.
211
2d283c7c
CY
2122009-02-06 Chong Yidong <cyd@stupidchicken.com>
213
eb306cab
CY
214 * image.c (svg_load_image): Fix last change.
215
2d283c7c
CY
216 * xfns.c (Fx_create_frame): Signal an error if no font is
217 found (Bug#2147).
218
4d8e170e
JB
2192009-02-05 Juanma Barranquero <lekktu@gmail.com>
220
221 * character.c (syms_of_character) <script-representative-chars>:
222 Fix typo in docstring.
223
c96169a0
AR
2242009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
225
226 * nsmenu.m (pop_down_menu): New function.
227 (ns_popup_dialog): Call it on unwind.
228 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
229 call timer_check() (Bug#2154).
230 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
231 handling_signal is set.
232 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
233
234 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
235
236 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
237
238 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
239
51d861de
SM
240 * keyboard.c (poll_for_input_1, handle_async_input):
241 Set handling_signal under HAVE_NS.
c96169a0 242
aacd8ba1
GM
2432009-02-04 Glenn Morris <rgm@gnu.org>
244
245 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
246
4cb75c4b
KH
2472009-02-04 Kenichi Handa <handa@m17n.org>
248
249 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
250
251 * charset.c (Fchar_charset): New optional arg restriction.
252
253 * coding.h (coding_system_charset_list): Extern it.
254
255 * coding.c (coding_system_charset_list): New function.
256
257 * composite.c: Include coding.h and termhooks.h.
258 (composition_gstring_p): Fix for the terminal case.
259 (composition_gstring_width): Likewise.
260 (fill_gstring_body): Likewise.
261 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
262 the frame.
263 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
264 is within a composition.
867d4bb3 265 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
266
267 * term.c (encode_terminal_code): Fix handling of composition.
268 (produce_composite_glyph): For static composition, get pixel_width
269 from struct composition.
270
826ba17e
AS
2712009-02-02 Andreas Schwab <schwab@suse.de>
272
273 * unexelf.c (unexec): Handle unaligned bss offset.
274
8ad093db
AR
2752009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
276
277 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
278 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 279
8ad093db
AR
280 * keyboard.c (handle_interrupt): Don't call
281 quit_throw_to_read_char() under NS.
d0a76a6e 282
8ad093db
AR
283 * blockinput.h: Remove NS-specific code.
284
4d18a7a2
DN
2852009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
286
db878925
DN
287 * dispnew.c (window_change_signal): Don't try to get the size of a
288 suspended tty frame.
289 * term.c (Fresume_tty): Resize if the size has changed while the
290 tty was suspended.
291
4d18a7a2
DN
292 * alloc.c (mark_stack): Properly conditionalize previous change.
293
8984df7c
JB
2942009-01-30 Juanma Barranquero <lekktu@gmail.com>
295
296 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
297 * w32term.c (w32_read_socket) [SYNC_INPUT]:
298 Remove; this code is not used on Windows.
299
75f4f1ac
EZ
3002009-01-30 Eli Zaretskii <eliz@gnu.org>
301
302 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
303 EOLs that also has stray ^M characters.
304
07a1e794
JB
3052009-01-30 Juanma Barranquero <lekktu@gmail.com>
306
307 * atimer.c (run_timers, alarm_signal_handler):
308 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
309 * w32inevt.c (w32_console_read_socket):
310 * w32term.c (w32_read_socket):
311 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
312
a8b11cc9
CY
3132009-01-30 Chong Yidong <cyd@stupidchicken.com>
314
315 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
316 Initialize it as a relative filename pattern.
317 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
318 (Fcall_process_region): Simplify temp file creation using
319 temporary-file-directory.
320
c279587b
EZ
3212009-01-29 Eli Zaretskii <eliz@gnu.org>
322
323 * msdos.c: Rename pending_signals to msdos_pending_signals.
324 (sig_suspender, sigprocmask): Adjust.
325
a8fe3242
CY
3262009-01-29 Chong Yidong <cyd@stupidchicken.com>
327
328 * keyboard.c (pending_signals): New var.
329 (poll_for_input, input_available_signal, init_keyboard): Set it.
330 (process_pending_signals): New function.
331
332 * lisp.h (QUIT): Check pending_signals instead of
333 interrupt_input_pending. Use process_pending_signals.
334
51d861de 335 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 336
51d861de 337 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
338
339 * sysdep.c (emacs_write): Use process_pending_signals.
340
341 * xterm.c (XTread_socket): Update pending_signals.
342
343 * w32term.c (w32_read_socket): Update pending_signals.
344
345 * w32inevt.c (w32_console_read_socket): Update pending_signals.
346
6570a1c4
KH
3472009-01-29 Kenichi Handa <handa@m17n.org>
348
349 * xftfont.c (xftfont_has_char): New function.
350 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
351
d72a4afa
AR
3522009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
353
354 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
355 under GNUstep.
356 (ns_query_color): New declaration.
357
358 * nsterm.m (ns_confirm_quit): New variable.
359 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
360 (EmacsApp-applicationShouldTerminate:): Use it.
361 (EmacsPrefsController): Let user set it.
362 (ns_query_color): New function.
363 (ns_defined_color): Use it.
364 (ns_initialize): Drop.
365 (ns_term_init): Add two lines from ns_initialize(), and set
366 input_interrupt_mode to nil.
367
368 * image.c (svg_load_image): Don't right-shift background RGB when
369 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
370
9fe78804
KH
3712009-01-28 Kenichi Handa <handa@m17n.org>
372
373 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
374 (fontset_get_font_group): Remember that no font-group is specified
375 for C.
9fe78804 376
fa57de36
CY
3772009-01-27 Chong Yidong <cyd@stupidchicken.com>
378
930600e9
CY
379 * fns.c (concat): Check for string overflow (bug#1787).
380
fa57de36
CY
381 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
382 Quadruple undo limits (bug#1501).
383
7179ce7b
KH
3842009-01-27 Kenichi Handa <handa@m17n.org>
385
386 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
387 directly use GT_Get_Char_index.
388
389 * xftfont.c (struct xftfont_info): New member `index'.
390
391 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 392 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 393
5be8fcc0
CY
3942009-01-26 Kenichi Handa <handa@m17n.org>
395
396 * fontset.c (fontset_find_font): Fix handling of non-cons return
397 value of fontset_get_font_group.
398 (fontset_font): Revert last change.
399
19ae3e61
JR
4002009-01-26 Jason Rumney <jasonr@gnu.org>
401
402 * w32font.c (w32font_list_internal): Return quickly if registry is
403 unknown. Simplify final return.
404 (add_font_entity_to_list): Break complex logic down into more
405 manageable chunks. Move unknown registry check to
406 w32font_list_internal.
407
8612b71a
AR
4082009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
409
410 Changes to remove Feval calls from GUI under NS.
411
d8038940
JB
412 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
413 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
414 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
415
416 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
417 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
418 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
419 instead of NON_ASCII_KEYSTROKE_EVENT.
420 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
421 (EmacsApp-applicationShouldTerminate:): Query user.
422 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
423 instead of Feval.
424
425 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
426
427 * keyboard.c (kbd_buffer_get_event): Check for it.
428 (keys_of_keyboard): Define lispy keys for
429 ns-put/unput-working-text.
430
431 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
432 versions.
433 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
434
6288ae55
CY
4352009-01-25 Chong Yidong <cyd@stupidchicken.com>
436
437 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 438 setting current_buffer directly. (Bug#2044)
6288ae55 439
289e7f8f
CY
4402009-01-24 Chong Yidong <cyd@stupidchicken.com>
441
5ce87308 442 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 443 any work. (Bug#1952, bug#1990).
5ce87308 444
64cc3cf6 445 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 446
b3243e6f
AR
4472009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
448
449 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
450 (ns_no_defaults): New declaration.
451 (main): Use it.
e0d2e69a 452
d900b2af 453 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 454
d900b2af 455 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 456
d900b2af
AR
457 * nsterm.m (ns_no_defaults): New variable.
458 (ns_initialize): Don't read defaults when ns_no_defaults.
459 (EmacsView-readSelectionFromPasteboard:)
460 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 461 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
462 (ns_dumpglyphs_stretch): New function.
463 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 464 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 465
e0d2e69a
AR
466 * nsimage.m (setPixmapData:): Set to ignore image DPI.
467
3ac71f5d
CY
4682009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
469
470 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
471 call for Sparc64.
472
3fe53a83
AR
4732009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
474
475 * nsfns.m:
476 * nsgui.h:
477 * nsmenu.m:
478 * nsselect.m:
479 * nsterm.h:
480 * nsterm.m: Remove '23' comments that indicated code added during
481 update from emacs-20 -> emacs-23.
482
10f87c6f 4832009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
484
485 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 486 ns_alternate_modifier. (Bug#1217)
a3b53a85 487
c7cef62d
AR
488 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
489 Display all shortcuts, including those w/o super modifier.
490
575fb8bd
AR
491 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
492
918b848b
CY
4932009-01-22 Chong Yidong <cyd@stupidchicken.com>
494
495 * fileio.c (Vwrite_region_post_annotation_function)
496 (Vwrite_region_annotation_buffers): New vars.
497 (build_annotations_unwind): Just reset
498 Vwrite_region_annotation_buffers.
499 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
500 Call write-region-post-annotation-function.
501 (build_annotations): Add to Vwrite_region_annotation_buffers if
502 buffer changes.
503
a39e2539
AR
5042009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
505
506 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
507 Tiger.
51d861de
SM
508 * nsfns.m (ns_do_applescript):
509 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 510
35ed44db
AR
5112009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
512
513 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
514
cbe0b5bf
AR
5152009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
516
517 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 518
6049d3a0
AR
519 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
520
521 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
522 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
523 handle Ctrl-tab. (Bug#1841)
524 (ns_get_color): Use unsigned long long for scanned hex string value.
525 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 526 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 527 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 528 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 529 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 530 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 531 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 532
d3810c21 533 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 534 DPI. (Bug#1316)
d3810c21
AR
535 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
536 values in onTiger section.
4c7077c3 537
e301e634
CY
5382009-01-19 Chong Yidong <cyd@stupidchicken.com>
539
7f82490b
CY
540 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
541 Check return value of font_spec_from_name.
64cc3cf6 542 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
543
544 * font.c (font_spec_from_name): Return Qnil if font name could not
545 be parsed.
546 (font_parse_name): Treat a `?' character as part of an XLFD.
547
e301e634
CY
548 * fns.c (Fsubstring): Doc fix.
549
1c0db158
KH
5502009-01-19 Kenichi Handa <handa@m17n.org>
551
51d861de 552 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
553 (ftfont_list): Likewise.
554
acf20901
JB
5552009-01-18 Juanma Barranquero <lekktu@gmail.com>
556
fff4e459
JB
557 * dbusbind.c (Fdbus_register_signal):
558 * process.c (conv_sockaddr_to_lisp):
559 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
560
acf20901
JB
561 * callproc.c (Fgetenv_internal): Doc fix.
562
e7abcdfb
CY
5632009-01-16 Chong Yidong <cyd@stupidchicken.com>
564
565 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
566 it is not even used.
567
b60861e6
GM
5682009-01-16 Glenn Morris <rgm@gnu.org>
569
570 * font.c (Ffont_variation_glyphs): Silence compiler.
571
8db52afe
JB
5722009-01-15 Juanma Barranquero <lekktu@gmail.com>
573
574 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
575 Reported by David Robinow <drobinow@gmail.com>.
576
4cddb209
KH
5772009-01-15 Kenichi Handa <handa@m17n.org>
578
51d861de 579 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 580
f247f67b
JR
5812009-01-14 Jason Rumney <jasonr@gnu.org>
582
583 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 584 never a fontset. (Bug#1562)
f247f67b 585
f56a4450
KH
5862009-01-14 Kenichi Handa <handa@m17n.org>
587
588 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 589 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 590
4e99855e
CY
5912009-01-13 Chong Yidong <cyd@stupidchicken.com>
592
593 * font.c (font_clear_prop): If clearing the family, clear the font
594 width index too.
595
fff4e459 596 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 597
24f01470
JB
5982009-01-12 Juanma Barranquero <lekktu@gmail.com>
599
600 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
601 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
602 functions, use sizeof.
603
a41240a3
MR
6042009-01-12 Martin Rudalics <rudalics@gmx.at>
605
606 * keyboard.c (read_char): Fix case where last_nonmenu_event
607 returned a bad value with submenus. (Bug#447)
608
944636b8
CY
6092009-01-12 Chong Yidong <cyd@stupidchicken.com>
610
611 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
612 family, clear the font width index too.
613
0dad7c6f
JR
6142009-01-11 Jason Rumney <jasonr@gnu.org>
615
616 * keyboard.c (cmd_error_internal): Exit when errors occur before
617 frame creation and not in daemon mode. (Bug#1836)
618
7c2363af
CY
6192009-01-10 Chong Yidong <cyd@stupidchicken.com>
620
621 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
622 of a display vector, backtrack.
623 (try_window_reusing_current_matrix): Check glyph type before
624 referencing charpos member.
625
97b1b294
EZ
6262009-01-10 Eli Zaretskii <eliz@gnu.org>
627
628 Fix Bug #876:
629
630 * coding.c (inhibit_null_byte_detection): New variable.
631 (detect_coding, detect_coding_system): Don't pay attention to null
632 bytes if inhibit_null_byte_detection is non-zero.
51d861de 633 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
634 <inhibit-iso-escape-detection>: Doc fix.
635
4624b6e3
JR
6362009-01-09 Jason Rumney <jasonr@gnu.org>
637
638 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 639 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
640 Only report Unicode Plane 2 fonts as unicode-sip.
641
323b840c
CY
6422009-01-09 Chong Yidong <cyd@stupidchicken.com>
643
51d861de
SM
644 * xfaces.c (Fx_font_family_list): Delete function.
645 Move compatibility version to faces.el.
323b840c 646
51d861de 647 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 648
eba7400d
MR
6492009-01-09 Martin Rudalics <rudalics@gmx.at>
650
651 * frame.c (x_set_frame_parameters): Remember requested value for
652 fullscreen before it's reset by the parameter handler.
653
4b09796d
GM
6542009-01-09 Glenn Morris <rgm@gnu.org>
655
656 * keyboard.c (last_command_char): For clarity, rename to...
657 (last_command-event): ... and update all users.
658 (last_input_char): For clarity, rename to...
659 (last_input_event): ... and update all users.
660 (last-command-char, last-input-char): Move to subr.el as aliases.
661 * cmds.c, commands.h: Update for last_command_char rename.
662
14ccea62
CY
6632009-01-08 Chong Yidong <cyd@stupidchicken.com>
664
51d861de 665 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 666
5f004711
JR
6672009-01-08 Jason Rumney <jasonr@gnu.org>
668
669 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
670 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
671 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
672 Don't declare.
fff4e459 673 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
674 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
675
b71f6f73
KH
6762009-01-07 Kenichi Handa <handa@m17n.org>
677
50b06221 678 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 679 remember the coding system used for decoding in
50b06221
KH
680 coding_system (Bug#1039).
681
b71f6f73 682 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 683 breaking the loop. (Bug#870)
b71f6f73
KH
684 (decode_coding_utf_16, decode_coding_emacs_mule)
685 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
686 (decode_coding_charset): Likewise.
687
56f668f7
MR
6882009-01-05 Martin Rudalics <rudalics@gmx.at>
689
690 * frame.c (x_set_frame_parameters): Make sure height (width) get
691 applied when fullwidth (fullheight) is set. (Bug#1522)
692
5da9424d
JB
6932009-01-04 Juanma Barranquero <lekktu@gmail.com>
694
695 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
696 (utc_base): Declare as ULONGLONG, not long double.
697 (convert_time_raw): Delete.
698 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
699 (initialize_utc_base): New function.
700 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
701 (convert_from_time_t): Use initialize_utc_base; compute result with
702 64-bit arithmetic.
703 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
704
c4605e09
EZ
7052009-01-03 Eli Zaretskii <eliz@gnu.org>
706
9acef61c 707 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
708 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
709 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
710 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
711 [!subprocesses]: Define.
712 (syms_of_process) [!subprocesses]: Intern and staticpro them.
713 (Flist_system_processes, Fsystem_process_attributes)
714 [!subprocesses]: Call list_system_processes and
715 system_process_attributes instead of returning Qnil.
716
9acef61c
JB
717 * dosfns.c (system_process_attributes, list_system_processes):
718 New functions.
c4605e09
EZ
719
720 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
721
722 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
723 Don't use the default (no-op) implementation.
724
8b7d0a16
JR
7252009-01-03 Jason Rumney <jasonr@gnu.org>
726
a6d46bc1
JR
727 * keyboard.c (parse_modifiers_uncached): Wheel events are
728 clicks (bug#687).
729
8b7d0a16
JR
730 * w32term.c (x_query_colors, x_query_color): New functions.
731
732 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
733 (svg_load_image): Cast returned pointers from dynamically loaded
734 functions. Eliminate W32 specific code.
735
bfe11752
DN
7362009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
737
89e2438a
DN
738 * nsfns.m (x_set_foreground_color, x_set_background_color)
739 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
740 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
741 x_ prefix instead of ns_. Update references.
742 (syms_of_nsfns): Add a FIXME comment.
743
744 * nsterm.m (x_set_cursor_type): New prototype.
745 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
746
bfe11752
DN
747 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
748 for Solaris instead of incorrectly providing Qutime and Qcutime.
749
031da700
EZ
7502009-01-02 Eli Zaretskii <eliz@gnu.org>
751
752 * w32.c (process_times): Compute sum of utime and stime.
753 (system_process_attributes): Add Qtime to the alist.
754
755 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
756 and add them to the alist.
757
758 * process.c (top level) <Qtime, Qctime>: New variables.
759 (syms_of_process): staticpro them.
760 (Fsystem_process_attributes): Add their documentation to the doc
761 string.
762
763 * process.h: Declare Qtime and Qctime.
764
df23bf08
JR
7652009-01-02 Jason Rumney <jasonr@gnu.org>
766
9acef61c 767 * image.c (Qgobject): New symbol.
df23bf08
JR
768 (syms_of_image): Initialize it.
769 (init_svg_functions): Load some functions from gobject library.
770
5bbdf7aa
DN
7712009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
772
773 * frame.c (make_terminal_frame): Remove redundant code and useless
774 block.
775
63136da6
AS
7762009-01-01 Andreas Schwab <schwab@suse.de>
777
778 * process.c (conv_sockaddr_to_lisp): Add workaround for
779 getsockname bug on BSD.
780
9ef69046
CY
7812009-01-01 Chong Yidong <cyd@stupidchicken.com>
782
d6fafbe0
CY
783 * xfns.c (x_create_tip_frame): Set border width of the X window.
784
51d861de 785 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 786
f9c34147
JR
7872009-01-01 Jason Rumney <jasonr@gnu.org>
788
9acef61c 789 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
790 Don't block input, as per earlier xterm.c changes.
791
f5497e45
AR
7922008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
793
794 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
795 (ns_appkit_version_int): New function.
796 (x-server-version): Use ns_appkit_version_int and follow 21+
797 convention of returning 3 integers.
798
c19cab20
KH
7992008-12-30 Kenichi Handa <handa@m17n.org>
800
801 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
802 (CHAR_SURROGATE_PAIR_P): New macro.
803
804 * font.h (struct font_driver): New member get_variation_glyphs.
805
9acef61c 806 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
807 (Ffont_variation_glyphs): New function.
808 (syms_of_font): Defsubr it.
809
810 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
811 ftfont_variation_glyphs.
812 (setup_otf_gstring): New function.
813 (ftfont_drive_otf): Use it.
814 (ftfont_shape_by_flt): Handle variation selector.
815 (ftfont_variation_glyphs): New function.
816
28cd591f
MR
8172008-12-30 Martin Rudalics <rudalics@gmx.at>
818
819 * frame.c (Vemacs_iconified): Remove.
820
7f714baf
JR
8212008-12-30 Jason Rumney <jasonr@gnu.org>
822
823 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 824 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 825
9d2d22ab
CY
8262008-12-30 Chong Yidong <cyd@stupidchicken.com>
827
828 * indent.c (Fvertical_motion): Don't advance iterator if we have
829 reseated to the desired position.
830
831 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
832 checking for pos match.
833
545312c2
KH
8342008-12-30 Kenichi Handa <handa@m17n.org>
835
1ede3eb6
KH
836 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
837 just get the low 8-bit of the code.
838
545312c2
KH
839 * font.c (font_intern_prop): Validate str as multibyte.
840
bd7bbf29
DN
8412008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
842
31e0750e
DN
843 * dispextern.h (struct face): Move lface and hash from the middle
844 of bitfields.
845
bd7bbf29
DN
846 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
847
b5672e7c
DN
8482008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
849
850 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
851 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
852 instead of intervals.h.
853
d704470f
AS
8542008-12-26 Andreas Schwab <schwab@suse.de>
855
856 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
857 cons.
858
54b33868
MR
8592008-12-26 Martin Rudalics <rudalics@gmx.at>
860
861 * textprop.c (Qminibuffer_prompt): New variable.
862 (syms_of_textprop): Initialize it.
863 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
864 in minibuffer-prompt face. (Bug#1662)
865
40b615d6
JR
8662008-12-25 Jason Rumney <jasonr@gnu.org>
867
868 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
869
baae5c2d
JR
8702008-12-24 Jason Rumney <jasonr@gnu.org>
871
872 * ralloc.c (r_alloc_reset_variable): New function.
873
874 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 875 record of what points where. (Bug#716)
baae5c2d 876
a9051c88
DN
8772008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
878
879 * minibuf.c (read_minibuf): Follow the non-interactive case when
880 running as a daemon, before detaching.
881
8b146312
AS
8822008-12-22 Andreas Schwab <schwab@suse.de>
883
884 * buffer.c (init_buffer): Use realloc instead of xrealloc.
885 * gtkutil.c (free_widget_value): Use xfree instead of free.
886
56f2de10
MR
8872008-12-22 Martin Rudalics <rudalics@gmx.at>
888
889 * frame.c (delete_frame): New function derived from
890 Fdelete_frame to handle Qnoelisp value for FORCE argument.
891 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
892 (Fdelete_frame): Call delete_frame. Remove line from doc-string
893 saying that FORCE non-nil doesn't run `delete-frame-functions'.
894 * frame.h: Extern delete_frame.
895 * window.c (window_loop):
896 * terminal.c (delete_terminal):
897 * xterm.c (x_connection_closed):
898 * xfns.c (Fx_hide_tip):
9acef61c 899 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 900
1fc200d6
JR
9012008-12-21 Jason Rumney <jasonr@gnu.org>
902
903 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
904 when character maps to .notdef character.
905
5e252df2
SM
9062008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
907
908 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
909
99b72cc4
JR
9102008-12-20 Jason Rumney <jasonr@gnu.org>
911
912 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 913 a graphical frame on Windows. (Bug#1325)
99b72cc4 914
acc49a52
JD
9152008-12-20 Jan Djärv <jan.h.d@swipnet.se>
916
917 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
918
6ea15123
CY
9192008-12-20 Chong Yidong <cyd@stupidchicken.com>
920
921 * minibuf.c (Fread_buffer): Doc fix.
922
b2dab6c8
JR
9232008-12-20 Jason Rumney <jasonr@gnu.org>
924
54ea0c87 925 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 926 server name in UNC paths. (Bug#719)
54ea0c87 927
b2dab6c8 928 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 929 charbuf. (Bug#1035)
b2dab6c8 930
6d1921be
DN
9312008-12-19 Daniel Engeler <engeler@gmail.com>
932
933 * sysdep.c (serial_configure): Fix typo.
934
53934c98
DN
9352008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
936
937 * sysdep.c: Include alloca.h.
f4f634e8
DN
938 (system_process_attributes): Add implementation for Solaris.
939
940 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 941
06e111a6
DN
9422008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
943
944 Reorganize implementation of Flist_system_processes and
945 Fsystem_process_attributes. No functional changes.
946 * process.c: Don't #include pwd.h, grp.h and limits.h.
947 (Flist_system_processes): Just call list_system_processes.
948 (Fsystem_process_attributes): Just call system_process_attributes.
949 (procfs_list_system_processes, time_from_jiffies)
950 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
951 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
952
953 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
954 (list_system_processes): Rename from
955 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
956 Provide a do nothing implementation.
957 (system_process_attributes): Rename from
958 procfs_list_system_processes.
959 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 960 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
961
962 * w32.c (list_system_processes): Rename from
963 w32_list_system_processes.
964 (system_process_attributes): Rename from
965 w32_system_process_attributes.
966
967 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
968
969 * process.h (w32_list_system_processes)
970 (w32_system_process_attributes): Remove.
971 (list_system_processes, system_process_attributes): New
972 prototypes.
973
6a705b23
KH
9742008-12-19 Kenichi Handa <handa@m17n.org>
975
976 * xfont.c (xfont_decode_coding_xlfd): New function.
977 (xfont_encode_coding_xlfd): New function.
978 (xfont_list_pattern): Decode XLFD by iso-8859-1.
979 (xfont_list): Decode and encode XLFD by iso-8859-1.
980 (xfont_match): Likewise.
981 (xfont_list_family): Likewise.
982 (xfont_open): Likewise.
983
d66c0241 984 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
985 names are utf-8.
986
d66c0241 987 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
988 names are utf-8.
989
5a130941
JD
9902008-12-18 Jan Djärv <jan.h.d@swipnet.se>
991
992 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
993 changed.
bfd20325
JD
994 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
995 clicked on a detached tool bar button.
5a130941 996
fd95644b
DN
9972008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
998
999 * emacs.c (main): Print and error and exit when no data is read
1000 from the pipe.
1001
e6eee6ae
JR
10022008-12-17 Jason Rumney <jasonr@gnu.org>
1003
1004 * w32font.c (w32font_has_char): Always return -1.
1005
a35dd56b
KH
10062008-12-16 Kenichi Handa <handa@m17n.org>
1007
1008 * font.c (font_open_entity): Fix previous change.
1009
0e3635c2
DN
10102008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1011
1012 * process.c: Include <limits.h>.
1013
d4835507 10142008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
1015
1016 * font.c (font_update_drivers): Fix mistake in reconstructing the
1017 driver list.
1018
10192008-12-16 Chong Yidong <cyd@stupidchicken.com>
1020
1021 * font.c (font_clear_cache): Fix format of font cache data.
1022
e2cbc401
CY
10232008-12-15 Chong Yidong <cyd@stupidchicken.com>
1024
1025 * xftfont.c (xftfont_open): Free Xft font pattern if
1026 XftFontOpenPattern fails.
1027
1028 * xterm.c (x_free_frame_resources): Remove extraneous call to
1029 free_frame_faces.
1030
b131d535
CY
10312008-12-13 Chong Yidong <cyd@stupidchicken.com>
1032
1033 * xterm.c (x_delete_display): Move xim_close_dpy call to
1034 x_delete_terminal.
1035 (x_delete_terminal): Call xim_close_dpy.
1036
e6df5336
JR
10372008-12-13 Jason Rumney <jasonr@gnu.org>
1038
1039 * w32font.c (intern_font_name): New function.
1040 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1041 (w32font_open_internal, Fx_select_font): Decode font name.
1042 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1043
1044 * w32font.h (intern_font_name): Declare new function.
1045
1046 * w32uniscribe.c (add_opentype_font_name_to_list):
1047 Use intern_font_name.
1048
20d68145
CY
10492008-12-13 Chong Yidong <cyd@stupidchicken.com>
1050
9f2554de
CY
1051 * frame.c (Fdelete_frame): Call free_font_driver_list.
1052
3d9bec9a
CY
1053 * font.c (free_font_driver_list): Implement missing function.
1054
20d68145
CY
1055 * w32term.c (w32_term_init): Don't initialize the image cache
1056 here; it will be done in init_frame_faces.
1057
1058 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1059 (struct x_display_info): Remove unused member null_pixel. New
1060 member xim_callback_data.
1061
1062 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1063 (xim_initialize): Save pointer to callback function data.
1064 (xim_close_dpy): Free callback function data. Call XCloseIM,
1065 reverting 2008-11-04 change by David Smith.
1066 (x_term_init): Don't initialize the image cache here; it will be
1067 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1068 (x_delete_display): Free x_dnd_atoms member.
1069
96f9306b
KH
10702008-12-13 Kenichi Handa <handa@m17n.org>
1071
6dec9044
JB
1072 * font.c (font_rescale_ratio): Moved from xfaces.c.
1073 Argument type changed. Handle a font-spec too.
96f9306b 1074 (font_score): Check Vface_font_rescale_alist.
6dec9044 1075 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
1076
1077 * xfaces.c (font_rescale_ratio): Moved to font.c.
1078
8d5b4964
CY
10792008-12-13 Chong Yidong <cyd@stupidchicken.com>
1080
1081 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1082
e6df5336
JR
10832008-12-12 Jason Rumney <jasonr@gnu.org>
1084
1085 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1086 Vwindow_system_version to the real w32 major version.
1087
97c6058a
DN
10882008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1089
1090 * term.c (init_tty): Move setting the terminal name before the
1091 potential user: maybe_fatal.
1092
ec4e88d7
CY
10932008-12-11 Chong Yidong <cyd@stupidchicken.com>
1094
d4835507
JB
1095 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1096 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 1097
b4233ec9
JR
10982008-12-11 Jason Rumney <jasonr@gnu.org>
1099
8ec71e23 1100 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 1101 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1102
b4233ec9 1103 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1104 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1105
011a0143
JB
11062008-12-11 Juanma Barranquero <lekktu@gmail.com>
1107
1108 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1109
3c309f34
JB
11102008-12-11 Juanma Barranquero <lekktu@gmail.com>
1111
1112 * process.c (Fsystem_process_attributes, syms_of_process):
1113 Fix typo in name of Ssystem_process_attributes.
1114 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1115
fedc6ab5
JB
11162008-12-11 Juanma Barranquero <lekktu@gmail.com>
1117
1118 * syntax.c (Fmodify_syntax_entry): Doc fix.
1119
ba3de0e8
JB
11202008-12-10 Juanma Barranquero <lekktu@gmail.com>
1121
1122 * font.c (Ffont_spec): Move usage to end of docstring.
1123
174f1c74
JR
11242008-12-10 Jason Rumney <jasonr@gnu.org>
1125
1126 * w32font.c (Qcham): New symbol.
1127 (font_supported_scripts): Add cham, and comments for other new
1128 scripts in bitfield from OpenType spec.
9d32f818
JR
1129 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1130 contain characters beyond the bmp.
174f1c74 1131
7b649478
KH
11322008-12-10 Kenichi Handa <handa@m17n.org>
1133
1134 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1135 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1136 Qunicode_sip.
1137
2133e2d1
JB
11382008-12-10 Juanma Barranquero <lekktu@gmail.com>
1139
1140 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1141 (Fcoding_system_put): Use QCdefault_char.
1142 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1143
9af886ee
CY
11442008-12-09 Chong Yidong <cyd@stupidchicken.com>
1145
74d819eb
CY
1146 * xftfont.c (syms_of_xftfont): Fix typo.
1147
4ccfa1c0 1148 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 1149
7c19d3ae
DN
11502008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1151
1152 * emacs.c (main): Close daemon_pipe on exec.
1153
567826bb
CY
11542008-12-08 Chong Yidong <cyd@stupidchicken.com>
1155
1156 * termchar.h (struct tty): New members termcap_term_buffer and
1157 termcap_strings_buffer.
1158
1159 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 1160 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
1161 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1162 All callers changed.
1163 (init_tty): Store termcap data and string buffers in new struct
1164 tty members termcap_term_buffer and termcap_strings_buffer.
1165 (delete_tty): Free them.
4ccfa1c0 1166 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 1167
aa96c42b
SZ
11682008-12-07 Seiji Zenitani <zenitani@mac.com>
1169
1170 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 1171 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 1172
b7e1d896
CY
11732008-12-06 Chong Yidong <cyd@stupidchicken.com>
1174
1175 * coding.c (make_conversion_work_buffer): Disable buffer
1176 modification hooks in the work buffer.
1177
b5ec91a5
EZ
11782008-12-05 Eli Zaretskii <eliz@gnu.org>
1179
1180 * process.c (procfs_system_process_attributes): If `nread' has a
1181 negative value, assign zero to it.
1182
a5d2a52b
CY
11832008-12-05 Chong Yidong <cyd@stupidchicken.com>
1184
68c5540b 1185 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 1186
7bf1bb21
KH
11872008-12-05 Kenichi Handa <handa@m17n.org>
1188
1189 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1190 second character is a combining character.
1191
2fdc7d00
EZ
11922008-12-05 Eli Zaretskii <eliz@gnu.org>
1193
1194 * process.c (procfs_system_process_attributes): Don't use cmd,
1195 cmdsize, and q without initializing them first.
1196
bf6bfba8
JR
11972008-12-04 Jason Rumney <jasonr@gnu.org>
1198
1199 * w32font.c (w32font_draw): Initialize orig_clip before getting
1200 it, and delete it when finished.
1201
a3b1a468
DN
12022008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1203
1204 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1205 case when running as a daemon before detaching.
1206
8b8be8eb
JB
12072008-12-03 Juanma Barranquero <lekktu@gmail.com>
1208
805f2638 1209 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1210
b1bde622
KH
12112008-12-03 Kenichi Handa <handa@m17n.org>
1212
e500c47d
KH
1213 * font.c (font_at): Set `multibyte' at first.
1214
ca516334
KH
1215 * coding.c (decode_coding_charset): Check type of an element of
1216 vector VALIDS.
7bf1bb21 1217 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1218
4ccfa1c0 1219 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1220 (font_for_char): Likewise.
1221
1e5ecd37
CY
12222008-12-03 Chong Yidong <cyd@stupidchicken.com>
1223
d5b01609 1224 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1225 (font_update_lface): Handle fonts with corrupted size specs,
1226 i.e. non-int and non-float.
d5b01609 1227
11e3a6e4 1228 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1229 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1230 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1231
ab06788b
CY
1232 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1233
1e5ecd37 1234 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1235 underline_minimum_offset for underline position.
1e5ecd37 1236
63c125ab
DN
12372008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1238
1239 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1240
1241 * character.c (c_string_width): Specify the type for LEN.
1242
3a8406e1
KH
12432008-12-03 Kenichi Handa <handa@m17n.org>
1244
4ccfa1c0 1245 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1246 (decode_coding_utf_8): Likewise.
4ccfa1c0 1247 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1248 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1249
651df7d9
CY
12502008-12-02 Chong Yidong <cyd@stupidchicken.com>
1251
1252 * keyboard.c (make_lispy_position): Only use PT if the selected
1253 window is current.
1254
1f625c6c
AS
12552008-12-02 Andreas Schwab <schwab@suse.de>
1256
f7741ce9
AS
1257 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1258
1f625c6c
AS
1259 * doprnt.c (doprnt1): Fix size of charbuf.
1260
92bc2678
CY
12612008-12-02 Chong Yidong <cyd@stupidchicken.com>
1262
1263 * keyboard.c (timer_check): Revert last change.
1264
93b9e8cc
JB
12652008-12-02 Juanma Barranquero <lekktu@gmail.com>
1266
1267 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1268
fd7a37d5
JB
12692008-12-01 Juanma Barranquero <lekktu@gmail.com>
1270
1271 * makefile.w32-in: Update dependencies.
1272 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1273
c115043b
AS
12742008-12-01 Andreas Schwab <schwab@suse.de>
1275
1276 * font.c (register_font_driver): Use xmalloc.
1277 (font_put_frame_data): Likewise.
1278
f5668d2a
CY
12792008-12-01 Chong Yidong <cyd@stupidchicken.com>
1280
860d96be
CY
1281 * xfaces.c (realize_x_face): Make abort condition clearer.
1282
f5668d2a
CY
1283 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1284
379c17e7
CY
12852008-11-30 Chong Yidong <cyd@stupidchicken.com>
1286
1287 * keyboard.c (timer_check): After a timer runs, ensure that the
1288 selected window's buffer is current.
1289
35f36d65
JB
12902008-11-30 Juanma Barranquero <lekktu@gmail.com>
1291
f952c61c
JB
1292 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1293 It was accidentally restored by the Unicode merge.
1294
35f36d65
JB
1295 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1296
b23077df
JB
12972008-11-29 Juanma Barranquero <lekktu@gmail.com>
1298
1299 * w32proc.c: Include "coding.h".
1300 (Fw32_short_file_name): Encode filename passed to Windows API.
1301 (Fw32_long_file_name): Encode filename passed to Windows API and
1302 decode back the result. (Bug#1433)
1303
b8ebe9dd
KH
13042008-11-29 Kenichi Handa <handa@m17n.org>
1305
8cc53f96
KH
1306 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1307 not before accessing it.
1308
b8ebe9dd
KH
1309 * charset.c (Fdefine_charset_internal): After calculating
1310 min_char, max_char, and fastmap, copy the charset structure again.
1311 (encode_char): Fix the previous change.
1312
59bc82c0
SZ
13132008-11-28 Seiji Zenitani <zenitani@mac.com>
1314
1315 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1316
1317 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1318
1319 * nsterm.m (x_set_frame_alpha): New function.
1320
32247e3d
EZ
13212008-11-27 Eli Zaretskii <eliz@gnu.org>
1322
1323 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1324
b003e5ff
JB
13252008-11-27 Juanma Barranquero <lekktu@gmail.com>
1326
1327 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1328 pointer to check_face_name.
1329
708550f5
KH
13302008-11-27 Kenichi Handa <handa@m17n.org>
1331
1332 * category.h (SET_CATEGORY_SET): Call set_category_set.
1333 (set_category_set): Extern it.
1334
1335 * category.c (hash_get_category_set): New function.
1336 (Fmodify_category_entry): Adjusted for the change of
1337 char_table_ref_and_range. Call hash_get_category_set to get a
1338 category set to store in the table.
1339
1340 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1341 Funify_charset.
1342
2ae37cf0 1343 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1344 (DECODE_CHAR): Check if the decoder vector is ready.
1345 (ENCODE_CHAR): Check if the encoder char-table is ready.
1346 (maybe_unify_char): Extern it.
1347
1348 * charset.c (Vchar_unified_charset_table): Delete it.
1349 (inhibit_load_charset_map): New variable.
1350 (temp_charset_work): New variable.
1351 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1352 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1353 New macros.
1354 (load_charset_map): Meaning of control_flag changed. If
1355 inhibit_load_charset_map is nonzero, setup a table in
1356 temp_charset_work.
1357 (load_charset): New argument control_flag.
1358 (map_charset_for_dump): New function.
1359 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1360 map_charset_for_dump.
1361 (Fdefine_charset_internal): If the charset method is MAP, load
1362 mapping tables by calling load_charset.
1363 (Funify_charset): Don't load a mapping table but directly set
1364 Vchar_unify_table.
1365 (maybe_unify_char): New function.
1366 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1367 Handle the case of inhibit_load_charset_map being nonzero.
1368 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1369 Handle the case of inhibit_load_charset_map being nonzero.
1370 (Fclear_charset_maps): Just free temp_charset_work.
1371 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1372 variable.
1373
1374 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1375 change of char_table_ref_and_range.
1376 (char_table_ref_and_range): Change the meaning of argument FROM
1377 and TO. Now the caller must provide initial values for *FROM
1378 and *TO.
1379
1380 * fontset.c (fontset_add): Adjusted for the change of
1381 char_table_ref_and_range.
1382 (fontset_get_font_group): Likewise.
1383 (Ffontset_info): Likewise.
1384
1385 * keymap.c (describe_vector): Adjusted for the change of
1386 char_table_ref_and_range. For char-table, put boundary between
1387 non-ASCII and 8-bit characters.
1388
1389 * print.c (print_object): For bool-vector, delete unnecessary
1390 check of ASCII_BYTE_P.
1391
9196133b
JR
13922008-11-26 Jason Rumney <jasonr@gnu.org>
1393
1394 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1395 leading in font height. (Bug#879)
9196133b 1396
9f688acf
GM
13972008-11-26 Glenn Morris <rgm@gnu.org>
1398
1399 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1400 redefinition with ifdef. (Bug#1383)
1401
90d19aff
AR
14022008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1403
1404 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1405
4ccfa1c0 14062008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1407
1408 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1409 New EmacsView methods.
1410 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1411 Fixes bug #1048,1357,1414.
1412
14132008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1414
1415 Fix bug #1362.
1416 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1417 is not an indexed color.
1418 * nsterm.m (free_indexed_color): Add argument checking.
1419 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1420
e7d5ecb3
CY
14212008-11-24 Chong Yidong <cyd@stupidchicken.com>
1422
1423 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1424 Document confirm-after-completion value for
1425 minibuffer-completion-confirm.
1426
c285743c
JR
14272008-11-24 Jason Rumney <jasonr@gnu.org>
1428
1429 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1430 warning.
1431
b0857706
JR
14322008-11-23 Jason Rumney <jasonr@gnu.org>
1433
1434 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1435 restored before returning.
1436
1437 * w32font.c (check_face_name): New function.
1438 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1439 fonts. (Bug#642)
b0857706 1440
ee50ff07
MR
14412008-11-22 Martin Rudalics <rudalics@gmx.at>
1442
1443 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1444 confirm-nonexistent-file-or-buffer in doc-string.
1445
b8ff72fa
SM
14462008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1447
1448 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1449 Fix copy/paste typo. Add checks.
1450
cee53ed4
KH
14512008-11-21 Kenichi Handa <handa@m17n.org>
1452
1453 * coding.c (detect_coding_iso_2022): Reject invalid composition
1454 sequence.
1455 (DECODE_COMPOSITION_START): If the current source is the last
1456 block, and the current composition doesn't end, regard this
1457 sequence as invalid.
1458 (decode_coding_iso_2022): Handle invalid composition sequence.
1459
f6ef1e65
MR
14602008-11-20 Martin Rudalics <rudalics@gmx.at>
1461
1462 * window.c (coordinates_in_window): Don't return
1463 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1464 line when the window is not the rightmost one. (Bug#1372)
1465
e08b1705
MR
14662008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1467
1468 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1469
ad98e89f
EZ
14702008-11-15 Eli Zaretskii <eliz@gnu.org>
1471
1472 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1473 and bright_bg if noninteractive is non-zero.
1474
fb098a4b
CY
14752008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1476
1477 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1478 x_draw_glyph_string_background.
1479
1480 * w32term.c (x_draw_glyph_string): Likewise.
1481
ce952b6e
CY
14822008-11-15 Chong Yidong <cyd@stupidchicken.com>
1483
1484 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1485 the next glyph string once past the overhang width.
1486
1487 * nsterm.m (ns_draw_glyph_string): Likewise.
1488
1489 * w32term.c (x_draw_glyph_string): Likewise.
1490
26ea7079
CY
14912008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1492
1493 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1494 double file close.
1495
1c33c906
MR
14962008-11-14 Martin Rudalics <rudalics@gmx.at>
1497
1498 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1499 dedicated status of window before attempting to display another
1500 buffer in it.
1501
8fc29035
JB
15022008-11-14 Juanma Barranquero <lekktu@gmail.com>
1503
1504 * msdos.c (Fmsdos_long_file_names):
1505 (syms_of_msdos) <dos-unsupported-char-glyph>:
1506 * dosfns.c (Fint86): Fix typos in docstrings.
1507
55fb4286
EZ
15082008-11-14 Eli Zaretskii <eliz@gnu.org>
1509
1510 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1511
3fda0315
KY
15122008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1513
1514 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1515
7e849c17
CY
15162008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1517
1518 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1519
1520 * frame.h: Negative alpha means "don't touch".
1521
1522 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1523
1524 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1525
b9fd67bd
DN
15262008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1527
1528 * hftctl.c:
1529 * chpdef.h:
1530 * acldef.h: Remove files used only for systems no longer supported.
1531
1532 * Makefile.in: Fix .o alphabetical ordering.
1533 (hftctl.o): Remove dependency, file removed.
1534 (keymap.o, print.o): Depend on charset.h.
1535
d5998e03
KH
15362008-11-10 Kenichi Handa <handa@m17n.org>
1537
2ae37cf0 1538 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1539
be70e183
CY
15402008-11-08 Chong Yidong <cyd@stupidchicken.com>
1541
1542 * dired.c (file_name_completion): If completion_ignore_case is
1543 enabled, ignore case when checking completion-regexp-list.
1544
7cf94eac
EZ
15452008-11-08 Eli Zaretskii <eliz@gnu.org>
1546
1547 * vm-limit.c (get_lim_data): Fix last change.
1548
ee107a89
KH
15492008-11-08 Kenichi Handa <handa@m17n.org>
1550
1551 * character.c (Fget_byte): New function.
1552 (syms_of_character): Defsubr Fget_byte.
1553
5fd15622
CY
15542008-11-07 Chong Yidong <cyd@stupidchicken.com>
1555
1556 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1557 cursor position is valid after scrolling.
1558
13d62fad
JB
15592008-11-06 Juanma Barranquero <lekktu@gmail.com>
1560
1561 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1562
a1dd2936
GM
15632008-11-06 Glenn Morris <rgm@gnu.org>
1564
1565 * xterm.c (handle_one_xevent): Don't let popup menus cause
1566 mouse-autoselect-window related window switching. (Bug#1261)
1567
860cd236
CY
15682008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1569
1570 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1571
653a3150
AS
15722008-11-04 Andreas Schwab <schwab@suse.de>
1573
1574 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1575
870f5cac
CY
15762008-11-03 Chong Yidong <cyd@stupidchicken.com>
1577
1578 * xfns.c (Fx_wm_set_size_hint): New function.
1579
1e02f3cb
MR
15802008-11-03 Martin Rudalics <rudalics@gmx.at>
1581
1582 * textprop.c (Fprevious_single_char_property_change): Return 0
1583 when there's no change in a string. (Bug#1301)
1584
e630dfc6
MR
15852008-11-02 Martin Rudalics <rudalics@gmx.at>
1586
1587 * frame.c (do_switch_frame): New argument NORECORD passed to
1588 Fselect_window.
1589 (Fselect_frame): New argument NORECORD passed to
1590 do_switch_frame.
1591 (Fset_frame_selected_window): New argument NORECORD passed to
1592 Fselect_frame.
1593 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1594 in call of do_switch_frame.
1595 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1596 Handle NORECORD argument in call of Fselect_frame.
1597 * lisp.h (do_switch_frame, Fselect_frame)
1598 (Fset_frame_selected_window): Adjust declarations.
1599 * window.c (select_frame_norecord): New function.
1600 (run_window_configuration_change_hook): Use it and call
1601 Fselect_frame with NORECORD set.
1602 (Fselect_window): Pass NORECORD to Fselect_frame.
1603 (Fset_window_configuration): Handle NORECORD argument in call of
1604 do_switch_frame.
1605 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1606 Fset_frame_selected_window.
1607 * keyboard.c (command_loop_1): Handle NORECORD in call of
1608 Fselect_frame (currently ifdefd).
1609
9020b223
GM
16102008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1611
1612 * emacs.c (USAGE2): Untabify.
1613
793ffee8
SM
16142008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1615
1616 * composite.c (fill_gstring_header): Fix copy/paste typo.
1617
ab6d1131
MR
16182008-10-31 Martin Rudalics <rudalics@gmx.at>
1619
1620 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1621 (Fother_window): Rename argument and rewrite doc-string.
1622 (select_window_norecord): Fix return value. (Bug#1276)
1623
601a9cf1
JB
16242008-10-30 Juanma Barranquero <lekktu@gmail.com>
1625
1626 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1627 new frames overriding foreground for tooltips. Based on similar patch
1628 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1629
813b0652
CY
16302008-10-29 Chong Yidong <cyd@stupidchicken.com>
1631
1632 * emacs.c (Fdaemon_initialized): Initialize nfd.
1633
4414f58f
MR
16342008-10-29 Martin Rudalics <rudalics@gmx.at>
1635
1636 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1637 (Fwindow_text_height): Clarify doc-strings.
1638 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1639 doc-string of window-scroll-functions.
1640
ecdcaa09
RS
16412008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1642
1643 * category.c (syms_of_category): Fix typo in docstring.
1644
23fe745a
JB
16452008-10-28 Juanma Barranquero <lekktu@gmail.com>
1646
1647 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1648 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1649 Fix typos in docstrings.
1650
ff808935
DN
16512008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1652
1653 * emacs.c (daemon_pipe): Make non-static.
1654 (IS_DAEMON): Move definition ...
1655 * lisp.h (IS_DAEMON): ... here.
1656 (daemon_pipe): Declare.
1657 (is_daemon): Remove.
1658 * dispnew.c (init_display): Use IS_DAEMON.
1659
fc012771
SM
16602008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1661
1662 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1663 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1664
1665 * emacs.c (is_daemon): Remove.
1666 (main): Don't set is_daemon.
1667 (IS_DAEMON): New macro.
1668 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1669 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1670 parent exits.
1671 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1672
d8bdbe6f
CY
16732008-10-27 Chong Yidong <cyd@stupidchicken.com>
1674
d1a072bf
CY
1675 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1676 over-sized glyph, draw it with the default glyph width.
1677
e2e325aa
CY
1678 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1679 glyph, draw it with the default glyph width.
1680
1681 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1682 glyph, draw it with the default glyph width.
1683
d8bdbe6f
CY
1684 * xdisp.c (try_scrolling): When computing the distance from the
1685 scroll margin to PT, try moving some distance past the window
1686 bottom before giving up.
1687
7bfac547
MR
16882008-10-27 Martin Rudalics <rudalics@gmx.at>
1689
1690 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1691 (Fset_window_buffer): Explain in doc-string that a window can be
1692 "strongly" dedicated to its buffer.
1693
4ff029f6
DN
16942008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1695
1696 * emacs.c (daemon_name): New variable.
1697 (main): Deal with --daemon=SERVER_NAME.
1698 (Fdaemonp): Return a name if one was passed to --daemon.
1699
5790ef40
DN
17002008-10-26 Romain Francoise <romain@orebokech.com>
1701
f9bd0df9 1702 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1703 (main): Create a pipe before forking, make the parent exit only after
1704 the child has closed its end of the pipe. Move closing the
1705 descriptors ...
1706 (Fdaemon_initialized): ... here. New function.
1707
f5385255
SM
17082008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1709
4d632321
SM
1710 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1711 the previous unoptimized table.
1712
f5385255
SM
1713 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1714 the distinction between non-nil and non-t value of `dedicated'.
1715
6c56a0f3
CY
17162008-10-25 Chong Yidong <cyd@stupidchicken.com>
1717
1718 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1719 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1720
fec89261
MR
17212008-10-25 Martin Rudalics <rudalics@gmx.at>
1722
1723 * window.c (Fget_buffer_window, Fdelete_windows_on)
1724 (Freplace_buffer_in_windows): Make buffer argument optional and
1725 rename to buffer_or_name.
1726
34fcddd0
CY
17272008-10-24 Chong Yidong <cyd@stupidchicken.com>
1728
f5385255
SM
1729 * xdisp.c (handle_single_display_spec, handle_display_prop):
1730 Undo 2005-05-16 change.
34fcddd0
CY
1731 (handle_stop): Pop iterator if it's loaded with an empty string.
1732 (get_overlay_strings_1): Don't save iterator if it's loaded with
1733 an empty string (bug#1201).
1734
064766f2
KH
17352008-10-24 Kenichi Handa <handa@m17n.org>
1736
1737 * ftfont.c (ftfont_otf_features): Fix previous change.
1738 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1739 calling ftfont_otf_features.
1740
f9bd0df9 17412008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1742
1743 * font.c (font_match_p): Fix for the case that a vector of
1744 characters is in script-representative-chars.
1745
1dae9197
MA
17462008-10-24 Michael Albinus <michael.albinus@gmx.de>
1747
1748 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1749 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1750 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1751 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1752 macro. (Bug#1186).
1753
f9bd0df9 17542008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1755
1756 * s/sol2-10.h: New file.
1757
878a4584
JB
17582008-10-23 Juanma Barranquero <lekktu@gmail.com>
1759
1760 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1761 poor beast has survived 9+ years and the jump from xterm.c!).
1762
cd265ca6
MR
17632008-10-23 Martin Rudalics <rudalics@gmx.at>
1764
1765 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1766 Reword doc-string.
f5385255 1767 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1768
472a4dc9
JB
17692008-10-23 Juanma Barranquero <lekktu@gmail.com>
1770
1771 * character.c (syms_of_character) <script-representative-chars>:
1772 <unicode-category-table>: Doc fixes.
1773
159bd5a2
NF
17742008-10-23 Noah Friedman <friedman@splode.com>
1775
1776 * coding.c (make_conversion_work_buffer): Check that
1777 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1778 Fget_buffer_create.
1779
49f9c344
KH
17802008-10-23 Kenichi Handa <handa@m17n.org>
1781
1782 * font.c (font_add_log): Check the values of extra properties.
1783
12bb3111
MR
17842008-10-22 Martin Rudalics <rudalics@gmx.at>
1785
1786 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1787 Reword doc-string.
1788 (Fset_window_parameter): Use NILP.
1789 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1790 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1791
bbeb4e99
JB
17922008-10-22 Juanma Barranquero <lekktu@gmail.com>
1793
1794 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1795
17962008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1797
1798 * nsfns.m (ns_appkit_version): New function.
1799 (x-server-version): Use it.
1800 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1801 (x-server-vendor): Don't check_ns().
1802
1803 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1804
a9b555d3
JB
18052008-10-22 Juanma Barranquero <lekktu@gmail.com>
1806
1807 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1808 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1809
4626499f
KH
18102008-10-22 Kenichi Handa <handa@m17n.org>
1811
e3681952
KH
1812 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1813 scripts.
1814
4626499f
KH
1815 * category.c (word_boundary_p): Check scripts instead of charset.
1816 Handle nil value in word-separating-categories and
1817 word-combining-categories.
1818 (syms_of_category): Fix docstrings of word-separating-categories
1819 and word-combining-categories.
1820
1560f91a
EZ
18212008-10-21 Eli Zaretskii <eliz@gnu.org>
1822
1823 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1824 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1825
f4668441
MR
18262008-10-21 Martin Rudalics <rudalics@gmx.at>
1827
1828 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1829 Rename arg "buffer" to "buffer_or_name".
1830 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1831 it optional.
1832 (no_switch_window): Remove since the return value is not used.
a9b555d3 1833 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1834 Consider window as dedicated when Fwindow_dedicated_p returns a
1835 non-nil value.
1836 * lisp.h: Remove prototype for no_switch_window.
1837
fd75ddb2
JD
18382008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1839
1840 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1841 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1842
07295713
KH
18432008-10-21 Kenichi Handa <handa@m17n.org>
1844
1845 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1846 check Vlatin_extra_code_table.
1847
712adc82
EZ
18482008-10-20 Eli Zaretskii <eliz@gnu.org>
1849
1850 * fileio.c (Fset_file_modes): Doc fix.
1851
f549eb0b
MA
18522008-10-19 Michael Albinus <michael.albinus@gmx.de>
1853
1854 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1855 in arrays.
1856
aac0c6e3
MR
18572008-10-19 Martin Rudalics <rudalics@gmx.at>
1858
1859 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1860 Mention kill-buffer in doc-string.
1861 (Fset_window_buffer): Reinsert tem check removed in last commit.
1862 (Fenlarge_window, Fshrink_window): Have argument names and
1863 doc-string follow Elisp manual more closely.
1864
18652008-10-18 Eli Zaretskii <eliz@gnu.org>
1866
1867 * fileio.c (Fset_file_modes): Doc fix.
1868
18692008-10-18 Martin Rudalics <rudalics@gmx.at>
1870
1871 * window.c (Fwindow_width, Fset_window_start)
1872 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1873 (Fdelete_windows_on, Freplace_buffer_in_windows):
1874 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1875 (Fwindow_dedicated_p): Make window argument optional.
1876 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1877 (Fset_window_buffer): Respect any non-nil dedicated value for
1878 window. Rename "buffer" argument to "buffer_or_name".
1879
18802008-10-18 Ulrich Mueller <ulm@gentoo.org>
1881
1882 * m/sh3.h: New file, machine description for SuperH.
1883
18842008-10-17 Martin Rudalics <rudalics@gmx.at>
1885
1886 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1887
18882008-10-17 Kenichi Handa <handa@m17n.org>
1889
1890 * ftfont.c (ftfont_otf_features): Fix indexing
1891 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1892
18932008-10-16 Magnus Henoch <mange@freemail.hu>
1894
1895 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1896 (Fdbus_call_method_asynchronously): Ditto.
1897 This change makes C-h f display the argument list.
1898
18992008-10-16 Chong Yidong <cyd@stupidchicken.com>
1900
1901 * fileio.c (Fexpand_file_name): Doc fix.
1902
1903 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1904 of :foreground and :background equivalent to unspecified (20.x
1905 compatibility).
1906
19072008-10-15 Eli Zaretskii <eliz@gnu.org>
1908
1909 * buffer.c (syms_of_buffer): Doc fix.
1910
19112008-10-14 Kenichi Handa <handa@m17n.org>
1912
1913 * font.c (font_clear_prop): When clearing font width, clear the
1914 average width field too.
1915
19162008-10-12 Andreas Schwab <schwab@suse.de>
1917
1918 * ftfont.c (ftfont_shape_by_flt): Make static.
1919 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1920
1921 * font.c: Don't include <m17n-flt.h>.
1922
19232008-10-10 Eli Zaretskii <eliz@gnu.org>
1924
1925 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1926
19272008-10-09 Eli Zaretskii <eliz@gnu.org>
1928
1929 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1930 away code.
1931
19322008-10-09 Chong Yidong <cyd@stupidchicken.com>
1933
1934 * dispnew.c (update_text_area): Avoid looping due to large glyph
1935 overhangs (bug#1070).
1936
19372008-10-09 Kenichi Handa <handa@m17n.org>
1938
1939 * fontset.c (face_for_char): If face->fontset is negative, just
1940 return ascii_face.
1941
f5385255
SM
1942 * font.c (font_delete_unmatched): Fix previous change.
1943 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1944
19452008-10-09 Martin Rudalics <rudalics@gmx.at>
1946
1947 * frame.c (Fraise_frame): On text-only terminals select frame in
1948 order to make it visible. (Bug#1061)
1949
19502008-10-08 Chong Yidong <cyd@stupidchicken.com>
1951
1952 * fontset.c (fontset_find_font): Check frame validity.
1953
19542008-10-07 Chong Yidong <cyd@stupidchicken.com>
1955
a9b555d3 1956 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1957 (xg_display_close): Allow Emacs to close all displays (bug#985).
1958
19592008-10-06 Andreas Schwab <schwab@suse.de>
1960
f5385255 1961 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1962
19632008-10-06 Chong Yidong <cyd@stupidchicken.com>
1964
f5385255 1965 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1966
a9b555d3 1967 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1968
1969 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1970 during initialization.
1971
19722008-10-04 Eli Zaretskii <eliz@gnu.org>
1973
1974 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1975 whole thing on MSDOS frames as well as on a TTY.
1976
1977 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1978 well as for TTY.
1979 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1980 well as on a TTY.
1981
1982 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1983 as well as for TTY.
1984
1985 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1986
1987 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1988 MSDOS frames as well.
1989
19902008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1991
1992 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1993 correct arguments.
1994 * menu.c (find_and_return_menu_selection) Add cast.
1995
19962008-10-03 Glenn Morris <rgm@gnu.org>
1997
1998 * emacs.c (USAGE1): Add --daemon.
1999
20002008-10-02 Eli Zaretskii <eliz@gnu.org>
2001
2002 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
2003 100, so it's in percents as advertised.
2004
20052008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2006
2007 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2008 (ns_output.current_cursor, ns_output.desired_cursor)
2009 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2010 (FRAME_NEW_CURSOR_COLOR): Remove.
2011
2012 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 2013 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
2014 enumeration (HOLLOW_BOX_CURSOR, etc.).
2015
2016 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2017 (draw_window_cursor): Simplify code.
f5385255
SM
2018 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2019 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 2020 updates manually.
a9b555d3
JB
2021 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2022 Use core Emacs cursor types.
aac0c6e3 2023
b8ff72fa 2024 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
2025
20262008-10-02 Martin Rudalics <rudalics@gmx.at>
2027
2028 * process.c (Faccept_process_output): Fix doc-string.
2029
20302008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2031
2032 * gmalloc.c (__sbrk): Also define for uClibc.
2033
2034 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2035 for uClibc.
2036
20372008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2038
2039 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2040 styles.
2041 (nsfont_open): Reenable the cache.
2042
20432008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2044
2045 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2046 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2047
20482008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2049
2050 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2051 a suspended terminal.
2052
20532008-09-30 Michael Albinus <michael.albinus@gmx.de>
2054
2055 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2056
20572008-09-30 Eli Zaretskii <eliz@gnu.org>
2058
2059 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2060
20612008-09-30 Chong Yidong <cyd@stupidchicken.com>
2062
2063 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2064 in a continued line coincides with a line beginning.
2065
20662008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2067
2068 * nsfont.m (nsfont_trait_distance): Fix bug.
2069 (nsfont_list): Return a list rather than a vector (syncs with Handa
2070 changes of 2008-05-14).
2071 (nsfont_open): Improve logging.
2072
20732008-09-29 Andreas Schwab <schwab@suse.de>
2074
2075 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2076
20772008-09-28 Martin Rudalics <rudalics@gmx.at>
2078
2079 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2080 name as char-resolve-modifiers.
2081 Reported by: Markus Triska <markus.triska@gmx.at>
2082
20832008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2084
2085 * dispnew.c (init_display): Return earlier when running as a daemon.
2086
20872008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2088
2089 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2090
20912008-09-27 Eli Zaretskii <eliz@gnu.org>
2092
2093 * composite.c (Fcomposition_get_gstring)
2094 (Fcompose_region_internal, Fcompose_string_internal)
2095 (Ffind_composition_internal): Doc fix.
2096 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2097 (syms_of_composite) <auto-composition-function>: Doc fix.
2098 (syms_of_composite) <composition-function-table>: Doc fix.
2099
21002008-09-25 Chong Yidong <cyd@stupidchicken.com>
2101
2102 * search.c (wordify): New argument for lax word-ends.
2103 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2104
21052008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2106
2107 * lisp.h (is_daemon): Declare.
2108 * dispnew.c (init_display): Do not try to initialize the terminal
2109 when running as a daemon.
2110
21112008-09-22 Chong Yidong <cyd@stupidchicken.com>
2112
2113 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2114 x_display_pixel_height.
2115
21162008-09-22 Martin Rudalics <rudalics@gmx.at>
2117
2118 * undo.c (record_point): Don't call Fundo_boundary for first
2119 change. (Bug#731)
2120
21212008-09-22 Juanma Barranquero <lekktu@gmail.com>
2122
2123 * emacs.c (Fdaemonp): Doc fix.
2124
21252008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2126
2127 * emacs.c (main): Place #ifdef in the proper place.
2128
21292008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2130
2131 * emacs.c (standard_args): Add --daemon.
2132 (main): Disconnect from the terminal when --daemon is passed.
2133 (is_daemon): New variable.
2134 (Fdaemonp): New function.
2135 (syms_of_emacs): Defsubr it.
2136
21372008-09-20 Chong Yidong <cyd@stupidchicken.com>
2138
2139 * xdisp.c (get_next_display_element): Handle string display
2140 correctly when checking for the end of a box run.
2141
21422008-09-20 Glenn Morris <rgm@gnu.org>
2143
2144 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2145 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2146 (Frename_file): Avoid copying to trash if a rename involves
2147 a delete. (Bug#964).
2148
21492008-09-20 Eli Zaretskii <eliz@gnu.org>
2150
2151 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2152 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2153 frames as well as termcap frames.
2154 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2155 get_named_tty.
2156
21572008-09-19 Eli Zaretskii <eliz@gnu.org>
2158
2159 * process.c (procfs_system_process_attributes): Fix cmdline in
2160 case /proc/PID/cmdline is empty.
2161
2162 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2163 x_display_pixel_height.
2164
21652008-09-19 Juanma Barranquero <lekktu@gmail.com>
2166
2167 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2168
2169 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2170 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2171
21722008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2173
2174 * dispextern.h (struct it): Move line_wrap away from the middle of
2175 bitfields. Move voffset in struct iterator_stack_entry after the
2176 bitfields. Move tab_width near after another short.
2177
21782008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2179
2180 * frame.h (struct frame): Move alpha from the middle of bitfields.
2181
2182 * window.h (struct window): Move frozen_window_start_p after the
2183 rest of the bitfields to reduce padding.
2184
21852008-09-18 Chong Yidong <cyd@stupidchicken.com>
2186
2187 * xterm.h (x_display_info): Remove `height' and `width' members.
2188
2189 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2190
2191 * w32term.h (w32_display_info): Remove `height', `width',
2192 `height_in', and `width_in' members.
2193
b8ff72fa
SM
2194 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2195 New functions.
aac0c6e3
MR
2196 (x_calc_absolute_position): Use them.
2197 (x_term_init): Omit removed `height' and `width' members.
2198
b8ff72fa
SM
2199 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2200 New functions.
aac0c6e3
MR
2201 (w32_read_socket, x_calc_absolute_position): Use them.
2202 (w32_initialize_display_info, w32_term_init): Omit removed members
2203 of w32_display_info.
2204
b8ff72fa
SM
2205 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2206 New functions.
2207 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2208
b8ff72fa
SM
2209 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2210 New functions.
aac0c6e3
MR
2211 (x_calc_absolute_position): Use them.
2212 (x_term_init): Omit removed `height' and `width' members.
2213
2214 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2215 (compute_tip_xy):
2216 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2217 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2218 x_display_pixel_width.
2219
22202008-09-18 Kenichi Handa <handa@m17n.org>
2221
2222 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2223 (composition_compute_stop_pos): Fix handling of static composition.
2224 (Fcomposition_get_gstring): Check FROM and TO at first.
2225
22262008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2227
2228 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2229 mixup (YAILOM).
2230
22312008-09-17 Chong Yidong <cyd@stupidchicken.com>
2232
2233 * indent.c (Fvertical_motion): Use position reported by iterator
2234 instead of PT for determining screen motion (bug#943).
2235
22362008-09-17 Romain Francoise <romain@orebokech.com>
2237
2238 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2239
22402008-09-17 Kenichi Handa <handa@m17n.org>
2241
2242 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2243
2244 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2245 if necessary.
2246
22472008-09-16 Kenichi Handa <handa@m17n.org>
2248
2249 * coding.c (make_conversion_work_buffer): Avoid calling
2250 Fget_buffer_create if it is not necessary.
2251
22522008-09-15 Martin Rudalics <rudalics@gmx.at>
2253
2254 * window.c (Fselect_window): Don't update window_select_count and
2255 use_time when norecord is not nil.
2256
22572008-09-14 Kenichi Handa <handa@m17n.org>
2258
2259 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2260 specpdl_ptr.
2261
22622008-09-12 Kenichi Handa <handa@m17n.org>
2263
2264 * indent.c (scan_for_column): Don't handle automatic composition
2265 if the current buffer is not associated with a window.
2266
2267 * composite.c (composition_reseat_it): If the current buffer is
2268 not associated with a window, ignore the automatic composition.
2269 (find_automatic_composition): Likewise.
2270
22712008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2272
2273 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2274 (Fgpm_mouse_stop): Use it.
2275 * termhooks.h (close_gpm): Declare.
2276 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2277 connection if Gpm_GetEvent fails.
2278
2279 * window.c (set_window_buffer): Always preserve current-buffer.
2280
22812008-09-12 Glenn Morris <rgm@gnu.org>
2282
2283 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2284
22852008-09-11 Glenn Morris <rgm@gnu.org>
2286
2287 * charset.c (charset-map-path): Doc fix.
2288
22892008-09-10 Kenichi Handa <handa@m17n.org>
2290
2291 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2292
2293 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2294 compose a grapheme cluster with the preceding base glyph.
2295
2296 * composite.c (composition_compute_stop_pos): Fix previous change.
2297 Reset cmp_it->id to -1 at first.
2298
22992008-09-10 Glenn Morris <rgm@gnu.org>
2300
2301 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2302
23032008-09-09 Chong Yidong <cyd@stupidchicken.com>
2304
2305 * keyboard.c (read_key_sequence): Reapply translation maps when
2306 switching keyboards.
2307
23082008-09-09 Kenichi Handa <handa@m17n.org>
2309
2310 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2311 characters.
2312
2313 * composite.c (FORWARD_CHAR): Fix calculation
2314 of (POSITION).pos_byte.
2315 (composition_compute_stop_pos): Limit the search of composition to
2316 at most 500 characters ahead. If we reach the limit or find a
2317 newline, set cmp_it->ch to -2 and return 0.
2318 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2319
23202008-09-08 Kenichi Handa <handa@m17n.org>
2321
2322 * indent.c (Fvertical_motion): Be sure to set
2323 it_overshoot_expected if it.cmp_it.id is non-negative.
2324
23252008-09-07 Andreas Schwab <schwab@suse.de>
2326
2327 * callproc.c (Fcall_process): Don't hold references to string data
2328 across garbage collection. Move initialisation of new_argv down
2329 to avoid compiler bug.
2330
23312008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2332
2333 * process.c (Fsystem_process_attributes): Doc fix.
2334
23352008-09-07 Chong Yidong <cyd@stupidchicken.com>
2336
2337 * callproc.c (Fcall_process): Canonicalize current directory name.
2338
2339 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2340 iterator advances to the next line if the current line ends in a
2341 continued tab.
2342
23432008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2344
2345 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2346 member to point to cmp_from.
2347
2348 * xdisp.c: Doc fix for references to gidx data member.
2349
23502008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2351
2352 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2353
23542008-09-07 Kenichi Handa <handa@m17n.org>
2355
2356 * composite.c (FORWARD_CHAR): Check STOP after
2357 incrementing (POSITION).pos.
2358
23592008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2360
2361 * process.c (Fsystem_process_attributes): Doc fix.
2362
23632008-09-06 Chong Yidong <cyd@stupidchicken.com>
2364
2365 * keyboard.c (Ftop_level): Doc fix.
2366
23672008-09-06 Eli Zaretskii <eliz@gnu.org>
2368
2369 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2370 minibuffer, don't let lower part of menu invade the echo area.
2371
2372 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2373 "char *q" to access menu text and advance through it. Revert the
2374 change that displayed ">" instead of ASCII character 0x10.
2375
23762008-09-05 Eli Zaretskii <eliz@gnu.org>
2377
2378 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2379 toggle boxes and radio buttons on MS-DOS as well.
2380
23812008-09-05 Kenichi Handa <handa@m17n.org>
2382
2383 * composite.c (autocmp_chars): Check lookback count.
2384 (composition_compute_stop_pos): Set cmp_it->lookback.
2385 (composition_reseat_it): Check lookback count.
2386 (struct position_record): New struct.
2387 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2388 (find_automatic_composition): New function.
2389 (composition_adjust_point): Use find_automatic_composition.
2390
2391 * dispextern.h (struct composition_it): New member lookback.
2392
23932008-09-02 Chong Yidong <cyd@stupidchicken.com>
2394
2395 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2396 if moving by a single line.
2397
23982008-09-02 Andreas Schwab <schwab@suse.de>
2399
2400 * xterm.c (x_delete_display): Fix merge error.
2401
2402 * fileio.c (Fexpand_file_name): Remove unused variables.
2403
24042008-09-02 Eli Zaretskii <eliz@gnu.org>
2405
2406 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2407 storage on all platforms, not just on DOS_NT.
2408
24092008-09-02 Jason Rumney <jasonr@gnu.org>
2410
b8ff72fa
SM
2411 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2412 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2413
24142008-09-01 Chong Yidong <cyd@stupidchicken.com>
2415
2416 * xfaces.c (Finternal_set_alternative_font_family_alist)
2417 (Finternal_set_alternative_font_registry_alist): Properly copy
2418 entire alist structure.
2419
24202008-09-01 Kenichi Handa <handa@m17n.org>
2421
d66c0241 2422 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2423 representative chars of the script is a vector.
d66c0241
JB
2424 (ftfont_list): Handle the case where the representative chars of
2425 the script is a vector.
aac0c6e3
MR
2426
2427 * character.c (syms_of_character): Docstring of
2428 script-representative-chars fixed.
2429
24302008-08-31 Eli Zaretskii <eliz@gnu.org>
2431
2432 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2433 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2434 the menu. Allocate larger buffer for `text', to account for
2435 possible ^C characters.
2436
24372008-08-31 Martin Rudalics <rudalics@gmx.at>
2438
2439 * xdisp.c (prepare_menu_bars): Don't call
2440 Vwindow_size_change_functions with arg Qt.
2441
24422008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2443
2444 * font.h (font_range):
2445 * fileio.c (report_file_error):
2446 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2447
24482008-08-30 Glenn Morris <rgm@gnu.org>
2449
2450 * data.c (Fmake_variable_frame_local): Doc fix.
2451
2452 * frame.c (Fmodify_frame_parameters): Doc fix.
2453
24542008-08-30 Eli Zaretskii <eliz@gnu.org>
2455
2456 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2457 needed by GetTokenInformation.
2458 (w32_system_process_attributes): Check return values of all system
2459 APIs.
2460
2461 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2462 only when the state changes.
2463 (IT_update_begin, IT_update_end): Add termscript trace.
2464
2465 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2466 clipboard is unavailable. Set dst to NULL if it doesn't point to
2467 malloc'ed data.
2468 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2469 passing random values to xfree.
2470
2471 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2472 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2473
24742008-08-29 Jason Rumney <jasonr@gnu.org>
2475
2476 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2477
24782008-08-29 Eli Zaretskii <eliz@gnu.org>
2479
2480 * composite.c (fill_gstring_body): Avoid compiler warnings.
2481
2482 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2483 LGLYPH_SET_CODE to avoid compiler warnings.
2484
2ae37cf0 2485 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2486
2487 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2488
2489 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2490 LGLYPH_SET_CODE.
2491
24922008-08-29 Kenichi Handa <handa@m17n.org>
2493
2494 * fileio.c (report_file_error): Don't downcase the first character
2495 of errstring if it is still unibyte.
2496
24972008-08-29 Kenichi Handa <handa@m17n.org>
2498
2499 These changes are to re-implement the automatic composition so
2500 that it doesn't use text properties.
2501
2502 * Makefile.in (ftfont.o): Depend on composite.h.
2503 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2504
2505 * character.h (Vunicode_category_table): Extern it.
2506
2507 * character.c (Vunicode_category_table): New variable.
2508 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2509
2510 * chartab.c (optimize_sub_char_table): Perform more greedy
2511 optimization.
2512
b8ff72fa
SM
2513 * composite.h (enum composition_method):
2514 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2515 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2516 (Vcomposition_function_table): Extern it.
2517 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2518 (composition_gstring_put_cache, composition_gstring_from_id)
2519 (composition_gstring_p, composition_gstring_width)
2520 (composition_compute_stop_pos, composition_reseat_it)
2521 (composition_update_it, composition_adjust_point): Extern them.
2522 (Fcomposition_get_gstring): EXFUN it.
2523
d66c0241 2524 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2525 (Vcomposition_function_table)
2526 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2527 (gstring_hash_table, gstring_work, gstring_work_headers):
2528 New variables.
aac0c6e3
MR
2529 (gstring_lookup_cache, composition_gstring_put_cache)
2530 (composition_gstring_from_id, composition_gstring_p)
2531 (composition_gstring_width, fill_gstring_header)
2532 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2533 (composition_reseat_it, composition_update_it)
b8ff72fa 2534 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2535 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2536 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2537 Defsubr compostion_get_gstring.
2538
2539 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2540 cmp_id.
2541 (struct glyph_string): Delete the member gidx. New members
2542 cmp_id, cmp_from, and cmp_to.
2543 (enum it_method): Delete GET_FROM_COMPOSITION.
2544 (struct composition_it): New struct.
2545 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2546 Delete c, len, cmp_id, cmp_len in u.comp.
2547
2548 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2549 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2550 (enum lglyph_indices): Likewise.
b8ff72fa 2551 (font_range): Adjust extern.
aac0c6e3
MR
2552 (font_fill_lglyph_metrics): Extern it.
2553
2554 * font.c (QCf): New variable.
2555 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2556 (font_prepare_composition): Delete this function.
2557 (font_range): Type and arguments changed.
2558 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2559 (font_fill_lglyph_metrics): New function.
b8ff72fa 2560 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2561 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2562 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2563 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2564
2565 * fontset.h (font_for_char): Extern it.
2566
2567 * fontset.c (font_for_char): New function.
2568
2569 * ftfont.c: Include composite.h.
2570 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2571 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2572
2573 * indent.c: Include composite.h and dispextern.h.
2574 (check_composition): Delete this function.
2575 (scan_for_column): Handle composition by
2576 composition_compute_stop_pos, composition_reseat_it, and
2577 composition_update_it.
2578 (compute_motion): Likewise.
2579 (Fvertical_motion): Fix checking of composition.
2580
2581 * keyboard.c (adjust_point_for_property): Check composition by
2582 composition_adjust_point.
2583
b8ff72fa 2584 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2585 struct glyph_string.
2586
b8ff72fa
SM
2587 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2588 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2589 struct glyph.
2590 (produce_composite_glyph): Likewise.
2591
b8ff72fa
SM
2592 * w32term.c (x_draw_composite_glyph_string_foreground):
2593 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2594 (x_draw_glyph_string): Likewise.
2595
2596 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2597 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2598
2599 * xdisp.c: Include font.h.
2600 (it_props): Delete the entry for Qauto_composed.
2601 (init_iterator): Initialize it->cmp_it.id to -1.
2602 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2603 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2604 (handle_auto_composed_prop): Delete it.
2605 (handle_composition_prop): Handle only static composition.
2606 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2607 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2608 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2609 (pop_it): Likewise.
2610 (get_next_element): Delete next_element_from_composition.
2611 (CHAR_COMPOSED_P): New macro.
2612 (get_next_display_element): For automatic composition, get a face
2613 from the font in the glyph-string.
2614 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2615 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2616 (next_element_from_string): Check if the character at the current
2617 position is composed by CHAR_COMPOSED_P.
2618 (next_element_from_buffer): Likewise.
d66c0241
JB
2619 (next_element_from_composition): Adjust for the change of struct it.
2620 Update it->cmp_it.
b8ff72fa
SM
2621 (dump_glyph): Adjust for the change of struct glyph.
2622 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2623 it and struct glyph. Don't handle automatic composition here.
2624 (fill_gstring_glyph_string): New function.
2625 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2626 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2627 (BUILD_GSTRING_GLYPH_STRING): New macro.
2628 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2629 automatic composition.
b8ff72fa 2630 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2631 struct glyph.
b8ff72fa 2632 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2633
b8ff72fa 2634 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2635 the change of struct glyph_string.
2636 (x_draw_glyph_string): Likewise.
2637
26382008-08-29 Glenn Morris <rgm@gnu.org>
2639
2640 * buffer.c (word-wrap): Doc fix.
2641 * xdisp.c (truncate-partial-width-windows): Doc fix.
2642 Increase default to 50.
2643
26442008-08-29 Chong Yidong <cyd@stupidchicken.com>
2645
2646 * xdisp.c (update_tool_bar_unwind): New function.
2647 (update_tool_bar): Temporarily set selected frame before building
2648 tool-bar items.
2649
26502008-08-28 Michael Albinus <michael.albinus@gmx.de>
2651
2652 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2653 snprintf, respectively.
2654 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2655
26562008-08-28 Chong Yidong <cyd@stupidchicken.com>
2657
2658 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2659 LDFLAGS to GNUstep CC invocation.
2660
26612008-08-27 Chong Yidong <cyd@stupidchicken.com>
2662
2663 * indent.c (Fvertical_motion): Revert last change. Handle the
2664 general case where we are moving forward, and PT spans multiple
2665 screen lines.
2666
2667 * eval.c (find_handler_clause): Temporarily increase
2668 max-lisp-eval-depth while printing the backtrace buffer, to
2669 guarantee that help-mode code can run.
2670
26712008-08-27 Eli Zaretskii <eliz@gnu.org>
2672
2673 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2674 colors under -rv.
2675 (IT_set_frame_parameters): Don't swap foreground and background
2676 colors if `(reverse . t)' is present in the frame properties.
2677 (internal_terminal_init): Call init_frame_faces only for the
2678 initial frame.
2679
26802008-08-27 Andreas Schwab <schwab@suse.de>
2681
2682 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2683
26842008-08-27 Andreas Schwab <schwab@suse.de>
2685
2686 * search.c (search_buffer): Set char_base to zero only at the end.
2687
26882008-08-27 Kenichi Handa <handa@m17n.org>
2689
b8ff72fa 2690 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2691
26922008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2693
2694 * xterm.c (x_term_init): Temporarily hide the partially
2695 initialized terminal while calling vendor-specific-keysyms.
2696
26972008-08-26 Eli Zaretskii <eliz@gnu.org>
2698
2699 * msdos.c (internal_terminal_init): Most initializations done only
2700 once, especially initial_screen_colors[] and termscript open.
2701
27022008-08-26 Chong Yidong <cyd@stupidchicken.com>
2703
2704 * eval.c (Fcondition_case): Doc fix.
2705
2706 * widgetprv.h (EmacsFramePart): Change font member to the new font
2707 struct.
2708
2709 * widget.c: Include character.h and font.h for XSETFONT.
2710 (setup_frame_gcs): Compute X font id from font struct, just once.
2711
27122008-08-26 Eli Zaretskii <eliz@gnu.org>
2713
2714 * term.c (get_named_tty): Fix last change.
2715
27162008-08-26 Chong Yidong <cyd@stupidchicken.com>
2717
2718 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2719 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2720
27212008-08-25 Eli Zaretskii <eliz@gnu.org>
2722
2723 * frame.c (do_switch_frame): Mark previously displayed frame as
2724 obscured for FRAME_MSDOS_P frames as well.
2725
27262008-08-24 Eli Zaretskii <eliz@gnu.org>
2727
2728 * frame.c (make_terminal_frame): Initialize f->terminal,
2729 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2730 Set the top frame to newly created frame.
2731 (Fmake_terminal_frame): Reuse the_only_display_info.
2732
2733 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2734 estimating available memory.
2735
b97439ce 27362008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2737
2738 * nsterm.m (ns_draw_window_cursor): Don't call
2739 NSDisableScreenUpdates and NSEnableScreenUpdates on
2740 non-NS_IMPL_COCOA systems.
2741
27422008-08-23 Andreas Schwab <schwab@suse.de>
2743
2744 * process.c (procfs_system_process_attributes): Fix use of
2745 uninitialized variables.
2746
27472008-08-23 Eli Zaretskii <eliz@gnu.org>
2748
2749 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2750
2751 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2752 calling tty-set-up-initial-frame-faces.
2753
b8ff72fa
SM
2754 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2755 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2756
2757 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2758 addition to output_termcap.
2759
2760 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2761
2762 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2763 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2764 highlight.
2765
2766 * process.c [!subprocesses]: Define QCname.
2767 (syms_of_process): Intern and staticpro it.
2768
2769 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2770 Adjust for changes in encoding/decoding routines.
2771 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2772 encode_coding and decode_coding.
2773
b8ff72fa 2774 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2775
2776 * dosfns.c: Include frame.h before termhooks.h.
2777 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2778 variable termscript.
2779
2780 * s/msdos.h (USER_FULL_NAME): Define.
2781 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2782
2783 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2784 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2785 pw->pw_gecos.
2786
2787 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2788 SELECTED_FRAME as additional (1st) argument.
2789 (tty_read_avail_input): Handle output_msdos_raw in
2790 addition to output_termcap.
2791
2792 * msdos.c: Include frame.h before termhooks.h.
2793 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2794 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2795 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2796 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2797 (IT_set_terminal_modes, IT_reset_terminal_modes)
2798 (IT_set_frame_parameters): Use tty->termscript instead of a global
2799 variable termscript.
2800 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2801 global variable terminal_coding. Don't refer to
2802 Vnonascii_translation_table.
2803 (internal_terminal_init): Set Vwindow_system in current_kboard.
2804 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2805 Announce date and time of session start, if termscript is open.
2806 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2807 term.c:init_tty). Open termscript only of not already open.
2808 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2809 here instead of dos_ttraw. Don't initialize display if this is an
2810 initial tty. Don't set FRAME_FONT.
2811 (Vwindow_system_version): Bump to 23.
2812 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2813 is available, set up mouse_position_hook.
2814 (dos_ttraw, IT_set_terminal_modes): If called with initial
2815 terminal, do nothing.
2816 (IT_set_frame_parameters): Handle the Qtty_type frame
2817 parameter by calling internal_terminal_init.
2818 (dos_set_window_size, show_mouse_face)
2819 (clear_mouse_face, IT_note_mode_line_highlight)
2820 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2821 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2822 (initialize_msdos_display): New function.
2823 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2824 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2825 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2826 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2827 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2828 (request_sigio, unrequest_sigio): Don't define, now defined on
2829 sysdep.c.
2830 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2831
2832 * term.c [MSDOS]: Include msdos.h.
2833 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2834 conditional to DOS_NT. Allow only one call to this function in a
2835 session. Don't allocate a new struct tty_display_info; instead,
2836 reuse the_only_display_info. Call get_tty_size to get screen
2837 dimensions. Call init_baud_rate to set bad_rate.
2838 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2839 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2840 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2841 (get_tty_terminal, get_named_tty, Ftty_type)
2842 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2843 output_termcap.
b8ff72fa
SM
2844 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2845 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2846 only when subprocesses are supported.
aac0c6e3
MR
2847
2848 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2849 f->output_data.x.
2850 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2851 terminal devices.
2852
5582fbc7 2853 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2854 x_output.
2855 (FRAME_FONT): Use output_data.tty.
2856 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2857 (struct x_display_info): Rename from display_info. Update all users in
2858 msdos.c.
aac0c6e3 2859 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2860 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2861 (dos_ttraw): Update prototype.
2862
2863 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2864 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2865
28662008-08-23 Jason Rumney <jasonr@gnu.org>
2867
2868 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2869 (fn_TIFFSetDirectory): New library function used.
2870 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2871 (tiff_load): Use :index to select among multiple images. Set count
2872 property when multiple images exist.
2873 (gif_format): Use :index, not :image.
2874
28752008-08-23 Chong Yidong <cyd@stupidchicken.com>
2876
2877 * xdisp.c (try_scrolling): Check INT_MAX instead of
2878 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2879 to obtain INT_MAX.
2880
28812008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2882
2883 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2884
28852008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2886
2887 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2888 GNUstep library location.
2889
28902008-08-21 Chong Yidong <cyd@stupidchicken.com>
2891
2892 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2893 before using it.
2894
2895 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2896
28972008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2898
2899 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2900 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2901 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2902 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2903 (EmacsApp-cursor_blink_handler): Remove declaration.
2904 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2905 match 01 Feb 2008 changes in xterm.c.
2906 (ns_read_socket): Add cast to avoid warning.
2907 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2908 GNUstep.
2909
29102008-08-20 Chong Yidong <cyd@stupidchicken.com>
2911
2912 * xselect.c (x_get_foreign_selection): Return nil if desired
2913 selection could not be obtained, instead of signalling an error.
2914
29152008-08-20 David Reitter <david.reitter@gmail.com>
2916
2917 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2918 * nsterm.m: Remove ns-specific code for cursor blinking.
2919 (ns_draw_window_cursor): Clear cursor properly rather than
2920 redrawing the area. Respect width of bar cursors.
2921 These changes enable the use of generic blink-cursor-mode and
2922 generic cursor types in NS and support smooth cursor movements (do
2923 not blink off after command).
2924 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2925 Nextstep, too.
2926
29272008-08-19 Kenichi Handa <handa@m17n.org>
2928
2929 * font.c (Vfont_log_deferred): New variable.
2930 (font_add_log): Check Vfont_log_deferred.
2931 (font_deferred_log): New function.
2932
2933 * font.h (font_deferred_log): Extern it.
2934
2935 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2936 for sorting.
2937 (face_for_char): Use deferred log.
2938
29392008-08-18 Kenichi Handa <handa@m17n.org>
2940
2941 * fontset.c (face_for_char): Add font log.
2942
2943 * font.c (font_add_log): Add the font properties :script, :lang,
2944 and :otf in the log.
2945
29462008-08-17 Chong Yidong <cyd@stupidchicken.com>
2947
2948 * xdisp.c: Remove dead code.
2949 (handle_invisible_prop, next_overlay_string): Defer call to
2950 setup_for_ellipsis.
2951 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2952
29532008-08-15 Chong Yidong <cyd@stupidchicken.com>
2954
2955 * xfaces.c (lookup_derived_face): Properly handle possible zero
2956 return value of get_lface_attributes.
2957 (merge_faces): Don't tell lookup_derived_face to signal an error
2958 if face is not found.
2959
2960 * dired.c (Fdirectory_files): Doc fix.
2961
2962 * process.c (make_process): Initialize kill_without_query struct
2963 member.
2964
29652008-08-15 Eli Zaretskii <eliz@gnu.org>
2966
2967 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2968 Alternative calculation of totphys for Visual Studio 6.
2969
2970 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2971
2972 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2973 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2974 All users changed.
2975 (stat): Only root directory passed to GetDriveType. Allow RAM
2976 disk as well as local fixed disk when w32-get-true-file-attributes
2977 is set to `local'.
2978 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2979 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2980 (w32_cached_id, w32_add_to_cache): New functions.
2981 (get_name_and_id): Look account names in the cache before calling
2982 lookup_account_sid.
2983 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2984 New initialization flags.
2985 (globals_of_w32): Initialize them to zero.
2986 (w32_system_process_attributes): Use w32_cached_id and
2987 w32_add_to_cache.
2988
29892008-08-14 Lawrence Mitchell <wence@gmx.li>
2990
2991 * lread.c (Fread_char, Fread_char_exclusive): If no character
2992 event is read before timeout is reached, return nil, rather than
2993 converting to a number.
2994
29952008-08-14 Chong Yidong <cyd@stupidchicken.com>
2996
2997 * fns.c (use_dialog_box): Doc fix.
2998
2999 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
3000 on OS X.
3001
30022008-08-13 Chong Yidong <cyd@stupidchicken.com>
3003
3004 * frame.c (Qns_parse_geometry): New var.
3005 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3006
30072008-08-11 Chong Yidong <cyd@stupidchicken.com>
3008
3009 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3010 space character in calculating tabs.
3011
30122008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3013
3014 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3015
30162008-08-10 Glenn Morris <rgm@gnu.org>
3017
3018 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3019 silence gcc "limited range of data type" warnings in some
3020 make_fixnum_or_float calls.
3021
30222008-08-09 Eli Zaretskii <eliz@gnu.org>
3023
3024 * w32.c (w32_system_process_attributes): If the process does not
3025 exist, return nil.
3026
3027 * w32.c: Include thelp32.h, psapi.h and coding.h.
3028 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3029 declarations.
3030 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3031 (Process32Next_Proc): New typedefs.
3032 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3033 (g_b_init_process32_next, g_b_init_open_thread_token)
3034 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3035 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3036 (g_b_init_get_process_working_set_size)
3037 (g_b_init_global_memory_status_ex): New static variables.
3038 (globals_of_w32): Initialize them.
3039 (create_toolhelp32_snapshot, process32_first, process32_next)
3040 (open_thread_token, impersonate_self, revert_to_self)
3041 (get_process_memory_info, get_process_working_set_size)
3042 (global_memory_status, global_memory_status_ex): New wrapper
3043 functions.
3044 (w32_list_system_processes, w32_system_process_attributes)
3045 (enable_privilege, restore_privilege, ltime, process_times):
3046 New functions.
3047 (convert_time_raw): New function.
3048 (convert_time): Remove conversion of FILETIME into time in 100
3049 nsec units, call convert_time_raw instead.
3050
3051 * process.h (w32_list_system_processes, w32_system_process_attributes):
3052 Add prototypes.
3053 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3054 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3055 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3056 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3057
3058 * process.c (Fsystem_process_attributes): Doc fix.
3059
30602008-08-08 Chong Yidong <cyd@stupidchicken.com>
3061
3062 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3063 a continued multi-char glyph; if so, advance to the actual glyph.
3064
30652008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3066
3067 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3068
3069 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3070 (.m.o): Use it.
3071 * config.in: Regenerate.
3072
30732008-08-07 Chong Yidong <cyd@stupidchicken.com>
3074
3075 * xdisp.c (redisplay_window): Revert last change.
3076 (try_window): Check bottom scroll margin too.
3077
30782008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3079
3080 * config.in: Regenerate.
3081
3082 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3083 -list-load-path-shadows'.
3084 (nsgui.h): Reduce number of things depending on it.
3085
30862008-08-06 Chong Yidong <cyd@stupidchicken.com>
3087
3088 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3089 instead of window-end which does the wrong thing at eob.
3090 (try_cursor_movement): Minor optimization.
3091 (redisplay_window): If scroll margin is defined, don't assume
3092 window doesn't need scrolling.
3093
30942008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3095
3096 * config.in: Regenerate.
3097
3098 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3099 (mostlyclean): Don't delete *.d under NS.
3100
3101 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3102
31032008-08-06 Kenichi Handa <handa@m17n.org>
3104
3105 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3106
31072008-08-06 Andreas Schwab <schwab@suse.de>
3108
3109 * config.in: Regenerate.
3110
31112008-08-05 Chong Yidong <cyd@stupidchicken.com>
3112
3113 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3114 forcing a window start.
3115
3116 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3117 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3118
31192008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3120
3121 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3122 argument.
3123
31242008-08-05 Juanma Barranquero <lekktu@gmail.com>
3125
3126 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3127 <scroll-down-aggressively, before-change-functions>:
3128 <after-change-functions>: Reflow docstrings.
3129
31302008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3131 Ken Raeburn <raeburn@gnu.org>
3132
3133 Dock menu customization, based on a patch by Ken Raeburn, plus some
3134 other fixes.
3135 * nsmenu.m (dockMenu): New variable.
3136 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3137
3138 * nsterm.h (dockMenu): Declare.
3139
3140 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3141 (ns_term_init): Initialize dockMenu.
3142 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3143 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3144 left.
3145
3146 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3147
31482008-08-04 Chong Yidong <cyd@stupidchicken.com>
3149
3150 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3151
3152 * config.in: Regenerate.
3153
31542008-08-04 Seiji Zenitani <zenitani@mac.com>
3155
3156 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3157
31582008-08-04 Chong Yidong <cyd@stupidchicken.com>
3159
3160 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3161
31622008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3163
3164 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3165
3166 * keyboard.h: Comment an #endif.
3167
3168 * lisp.h (have_menus_p): Adjust comment.
3169
3170 * menu.c (find_and_return_menu_selection): Fix comparison with
3171 client_data.
3172
3173 * nsmenu.m (popup_activated_flag): New variable.
3174 (popup_activated): New function.
3175 (menu-or-popup-active-p): New exported lisp definition.
3176 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3177 when popup done.
3178 (ns_popup_dialog): Set popup_activated_flag.
3179
3180 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3181 version for GNUstep (handled by conditional typedef in nsterm.m).
3182 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3183 in rgb.txt).
3184
3185 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3186
3187 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3188
3189 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3190
3191 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3192 shortcircuit if popup_activated like GTK and X toolkit.
3193
3194 * m/inter386.h: Change DARWIN to DARWIN_OS.
3195
3196 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3197 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3198 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3199 comment on NO_SOCK_SIGIO.
3200
32012008-08-03 Chong Yidong <cyd@stupidchicken.com>
3202
3203 * nsterm.m (windowDidResize): Remove stopModal call.
3204
32052008-08-03 Andreas Schwab <schwab@suse.de>
3206
3207 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3208 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3209
32102008-08-02 Chong Yidong <cyd@stupidchicken.com>
3211
3212 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3213 Don't use uninitialized pointer variable when using getrlimit.
3214
32152008-08-02 Jason Rumney <jasonr@gnu.org>
3216
3217 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3218
32192008-08-02 Eli Zaretskii <eliz@gnu.org>
3220
3221 * alloc.c (NSTATICS): Bump to 0x640.
3222
3223 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3224
3225 * lisp.h: Add prototype for directory_files_internal.
3226
3227 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3228 New functions.
3229 (syms_of_process): Defsubr them. Add initializations for various
3230 Q* symbols used in procfs_system_process_attributes.
3231 (procfs_list_system_processes, procfs_system_process_attributes)
3232 [HAVE_PROCFS]: New functions.
3233 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3234 (procfs_get_total_memory): New functions.
3235
32362008-08-01 Juanma Barranquero <lekktu@gmail.com>
3237
3238 * xfaces.c (Fx_load_color_file): Fix previous change;
3239 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3240
32412008-08-01 Michael Albinus <michael.albinus@gmx.de>
3242
3243 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3244
32452008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3246
3247 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3248
32492008-08-01 Chong Yidong <cyd@stupidchicken.com>
3250
3251 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3252
3253 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3254 define NSApplicationDelegateReplySuccess.
3255 (EmacsView -converstationIdentifier): Use long instead of
3256 NSInteger for GNUstep, since it doesn't have NSInteger.
3257
3258 * xmenu.c: Revert last change.
3259
3260 * keyboard.h: Fix last change.
3261
32622008-08-01 Juanma Barranquero <lekktu@gmail.com>
3263
3264 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3265 on Windows.
3266
32672008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3268
3269 Warning clearing and clean-up in NS port.
3270 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3271 Add prototypes.
3272 * nsgui.h (FACE_DEFAULT): Remove, unused.
3273 (XGCValues): Change colors to unsigned long.
3274 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3275 nsterm.m.
3276 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3277 (ns_list_fonts): Remove, unused.
3278 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3279 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3280 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3281 (nsfont_draw): Compare face colors to 0, not nil.
3282 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3283 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3284 (-addSubmenuWithTitle:): Use NSMenuItem class.
3285 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3286 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3287 (ns_clip_to_row): Make gc arg a BOOL.
3288 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3289 ns_clip_to_row() call.
3290 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3291 used). Cast FRAME_FONT assignments.
3292 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3293 (ns_string_to_lispmod): Change arg to const char.
3294 (ns_term_init): Use NSMenuItem class.
3295 (EmacsApp -openFile:): Move to different section of file.
3296 (EmacsApp -application:openFiles:): Don't return a value, call
3297 -replyToOpenOrPrint:.
3298 (EmacsView -keyDown:): Fix up cast.
3299 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3300 (EmacsView -menuDown:): Cast tag in call to
3301 find_and_call_menu_selection().
3302 (ns_list_fonts): Remove, unused.
3303 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3304 (ns_fontname_to_xlfd): Make static.
3305 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3306 Remove prototypes (now in keyboard.h).
3307 (next_menubar_widget_id): Remove, unused.
3308 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3309 Remove prototypes (now in keyboard.h).
3310 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3311
33122008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3313
3314 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3315 (floatfns.o): Depend on syssignal.h.
3316 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3317
3318 * systty.h: Fix previous change that removed BSD_TERMIOS.
3319 Add comments to #ifdefs.
3320
33212008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3322
3323 * w32fns.c (w32-load-color-file): Remove.
3324 (x-open-connection): Use renamed Fx_load_color_file.
3325 * xfaces.c (x-load-color-file): Add.
3326 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3327 Emacs.clr.
3328 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3329
33302008-07-31 Michael Albinus <michael.albinus@gmx.de>
3331
3332 * dbusbind.c (Fdbus_call_method_asynchronously)
3333 (Fdbus_method_error_internal): New defuns.
3334 (xd_read_message): Handle also reply messages.
3335 (Vdbus_registered_functions_table): Extend docstring.
3336
33372008-07-31 Juanma Barranquero <lekktu@gmail.com>
3338
3339 * keyboard.c (gobble_input): Fix previous change.
3340
33412008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3342
3343 * bitmaps/README:
3344 * xfns.c:
3345 * termcap.c:
3346 * term.c:
3347 * syswait.h:
3348 * systty.h:
3349 * systime.h:
3350 * syssignal.h:
3351 * sysdep.c:
3352 * process.h:
3353 * process.c:
3354 * print.c:
3355 * ndir.h:
3356 * lread.c:
3357 * keyboard.c:
3358 * getpagesize.h:
3359 * floatfns.c:
3360 * fileio.c:
3361 * emacs.c:
3362 * doc.c:
3363 * dispnew.c:
3364 * dired.c:
3365 * data.c:
3366 * callproc.c:
3367 * buffer.c:
3368 * README:
3369 * Makefile.in:
3370 * s/template.h:
3371 * s/msdos.h:
3372 * m/vax.h: Remove VMS support.
3373 * s/vms.h:
3374 * vlimit.h:
3375 * uaf.h:
3376 * temacs.opt:
3377 * param.h:
3378 * ioctl.h: Remove file.
3379
33802008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3381
3382 * s/ms-w32.h (MULTI_KBOARD): Remove.
3383 * xterm.c:
3384 * xselect.c:
3385 * xfns.c:
3386 * window.c:
3387 * w32term.c:
3388 * w32fns.c:
3389 * terminal.c:
3390 * termhooks.h:
3391 * term.c:
3392 * sysdep.c:
3393 * keyboard.h:
3394 * keyboard.c:
3395 * frame.h:
3396 * frame.c:
3397 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3398 * config.in: Regenerate.
3399
34002008-07-30 Jason Rumney <jasonr@gnu.org>
3401
3402 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3403
3404 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3405 (w32font_open_internal): Get unicode version of textmetrics.
3406 Don't enable or disable glyph indices here.
3407 (w32font_open): Disable use of glyph indices.
3408
3409 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3410
34112008-07-30 Chong Yidong <cyd@stupidchicken.com>
3412
3413 * minibuf.c (Vread_buffer_function): Doc fix.
3414
34152008-07-30 John Paul Wallington <jpw@pobox.com>
3416
3417 * minibuf.c (read_buffer_completion_ignore_case): New var.
3418 (Fread_buffer): Use it.
3419
34202008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3421
3422 * systty.h (sensemode): Remove empty #if. Remove reference to
3423 BSD_TERMIOS, unused.
3424
3425 * sysdep.c: Remove reference to DGUX.
3426 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3427
3428 * config.in: Regenerate.
3429
34302008-07-30 Jason Rumney <jasonr@gnu.org>
3431
3432 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3433
34342008-07-29 Jason Rumney <jasonr@gnu.org>
3435
3436 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3437 is populated.
3438 (uniscribe_encode_char): Always use uniscribe.
3439 Avoid using context if cache is populated.
3440
34412008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3442
3443 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3444 open menu.
3445
3446 * gtkutil.c (menu_nav_ended): Remove.
3447 (create_menus): Remove signal connect for menu_nav_ended.
3448
34492008-07-28 Chong Yidong <cyd@stupidchicken.com>
3450
3451 * xdisp.c (redisplay_window): Check return value of
3452 compute_window_start_on_continuation_line before forcing a window
3453 start.
3454
34552008-07-28 Jason Rumney <jasonr@gnu.org>
3456
3457 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3458
3459 * w32term.c (w32_enable_unicode_output, cleartype_active):
3460 Remove obsolete display options.
3461 (x_draw_glyph_string_background): Don't use old cleartype_active
3462 workaround.
3463 (w32_initialize): Remove cleartype_active initialization.
3464 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3465
34662008-07-28 Andreas Schwab <schwab@suse.de>
3467
3468 * lisp.h (init_weak_hash_tables, syms_of_font)
3469 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3470 (remove_hash_entry): Don't declare.
3471 * eval.c (maybe_call_debugger): Make static and move before use.
3472 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3473 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3474 * xterm.h (x_set_frame_alpha): Declare.
3475
34762008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3477
3478 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3479 (create_menus): Connect selection-done to menu_nav_ended.
3480
34812008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3482
3483 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3484 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3485 parameter with read of 'alpha' one.
3486 (Qns_frame_parameter): Remove.
5582fbc7 3487 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3488 (next-selection-coding-system, Vselection_coding_system)
3489 (Vnext_selection_coding_system): Drop.
3490
34912008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3492
3493 * nsfns.m (do-applescript, do_applescript): Rename to
3494 ns-do-applescript, ns_do_applescript, and move within file.
3495
34962008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3497
3498 Remove support for Mac Carbon.
3499 * mactoolbox.c:
3500 * macterm.h:
3501 * macterm.c:
3502 * macselect.c:
3503 * macmenu.c:
3504 * macgui.h:
3505 * macfns.c:
3506 * mac.c: Remove file.
3507 * s/darwin.h:
3508 * m/intel386.h:
3509 * xfaces.c:
3510 * xdisp.c:
3511 * window.c:
3512 * tparam.c:
3513 * termhooks.h:
3514 * termcap.c:
3515 * term.c:
3516 * syssignal.h:
3517 * sysselect.h:
3518 * sysdep.c:
3519 * process.c:
3520 * lread.c:
3521 * lisp.h:
3522 * keyboard.c:
3523 * image.c:
3524 * fringe.c:
3525 * frame.h:
3526 * frame.c:
3527 * fontset.c:
3528 * font.h:
3529 * font.c:
3530 * fns.c:
3531 * fileio.c:
3532 * emacs.c:
3533 * dispnew.c:
3534 * dispextern.h:
3535 * config.in:
3536 * atimer.c:
2ae37cf0 3537 * Makefile.in: Remove code for Carbon.
aac0c6e3 3538
f0131492 35392008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3540
3541 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3542
35432008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3544
3545 * macterm.h (kCGBitmapByteOrder32Host): New define for
3546 non-universal SDKs.
3547
3548 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3549 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3550
3551 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3552 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3553
35542008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3555
3556 * w32inevt.c: Include dispextern.h.
3557
35582008-07-26 Andreas Schwab <schwab@suse.de>
3559
3560 * print.c (print_object): Fix off-by-one in last change.
3561
35622008-07-25 Juanma Barranquero <lekktu@gmail.com>
3563
3564 * term.c (syms_of_term): Don't initialize default_orig_pair,
3565 default_set_foreground and default_set_background on Windows.
3566
35672008-07-25 Jason Rumney <jasonr@gnu.org>
3568
3569 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3570 ScriptItemize. Clean up return value checking. Remove unused
3571 variables.
3572 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3573 shaping engine.
3574
3575 * w32font.c (w32font_has_char): Handle the case where we can't
3576 determine the script for a character.
3577
35782008-07-25 Chong Yidong <cyd@stupidchicken.com>
3579
3580 * term.c (syms_of_term): Initialize default_orig_pair,
3581 default_set_foreground, and default_set_background.
3582
3583 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3584 clash (bug#86).
3585 (getloadavg): Callers changed.
3586
3587 * image.c (svg_load_image): Fix last change.
3588 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3589 image size is valid. Use g_object_unref instead of deprecated
3590 rsvg_handle_free to free rsvg handle.
3591 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3592
35932008-07-25 Jason Rumney <jasonr@gnu.org>
3594
3595 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3596 surrogates before looking up glyph index.
3597 (w32font_text_extents): Encode as surrogates if falling back to
3598 functions that need UTF-16 wide chars.
3599
3600 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3601 BMP as surrogates before looking up glyph index.
3602
36032008-07-25 Chong Yidong <cyd@stupidchicken.com>
3604
3605 * image.c (svg_load_image): Check for failure in return value of
3606 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3607
36082008-07-25 Jason Rumney <jasonr@gnu.org>
3609
3610 * w32font.c (Fx_select_font): Reverse sense of second arg.
3611
36122008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3613
3614 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3615 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3616
3617 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3618 (PURESIZE): Use it.
3619
36202008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3621
3622 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3623 * m/alpha.h (TEXT_END):
3624 * m/ibmrs6000.h (TEXT_END):
3625 * m/macppc.h (TEXT_END):
3626 * s/darwin.h (TEXT_END):
3627 * s/msdos.h (TEXT_END): Remove, unused.
3628 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3629 * s/cygwin.h: Remove comment.
3630
3631 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3632 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3633 * m/intel386.h (DOT_GLOBAL_START):
3634 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3635 (USG): Remove, file not used on USG platforms.
3636
3637 * Makefile.in (HAVE_X11): Remove empty #else.
3638
36392008-07-24 Andreas Schwab <schwab@suse.de>
3640
3641 * fileio.c (Finsert_file_contents): Properly adjust undo list
3642 after format conversion.
3643
36442008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3645
3646 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3647 (menu_nav_ended): Remove.
3648 (create_menus): Remove signal connect for menu_nav_ended.
3649 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3650 create_menus.
3651 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3652
36532008-07-23 Jason Rumney <jasonr@gnu.org>
3654
3655 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3656 with opened font.
3657 (w32font_open): Set font type to gdi.
3658
3659 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3660
36612008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3662
3663 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3664 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3665 defines it.
3666 * unexec.c (ADDR_CORRECT): Define unconditionally.
3667
3668 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3669
3670 * unexec.c: Remove code depending on !COFF and USG, the file is
3671 not used for such systems.
3672
3673 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3674 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3675 (LD_SWITCH_SYSTEM_1): Remove, update users.
3676
3677 * s/darwin.h (DATA_END):
3678 * m/intel386.h (DATA_END):
3679 * m/ibmrs6000.h (DATA_END):
3680 * m/alpha.h (DATA_END): Remove, unused.
3681
3682 * config.in: Regenerate.
3683 * s/ms-w32.h (subprocesses): Define unconditionally.
3684 * s/template.h (subprocesses): Update comment.
3685 * s/vms.h (subprocesses):
3686 * s/usg5-4.h (subprocesses):
3687 * s/hpux10-20.h (subprocesses):
3688 * s/gnu-linux.h (subprocesses):
3689 * s/cygwin.h (subprocesses):
3690 * s/bsd-common.h (subprocesses):
3691 * s/aix4-2.h (subprocesses):
3692 * s/darwin.h (subprocesses): Do not define, defined by default now.
3693
3694 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3695 Remove all references.
3696 (temacs): Add GNUstep specific ld flags.
3697
3698 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3699 similarly to what X does.
3700
37012008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3702
3703 * nsfns.m (x-list-fonts): Remove.
3704 (syms_of_nsfns): Drop the x-list-fonts declaration.
3705 * nsterm.m: Get rid of remaining "//" comments.
3706
37072008-07-22 Chong Yidong <cyd@stupidchicken.com>
3708
3709 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3710
3711 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3712 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3713 (Fns_own_selection_internal, Fx_disown_selection_internal)
3714 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3715
3716 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3717 ... */' style of docstrings. Doc fixes.
3718
37192008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3720
3721 * terminfo.c (UP, BC, PC): Undo previous change.
3722
3723 * nsfns.m: Rename ns prefixed functions/variables to the
3724 corresponding x versions. Update references.
3725
37262008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3727
3728 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3729
37302008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3731
3732 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3733 Remove forwarding functions.
3734 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3735 non-static.
3736 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3737 non-static.
3738 (ns_frame_parm_handlers): Use the new names.
3739 (syms_of_nsfns): Move to the end of file.
3740
3741 * nsterm.m (syms_of_nsterm): Move to the end of file.
3742
3743 * dispnew.c (init_display): Remove code for X10.
3744
37452008-07-22 Jason Rumney <jasonr@gnu.org>
3746
3747 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3748 bare drive.
3749
37502008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3751
3752 * nsterm.m (syms_of_nsterm): Remove debugging println.
3753
37542008-07-22 David Reitter <david.reitter@gmail.com>
3755
3756 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3757 Carbon implementation of the same functionality: execute arbitrary
3758 AppleScript code.
3759
37602008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3761
3762 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3763 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3764 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3765 (Fx_display_mm_height, Fx_display_mm_width)
3766 (Fx_display_backing_store, Fx_display_visual_class)
3767 (Fx_display_save_under, Fx_open_connection)
3768 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3769 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3770 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3771 (Fx_display_pixel_width, Fx_display_pixel_height)
3772 (Fx_display_usable_bounds, Fx_display_planes)
3773 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3774 ... */' style of docstrings.
3775
37762008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3777
3778 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3779 on this platform.
3780 (mips):
3781 * m/iris4d.h (mips): Do not define.
3782 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3783
3784 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3785
3786 * image.c:
3787 * nsfns.m:
3788 * nsselect.m:
3789 * nsterm.h:
3790 * nsterm.m: Rename ns prefixed functions/variables to the
3791 corresponding x versions. Update references.
3792
3793 * m/ibms390x.h (NO_REMAP): Do not undefine.
3794
3795 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3796
37972008-07-21 Chong Yidong <cyd@stupidchicken.com>
3798
3799 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3800 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3801 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3802 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3803 (Fns_display_mm_height, Fns_display_mm_width)
3804 (Fns_display_backing_store, Fns_display_visual_class)
3805 (Fns_display_save_under, Fns_open_connection)
3806 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3807 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3808 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3809 (Fns_display_pixel_width, Fns_display_pixel_height)
3810 (Fns_display_usable_bounds, Fx_display_planes)
3811 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3812
38132008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3814
3815 * print.c (print_object): Check print_depth before searching for
3816 circularities.
3817
38182008-07-21 Michael Albinus <michael.albinus@gmx.de>
3819
3820 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3821 only sprintf.
3822
38232008-07-21 Kenichi Handa <handa@m17n.org>
3824
3825 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3826
38272008-07-20 Andreas Schwab <schwab@suse.de>
3828
3829 * syntax.c (find_start_pos, find_start_value)
3830 (find_start_value_byte, find_start_begv, find_defun_start)
3831 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3832
38332008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3834
3835 * s/sol2-3.h: Insert contents of s/sol2.h.
3836 (LD_SWITCH_SYSTEM): Remove redundant definition.
3837 * s/sol2.h: Remove, unused.
3838
38392008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3840
3841 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3842
38432008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3844
3845 * Makefile.in (ns_appdir): Fix typo in find command.
3846
38472008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3848
3849 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3850
3851 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3852 added not supported anymore.
3853
3854 * s/usg5-4-2.h (LIBS_SYSTEM):
3855 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3856
3857 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3858 * s/lynxos.h (GETPGRP_NO_ARG):
3859 * s/hpux10-20.h (NO_SIOCTL_H):
3860 * s/gnu.h (GETPGRP_NO_ARG):
3861 * s/gnu-linux.h (NO_SIOCTL_H):
3862 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3863 * s/cygwin.h (GETPGRP_NO_ARG):
3864 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3865 (C_DEBUG_SWITCH): Remove duplicate definition.
3866
3867 * m/ibms390.h: Remove boilerplate comments.
3868
3869 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3870
3871 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3872 (wait_reading_process_output): Remove code for SunOS, platform not
3873 supported anymore. Use SOLARIS2 instead of sun.
3874
38752008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3876
3877 * font.c (font_open_by_name): Under NS, default lface height to zero.
3878 (font_open_for_lface): Under NS, set size based on frame fontsize.
3879 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3880 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3881
38822008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3883
3884 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3885 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3886 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3887 YES/NO.
3888 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3889 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3890 * Makefile.in (clean): Clear out build destination dir.
3891
38922008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3893
3894 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3895 xterm, xselect.
3896 * lisp.h: Remove declaration of hash_remove.
3897 * nsgui.h: Remove redefinitions of hash_remove.
3898 * fns.c (hash_remove): Rename to hash_remove_from_table.
3899
39002008-07-19 Seiji Zenitani <zenitani@mac.com>
3901
3902 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3903 strdup() the family UTF8String before modifying it.
3904
39052008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3906
3907 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3908 NS_FACE_BACKGROUND with 0 instead of nil.
3909 * nsfont.m (nsfont_draw): Same.
3910
39112008-07-19 Chong Yidong <cyd@stupidchicken.com>
3912
3913 * nsfns.m (ns_set_background_color): Fix crash.
3914
39152008-07-18 Chong Yidong <cyd@stupidchicken.com>
3916
3917 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3918
39192008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3920
3921 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3922
39232008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3924
3925 * gtkutil.c: Include <config.h> instead of "config.h".
3926
3927 * lisp.h (Foverlay_buffer): Add EXFUN.
3928
3929 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3930 child process to complete child_setup. Undo 2005-09-21 change.
3931
3932 * s/darwin.h: Mention setsid after vfork.
3933
39342008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3935
3936 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3937 Depend on macgui.h.
3938
3939 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3940 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3941
3942 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3943 and f19.
3944 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3945
3946 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3947 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3948 Remove enumerators.
3949
3950 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3951 Check if FACE_FROM_ID returns NULL.
3952
39532008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3954
3955 * w32inevt.c (change_frame_size): Remove extern declaration.
3956 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3957 change_frame_size.
3958
39592008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3960
3961 * getloadavg.c: Revert last change (2008-07-15).
3962
39632008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3964
3965 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3966 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3967 from configure.
3968
39692008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3970
3971 * s/sol2.h:
3972 * s/sol2-4.h: Reorganize conditionals.
3973
3974 * ecrt0.c: Remove code depending on m68000, not used anymore.
3975
3976 * fns.c (hash_remove): Make static.
3977 * lisp.h (hash_remove): Don't prototype.
3978
3979 * m/ibmrs6000.h:
3980 * m/ibms390x.h:
3981 * m/macppc.h: Remove boilerplate comments.
3982
3983 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3984 Solaris, which does not need them.
3985
3986 * m/vax.h: Remove comments about unsupported systems.
3987
3988 * s/darwin.h: Reorganize ifdefs.
3989
39902008-07-17 Andreas Schwab <schwab@suse.de>
3991
3992 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3993
39942008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3995
3996 Use SDATA. Follow coding convention of placing operators at
3997 beginning of next line rather than end of previous line, and placing
3998 spaces around infix operators.
3999
4000 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
4001 in case it was defined already.
4002 USE @GNUSTEP_MAKEFILES@ rather than envvars.
4003 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
4004 ns_default.
4005 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4006 Lisp_Objects.
4007 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4008 (ns_defined_color, ns_color_to_lisp): Declare.
4009 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4010 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4011 it's accepted even with USE_LISP_UNION_TYPE.
4012 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4013 (update_frame_tool_bar): Remove apparently obsolete tests for
4014 non-integerness of f->tool_bar_lines.
4015 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4016 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4017 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4018 (nsfont_open): Don't confuse NULL for Qnil.
4019 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4020 * menu.h (find_and_call_menu_selection):
4021 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4022 (find_and_return_menu_selection): Always return something.
4023 * frame.h: Include dispextern.h for Display_Info.
4024 (display_x_get_resource): Declare.
4025
40262008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4027
4028 * syntax.c: Remove stdio.h include accidentally introduced in
4029 Emacs.app commit.
4030 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4031 NS_IMPL_COCOA.
4032 * keyboard.c (handle_async_input, input_available_signal): Remove
4033 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4034
40352008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4036
4037 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4038 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4039 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4040 Use SDATA.
4041
4042 * keymap.c: Remove all NS-specific code.
4043 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4044 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4045 where_is_preferred_modifier, return a different value depending on how
4046 preferred is the binding.
4047 (where_is_internal): Adjust accordingly.
4048 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4049 Adjust to new preferred_sequence_p.
4050 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4051 * keyboard.c (parse_solitary_modifier): Not static any more.
4052 * keyboard.h (parse_solitary_modifier): Declare.
4053
40542008-07-16 Andreas Schwab <schwab@suse.de>
4055
4056 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4057 of easymenu.
4058
40592008-07-16 Chong Yidong <cyd@stupidchicken.com>
4060
4061 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4062 that we don't move off the line.
4063
40642008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4065
4066 * keyboard.c (Qsuper): Remove.
4067 (parse_menu_item): Don't call where_is_internal specially for NS.
4068
40692008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4070
4071 * s/gnu-linux.h: Remove boilerplate comments.
4072
4073 * m/alpha.h (__ELF__): Consolidate conditions.
4074
4075 * m/m68k.h (linux): Use GNU_LINUX instead.
4076 Remove boilerplate comments.
4077
4078 * m/intel386.h: Undo refactoring from previous change.
4079 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4080 too, remove dead code.
4081 (linux): Use GNU_LINUX instead.
4082
40832008-07-16 Jason Rumney <jasonr@gnu.org>
4084
4085 * w32gui.h: Repeat 26 June changes lost by last change.
4086
40872008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4088
4089 * systty.h: Remove code for Aix on 386, unsupported platform.
4090
4091 * s/ms-w32.h: Remove boilerplate comments.
4092 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4093
4094 * s/gnu-linux.h (TERM): Remove support.
4095 (HAVE_SYSVIPC): Remove, unused.
4096 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4097 for this system.
4098
4099 * process.c: Remove support for IRIS, unused.
4100 Remove support for TERM, not relevant anymore.
4101
4102 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4103 used with the definition.
4104
4105 * s/aix4-2.h (static): Do not undef.
4106
4107 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4108 only used on Aix.
4109 (HAVE_SYSVIPC): Remove, unused.
4110
4111 * m/hp800.h (CANNOT_DUMP): Do not undef.
4112
4113 * m/alpha.h: Fix comment.
4114
4115 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4116 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4117 used by this configuration.
4118 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4119 * unexec.c: Remove code depending on HPUX and
4120 USG_SHARED_LIBRARIES, not used with this file. Remove code
4121 depending on IRIS, unused. Remove if 0-ed code.
4122
4123 * s/template.h: Remove comments about static.
4124
4125 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4126 Remove if 0-ed code.
4127 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4128 were the same as the default.
4129 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4130 Remove boilerplate comments.
4131 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4132 (HAVE_SYSVIPC): Remove, unused.
4133 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4134
4135 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4136 Remove boilerplate comments.
4137 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4138 Remove boilerplate comments.
4139 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4140 Remove boilerplate comments.
4141 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4142
4143 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4144 USG systems which do not use DATA_SEG_BITS.
4145 Refactor code. Remove boilerplate comments.
4146
4147 * m/ibms390.h:
4148 * m/m68k.h:
4149 * s/bsd-common.h:
4150 * s/cygwin.h:
4151 * s/darwin.h:
4152 * s/freebsd.h:
4153 * s/gnu.h:
4154 * s/msdos.h: Remove boilerplate comments.
4155
4156 * m/iris4d.h: Remove boilerplate comments and code for systems that
4157 do not use this file.
4158 (IRIS_4D): Remove, unused.
4159
4160 * m/mips.h: Remove boilerplate comments and code for systems that
4161 do not use this file.
4162 (SIGN_EXTEND_CHAR):
4163 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4164 * unexmips.c: Remove file, unused.
4165
4166 * editfns.c (Fuser_full_name): Replace the only use of
4167 USER_FULL_NAME with its value.
4168 * config.in: Regenerate.
4169
41702008-07-16 David Reitter <david.reitter@gmail.com>
4171
4172 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4173 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4174
41752008-07-16 Glenn Morris <rgm@gnu.org>
4176
4177 * emacs.c (system-type): Doc fix.
4178
41792008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4180
4181 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4182 If the cache doesn't work, let's fix it, rather than work around it.
4183
41842008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4185
4186 * Makefile.in: Correct additions for nsfont.o in last commit.
4187 * nsfont.m: New file (forgot last commit).
4188
41892008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4190
4191 * callproc.c (set_initial_environment): Initialize
4192 Vprocess_environment under CANNOT_DUMP (fixes crash when
4193 batch-compiling for bootstrap).
4194
41952008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4196 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4197
4198 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4199 fix crash due to different init order.
4200
42012008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4202
4203 Changes and additions for NeXTstep windowing system (Cocoa and
4204 GNUstep) support.
4205
4206 * Makefile.in:
4207 * config.in: Support defines and build commands for NS port.
4208 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4209 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4210 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4211 windowing.
4212 (struct face): Add synth_ital field.
4213 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4214 (init_display): Initialize Vinitial_window_system to "ns" when so
4215 compiled.
4216 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4217 (display_arg): Use under NS.
4218 (main): Under NS, allocate autorelease pool and handle command line
4219 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4220 (standard_args): Add NS-specific args.
4221 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4222 * font.c (DEFAULT_ENCODING): New variable.
4223 (font_find_for_lface): Use it.
4224 (syms_of_font): Load syms_of_nsfont under NS.
4225 * font.h: Declare nsfont_driver when compiled under NS.
4226 * fontset.c: When compiling under NS, include nsterm.h.
4227 (fontset_from_font): Autoconstruct fontset under NS.
4228 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4229 symbol, document and use it.
4230 (do_switch_frame): When for_deletion under Cocoa, add
4231 Fraise_frame(Qnil).
4232 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4233 (x_get_arg): Allow "yes" and "no" as boolean values.
4234 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4235 Qright under Cocoa.
4236 (focus-follows-mouse): Default to 0 under NS.
4237 * frame.h (enum output_method): Add output_ns.
4238 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4239 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4240 (FRAME_WINDOW_P): NS-specific definition.
4241 * fringe.c (max_used_fringe_bitmap): Make public.
4242 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4243 (getloadavg): Use NeXT code under descendant OS's.
4244 * image.c (includes and header section, x_create_bitmap_from_data)
4245 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4246 (image_background_transparent, x_clear_image_1)
4247 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4248 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4249 (x_to_xcolors, x_from_xcolors, x_disable_image)
4250 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4251 other GUIs, including XPM support using code originally written for
4252 Carbon GUI.
4253 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4254 using NS API.
4255 (image_ascent): Use font metrics macros instead of direct struct field
4256 access.
4257 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4258 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4259 Also, handle NS as GTK for menu bar purposes.
4260 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4261 toolkit where they differ.
4262 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4263 use cachelist, still needed under NS.
4264 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4265 (struct widget_value): Define it here for menu.c.
4266 * keymap.c (includes): Include modifier internals.
4267 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4268 NS.
4269 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4270 support for preferring sequences using certain modifiers, specified by
4271 the FIRSTONLY argument.
4272 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4273 under NS GNUstep implementation.
4274 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4275 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4276 * menu.c: Include nsterm.h under NS.
4277 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4278 (free_menubar_widget_tree_value, update_submenu_strings)
4279 (find_and_call_menu_selection): Treat NS as X and NT.
4280 (find_and_return_menu_selection): New function, used for popup menus.
4281 * nsgui.h:
4282 * nsterm.h:
4283 * nsfns.m:
4284 * nsimage.m:
4285 * nsmenu.m:
4286 * nsselect.m:
4287 * nsterm.m: New files.
4288 * process.c (wait_reading_process_output): Under NS, call ns_select()
4289 instead of plain select().
4290 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4291 beginning of buffer.
4292 * sysselect.h (init_process): Rename when compiling under Cocoa to
4293 avoid name conflict.
4294 * termhooks.h (display_info): Add ns_display_info to union.
4295 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4296 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4297 COCOA environment.
4298 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4299 unexec() signature. (Note, this will dump, but the resulting file
4300 crashes; unexosx is used instead; keeping around for reference and
4301 possible aid in getting dump working under GNUstep.)
4302 * w32gui.h (button_type, widget_value): Remove definitions (now in
4303 keyboard.h).
4304 * window.c: Include nsterm.h when compiling under NS.
4305 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4306 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4307 other GUI windowing systems.
4308 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4309 GTK.
4310 (x_consider_frame_title): Under NS, set icon type and frame
4311 modified-state indicator; use ns_set_name_as_filename() when using
4312 formatted title.
4313 (update_window_cursor): Make public when compiling under NS.
4314 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4315 (hourglass_atimer, Vhourglass_delay
4316 * xfaces.c (header section, init_frame_faces, clear_font_table)
4317 (defined_color, unload_color, x_face_list_fonts)
4318 (prepare_face_for_display): Add NS support parallel to other GUIs.
4319 Emulate GCs like other non-X GUIs.
4320 (split_font_name): Don't lowercase font name under NS.
4321 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4322 under NS.
4323 * s/darwin.h: Add support for compilation under NS.
4324
43252008-07-15 Jason Rumney <jasonr@gnu.org>
4326
4327 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4328 (w32_show_hourglass): Rename from show_hourglass.
4329 (w32_hide_hourglass): Rename from hide_hourglass.
4330 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4331 (Vhourglass_delay): Declare extern.
4332 (hourglass_started): Remove.
4333
4334 * xdisp.c (Vhourglass_delay): Remove static.
4335 (hourglass_started, start_hourglass, cancel_hourglass):
4336 Don't include these versions on WINDOWSNT.
4337
43382008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4339
4340 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4341 variables (formerly in xfns.c).
4342 (show_hourglass, hide_hourglass): New prototypes (same).
4343 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4344 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4345 in xfns.c).
4346 (syms_of_xdisp): Declare/initialize display-hourglass,
4347 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4348 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4349 formerly in xfns.c.
4350 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4351 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4352 (start_hourglass, cancel_hourglass): Remove.
4353 (show_hourglass, hide_hourglass): Remove prototypes and static
4354 modifiers.
4355 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4356 hourglass_atimer, hourglass_shown_p declaration/initialization.
4357 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4358 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4359 (start_hourglass, cancel_hourglass): Remove.
4360 (show_hourglass, hide_hourglass): Remove prototypes and static
4361 modifiers.
4362 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4363 hourglass_atimer, hourglass_shown_p declaration/initialization.
4364 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4365 (DEFAULT_HOURGLASS_DELAY): Remove.
4366 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4367 hourglass_shown_p declaration/initialization.
4368
43692008-07-14 Jason Rumney <jasonr@gnu.org>
4370
4371 * w32fns.c (w32_get_arg): Remove wrapper function.
4372 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4373 directly.
4374 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4375
43762008-07-14 Kenichi Handa <handa@m17n.org>
4377
4378 * xfont.c (xfont_open): Add workaround for X's bug.
4379
43802008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4381
4382 * fontset.c: Include <stdio.h> unconditionally.
4383
43842008-07-13 Michael Albinus <michael.albinus@gmx.de>
4385
4386 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4387 for filtering.
4388
43892008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4390
4391 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4392
4393 * m/macppc.h:
4394 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4395
4396 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4397 (SPECIAL_EMACS_INT):
4398 * m/ia64.h (SPECIAL_EMACS_INT):
4399 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4400 * s/gnu.h (NLIST_STRUCT):
4401 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4402 * s/gnu-linux.h (LINUX):
4403 * s/msdos.h (HAVE_FACES):
4404 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4405
4406 * systty.h:
4407 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4408 anymore.
4409
44102008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4411
4412 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4413 always defined as int.
4414
4415 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4416 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4417 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4418 * s/freebsd.h (HAVE_WAIT_HEADER):
4419 * s/bsd-common.h (HAVE_UNION_WAIT):
4420 * s/aix4-2.h (HAVE_WAIT_HEADER):
4421 * m/mips.h (HAVE_UNION_WAIT):
4422 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4423 (COFF, static): Do not define, they are undefined later in the file.
4424
4425 * process.c (update_status): Don't use a union.
4426 (status_convert):
4427 (sigchld_handler): Use int instead of WAITTYPE.
4428
44292008-07-12 Chong Yidong <cyd@stupidchicken.com>
4430
4431 * indent.c (Fvertical_motion): Restore hscroll before moving to
4432 goal column.
4433
44342008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4435
4436 * lisp.h: Remove left over code.
4437
44382008-07-11 Andreas Schwab <schwab@suse.de>
4439
4440 * lisp.h: Fix logic in last change.
4441
4442 * menu.h: New file.
4443 * menu.c: Include it.
4444 * xmenu.c: Likewise.
4445 * Makefile.in: Update dependencies.
4446
44472008-07-11 Kenichi Handa <handa@m17n.org>
4448
4449 * fontset.c (fontset_from_font): Cancel the previous change.
4450
44512008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4452
4453 * lisp.h:
4454 * w32heap.c:
4455 * emacs.c:
4456 * alloc.c: Replace all references of NO_UNION_TYPE with
4457 USE_LISP_UNION_TYPE.
4458
4459 * m/xtensa.h (NO_UNION_TYPE):
4460 * m/vax.h (NO_UNION_TYPE):
4461 * m/template.h (NO_UNION_TYPE):
4462 * m/sparc.h (NO_UNION_TYPE):
4463 * m/mips.h (NO_UNION_TYPE):
4464 * m/macppc.h (NO_UNION_TYPE):
4465 * m/m68k.h (NO_UNION_TYPE):
4466 * m/iris4d.h (NO_UNION_TYPE):
4467 * m/intel386.h (NO_UNION_TYPE):
4468 * m/ibms390x.h (NO_UNION_TYPE):
4469 * m/ibms390.h (NO_UNION_TYPE):
4470 * m/ibmrs6000.h (NO_UNION_TYPE):
4471 * m/ia64.h (NO_UNION_TYPE):
4472 * m/hp800.h (NO_UNION_TYPE):
4473 * m/arm.h (NO_UNION_TYPE):
4474 * m/amdx86-64.h (NO_UNION_TYPE):
4475 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4476 defining it the same.
4477
44782008-07-10 Chong Yidong <cyd@stupidchicken.com>
4479
4480 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4481
44822008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4483
4484 * fileio.c:
4485 * sysdep.c
4486 * systty.h:
4487 * m/ibmrs6000.h:
4488 * m/iris4d.h:
4489 * s/aix4-2.h:
4490 * s/freebsd.h:
4491 * s/gnu-linux.h:
4492 * s/hpux10-20.h:
4493 * s/hpux11.h:
4494 * s/netbsd.h:
4495 * s/sol2-3.h:
4496 * s/sol2-4.h:
4497 * s/sol2.h:
4498 * s/usg5-4.h:
4499 * s/vms.h: Remove references to unused variables.
4500
45012008-07-10 Andreas Schwab <schwab@suse.de>
4502
4503 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4504 pattern before matching the generic family.
4505
45062008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4507
4508 * unexec.c:
4509 * s/vms.h:
4510 * s/usg5-4-2.h:
4511 * s/sol2-5.h:
4512 * s/freebsd.h:
4513 * s/darwin.h: Remove dead code.
4514
4515 * m/template.h:
4516 * m/sparc.h:
4517 * m/mips.h:
4518 * m/m68k.h:
4519 * m/iris4d.h:
4520 * m/intel386.h:
4521 * m/ibms390x.h:
4522 * m/ibms390.h:
4523 * m/ia64.h:
4524 * m/hp800.h:
4525 * m/arm.h:
4526 * m/amdx86-64.h: Remove dead code and references to unused
4527 and compiler defined symbols.
4528
4529 * unexmips.c:
4530 * unexelf.c: Remove references to desupported systems.
4531
4532 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4533
4534 * m/powermac.h: Remove boilerplate comments.
4535 (NO_REMAP): Remove unused definition.
4536
4537 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4538 define them.
4539
45402008-07-10 Kenichi Handa <handa@m17n.org>
4541
4542 * xfont.c (xfont_open): Log the reason of failure.
4543
45442008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4545
4546 * fontset.c (fontset_get_font_group):
4547 * font.c (font_check_otf): Specify argument types.
4548
45492008-07-09 Kenichi Handa <handa@m17n.org>
4550
4551 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4552 non-ASCII char is found.
4553
4554 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4555 (reorder_font_vector): Change the arg preferred_family to font.
4556 Prefer the spec matching with font.
4557 (fontset_get_font_group): New function.
4558 (fontset_find_font): Change the format of an element of a realized
4559 fontset. Use fontset_get_font_group.
4560 (fontset_font): Try the current fontset, the default fontset, the
4561 fallbacks of the current fontset, and the fallbacks of the default
4562 fontset in this order.
4563 (face_for_char): Delete the shortcut to use the current font.
4564 (fontset_from_font): Don't set fonts for Latin in the fontset.
4565
4566 * font.h (font_make_object, font_match_p): Adjust prototypes.
4567
4568 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4569
4570 * font.c (font_make_object): New arg entity and pixelsize.
4571 (font_check_otf_features, font_check_otf): New functions.
4572 (font_match_p): Check :lang, :script, and :otf properties.
4573
4574 * xfont.c (xfont_open): Adjust it for the change of
4575 font_make_object.
4576 (xfont_text_extents): Fix initial setting of metrics.
4577
4578 * ftfont.c (struct ftfont_info): New member index, delete member
4579 fc_charset_idx. Make the member order compatible with struct
4580 xftfont_info.
4581 (fc_charset_table): Change charset names to registry names.
4582 (ftfont_pattern_entity): Delete the args registry and
4583 fc_charset_idx. Change the value of :font-entity property
4584 to (FONTNAME . INDEX). Always set :registry property to
4585 `iso10646-1'.
4586 (struct ftfont_cache_data): New struct.
4587 (ftfont_lookup_cache): New arg for_face.
4588 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4589 (ftfont_driver): Set the member otf_capability.
4590 (ftfont_get_charset): Adjust it for the change of
4591 fc_charset_table.
4592 (OTF_TAG_SYM): New macro.
4593 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4594 for the change of fc_charset_table.
4595 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4596 ftfont_pattern_entity. Add FC_INDEX to objset.
4597 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4598 and ftfont_pattern_entity.
4599 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4600 font_make_object, struct ftfont_info.
4601 (ftfont_has_char): Use ftfont_get_fc_charset.
4602 (ftfont_otf_features, ftfont_otf_capability): New functions.
4603 (ftfont_shape): Use ftfont_get_otf.
4604 (ftfont_text_extents): Fix initial setting of metrics.
4605
4606 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4607 member order compatible with struct ftfont_info.
4608 (xftfont_open): Add FC_CHARSET to the pattern. Set
4609 xftfont_info->ft_size. Don't unlock the face. Check BDF
4610 properties if appropriate.
4611 (xftfont_close): Unlock the face.
4612 (xftfont_anchor_point, xftfont_shape): Deleted.
4613 (syms_of_xftfont): Don't set members anchor_point and shape of
4614 xftfont_driver.
4615
4616 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4617 font_make_object.
4618
4619 * w32font.c (w32font_open): Adjust it for the change of
4620 font_make_object.
4621 (w32font_open_internal): Don't set properties of font_object here.
4622
46232008-07-08 Chong Yidong <cyd@stupidchicken.com>
4624
4625 * macfns.c (x_create_tip_frame):
4626 * w32fns.c (x_create_tip_frame):
4627 * xfns.c (x_create_tip_frame): Pass parameter argument to
4628 face-set-after-frame-default.
4629
4630 * xfaces.c (Finternal_merge_in_global_face): Save merged
4631 attributes for the default face back into the face vector.
4632
46332008-07-08 Andreas Schwab <schwab@suse.de>
4634
4635 * fontset.h: Declare fontset_from_font. Don't declare
4636 new_fontset_from_font and fontset_from_font_name.
4637 * xterm.c: Include "fontset.h".
4638 * Makefile.in (xterm.o): Update dependencies.
4639
46402008-07-08 Glenn Morris <rgm@gnu.org>
4641
4642 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4643 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4644
46452008-07-07 Chong Yidong <cyd@stupidchicken.com>
4646
4647 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4648 (x_set_frame_parameters): Don't bind it.
4649
46502008-07-07 Juanma Barranquero <lekktu@gmail.com>
4651
4652 * w32fns.c (map_w32_filename): Declare extern.
4653
46542008-07-07 Jason Rumney <jasonr@gnu.org>
4655
4656 * w32term.c (WS_EX_LAYERED): Define if not already.
4657
46582008-07-06 Chong Yidong <cyd@stupidchicken.com>
4659
4660 * xfaces.c (set_font_frame_param): Don't try to set the font
4661 parameter if it is still unspecified in the lface.
4662
46632008-07-05 Chong Yidong <cyd@stupidchicken.com>
4664
4665 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4666 face if it didn't already exist.
4667
4668 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4669
46702008-07-05 Andreas Schwab <schwab@suse.de>
4671
4672 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4673
46742008-07-05 Chong Yidong <cyd@stupidchicken.com>
4675
4676 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4677 word-wrapping.
4678 (IT_DISPLAYING_WHITESPACE): New macro.
4679 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4680 when word-wrapping. Simplify word-wrapping logic. Use correct
4681 pixel positions when saving copies of the iterator.
4682 (display_line): Use proper wrap point if the last character on a
4683 line was preceded by whitespace.
4684
46852008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4686
4687 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4688
46892008-07-04 Kenichi Handa <handa@m17n.org>
4690
4691 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4692
4693 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4694
46952008-07-02 Jason Rumney <jasonr@gnu.org>
4696
4697 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4698 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4699
4700 * xdisp.c (next_element_from_display_vector): Move assignment out
4701 of if statement.
4702
47032008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4704
4705 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4706
4707 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4708 (syms_of_fileio): Initialize and export them.
4709 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4710
4711 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4712 (Fsystem_move_file_to_trash): New function.
4713 (syms_of_w32fns): Export it to lisp.
4714
47152008-07-01 Jason Rumney <jasonr@gnu.org>
4716
4717 * w32font.c (w32font_text_extents): Don't count overhang as part
4718 of width.
4719
47202008-06-30 Miles Bader <miles@gnu.org>
4721
4722 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4723 Add `avoid_cursor_p' field.
4724
4725 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4726 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4727 (append_glyph, append_composite_glyph, produce_image_glyph)
4728 (append_stretch_glyph): Initialize avoid_cursor_p.
4729 (get_it_property): Rename from `get_line_height_property'.
4730 (x_produce_glyphs): Use get_it_property.
4731 (handle_line_prefix, push_display_prop): New functions.
4732 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4733 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4734 New variables.
4735 (syms_of_xdisp): Initialize them.
4736
47372008-06-30 Kenichi Handa <handa@m17n.org>
4738
4739 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4740 XftDefaultSubstitute (they are called in XftFontMatch).
4741 (xftfont_open): Fix args to ftfont_font_format.
4742
4743 * ftfont.c (fc_charset_table): New member lang.
4744 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4745 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4746 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4747 (ftfont_open): Fix args to ftfont_font_format.
4748 (ftfont_font_format): New arg filename.
4749
47502008-06-30 Chong Yidong <cyd@stupidchicken.com>
4751
4752 * xfaces.c (Finternal_merge_in_global_face): If default face was
4753 modified, realize it again. Update the font face attribute.
4754
47552008-06-29 Jason Rumney <jasonr@gnu.org>
4756
4757 * w32term.c (x_set_frame_alpha): Fix logic.
4758
47592008-06-29 Kenichi Handa <handa@m17n.org>
4760
4761 * fontset.c (Finternal_char_font): Return font-object instead of
4762 font-name.
4763
4764 * composite.c (get_composition_id): Fix the width calculation for TAB.
4765
47662008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4767
4768 * indent.c (Fvertical_motion): Properly handle float column arg.
4769
47702008-06-28 Jason Rumney <jasonr@gnu.org>
4771
4772 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4773 (pfnSetLayeredWindowAttributes): New function pointer.
4774 (w32_initialize): Initialize it when supported.
4775 (x_set_frame_alpha): New function.
4776
4777 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4778 (w32_frame_parm_handlers): Set alpha handler.
4779
4780 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4781
47822008-06-27 Jason Rumney <jasonr@gnu.org>
4783
4784 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4785 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4786 (w32_to_x_charset, x_to_w32_charset)
4787 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4788 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4789 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4790 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4791 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4792 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4793 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4794 (Qw32_charset_unicode): Remove.
4795 (syms_of_w32fns): Update for above changes.
4796
4797 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4798 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4799 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4800 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4801 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4802 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4803 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4804 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4805 (syms_of_w32font): Update for above changes.
4806
48072008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4808
4809 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4810 removed #if.
4811 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4812
48132008-06-26 Juanma Barranquero <lekktu@gmail.com>
4814 Eli Zaretskii <eliz@gnu.org>
4815
4816 * makefile.w32-in (LOCAL_FLAGS):
4817 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4818
4819 * sysdep.c (_spawnlp, _getpid):
4820 Declare with explicit _cdecl instead of _CRTAPI1.
4821
4822 * editfns.c (Fget_internal_run_time):
4823 Check for WINDOWSNT with #ifdef, not #if.
4824
48252008-06-26 Jason Rumney <jasonr@gnu.org>
4826
4827 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4828
4829 * w32term.c (x_draw_glyph_string_foreground)
4830 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4831 Use FONT_HANDLE macro.
4832 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4833
4834 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4835 (uniscribe_encode_char): Use FONT_HANDLE macro.
4836
4837 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4838 (w32font_text_extents): Use precast w32_font.
4839 (w32font_close): Free cached metrics.
4840 (w32font_open_internal): Allocate space for name on stack.
4841
48422008-06-26 Chong Yidong <cyd@stupidchicken.com>
4843
4844 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4845
48462008-06-26 Jason Rumney <jasonr@gnu.org>
4847
4848 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4849 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4850
48512008-06-26 Juanma Barranquero <lekktu@gmail.com>
4852
4853 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4854
48552008-06-26 Jason Rumney <jasonr@gnu.org>
4856
4857 * w32bdf.c, w32bdf.h: Remove obsolete files.
4858
4859 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4860
4861 * w32gui.h: Don't include w32bdf.h.
4862 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4863 Remove obsolete font support.
4864
4865 * w32font.h (struct w32font_info): Remove compat_w32_font.
4866 Add hfont member.
4867 (FONT_COMPAT): Remove obsolete macro.
4868
4869 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4870 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4871 (w32font_open_internal): Remove compat code. Set new hfont member.
4872 (Fx_select_font): Use new hfont member.
4873
4874 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4875 (uniscribe_encode_char): Use new hfont member.
4876
4877 * w32term.c (x_draw_glyph_string_foreground)
4878 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4879 (x_draw_glyph_string): Use metrics in w32font_info.
4880
48812008-06-26 Kenichi Handa <handa@m17n.org>
4882
4883 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4884
48852008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4886
4887 * unexnext.c:
4888 * m/ews4800.h:
4889 * m/hp9000s300.h:
4890 * m/ibm370aix.h:
4891 * m/mips-siemens.h:
4892 * m/ncr386.h:
4893 * m/next.h:
4894 * m/pmax.h:
4895 * m/powerpcle.h:
4896 * m/tandem-s2.h:
4897 * s/386bsd.h:
4898 * s/bsd386.h:
4899 * s/bsd4-1.h:
4900 * s/bsd4-2.h:
4901 * s/bsdos2-1.h:
4902 * s/bsdos2.h:
4903 * s/bsdos3.h:
4904 * s/bsdos4.h:
4905 * s/nextstep.h:
4906 * s/ultrix4-3.h:
4907 * s/usg5-0.h:
4908 * s/usg5-2-2.h:
4909 * s/usg5-2.h:
4910 * s/usg5-4-3.h:
4911 * s/ux4800.h:
4912 * s/uxpds.h:
4913 * s/uxpv.h: Remove support for obsolete systems.
4914 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4915 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4916 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4917 Remove, insert contents in s/aix4-2.h.
4918 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4919 * s/bsd4-3.h: Rename to ...
4920 * s/bsd-common.h: ... this.
4921 * data.c:
4922 * doc.c:
4923 * ecrt0.c:
4924 * emacs.c:
4925 * fileio.c:
4926 * floatfns.c:
4927 * keyboard.c:
4928 * mem-limits.h:
4929 * print.c:
4930 * process.c:
4931 * sysdep.c:
4932 * syssignal.h:
4933 * systty.h:
4934 * syswait.h:
4935 * term.c:
4936 * unexec.c:
4937 * unexelf.c:
4938 * unexhp9k800.c:
4939 * m/hp800.h:
4940 * m/ibmrs6000.h:
4941 * m/mips.h:
4942 * m/vax.h:
4943 * s/darwin.h:
4944 * s/freebsd.h:
4945 * s/gnu.h:
4946 * s/ms-w32.h:
4947 * s/msdos.h:
4948 * s/netbsd.h:
4949 * s/template.h: Remove references to obsolete variables.
4950
4951 * Makefile.in: Add dependencies for all unexec files.
4952 (admindir): Remove unused variable.
4953 (UNEXEC_SRC): Remove references.
4954
49552008-06-25 Chong Yidong <cyd@stupidchicken.com>
4956
4957 * xfns.c (x_default_font_parameter): If Xft is available, first
4958 try Monospace-12 for the default font.
4959
49602008-06-25 Jason Rumney <jasonr@gnu.org>
4961
4962 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4963
49642008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4965
4966 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4967
4968 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4969
49702008-06-25 Juanma Barranquero <lekktu@gmail.com>
4971
4972 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4973 <scroll-conservatively>: Fix typo in docstring.
4974
4975 * xselect.c (Fx_send_client_event): Doc fix.
4976
49772008-06-25 Kenichi Handa <handa@m17n.org>
4978
4979 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4980
4981 * font.c (font_parse_fcname): Remove unused variables.
4982 (font_sort_entites): Delete the arg SPEC. Caller changed.
4983 Fix for the case of ! best_only.
4984 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4985
4986 * lisp.h (Fstring_to_unibyte): EXFUN it.
4987
4988 * character.h (str_to_unibyte): Extern it.
4989
4990 * character.c (str_to_unibyte): New function.
4991
4992 * fns.c (Fstring_to_unibyte): New function.
4993 (syms_of_fns): Defsubr it.
4994
49952008-06-24 Kenichi Handa <handa@m17n.org>
4996
4997 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4998 DPI too.
4999 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
5000
50012008-06-24 Andreas Schwab <schwab@suse.de>
5002
5003 * Makefile.in (${lispsource}loaddefs.el): Rename from
5004 ../lisp/loaddefs.el.
5005 (bootstrap-clean): Do what distclean does but don't remove
5006 Makefile.
5007 (distclean): Depend on bootstrap-clean and remove Makefile.
5008
50092008-06-24 Chong Yidong <cyd@stupidchicken.com>
5010
5011 * buffer.h (struct buffer): New member word_wrap.
5012
5013 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5014 word-wrap.
5015 (init_buffer_once): Initialize them.
5016
5017 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5018 line_wrap enum possessing three possible values.
5019
5020 * termopts.h: Replace truncate_partial_width_windows with
5021 Vtruncate_partial_width_windows.
5022
5023 * dispnew.c (direct_output_for_insert): Avoid direct output when
5024 inserting a space with word wrap on.
5025
5026 * indent.c (compute_motion): Obey integer values of
5027 truncate-partial-width-windows.
5028
5029 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5030 replacing truncate_partial_width_windows.
5031 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5032 truncate only if the window width is below that integer.
5033 (start_display, resize_mini_window, produce_stretch_glyph)
5034 (display_string, move_it_in_display_line_to): Use line_wrap.
5035 (back_to_previous_visible_line_start, reseat_1): Reset
5036 string_from_display_prop_p.
5037 (display_line): Extend default face to end of line when wrapping.
5038
50392008-06-24 Kim F. Storm <storm@cua.dk>
5040
5041 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5042 to wrap continued lines at word boundaries.
5043
50442008-06-24 Jason Rumney <jasonr@gnu.org>
5045
5046 * font.c (Ffont_face_attributes): Multiply pixel size before point
5047 conversion to avoid multiplying rounding error.
5048
50492008-06-23 Jason Rumney <jasonr@gnu.org>
5050
5051 * w32term.c (x_draw_glyph_string_background)
5052 (x_draw_glyph_string): Remove old bdf font code.
5053
5054 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5055
50562008-06-22 Kenichi Handa <handa@m17n.org>
5057
5058 * font.c (font_find_for_lface): Try the adstyle specified in
5059 the property of LFACE_FONT of LFACE (if any).
5060
50612008-06-21 Seiji Zenitani <zenitani@mac.com>
5062 Ryo Yoshitake <ryo@shiftmode.net>
5063
5064 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5065
50662008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5067
5068 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5069 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5070 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5071 (witness-emacs): Remove.
5072 (lisp, shortlisp): Move loaddefs.el earlier.
5073 (mostlyclean): Forget about witness-emacs.
5074
50752008-06-22 Glenn Morris <rgm@gnu.org>
5076
5077 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5078 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5079
50802008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5081
5082 * Makefile.in (PRECOMP): Remove.
5083 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5084 (witness-emacs): Run `compile-first'.
5085 (.el.elc): Use the new compile-onefile target.
5086
50872008-06-21 Kenichi Handa <handa@m17n.org>
5088
5089 * xftfont.c (xftfont_open): Handle QCembolden only when
5090 FC_EMBOLDEN is defined.
5091
50922008-06-21 Andreas Schwab <schwab@suse.de>
5093
5094 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5095 (.el.elc): Likewise.
5096
50972008-06-21 Miles Bader <miles@gnu.org>
5098
5099 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5100 build dir, not the lisp source dir.
5101
51022008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5103
5104 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5105 (bootstrapclean): Remove.
5106 (.el.elc): New rule.
5107 (PRECOMP): New var.
5108 (../lisp/subdirs.el): Remove.
5109 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5110 (witness-emacs): New target.
5111 (mostlyclean): Remove witness-emacs as well.
5112 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5113 Add witness-emacs dependency.
5114
51152008-06-20 Chong Yidong <cyd@stupidchicken.com>
5116
5117 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5118 defined by the font.
5119
51202008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5121
5122 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5123 (bootstrap-clean): New target that keeps TAGS around.
5124 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5125 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5126
51272008-06-20 Jason Rumney <jasonr@gnu.org>
5128
5129 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5130 Remove obsolete font code.
5131
5132 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5133 to determine language support.
5134
51352008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5136
5137 * sysdep.c (cfsetspeed): New fun extracted from the code.
5138 (cfmakeraw): Move before first use.
5139
51402008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5141
5142 * sysdep.c (cfmakeraw): Provide fallback implementation.
5143 (serial_configure): Provide fallback implementation of cfsetspeed.
5144
51452008-06-20 Kenichi Handa <handa@m17n.org>
5146
5147 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5148 the pattern.
5149
5150 * fontset.c (fontset_from_font): Copy font_spec before changing
5151 the elements.
5152
5153 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5154
51552008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5156
5157 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5158 for explicit `font' parameters.
5159
5160 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5161
51622008-06-19 Kenichi Handa <handa@m17n.org>
5163
5164 * frame.c: Include <ctype.h>.
5165 (x_set_font_backend): Allow spacing characters in the X resource
5166 for FontBackend.
5167
51682008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5169
5170 * w32fns.c, xfns.c (Qfont_param): New var.
5171 (syms_of_w32fns): Initialize it.
5172 (x_default_font_parameter): Record explicit `font' into
5173 `font-parameter'.
5174
51752008-06-18 Kenichi Handa <handa@m17n.org>
5176
5177 * font.c (font_parse_xlfd): Fix previous change.
5178 (font_parse_fcname): Don't use :fc-unknown-spec.
5179 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5180 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5181 (font_add_log): Prepend the driver name to the resulting fonts.
5182
5183 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5184 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5185 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5186
5187 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5188 (QCembolden): New variables.
5189 (syms_of_xftfont): DEFSYM them.
5190 (xftfont_open): Call XftFontMatch. Don't trust the result of
5191 XftTextExtents8 if the pixel_size is less than 5.
5192
51932008-06-18 Andreas Schwab <schwab@suse.de>
5194
5195 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5196 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5197
51982008-06-18 Jason Rumney <jasonr@gnu.org>
5199
5200 * w32font.c (w32font_list, w32font_match): Add logging.
5201
5202 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5203
52042008-06-17 Chong Yidong <cyd@stupidchicken.com>
5205
5206 * font.c (font_parse_fcname): Store divider characters for
5207 unknown-spec list. For known key symbols, intern using correct
5208 symbol name.
5209
52102008-06-17 Kenichi Handa <handa@m17n.org>
5211
5212 * xfaces.c (realize_default_face): If the frame is not on window
5213 system, set the fontset of face to nil.
5214
52152008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5216
5217 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5218
52192008-06-16 Juanma Barranquero <lekktu@gmail.com>
5220
5221 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5222 (build_font_name_from_vector): Delete externs.
5223
5224 * xfaces.c (struct font_name): Don't declare.
5225
52262008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5227
5228 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5229
52302008-06-16 Chong Yidong <cyd@stupidchicken.com>
5231
5232 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5233
52342008-06-16 Juanma Barranquero <lekktu@gmail.com>
5235
5236 * font.c (Ffont_spec): Fix usage in docstring.
5237 (Ffont_face_attributes): Doc fix.
5238
52392008-06-16 Andreas Schwab <schwab@suse.de>
5240
5241 * font.c (Ffont_face_attributes): Fix definition.
5242
52432008-06-16 Jason Rumney <jasonr@gnu.org>
5244
5245 * font.h (font_style_symbolic_from_value): Remove.
5246
5247 * font.c (font_style_symbolic_from_value): Remove.
5248 (font_style_symbolic): Revert to pre 2008-06-13 version.
5249
5250 * w32font.c (w32_to_fc_weight): New function.
5251 (w32font_full_name, logfont_to_fcname): Use it.
5252
52532008-06-16 Kenichi Handa <handa@m17n.org>
5254
5255 * font.c (font_check_object): Delete it.
5256 (font_clear_cache): Check if a font-object is alive.
5257 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5258 font-object to nil.
5259 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5260 (font_at): Don't call font_check_object.
5261 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5262
52632008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5264
5265 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5266
52672008-06-16 Chong Yidong <cyd@stupidchicken.com>
5268
5269 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5270
52712008-06-15 Chong Yidong <cyd@stupidchicken.com>
5272
5273 * font.c (font_parse_fcname): Only one decimal point.
5274 (font_unparse_fcname): Handle data in family and foundry indices
5275 as symbols, not strings.
5276 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5277
5278 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5279
5280 * font.h (font_unparse_gtkname): Add prototype.
5281
52822008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5283
5284 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5285
52862008-06-15 Andreas Schwab <schwab@suse.de>
5287
5288 * font.c (font_update_drivers): Fix crash when no drivers match.
5289
52902008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5291
5292 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5293 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5294
52952008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5296
5297 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5298
52992008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5300
5301 * process.c (Fserial_process_configure, Fprocess_send_eof):
5302 Use EQ to compare Lisp_Objects.
5303
53042008-06-13 Jason Rumney <jasonr@gnu.org>
5305
5306 * w32fns.c (Fw32_select_font): Remove old font API function.
5307
5308 * w32font.c (logfont_to_fcname): New function.
5309 (Fx_select_font): New font dialog function compatible with
5310 GTK/fontconfig version.
5311
5312 * font.c (font_style_symbolic_from_value): New function.
5313 (font_style_symbolic): Use it.
5314
5315 * font.h (font_style_symbolic_from_value): Declare new function.
5316
53172008-06-13 Juanma Barranquero <lekktu@gmail.com>
5318
5319 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5320 <font-width-table>: Fix typos in docstrings.
5321
53222008-06-13 Daniel Engeler <engeler@gmail.com>
5323
5324 These changes add serial port access.
5325 * process.c: Add HAVE_SERIAL.
5326 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5327 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5328 (list_processes_1, select_wrapper, Fstop_process)
5329 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5330 (status_notify): Modify to handle serial processes.
5331 [HAVE_SERIAL] (Fserial_process_configure)
5332 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5333 New functions.
5334 * process.h (struct Lisp_Process): Add `type'.
5335 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5336 New functions.
5337 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5338 serial ports.
5339 (serial_open, serial_configure) New functions.
5340 * w32.h: Add FILE_SERIAL.
5341 (struct _child_process): Add ovl_read, ovl_write.
5342
53432008-06-13 Kenichi Handa <handa@m17n.org>
5344
5345 * dispextern.h (enum lface_attribute_index): New member
5346 LFACE_FOUNDRY_INDEX.
5347
5348 * font.c (font_score): Delete arg alternate_families. Check only
5349 weight, slant, width, and size. Ignore the difference of alias
5350 style symbols.
5351 (font_sort_entites): Adjust for the above change. Reflect the
5352 order of font-driver to scores.
5353 (font_list_entities): Don't check alternate_familes here.
5354 (font_clear_prop): Handle foundry.
5355 (font_update_lface): Don't parse "foundry-family" form here.
5356 Handle FONT_FOUNDRY_INDEX.
5357 (font_find_for_lface): Likewise. Handle alternate families here.
5358 If registry is nil, try iso8859-1 and ascii-0.
5359 (font_open_for_lface): Pay attention to size in ENTITY.
5360 (font_open_by_name): Simplify by calling font_load_for_lface.
5361 (free_font_driver_list): Delete it.
5362 (font_update_drivers): Preserve the order of backends.
5363 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5364 of font_score and font_sort_entites.
5365 (font_update_sort_order): Likewise.
5366
5367 * xfaces.c (LFACE_FOUNDRY): New macro.
5368 (check_lface_attrs): Check foundry.
5369 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5370 (merge_face_vectors): Check foundry.
5371 (merge_face_ref): Likewise.
5372 (Finternal_set_lisp_face_attribute): Likewise.
5373 (x_update_menu_appearance): Likewise.
5374 (Finternal_get_lisp_face_attribute): Likewise.
5375 (lface_hash): Likewise.
5376 (lface_same_font_attributes_p): Likewise.
5377 (x_supports_face_attributes_p): Likewise.
5378 (tty_supports_face_attributes_p): Likewise.
5379 (Finternal_set_alternative_font_family_alist): Intern strings.
5380 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5381 (realize_default_face): Set LFACE_FOUNDRY (lface).
5382
5383 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5384 font-driver at first.
5385
5386 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5387
53882008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5389
5390 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5391
53922008-06-12 Jim Meyering <meyering@redhat.com>
5393
5394 Make unexec_free handle NULL the same way free does.
5395 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5396
53972008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5398
5399 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5400 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5401 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5402 (WEAK_ALIAS): Simplify.
5403 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5404 when searching a unibyte buffer.
5405
54062008-06-12 Chong Yidong <cyd@stupidchicken.com>
5407
5408 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5409
54102008-06-12 Juanma Barranquero <lekktu@gmail.com>
5411
5412 * w32font.c: Include ctype.h.
5413
54142008-06-11 Jason Rumney <jasonr@gnu.org>
5415
5416 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5417 misreported as space.
5418 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5419 as aliases for registry iso10646-1.
5420
54212008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5422
5423 * buffer.c (clone_per_buffer_values): Skip `name'.
5424
54252008-06-11 Chong Yidong <cyd@stupidchicken.com>
5426
5427 * font.c (font_parse_fcname): Fix last change; accept decimal
5428 points in font size.
5429
54302008-06-10 Jason Rumney <jasonr@gnu.org>
5431
5432 * w32uniscribe.c (add_opentype_font_name_to_list):
5433 Skip non unicode fonts.
5434
54352008-06-10 Chong Yidong <cyd@stupidchicken.com>
5436
5437 * xfns.c (Fx_font_dialog): New function.
5438
5439 * gtkutil.c (xg_dialog_response_cb): Rename from
5440 xg_file_response_callback.
5441 (pop_down_dialog): Rename from pop_down_file_dialog.
5442 (xg_get_file_name): Callers changed.
5443 (xg_get_font_name): New function.
5444
5445 * gtkutil.h (xg_get_font_name): Insert prototype.
5446
54472008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5448
5449 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5450 x_underline_minimum_display_offset.
5451 (syms_of_xdisp): Declare it here rather than in xterm.c.
5452 * dispextern.h (underline_minimum_offset): Declare it.
5453 * w32term.c (x_draw_glyph_string): Use it.
5454 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5455 (syms_of_xterm): Don't declare it any more.
5456 (x_draw_glyph_string): Adjust to the new name.
5457
54582008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5459
5460 * xterm.c (x_underline_minimum_display_offset): New var.
5461 (x_draw_glyph_string): Use it.
5462 (syms_of_xterm): Declare it.
5463
54642008-06-10 Chong Yidong <cyd@stupidchicken.com>
5465
5466 * font.c (font_parse_fcname): Accept GTK-style font names too.
5467
54682008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5469
5470 * dired.c (file_name_completion): Don't return t if the match is exact
5471 but with different capitalization.
5472 * minibuf.c (Ftry_completion): Simplify.
5473
5474 * window.c (Vwindow_point_insertion_type): New var.
5475 (set_window_buffer): Use it.
5476 (syms_of_window): Init and export it to Lisp.
5477
54782008-06-10 Kenichi Handa <handa@m17n.org>
5479
5480 * font.h (font_intern_prop): Prototype adjusted.
5481
5482 * font.c (font_intern_prop): New arg force_symbol.
5483 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5484 Adjust for the change of font_intern_prop.
5485
5486 * ftfont.c (ftfont_pattern_entity):
5487 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5488 (w32_registry):
5489 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5490 the change of font_intern_prop.
5491
54922008-06-09 Juanma Barranquero <lekktu@gmail.com>
5493
5494 * w32menu.c (digest_single_submenu): Declare extern.
5495
54962008-06-09 Jason Rumney <jasonr@gnu.org>
5497
5498 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5499
5500 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5501 (parse_single_submenu): Remove.
5502 (digest_single_submenu): Remove.
5503 (syms_of_w32menu): Don't initialise variables that have moved
5504 to menu.c.
5505 (set_frame_menubar): Sync with version in xmenu.c.
5506 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5507
5508 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5509 Make static again.
5510
55112008-06-09 Jason Rumney <jasonr@gnu.org>
5512
5513 Changes to w32 files related to the move of common menu code
5514 to menu.c on 2008-06-08 by Chong Yidong.
5515
5516 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5517 defs to w32gui.h.
5518 (single_keymap_panes, push_menu_item, push_menu_pane):
5519 Make globally visible.
5520
5521 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5522 (local_free, malloc_widget_value, free_widget_value)
5523 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5524 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5525 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5526 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5527 (menu_items, menu_items_allocated, menu_items_used)
5528 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5529 (init_menu_items, finish_menu_items, discard_menu_items)
5530 (grow_menu_items, push_submenu_start, push_submenu_end)
5531 (push_left_right_boundary, push_menu_pane, push_menu_item)
5532 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5533 (free_menubar_widget_tree_value, parse_single_submenu)
5534 (update_submenu_strings): Remove functions.
5535 (xmalloc_widget_value): Remove and declare extern.
5536
5537 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5538 (OBJ1): Build it.
5539
5540 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5541 (local_heap, local_alloc, local_free, malloc_widget_value)
5542 (free_widget_value): Define here.
5543
55442008-06-09 Kenichi Handa <handa@m17n.org>
5545
5546 * font.h (Qascii_0): Extern it.
5547
5548 * font.c (Qascii_0): New variable.
5549 (syms_of_font): DEFSYM it.
5550 (font_open_by_name): If the registry "iso8859-1" fails, try also
5551 "ascii-0".
5552
5553 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5554
55552008-06-08 Kenichi Handa <handa@m17n.org>
5556
5557 * .gdbinit (xfont): New command.
5558
55592008-06-08 Andreas Schwab <schwab@suse.de>
5560
5561 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5562 * Makefile.in (menu.o): Update dependencies.
5563
5564 * Makefile.in (obj): Always add menu.o.
5565 * emacs.c (main): Always call syms_of_menu.
5566 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5567
55682008-06-08 Chong Yidong <cyd@stupidchicken.com>
5569
5570 * Makefile.in: Compile menu.c.
5571
5572 * lisp.h: Declare syms_of_menu.
5573
5574 * emacs.c (main): Call syms_of_menu.
5575
5576 * keyboard.h: Relocate platform-independent menu definitions from
5577 xmenu.c.
5578
5579 * menu.c: New file. Relocate platform-independent menu
5580 definitions from xmenu.c. Suggested by Adrian Robert.
5581
5582 * xmenu.c: Remove platform-independent menu definitions.
5583 (menu_items menu_items_inuse, menu_items_allocated)
5584 (menu_items_used, menu_items_n_panes)
5585 (menu_items_submenu_depth): Move to keyboard.h.
5586 (init_menu_items, finish_menu_items, unuse_menu_items)
5587 (discard_menu_items, restore_menu_items, save_menu_items)
5588 (grow_menu_items, push_submenu_start, push_submenu_end)
5589 (push_left_right_boundary, push_menu_pane, push_menu_item)
5590 (keymap_panes, single_keymap_panes, single_menu_item)
5591 (list_of_panes, list_of_items, find_and_call_menu_selection)
5592 (xmalloc_widget_value, free_menubar_widget_value_tree)
5593 (parse_single_submenu, digest_single_submenu)
5594 (update_submenu_strings): Move to menu.c.
5595
55962008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5597
5598 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5599
56002008-06-06 Miles Bader <miles@gnu.org>
5601
5602 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5603 face, not frame default.
5604
56052008-06-05 Martin Rudalics <rudalics@gmx.at>
5606
5607 * window.c (pop_up_windows, pop_up_frames)
5608 (display_buffer_reuse_frames, Vpop_up_frame_function)
5609 (Vdisplay_buffer_function, Veven_window_heights)
5610 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5611 (Vspecial_display_function, Vsame_window_buffer_names)
5612 (Vsame_window_regexps, split_height_threshold)
5613 (Vsplit_window_preferred_function): Move those vars to window.el.
5614 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5615 (Fdisplay_buffer): Move those functions to window.el.
5616 (syms_of_window): Remove corresponding declarations.
5617 (display_buffer): New function.
5618 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5619 * dispnew.c (Flast_nonminibuf_frame): New function.
5620 * buffer.c (Fpop_to_buffer): Move to window.el.
5621
56222008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5623
5624 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5625
56262008-06-05 Kenichi Handa <handa@m17n.org>
5627
5628 * coding.c (detect_coding): Fix previous change.
5629 (detect_coding_system): Likewise.
5630
56312008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5632
5633 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5634
5635 * keymap.c (Vminibuffer_local_filename_must_match_map):
5636 Rename from Vminibuffer_local_must_match_filename_map.
5637 (syms_of_keymap):
5638 * minibuf.c (Fcompleting_read): Adjust accordingly.
5639 * commands.h: Rename declaration as well.
5640
56412008-06-05 Kenichi Handa <handa@m17n.org>
5642
5643 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5644 family name.
5645 (Ffont_put): Likewise.
5646
5647 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5648 current font-spec.
5649
5650 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5651 is unspecified.
5652
5653 * xfaces.c (realize_x_face): If the font-related face attributes
5654 are the same as those of default face, realize a new fontset from
5655 default->fontset.
5656 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5657
56582008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5659
5660 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5661 (move_it_in_display_line): New wrapper.
5662
5663 * window.c (window_scroll_pixel_based_preserve_x)
5664 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5665 (window_scroll_pixel_based, window_scroll_line_based):
5666 Use them to preserve column positions.
5667 (syms_of_window): Initialize them.
5668
5669 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5670 (HPOS . VPOS) pair.
5671
5672 * dispextern.h (move_it_in_display_line): Declare.
5673
56742008-06-05 Juanma Barranquero <lekktu@gmail.com>
5675
5676 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5677 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5678 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5679
56802008-06-04 Juanma Barranquero <lekktu@gmail.com>
5681
5682 * window.c (Fset_window_parameter): Doc fix.
5683 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5684
56852008-06-04 Joakim Verona <joakim@verona.se>
5686
5687 * window.h (struct window): Add new member window_parameters.
5688
5689 * window.c (Fwindow_parameters, Fwindow_parameter)
5690 (Fset_window_parameter): New defuns.
5691 (syms_of_window): Defsubr the new defuns.
5692 (make_window): Initialize window_parameters to nil.
5693
56942008-06-04 John Paul Wallington <jpw@pobox.com>
5695
5696 * eval.c (Fdefmacro): Doc fix.
5697
56982008-06-04 Kenichi Handa <handa@m17n.org>
5699
5700 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5701 Be sure to call setup_coding_system when we find a proper coding system.
5702 (detect_coding_system): Fix handling of coding->head_ascii.
5703
57042008-06-03 Andreas Schwab <schwab@suse.de>
5705
5706 * font.c (font_prop_validate_spacing): Fix last change.
5707
57082008-06-03 Kenichi Handa <handa@m17n.org>
5709
5710 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5711 (font_parse_fcname): Fix handling of unknown key.
5712
5713 * xfont.c (xfont_list): Try an alias.
5714
5715 * charset.c (char_charset): Return NULL if the arg charset_list is
5716 specified and C doesn't belong to any of them.
5717
57182008-06-02 Chip Coldwell <coldwell@redhat.com>
5719
5720 * font.c (font_pixel_size): Don't take cdr of an integer.
5721
57222008-06-02 Jim Meyering <meyering@redhat.com>
5723
5724 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5725 * alloc.c (xfree): Return right away for a NULL arg.
5726 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5727 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5728 * mac.c (create_apple_event_from_event_ref): Likewise.
5729 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5730 Likewise.
5731 * doprnt.c (doprnt1): Likewise.
5732 * frame.c (frame): Likewise.
5733 * keyboard.c (wipe_kboard): Likewise.
5734 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5735 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5736 * term.c (tty_default_color_capabilities, maybe_fatal)
5737 (delete_tty): Likewise.
5738 * w16select.c (string): Likewise.
5739 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5740 * w32bdf.c (w32_free_bdf_font): Likewise.
5741 * w32fns.c (w32_unload_font): Likewise.
5742 * w32font.c (w32font_close): Likewise.
5743 * window.c (size_window): Likewise.
5744 * xselect.c (receive_incremental_selection): Likewise.
5745 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5746 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5747 * w32.c (stat): Likewise.
5748
5749 Remove useless if-before-free tests.
5750 * editfns.c (Fset_time_zone_rule): Likewise.
5751 * lread.c (nosuffix): Likewise.
5752 * ralloc.c (get_bloc): Likewise.
5753 * regex.c (reg_free): Likewise.
5754 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5755 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5756 * xsmfns.c (smc_save_yourself_CB): Likewise.
5757
57582008-06-02 Kenichi Handa <handa@m17n.org>
5759
5760 * font.c (font_find_for_lface): Handle float font size.
5761 (font_open_for_lface): Likewise.
5762
5763 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5764 comparing the properties.
5765
57662008-06-01 Jason Rumney <jasonr@gnu.org>
5767
5768 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5769 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5770 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5771 Don't add empty script list.
5772 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5773
57742008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5775
5776 * Makefile.in (dot, dotdot): Remove, update users.
5777 ".." has been used elsewhere in the file for a long time.
5778 (LIBXT_STATIC): Remove conditional based on unused variable.
5779
57802008-06-01 Miles Bader <miles@gnu.org>
5781
5782 * xfaces.c (Vface_remapping_alist): New variable.
5783 (syms_of_xfaces): Initialize it.
5784 (enum named_merge_point_kind): New type.
5785 (struct named_merge_point): Add `named_merge_point_kind' field.
5786 (push_named_merge_point): Make cycle detection respect different
5787 named-merge-point kinds.
5788 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5789 Remove face-name alias resolution.
5790 (lface_from_face_name): New definition using
5791 `lface_from_face_name_no_resolve'.
5792 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5793 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5794 (get_lface_attributes): New definition that layers face-remapping on
5795 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5796 (lookup_basic_face): New function.
5797 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5798 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5799 `get_lface_attributes'.
5800 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5801 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5802 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5803
5804 * xdisp.c (init_iterator): Pass base_face_id through
5805 `lookup_basic_face' when we actually use it as a face-id.
5806 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5807 DEFAULT_FACE_ID.
5808
5809 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5810 lookup the initial face-id.
5811
5812 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5813
58142008-06-01 Juanma Barranquero <lekktu@gmail.com>
5815
5816 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5817 (Fremove_text_properties): Fix typos in docstrings.
5818
58192008-05-31 Kenichi Handa <handa@m17n.org>
5820
5821 * font.c (font_list_entities): Fix the car part of data to be
5822 stored in the cache.
5823
5824 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5825
58262008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5827
5828 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5829 Add a `test' argument so another predicate than `equal' can be used.
5830 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5831 (map_char_table): Remove unused vars `c' and `i'.
5832 * lisp.h (Foptimize_char_table): Adjust declaration.
5833 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5834
58352008-05-30 Kenichi Handa <handa@m17n.org>
5836
5837 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5838 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5839 defined.
5840
58412008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5842
5843 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5844 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5845 frame-local settings for the same variable.
5846
58472008-05-30 Kenichi Handa <handa@m17n.org>
5848
5849 * fontset.c (Ffont_info): Move to font.c.
5850 (syms_of_fontset): Delete defsubr of Sfont_info.
5851
5852 * font.c (font_style_to_value, font_score): Delete casting of the
5853 args to xstcasecmp.
5854 (register_font_driver): Increment num_font_drivers only when
5855 registering the driver globally.
5856 (Ffont_info): Move from fontset.c. Handle a font object too.
5857 (syms_of_font): Defsubr Sfont_info.
5858
58592008-05-29 Kenichi Handa <handa@m17n.org>
5860
5861 * coding.h (enum define_coding_utf8_arg_index): New enum.
5862 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5863 coding_attr_utf_bom.
5864 (enum utf_bom_type): Rename from utf_16_bom_type.
5865 (struct utf_16_spec): Adjust for the above change.
5866 (struct coding_system): Add utf_8_bom in `spec' union.
5867
5868 * coding.c (CODING_UTF_8_BOM): New macro.
5869 (enum coding_category): Delete coding_category_utf_8, add
5870 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5871 coding_category_utf_8_sig.
5872 (CATEGORY_MASK_UTF_8): Delete it.
5873 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5874 (CATEGORY_MASK_UTF_8_SIG): New macros.
5875 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5876 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5877 CATEGORY_MASK_UTF_8_SIG.
5878 (CATEGORY_MASK_UTF_8): New macro.
5879 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5880 (detect_coding_utf_8): Check BOM.
5881 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5882 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5883 (encode_coding_utf_16): Likewise.
5884 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5885 (detect_coding, detect_coding_system): Handle utf-8-auto.
5886 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5887 (syms_of_coding): Fix setting up of Vcoding_category_table.
5888
58892008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5890
5891 * process.c (Faccept_process_output): If `millisec' is non-nil,
5892 `seconds' default to 0.
5893 (wait_reading_process_output): Also return non-nil if we read output
5894 from a non-running process.
5895
58962008-05-29 Jason Rumney <jasonr@gnu.org>
5897
5898 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5899 `raster' specified.
5900 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5901 in the uniscribe backend, but disallow any font that has no
5902 unicode subrange support.
5903
59042008-05-29 Juanma Barranquero <lekktu@gmail.com>
5905
5906 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5907 Fix typos in docstrings.
5908
59092008-05-29 Kenichi Handa <handa@m17n.org>
5910
5911 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5912 (Fx_family_fonts): Set frame correctly.
5913
59142008-05-28 Jason Rumney <jasonr@gnu.org>
5915
5916 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5917
59182008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5919
5920 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5921 calling build_annotations.
5922
59232008-05-28 Juanma Barranquero <lekktu@gmail.com>
5924
5925 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5926 (Fencode_coding_string):
5927 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5928 <latin-extra-code-table>: Fix typos in docstrings.
5929 (syms_of_coding) <coding-system-alist>: Doc fix.
5930 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5931
59322008-05-28 Kenichi Handa <handa@m17n.org>
5933
5934 * fontset.c (Ffont_info): Don't call font_close_object.
5935
5936 * font.c (font_parse_family_registry): Use Ffont_put to validate
5937 foundry and family.
5938 (font_delete_unmatched): Don't check spacing.
5939 (font_list_entities): Add spacing to the spec to list fonts.
5940
5941 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5942 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5943
5944 * coding.c (encode_coding_raw_text): Fix previous change.
5945 (encode_coding_object): When the dst_object is a buffer and is
5946 different from src_object, move gap to PT.
5947
59482008-05-27 Chong Yidong <cyd@stupidchicken.com>
5949
5950 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5951
59522008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5953
5954 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5955 all branches. Compute it differently.
5956
5957 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5958
59592008-05-27 Juanma Barranquero <lekktu@gmail.com>
5960
5961 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5962 into "else if () ... else ...".
5963
59642008-05-27 Jason Rumney <jasonr@gnu.org>
5965
5966 * w32font.c (w32font_open_internal): Determine if glyph indices
5967 are likely to work here.
5968
59692008-05-27 Chong Yidong <cyd@stupidchicken.com>
5970
5971 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5972 draw overlap glyphs with appropriate highlighting.
5973
59742008-05-27 Kenichi Handa <handa@m17n.org>
5975
5976 * xfont.c (xfont_open): Fix calculation of font->average_width.
5977
59782008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5979
5980 * casefiddle.c (casify_object): Try to guess better whether the
5981 argument is a byte or a char.
5982
59832008-05-26 Andreas Schwab <schwab@suse.de>
5984
5985 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5986 Always send multiples of format size.
5987
5988 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5989
59902008-05-26 Jason Rumney <jasonr@gnu.org>
5991
5992 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5993 (compute_metrics): Don't set failure if we just cleared the cache.
5994 (w32_weight_table): Remove unused variable.
5995 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5996 backwards compatibility.
5997
59982008-05-25 Kenichi Handa <handa@m17n.org>
5999
6000 * w32term.c (x_draw_glyph_string):
6001 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
6002
6003 * xfaces.c: Delete unused function prototypes.
6004 (xstrlwr, font_frame): Delete them.
6005 (clear_face_cache): Delete unused variable.
6006
6007 * xftfont.c (xftfont_open): Delete unused variable.
6008 If underline_thickness is not 1, adjust underline_position.
6009
6010 * ftxfont.c (ftxfont_open): Delete unused variable.
6011
6012 * fontset.c (face_for_char): Optimize for the case of no charset
6013 property.
6014
6015 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6016 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6017 (otf_open, font_otf_capability, generate_otf_features)
6018 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6019 Comment out by surrounding "#if 0" and "#endif" for the moment.
6020 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6021 (syms_of_font): Codes for accessing above commented out.
6022
60232008-05-24 Eli Zaretskii <eliz@gnu.org>
6024
6025 * w32proc.c: Include dispextern.h.
6026
6027 * w32.c: Include dispextern.h.
6028
60292008-05-23 Juanma Barranquero <lekktu@gmail.com>
6030
6031 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6032 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6033 Fix typos in docstrings.
6034
60352008-05-23 Jason Rumney <jasonr@gnu.org>
6036
6037 * xsmfns.c: Remove includes that are already included by config.h.
6038
60392008-05-23 Kenichi Handa <handa@m17n.org>
6040
6041 * charset.c (Qemacs, charset_emacs): New variables.
6042 (char_charset): Fix for non-Unicode characters.
6043 (syms_of_charset): Define charset_emacs.
6044
6045 * w32term.c (x_draw_glyph_string): Be sure to update
6046 s->underline_thickness and s->underline_position. Be sure to draw
6047 underline within the current line area.
6048
6049 * xterm.c (x_draw_glyph_string): Be sure to update
6050 s->underline_thickness and s->underline_position. Be sure to draw
6051 underline within the current line area.
6052
6053 * fontset.c: Delete unused variables and add casting for char *
6054 throughout the file.
6055 (fontset_font): Try the fallback fonts of the current fontset
6056 before consulting the default fontset.
6057
6058 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6059
6060 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6061
60622008-05-22 Jason Rumney <jasonr@gnu.org>
6063
6064 * font.c: Don't include strings.h.
6065
6066 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6067
6068 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6069 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6070 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6071 to call xstrcasecmp.
6072
6073 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6074
6075 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6076
6077 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6078
6079 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6080
60812008-05-22 Kenichi Handa <handa@m17n.org>
6082
6083 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6084
6085 * font.c (font_prop_validate_style): Adjust for the format
6086 change of font_style_table.
6087
6088 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6089 two args.
6090
6091 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6092 two args.
6093
60942008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6095
6096 * minibuf.c (keys_of_minibuf): Delete.
6097 * lisp.h (keys_of_minibuf): Delete.
6098 * emacs.c (main): Don't call keys_of_minibuf.
6099
61002008-05-22 Kenichi Handa <handa@m17n.org>
6101
6102 * ftfont.c (ftfont_resolve_generic_family): Rename from
6103 ftfont_list_generic_family. Return a single family for each
6104 generic family.
6105 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6106 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6107 Call font_add_log.
6108 (ftfont_match): Call font_add_log.
6109
6110 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6111 (FONT_DEBUG): Define it.
6112 (font_add_log): Extern it.
6113 (font_assert): Rename from xassert.
6114
6115 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6116 (xfont_list_family): Call font_add_log.
6117 (xfont_match): Likewise.
6118 (memq_no_quit): Delete.
6119
6120 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6121 call of Ffont_xlfd_name.
6122
6123 * xfaces.c (struct table_entry, slant_table, weight_table)
6124 (swidth_table): Move to font.c.
6125
6126 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6127 xassert are changed to font_assert. Delete many unused variables.
6128 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6129 New variables.
6130 (struct table_entry): Move from xfaces.c and modified.
6131 (weight_table, slant_table, width_table): Move from xfaces.c and
6132 contents adjusted for the change of struct table_entry.
6133 (font_style_to_value, font_style_symbolic): Adjust for the
6134 format change of font_style_table.
6135 (font_parse_family_registry): Don't overwrite existing foundry and
6136 family of font_spec.
6137 (font_score): Fix calculation of diff for sizes.
6138 (font_sort_entites): Call font_add_log.
6139 (font_delete_unmatched): Return a newly created list.
6140 (font_list_entities): Fix previous change. Call font_add_log.
6141 (font_matching_entity, font_open_entity, font_close_entity):
6142 Call font_add_log.
6143 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6144 (Finternal_set_font_style_table): Delete.
6145 (BUILD_STYLE_TABLE): New macro.
6146 (build_style_table): New function.
6147 (Vfont_log, font_log_env_checked): New variables.
6148 (font_add_log): New function.
6149 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6150 Declare Lisp variables "font-weight-table", "font-slant-table",
6151 "font-width-table", and "font-log". Initialize font_style_table.
6152
61532008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6154
6155 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6156
61572008-05-21 Seiji Zenitani <zenitani@mac.com>
6158 Ryo Yoshitake <ryo@shiftmode.net>
6159
6160 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6161 (Vframe_alpha_lower_limit): New variable.
6162 (x_set_alpha): New function.
6163
6164 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6165
6166 * xfns.c (x-create-frame, Qalpha):
6167 Initialize the frame parameter `alpha'.
6168 * xterm.c (OPAQUE, OPACITY): New.
6169 (x_set_frame_alpha): New function.
6170 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6171
6172 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6173 * w32fns.c (w32_frame_parm_handlers): Likewise.
6174
61752008-05-20 Jason Rumney <jasonr@gnu.org>
6176
6177 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6178 truetype fonts to opentype list.
6179
61802008-05-20 Juanma Barranquero <lekktu@gmail.com>
6181
6182 * fontset.c (Ffontset_info): Doc fix.
6183 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6184 <ignore-relative-composition>: Fix typos in docstrings.
6185
6186 * font.c (syms-of-font) <font-encoding-alist>:
6187 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6188 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6189 (Ffont_otf_alternates): Doc fixes.
6190
61912008-05-20 Kenichi Handa <handa@m17n.org>
6192
6193 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6194 font.h through out the file.
6195 (FONT_DRIVERS): Rename from FONTOBJ.
6196 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6197 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6198
6199 * emacs.c (main): Call syms_of_font unconditionally.
6200
6201 * font.h (find_font_encoding): Extern it.
6202
6203 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6204 fontset.c.
6205 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6206 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6207 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6208 only when HAVE_WINDOW_SYSTEM is defined.
6209 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6210 when HAVE_WINDOW_SYSTEM is defined.
6211
6212 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6213 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6214
6215 * xfaces.c: Include font.h unconditionally.
6216 (merge_face_ref, merge_face_vectors)
6217 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6218
62192008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6220
6221 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6222 indirect_variable.
6223 * eval.c (lisp_indirect_variable): New fun.
6224 (Fuser_variable_p): Use it.
6225
62262008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6227
6228 * lisp.h (indirect_variable):
6229 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6230 Use Lisp_Symbol pointers rather than Lisp_Object.
6231 Adjust callers.
6232 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6233 To this end, change calling-convention.
6234
6235 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6236 if some non-hidden buffers are selected by string&pred.
6237
62382008-05-19 Chong Yidong <cyd@stupidchicken.com>
6239
6240 * process.c (wait_reading_process_output): Always check status
6241 when in batch mode.
6242
62432008-05-19 Kenichi Handa <handa@m17n.org>
6244
6245 * font.c (font_list_entities): Fix handling of cache.
6246 (font_matching_entity): Likewise.
6247
6248 * ftfont.c (cs_iso8859_1): Delete.
6249 (ft_face_cache): New variable.
6250 (struct ftfont_info): New member fc_charset_idx.
6251 (ftfont_build_basic_charsets): Delete.
6252 (fc_charset_table): New variable.
6253 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6254 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6255 Callers changed.
6256 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6257 (ftfont_spec_pattern): New argument fc_charset_idx.
6258 Check registry more rigidly. Change callers.
6259 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6260 change of :font-entity property of the font.
6261
6262 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6263 property of the font.
6264
62652008-05-18 Juanma Barranquero <lekktu@gmail.com>
6266
6267 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6268 (Funencodable_char_position, Fcheck_coding_systems_region)
6269 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6270 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6271 (Ffind_operation_coding_system, Fset_coding_system_priority)
6272 (Fcoding_system_eol_type): Doc fixes.
6273
62742008-05-17 Glenn Morris <rgm@gnu.org>
6275
6276 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6277
62782008-05-16 Eli Zaretskii <eliz@gnu.org>
6279
6280 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6281 and st_gid.
6282
6283 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6284 HAVE_WINDOW_SYSTEM is not defined.
6285
6286 * xfaces.c (merge_face_ref, merge_face_vectors)
6287 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6288 HAVE_WINDOW_SYSTEM is defined.
6289 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6290
62912008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6292
6293 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6294
62952008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6296
6297 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6298
62992008-05-15 Kenichi Handa <handa@m17n.org>
6300
6301 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6302 preference.
6303
63042008-05-15 Glenn Morris <rgm@gnu.org>
6305
6306 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6307
63082008-05-15 Chong Yidong <cyd@stupidchicken.com>
6309
6310 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6311 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6312
6313 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6314
63152008-05-15 Kenichi Handa <handa@m17n.org>
6316
6317 * ftfont.c (ftfont_list): Downcase family name to check generic
6318 families.
6319
6320 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6321 font-spec for QCfont value.
6322
6323 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6324 buffer. Check the return value of it.
6325
63262008-05-14 Jason Rumney <jasonr@gnu.org>
6327
6328 * w32term.c (w32_get_glyph_overhangs): Remove.
6329 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6330
63312008-05-14 Kenichi Handa <handa@m17n.org>
6332
6333 * font.c (font_prop_validate): Make nil a valid value.
6334 (font_clear_cache): Check if the cached vector of entities is nil
6335 or not.
6336
63372008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6338
6339 * emacs.c (main_thread): Conditionalize on
6340 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6341 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6342
6343 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6344 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6345 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6346
63472008-05-14 Kenichi Handa <handa@m17n.org>
6348
6349 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6350 has no corresponding coding system.
6351
63522008-05-14 Jason Rumney <jasonr@gnu.org>
6353
6354 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6355
6356 * w32font.h (w32font_open_internal): Update declaration.
6357
6358 * w32font.c (w32font_open_internal): Change last argument from
6359 w32font_info struct to font object. Fill in font object from
6360 font_entity. Get Outline metrics if possible. Use them to
6361 calculate underline position and thickness. Use xlfd name as name
6362 property. Don't set codepage.
6363 (w32font_open): Pass font_object to w32font_open_internal. Don't
6364 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6365 (w32font_draw): Use s->font.
6366 (clear_cached_metrics): Don't clear non-existent blocks.
6367
6368 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6369 font was not found.
6370 (x_draw_glyph_string): Use underline position and thickness from font.
6371
6372 * w32uniscribe.c (uniscribe_open): Pass font_object to
6373 w32font_open_internal.
6374
63752008-05-14 Kenichi Handa <handa@m17n.org>
6376
6377 These changes are to delete all legacy font-handling codes, and
6378 make Emacs use only font-backends.
6379
6380 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6381 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6382
6383 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6384
6385 * charset.h (Vcharset_non_preferred_head)
6386 (Vcurrent_iso639_language): Extern them.
6387
6388 * charset.c (Vcharset_non_preferred_head): New variable.
6389 (Vcurrent_iso639_language): New variable.
6390 (syms_of_charset): Declare it as a Lisp variable.
6391 (char_charset): Don't check non preferred charsets. As a last
6392 resort, return charset_unicode.
6393 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6394
6395 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6396 conditionals. Don't check enable_font_backend. Delete all codes
6397 used only when USE_FONT_BACKEND is not defined.
6398
6399 * dispextern.h (struct glyph_string): Change type of `font' to
6400 `struct font *'.
6401 (struct glyph_string): New member underline_position and
6402 underline_thickness.
6403 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6404 (struct face): Change type of `font' to `struct font *'. Remove
6405 members `font_name', `font_info_id'.
6406 (per_char_metric, encode_char): Delete externs.
6407 (calc_pixel_width_or_height): Adjust the prototype.
6408
6409 * emacs.c (enable_font_backend): Delete extern.
6410 (main): Don't set enable_font_backend. Don't check the command
6411 line argument "-disable-font-backend".
6412
6413 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6414 (enum font_property_index): New members FONT_DPI_INDEX,
6415 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6416 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6417 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6418 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6419 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6420 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6421 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6422 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6423 (struct font_spec, struct font_entity): New structs.
6424 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6425 (struct font): Many members from old "struct font_info" moved to
6426 here. Members font and entity deleted.
6427 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6428 the new font-related objects.
6429 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6430 (CHECK_FONT_GET_OBJECT): Likewise.
6431 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6432 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6433 (struct font_driver): New members case_sensitive anc check. Type
6434 of the member list and open changed.
6435 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6436 (font_symbolic_width, font_find_object, font_get_spec)
6437 (font_set_lface_from_name): Delete extern.
6438 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6439
6440 * font.c: Include <strings.h>.
6441 (enable_font_backend): Delete it.
6442 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6443 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6444 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6445 (null_string): Delete it.
6446 (null_vector): Make it static.
6447 (font_family_alist): Delete it.
6448 (Qnormal): Extern it.
6449 (QCextra, QClanguage): Delete it.
6450 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6451 (font_make_spec, font_make_entity, font_make_object)
6452 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6453 the string. Callers changed.
6454 (font_pixel_size): Adjusted for the format change of font-related
6455 objects.
6456 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6457 (font_style_to_value, font_style_symbolic): New function.
6458 (build_font_family_alist): Delete it.
6459 (font_registry_charsets): Use Fassoc_string instead of
6460 assq_no_quit.
6461 (font_prop_validate_symbol): Don't return null_string.
6462 (font_prop_validate_style): Adjusted for the change of
6463 style-related values in a font vector.
6464 (font_property_table): Delete entries for QClanguage and
6465 QCantialias, add entries for QCavgwidth.
6466 (get_font_prop_index): Delete the 2nd argument FROM.
6467 (font_prop_validate): Arguments changed.
6468 (font_put_extra): Adjusted for the change of font-related objects.
6469 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6470 (font_parse_fcname, font_unparse_fcname)
6471 (font_prepare_composition): Likewise.
6472 (font_parse_family_registry): Renamed from font_merge_old_spec.
6473 (otf_open): Delete the 1st arg entity.
6474 (font_otf_capability): Adjusted for the above change.
6475 (font_score): New arg alternate_families. Adjusted for the change
6476 of font-related objects.
6477 (font_sort_entites): New arg best_only.
6478 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6479 Delete them.
6480 (font_match_p): Check alternate families.
6481 (font_find_object): Delete it.
6482 (font_check_object): New function.
6483 (font_clear_cache): Adjusted for the change of font-related objects.
6484 (font_delete_unmatched): New arg.
6485 (font_list_entities): Call font_driver->list with a spec that
6486 doesn't specify style-related properties.
6487 (font_matching_entity): Arguments changed. Caller changed.
6488 (font_open_entity): Adjusted for the change of font-related objects.
6489 (font_close_object, font_has_char, font_encode_char)
6490 (font_get_name, font_get_spec): Likewise.
6491 (font_spec_from_name, font_clear_prop, font_update_lface):
6492 New functions.
6493 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6494 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6495 (font_at): Adjusted for the change of font-related objects.
6496 (font_range): New function.
6497 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6498 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6499 (Fcopy_font_spec, Fmerge_font_spec): New function.
6500 (Ffont_family_list): Renamed from list-families.
6501 (Finternal_set_font_style_table): Arguments changed.
6502 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6503 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6504 change of font-related objects.
6505 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6506
6507 * fontset.h (struct font_info): Delete it. Most members go to
6508 struct font.
6509 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6510 (enum FONT_SPEC_INDEX): Delete it.
6511 (font_info, list_fonts_func, load_font_func, query_font_func)
6512 (set_frame_fontset_func, find_ccl_program_func)
6513 (get_font_repertory_func, new_fontset_from_font_name): Delete
6514 externs.
6515 (fontset_from_font_name): Extern it.
6516 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6517 (FONT_INFO_FROM_FACE): Deleted.
6518 (face_for_font): Adjust prototype.
6519
6520 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6521 conditionals. Don't check enable_font_backend. Delete all codes
6522 used only when USE_FONT_BACKEND is not defined.
6523 (get_font_info_func, list_font_func, load_font_func)
6524 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6525 (get_font_repertory_func): Delete them.
6526 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6527 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6528 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6529 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6530 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6531 (fontset_compare_rfontdef): New function.
6532 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6533 rfont-defs by qsort. Adjusted for the change of font-group vector.
6534 (load_font_get_repertory): Deleted.
6535 (fontset_find_font): Use new macros to ref/set elements of
6536 font-def and rfont-def.
6537 (fontset_font): Fix the timing of remembering that no font for C.
6538 (free_face_fontset): Do nothing if the face has no fontset.
6539 (face_suitable_for_char_p): Use new macros to ref/set elements of
6540 rfont-def.
6541 (face_for_char): Likewise. Call face_for_char with font_object.
6542 (fs_load_font): Delete. Delete #pragma surrounding it.
6543 (fs_query_fontset): Use strcasecmp instead of strcmp.
6544 (generate_ascii_font_name): Adjusted for the format change of
6545 font-spec.
6546 (Fset_fontset_font): Likewise. Use new macros to set elements of
6547 font-def.
6548 (Fnew_fontset): Use font_unparse_xlfd to generate
6549 FONTSET_ASCII (fontset).
6550 (new_fontset_from_font_name): Deleted.
6551 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6552 a fontset is already created for the font. FIx updating of
6553 Vfontset_alias_alist.
6554 (fontset_ascii_font): Deleted.
6555 (Ffont_info): Adjusted for the format change of font-spec.
6556 (Finternal_char_font): Likewise.
6557 (Ffontset_info): Likewise.
6558 (syms_of_fontset): Don't check load_font_func.
6559
6560 * fns.c (internal_equal): Handle PREV_FONT.
6561
6562 * frame.h: Delete USE_FONT_BACKEND conditional.
6563
6564 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6565 conditionals. Don't check enable_font_backend. Delete all codes
6566 used only when USE_FONT_BACKEND is not defined.
6567 (x_set_font): Call x_new_font, not x_new_fontset2.
6568 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6569 already set for the frame.
6570
6571 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6572 a font-entity by font_make_entity. Use font_intern_prop instead
6573 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6574 font property. If a font is scalable, set avgwidth property to 0.
6575 Set font-entity property by font_put_extra.
6576 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6577 (ffont_driver): Adjusted for the change of struct font_driver.
6578 (ftfont_spec_pattern): New function.
6579 (ftfont_list): Return a list, not vector.
6580 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6581 (ftfont_list_family): Don't downcase names.
6582 (ftfont_free_entity): Deleted.
6583 (ftfont_open): Return a font-object. Adjusted for the change of
6584 struct font. Get underline_thickness and underline_position from
6585 font property. Don't update dpyinfo->smallest_font_height and
6586 dpyinfo->smallest_char_width.
6587 (ftfont_close): Don't free `struct font'.
6588 (ftfont_has_char): Adjusted for the format change of font-entity.
6589 (ftfont_encode_char, ftfont_text_extents): Likewise.
6590
6591 * ftxfont.c (ftxfont_list): Return a list, not vector.
6592 (ftxfont_open): Return a font-object. Adjusted for the change of
6593 struct font. Get underline_thickness and underline_position from
6594 font property. Don't update dpyinfo->smallest_font_height and
6595 dpyinfo->smallest_char_width.
6596 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6597 (ftxfont_draw): Adjusted for the change of struct font.
6598
6599 * image.c (image_ascent): Don't include "charset.h". Include
6600 "character.h" and "font.h".
6601
6602 * lisp.h (enum pvec_type): New member PREV_FONT.
6603 (Fassoc_string): EXFUN it.
6604
6605 * print.c: Include font.h.
6606 (print_object): Handle font-related objects.
6607
6608 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6609 conditionals. Don't check enable_font_backend. Delete all codes
6610 used only when USE_FONT_BACKEND is not defined.
6611 (handle_auto_composed_prop): Do nothing if it->f is not on a
6612 window system. Check how many following characters can be
6613 displayed by the same font.
6614 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6615 'struct font *'.
6616 (get_char_face_and_encoding): Assign the whole encoding task to
6617 the `encode-char' method of a font driver.
6618 (fill_composite_glyph_string): Adjusted for the change of `struct
6619 face' and `struct glyph_string'.
6620 (fill_glyph_string): Likewise.
6621 (get_per_char_metric): Arguments changed.
6622 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6623 and `struct glyph_string'.
6624 (produce_stretch_glyph, calc_line_height_property)
6625 (x_produce_glyphs): Likewise.
6626
6627 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6628 conditionals. Don't check enable_font_backend. Delete all codes
6629 used only when USE_FONT_BACKEND is not defined. Use
6630 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6631 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6632 (Qp): Extern them.
6633 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6634 Deleted.
6635 (struct font_name): Deleted.
6636 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6637 (compare_fonts_by_sort_order): New function.
6638 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6639 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6640 Deleted.
6641 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6642 compare_fonts_by_sort_order.
6643 (Fx_font_family_list): Call Ffont_family_list.
6644 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6645 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6646 (face_symbolic_slant, face_symbolic_swidth)
6647 (split_font_name_into_vector, build_font_name_from_vector)
6648 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6649 (font_rescale_ratio, split_font_name, build_font_name)
6650 (free_font_names, sort_fonts, x_face_list_fonts)
6651 (face_font_available_p, sorted_font_list, cmp_font_names)
6652 (font_list_1, concat_font_list, font_list, remove_duplicates):
6653 Deleted.
6654 (Fx_list_fonts): Use Ffont_list.
6655 (LFACE_AVGWIDTH): Deleted.
6656 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6657 by FONTP.
6658 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6659 (set_lface_from_font_name): Delete it.
6660 (set_lface_from_font): Renamed from
6661 set_lface_from_font_and_fontset. Caller changed. Don't set
6662 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6663 for face.
6664 (merge_face_vectors): Copy font-spec if necessary.
6665 Clear properties of the font-spec if necessary.
6666 (merge_face_ref): Clear properties of the font-spec if necessary.
6667 (Finternal_set_lisp_face_attribute): Likewise.
6668 (set_font_frame_param): Use font_load_for_lface to load a
6669 font-object, and call Fmodify_frame_parameters with it.
6670 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6671 font name by Ffont_xlfd_name.
6672 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6673 QCslant, and QCwidth.
6674 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6675 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6676 Compare fonts by EQ.
6677 (lookup_non_ascii_face): Deleted.
6678 (face_for_font): The 2nd argument changed.
6679 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6680 Check atomic font properties by case insensitive.
6681 (realize_non_ascii_face): Set face->overstrike correctly.
6682 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6683 (dump_realized_face): Get font name from
6684 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6685
6686 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6687 conditionals. Don't check enable_font_backend. Delete all codes
6688 used only when USE_FONT_BACKEND is not defined.
6689 (xic_create_xfontset): Original code deleted and renamed from
6690 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6691 (x_make_gc): Don't set GCFont in GCs.
6692 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6693 opened by "fixed".
6694 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6695 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6696 get_font_repertory_func.
6697
6698 * xfont.c: Include <stdlib.h> and "ccl.h".
6699 (struct xfont_info): New structure.
6700 (xfont_query_font): Deleted.
6701 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6702 moved from xterm.c.
6703 (xfont_driver): Adjusted for the change of struct font_driver.
6704 (compare_font_names): New function.
6705 (xfont_list_pattern): Sort font names case insensitively. Make
6706 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6707 (xfont_list): Return a list, not vector.
6708 (xfont_match): If the font doesn't have QCname property, generate
6709 a name from the other font properties.
6710 (xfont_open): Return a font-object. Adjusted for the change of
6711 struct font. Get underline_thickness and underline_position from
6712 font property. Don't update dpyinfo->smallest_font_height and
6713 dpyinfo->smallest_char_width.
6714 (xfont_close): Don't free struct font.
6715 (xfont_prepare_face): Adjusted for the change of struct font.
6716 (xfont_done_face): Deleted.
6717 (xfont_has_char): Adjusted for the change of struct font.
6718 (xfont_encode_char, xfont_draw): Likewise.
6719 (xfont_check): New function.
6720
6721 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6722 callback function.
6723 (xftfont_match): Adjusted for the format change of font-entity.
6724 (xftfont_open): Adjusted for the format change of font-entity and
6725 font-object. Adjusted for the change of struct font. Return a
6726 font-object. Don't update dpyinfo->smallest_font_height and
6727 dpyinfo->smallest_char_width.
6728 (xftfont_close): Block input while calling XftFontClose.
6729 (xftfont_prepare_face): Don't block input while calling
6730 xftfont_get_colors. Adjusted for the change of struct font.
6731 (xftfont_shape): Return value of error case fixed.
6732
6733 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6734
6735 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6736 conditionals.
6737 (FONT_WIDTH): Return (f)->max_width.
6738 (struct x_display_info): Delete member `font'.
6739 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6740 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6741 (struct x_output): Change type of `font' to `struct font *'.
6742
6743 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6744 conditionals. Don't check enable_font_backend. Delete all codes
6745 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6746 (x_per_char_metric, x_encode_char): Deleted.
6747 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6748 (x_compute_glyph_string_overhangs): Adjusted for the change of
6749 `struct face'.
6750 (x_draw_glyph_string_foreground)
6751 (x_draw_composite_glyph_string_foreground): Likewise.
6752 (x_draw_glyph_string): Likewise. Use font->underline_position and
6753 font->underline_thickness.
6754 (x_new_font): Renamed from x_new_fontset2.
6755 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6756 (x_check_font): Call `check' method of a font driver.
6757 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6758 (x_query_font, x_get_font_repertory): Deleted.
6759 (x_find_ccl_program): Renamed and moved to xfont.c.
6760 (x_redisplay_interface): Adjusted for the change of `struct
6761 redisplay_interface'.
6762
6763 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6764 conditionals. Don't check enable_font_backend. Delete all codes
6765 used only when USE_FONT_BACKEND is not defined. Surround non-used
6766 code by "#ifdef OLD_FONT" and "endif".
6767 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6768
6769 * w32font.h (struct w32font_info): New member.
6770 (FONT_COMPAT): New macro.
6771 (w32font_open_internal): Prototype adjusted.
6772
6773 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6774 OLD_FONT" and "endif".
6775
6776 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6777 conditionals. Don't check enable_font_backend. Delete all codes
6778 used only when USE_FONT_BACKEND is not defined.
6779 (w32font_open): Return a font-object. Make a font-object by
6780 font_make_object. Adjusted for the change of struct w32font_info.
6781 (w32font_close): Don't free struct font. Adjusted for the change
6782 of struct w32font_info.
6783 (w32font_encode_char, w32font_text_extents, w32font_draw):
6784 Adjusted for the change of struct w32font_info.
6785 (w32font_draw): Likewise.
6786 (w32font_list_internal): Return a list, not vector.
6787 (w32font_open_internal): Change the 4th arg to font-object.
6788 Adjusted for the change of struct w32font_info and font-object format.
6789 (add_font_name_to_list): Don't downcase names.
6790 (w32_enumfont_pattern_entity): Make a font-entity by
6791 font_make_entity. Adjusted for the format change of font-entity.
6792 Use FONT_SET_STYLE to set a style-related font property. If a
6793 font is scalable, set avgwidth property to 0. Set font-entity
6794 property by font_put_extra.
6795 (font_matches_spec): Adjusted for the format change of font-entity.
6796 (w32_weight_table, w32_decode_weight): New variables.
6797 (w32_encode_weight): New function.
6798 (fill_in_logfont): Adjusted for the format change of font-spec.
6799 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6800 weight value.
6801 (w32font_driver): Adjusted for the change of struct font_driver.
6802
6803 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6804 conditionals. Don't check enable_font_backend. Surround non-used
6805 code by "#ifdef OLD_FONT" and "endif".
6806 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6807 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6808
6809 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6810 conditionals. Don't check enable_font_backend. Delete all codes
6811 used only when USE_FONT_BACKEND is not defined. Surround non-used
6812 code by "#ifdef OLD_FONT" and "endif".
6813
6814 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6815 (uniscribe_open): Return value changed to font-object.
6816 Adjusted for the format change of font-object.
6817 (uniscribe_otf_capability): Adjusted for the change of struct font.
6818 (add_opentype_font_name_to_list): Don't downcase names.
6819 (uniscribe_font_driver): Adjusted for the change of struct
6820 font_driver.
6821
68222008-05-13 Chong Yidong <cyd@stupidchicken.com>
6823
6824 * dispnew.c (update_frame_1): Check if tty output is still valid
6825 before flushing it.
6826
68272008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6828
6829 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6830 to Gtk+ menus.
6831
68322008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6833
6834 * dired.c (file_name_completion): Tweak the code so as to always do it
6835 in a single pass. Tighten the scope of some variables.
6836
6837 * dired.c (Qdefault_directory): New var.
6838 (file_name_completion): Use it instead of Fexpand_file_name.
6839 (syms_of_dired): Initialize it.
6840
68412008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6842
6843 * fileio.c (double_dollars): Remove dead code.
6844
68452008-05-10 Eli Zaretskii <eliz@gnu.org>
6846
6847 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6848 Mention w32-get-true-file-attributes in doc string.
6849
6850 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6851
68522008-05-09 Glenn Morris <rgm@gnu.org>
6853
6854 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6855 2008-04-23.
6856
68572008-05-09 Eli Zaretskii <eliz@gnu.org>
6858
6859 Support for reporting owner and group of each file on MS-Windows:
6860 * dired.c (stat_uname, stat_gname): New functions, with special
6861 implementation for w32.
6862 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6863
6864 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6865 (dflt_group_name): New static variable.
6866 (dflt_group): Rename from the_group.
6867 (init_user_info): Init dflt_group fields. Get user's group name
6868 from LookupAccountSid.
6869 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6870 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6871 New initialization states.
6872 (globals_of_w32): Initialize them to zero. Initialize the default
6873 group name to "None".
6874 (GetFileSecurity_Name): New global var, the name of the function
6875 to call for GetFileSecurity.
6876 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6877 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6878 (get_file_security, get_security_descriptor_owner)
6879 (get_security_descriptor_group, is_valid_sid)
6880 (get_file_security_desc, get_rid, get_name_and_id)
6881 (get_file_owner_and_group): New functions.
6882 (stat): Use get_file_security_desc and get_file_owner_and_group to
6883 report the owner and primary group of each file. Don't ignore the
6884 high 32 bits of file's size, now that st_size is 64-bit wide.
6885 Fix test when to get true file attributes.
6886 (init_user_info): Use get_rid instead of equivalent inline code.
6887 (fstat): Don't ignore the high 32 bits of file's size.
6888
68892008-05-09 Chong Yidong <cyd@stupidchicken.com>
6890
6891 * image.c (png_load): Use correct bit-depth for setting background
6892 color.
6893
68942008-05-08 Eli Zaretskii <eliz@gnu.org>
6895
6896 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6897 epa-hook.elc.
6898
68992008-05-08 Juanma Barranquero <lekktu@gmail.com>
6900
6901 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6902
69032008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6904
6905 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6906 because the original parameters are in pure storage now.
6907 (mac_window): Remove unused params. Update callers.
6908
69092008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6910
6911 * lread.c (substitute_object_recurse): Use lower-level primitives.
6912 Don't signal errors when traversing sub-char-tables.
6913 Don't loop over all the possible characters when traversing char-tables.
6914
6915 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6916 just like we do in print.c.
6917
69182008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6919
6920 * minibuf.c (Ftry_completion): Remove code left over from when we used
6921 scmp instead of Fcompare_strings.
6922
69232008-05-04 Juanma Barranquero <lekktu@gmail.com>
6924
6925 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6926
69272008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6928
6929 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6930 Create bitmap context in native byte order.
6931
6932 * macterm.c (XDrawLine)
6933 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6934 context in native byte order.
6935
69362008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6937
6938 * config.in: Regenerate.
6939
6940 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6941 New definitions for Image I/O support.
6942 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6943 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6944 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6945 (mac_data_provider_release_data, image_load_image_io)
6946 [USE_MAC_IMAGE_IO]: New functions.
6947 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6948 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6949 (init_image_func_pointer) [MAC_OSX]: Remove function.
6950 (image_load_quartz2d) [MAC_OSX]: Check availability of
6951 CGImageCreateWithPNGDataProvider at compile time.
6952 Use lowercase `false' for boolean constant.
6953 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6954 Use image_load_image_io.
6955 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6956 Don't check MyCGImageCreateWithPNGDataProvider.
6957 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6958 Don't call init_image_func_pointer.
6959
6960 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6961
6962 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6963 Make variable non-static.
6964 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6965 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6966
6967 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6968 (RED_FROM_ULONG): Mask off higher bits.
6969 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6970
6971 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6972 Include AvailabilityMacros.h.
6973 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6974 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6975
69762008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6977
6978 * chartab.c (Fset_char_table_range): If range is t, really set all
6979 chars to that value.
6980
69812008-05-03 Eli Zaretskii <eliz@gnu.org>
6982
6983 * dired.c (Ffile_attributes): Don't allow the device number become
6984 negative.
6985
69862008-05-02 Daiki Ueno <ueno@unixuser.org>
6987
6988 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6989
69902008-05-02 Juri Linkov <juri@jurta.org>
6991
6992 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6993 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6994 DEFAULT argument as a list of default values in docstrings.
6995
69962008-05-01 Chong Yidong <cyd@stupidchicken.com>
6997
6998 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6999
70002008-05-01 Martin Rudalics <rudalics@gmx.at>
7001
7002 * dispnew.c (change_frame_size_1): Preserve small windows when
7003 shrinking frames by calling set_window_height|width with third
7004 arg 2.
7005
7006 * window.h (struct window): Replace field too_small_ok by field
7007 resize_proportionally.
7008
7009 * window.c (make_window): Initialize resize_proportionally.
7010 (enlarge_window): Temporarily set resize_proportionally to make
7011 sure that shrink_windows does scale the window proportionally.
7012 (shrink_windows): When window has resize_proportionally set try
7013 to shrink it proportionally by stealing from other windows.
7014 (struct saved_window, Fset_window_configuration)
7015 (compare_window_configurations): Handle resize_proportionally.
7016 (WINDOW_TOTAL_SIZE): New macro.
7017 (window_min_size, shrink_windows, size_window): Use it.
7018 (check_min_window_sizes): Remove. Invalid values of
7019 window-min-height|width are handled by window_min_size_2 now.
7020 (size_window, Fsplit_window, enlarge_window)
7021 (adjust_window_trailing_edge, grow_mini_window): Don't call
7022 check_min_window_sizes.
7023 (window_min_size_2, window_min_size_1, window_min_size):
7024 New argument safe_p for retrieving "safe" minimum sizes.
7025 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7026 (adjust_window_trailing_edge, grow_mini_window):
7027 Adjust arguments of window_min_size... functions.
7028 (shrink_windows): Argument min_size removed. New argument
7029 safe_p allows shrinking windows to their safe minimum sizes.
7030 Calculate minimum size and decide whether a window shall be
7031 deleted for each window individually.
7032 (size_window): When nodelete_p equals 2, tell shrink_windows to
7033 delete windows only if their new minimum size is no more safe.
7034 (shrink_window_lowest_first): Call window_min_size_1 to make
7035 sure to preserve modeline of bottom-most window when resizing
7036 the minibuffer.
7037 (Fset_window_configuration, Fcurrent_window_configuration)
7038 (compare_window_configurations): Do not handle
7039 window-min-height|width any more.
7040 (syms_of_window): Clarify window-min-height|width doc-strings.
7041
70422008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7043
7044 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7045 some more. Copy some of the code from Ftry_completions.
7046 Remove special case code that dates back to initial revision when the
7047 slash was only added when necessary and that can't trigger nowadays.
7048
70492008-04-27 Kenichi Handa <handa@m17n.org>
7050
7051 * font.c (font_prop_validate): Signal `error' instead of `font'.
7052
70532008-04-29 Jason Rumney <jasonr@gnu.org>
7054
7055 * w32fns.c (Fw32_battery_status): New defun.
7056 (syms_of_w32fns): Defsubr it.
7057
70582008-04-28 Andreas Schwab <schwab@suse.de>
7059
7060 * dired.c (file_name_completion): Fix another mixing of encoded
7061 and decoded names.
7062
70632008-04-28 Juanma Barranquero <lekktu@gmail.com>
7064
7065 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7066
70672008-04-27 Juanma Barranquero <lekktu@gmail.com>
7068
7069 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7070
70712008-04-27 Andreas Schwab <schwab@suse.de>
7072
7073 * dired.c (file_name_completion): Fix inappropriate mixing of
7074 encoded and decoded names.
7075
7076 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7077
7078 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7079
70802008-04-26 Eli Zaretskii <eliz@gnu.org>
7081
7082 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7083 2008-03-31, it's not needed anymore with `struct stat' definition
7084 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7085 for the same reasons.
7086
70872008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7088
7089 * m/sparc.h: Additional redefinitions for GNU/Linux.
7090
70912008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7092
7093 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7094 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7095 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7096 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7097 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7098 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7099 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7100 Likewise.
7101
7102 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7103 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7104 (mac_ax_number_of_characters): Add externs.
7105 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7106 [USE_MAC_TSM]: Likewise.
7107 (mac_handle_text_input_event) [MAC_OSX]:
7108 Handle kEventTextInputOffsetToPos for no active input area case.
7109 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7110 (mac_handle_document_access_event)
7111 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7112 (install_application_handler) [MAC_OSX]: Register handlers for
7113 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7114 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7115 Register mac_handle_document_access_event.
7116
7117 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7118 Make functions non-static.
7119
71202008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7121
7122 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7123 (read_file_name_completion_ignore_case, insert_default_directory)
7124 (Qdefault_directory): Move to minibuffer.el.
7125 (Fread_file_name): Call the new `read-file-name' instead.
7126
71272008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7128
7129 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7130 Make function non-static.
7131 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7132 Remove function.
7133 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7134 Move to mactoolbox.c.
7135 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7136
7137 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7138 (mac_rect_make): New macro.
7139
7140 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7141 instead of float.
7142 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7143 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7144 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7145 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7146 CGRectMake.
7147 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7148 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7149 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7150 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7151 instead of WindowRef in argument type.
7152 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7153 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7154 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7155 instead of DISPLAY. All uses changed.
7156 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7157 (x_calc_absolute_position): Simplify so as not to use
7158 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7159
7160 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7161 instead of WindowRef in argument type.
7162 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7163 [TARGET_API_MAC_CARBON]: Remove externs.
7164 (create_apple_event, mac_event_parameters_to_lisp)
7165 [TARGET_API_MAC_CARBON]: Add externs.
7166
7167 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7168 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7169 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7170 is clicked.
7171 (x_activate_menubar): Remove extern for saved_menu_event_location.
7172 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7173 Move from mac.c.
7174
71752008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7176
7177 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7178 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7179
71802008-04-23 Jason Rumney <jasonr@gnu.org>
7181
7182 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7183 attributes only for local files.
7184
7185 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7186 default to Qlocal.
7187
71882008-04-22 Juri Linkov <juri@jurta.org>
7189
7190 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7191 read-buffer-to-switch instead of using the letter "B".
7192
71932008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7194
7195 * fileio.c (Qdefault_directory): New variable.
7196 (Fread_file_name): Use it to pass `dir' to the completion functions.
7197
71982008-04-20 Chong Yidong <cyd@stupidchicken.com>
7199
7200 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7201
72022008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7203
7204 * keyboard.c (Vpre_help_message): Remove.
7205 (show_help_echo): Remove default C code.
7206
7207 * dired.c (directory_files_internal, file_name_completion):
7208 Only call ENCODE_FILE if the string is indeed decoded.
7209
72102008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7211
7212 * Makefile.in (TOOLKIT_DEFINES): Remove.
7213 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7214
72152008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7216
7217 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7218 (mactoolbox.o): New target.
7219
7220 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7221 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7222
7223 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7224 Use mac_set_frame_window_background instead of XSetWindowBackground.
7225 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7226 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7227 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7228 instead of SetWindowTitleWithCFString.
7229 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7230 Move function to mactoolbox.c.
7231 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7232 Use mac_set_window_modified instead of SetWindowModified.
7233 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7234 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7235 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7236 FrontNonFloatingWindow. Use mac_activate_window instead of
7237 ActivateWindow. Use mac_active_non_floating_window instead of
7238 ActiveNonFloatingWindow.
7239 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7240 Use mac_show_hourglass and mac_hide_hourglass.
7241 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7242 instead of GetGlobalMouse.
7243 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7244 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7245 Use mac_bring_window_to_front instead of BringToFront.
7246 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7247 mactoolbox.c.
7248 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7249 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7250 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7251 mactoolbox.c.
7252
7253 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7254 (XtPointer): Move typedef from macmenu.c.
7255 (enum button_type): Move enum from macmenu.c.
7256 (widget_value): Move typedef from macmenu.c.
7257 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7258 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7259 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7260 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7261 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7262 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7263 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7264 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7265 (Selection): Move typedef from macselect.c.
7266 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7267 macterm.c.
7268 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7269 (mac_is_window_collapsed, mac_bring_window_to_front)
7270 (mac_send_window_behind, mac_hide_window, mac_show_window)
7271 (mac_collapse_window, mac_front_non_floating_window)
7272 (mac_active_non_floating_window, mac_activate_window)
7273 (mac_move_window_structure, mac_move_window, mac_size_window)
7274 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7275
7276 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7277 (enum mac_menu_kind): Move enum to mactoolbox.c.
7278 (min_menu_id): Move variable to mactoolbox.c.
7279 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7280 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7281 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7282 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7283 [TARGET_API_MAC_CARBON]: Likewise.
7284 (XtPointer): Move typedef to macgui.h.
7285 (enum button_type): Move enum to macgui.h.
7286 (widget_value): Move typedef to macgui.h.
7287 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7288 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7289 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7290 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7291 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7292 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7293 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7294 (popup_activated_flag): Make variable non-static.
7295 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7296 (add_menu_item, fill_menu, dispose_menus):
7297 Move functions to mactoolbox.c.
7298 (restore_show_help_function, menu_target_item_handler)
7299 (install_menu_target_item_handler, mac_handle_dialog_event)
7300 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7301 [TARGET_API_MAC_CARBON]: Likewise.
7302 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7303 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7304 (find_and_call_menu_selection, name_is_separator): Make function
7305 non-static.
7306 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7307 to mactoolbox.c.
7308 (set_frame_menubar): Don't call install_menu_quit_handler.
7309 (menu_item_selection): New variable.
7310 (mac_menu_show): Use create_and_show_popup_menu.
7311 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7312 selection but set variable menu_item_selection. All uses changed.
7313 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7314 Call install_menu_quit_handler. Move to mactoolbox.c.
7315
7316 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7317 (Selection): Move typedef to macgui.h.
7318 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7319 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7320 Make variables non-static.
7321 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7322 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7323 Make functions non-static.
7324 (Vmac_service_selection) [MAC_OSX]: Likewise.
7325 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7326 (mac_valid_selection_target_p, mac_clear_selection)
7327 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7328 (mac_put_selection_value, mac_selection_has_target_p)
7329 (mac_get_selection_value, mac_get_selection_target_list)
7330 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7331 Move functions to mactoolbox.c.
7332 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7333 Likewise.
7334 (copy_scrap_flavor_data, mac_handle_service_event)
7335 (install_service_handler) [MAC_OSX]: Likewise.
7336 (syms_of_macselect) <Vmac_dnd_known_types>:
7337 Use mac_dnd_default_known_types.
7338
7339 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7340 Move to mactoolbox.c.
7341 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7342 (Fx_selection_owner_p): Add EXFUN.
7343 (install_window_handler, remove_window_handler, XSetWindowBackground):
7344 Remove externs.
7345 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7346 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7347 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7348 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7349 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7350 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7351 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7352 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7353 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7354 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7355 (mac_valid_selection_target_p, mac_clear_selection)
7356 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7357 (mac_put_selection_value, mac_selection_has_target_p)
7358 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7359 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7360 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7361 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7362 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7363 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7364 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7365 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7366 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7367
7368 * mactoolbox.c: New file.
7369
73702008-04-18 Jason Rumney <jasonr@gnu.org>
7371
7372 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7373
73742008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7375
7376 * character.c (Fmultibyte_char_to_unibyte):
7377 Return latin1 chars unchanged.
7378
7379 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7380 relocated if it points to `name'.
7381
73822008-04-17 Kenichi Handa <handa@m17n.org>
7383
7384 * data.c (Faset): Allow setting a multibyte character in an
7385 ASCII-only unibyte string.
7386
7387 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7388
73892008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7390
7391 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7392 done in config.h.
7393
73942008-04-16 Juanma Barranquero <lekktu@gmail.com>
7395
7396 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7397 (Fchar_direction): Add usage in the docstring.
7398
73992008-04-15 Chong Yidong <cyd@stupidchicken.com>
7400
7401 * keyboard.c (read_key_sequence): Remove always-true checks.
7402
74032008-04-14 Jason Rumney <jasonr@gnu.org>
7404
7405 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7406 compatibility struct, for better underline positioning.
7407
74082008-04-13 David Hansen <david.hansen@gmx.net>
7409
7410 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7411 string.
7412
74132008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7414
7415 * m/hp800.h (XUINT, XSET): Remove.
7416
74172008-04-12 Juanma Barranquero <lekktu@gmail.com>
7418
7419 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7420 previous change.
7421
74222008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7423
7424 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7425 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7426
74272008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7428
7429 * keymap.h (map_keymap_canonical): Declare.
7430 * xmenu.c (single_keymap_panes): Use it.
7431
74322008-04-11 Glenn Morris <rgm@gnu.org>
7433
7434 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7435 set the target's value to that of the alias.
7436
74372008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7438
7439 * term.c (set_tty_color_mode): Left over typo.
7440
74412008-04-10 Michael Albinus <michael.albinus@gmx.de>
7442
7443 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7444 only after check for file name handler functions. Signal, when
7445 native functionality is not supported.
7446 (syms_of_fileio): Declare it unconditionally.
7447
74482008-04-10 Jason Rumney <jasonr@gnu.org>
7449
7450 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7451 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7452
7453 * w32.c (logon_network_drive): Also logon to remote drives that
7454 are mapped to drive letters.
7455
74562008-04-10 Glenn Morris <rgm@gnu.org>
7457
7458 * xdisp.c (truncate-partial-width-windows): Doc fix.
7459
74602008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7461
7462 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7463 Move functions to minibuffer.el.
7464 (syms_of_fileio): Don't declare them.
7465
74662008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7467
7468 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7469 (syms_of_minibuf): Remove its initialization.
7470
7471 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7472
74732008-04-09 Juanma Barranquero <lekktu@gmail.com>
7474
7475 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7476
74772008-04-09 Jason Rumney <jasonr@gnu.org>
7478
7479 * makefile.w32-in (distclean): Delete makefile too.
7480 (maintainer-clean): New target.
7481
7482 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7483
7484 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7485 for new font backend and composite cases.
7486
74872008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7488
7489 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7490 Most of the code moved to run_timers.
7491 (do_pending_atimers): Call run_timers.
7492 (run_timers): New function.
7493
7494 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7495 run atimers.
7496
7497 * process.c (wait_reading_process_output): The same as above.
7498
74992008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7500
7501 * minibuf.c (last_exact_completion): Remove variable.
7502 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7503 (complete_and_exit_1, complete_and_exit_2)
7504 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7505 (Fdisplay_completion_list, display_completion_list_1)
7506 (Fminibuffer_completion_help, Fself_insert_and_exit)
7507 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7508 minibuffer.el.
7509 (syms_of_minibuf): Remove corresponding initializations.
7510
7511 * keyboard.c (Qdeactivate_mark): New var.
7512 (command_loop_1): Use it to call `deactivate-mark'.
7513 (syms_of_keyboard): Initialize it.
7514
7515 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7516 to another frame.
7517 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7518 Don't call set_tty_color_mode.
7519 (store_frame_param): Reset previous_frame rather than call
7520 set_tty_color_mode.
7521 * term.c (set_tty_color_mode): Rewrite.
7522 * dispextern.h (set_tty_color_mode): New type.
7523 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7524
75252008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7526
7527 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7528 for generic chars, which do not exist any more in emacs-unicode.
7529
75302008-04-08 Michael Albinus <michael.albinus@gmx.de>
7531
7532 * coding.c (detect_coding_emacs_mule)
7533 (Ffind_operation_coding_system): Fix typo.
7534
75352008-04-08 Jason Rumney <jasonr@gnu.org>
7536
7537 * w32uniscribe.c (SNAME): Extract only symbol name.
7538
7539 * w32font.h (struct w32_metric_cache): New struct.
7540 (w32font_info): Use it.
7541 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7542 (CACHE_BLOCKSIZE): New constants.
7543
7544 * w32font.c (Qja, Qko, Qzh): New symbols.
7545 (syms_of_w32font): Initialise them.
7546 (font_matches_spec): Use them to filter by language.
7547 (recompute_cached_metrics): Remove function.
7548 (compute_metrics, clear_cached_metrics): New functions.
7549 (w32font_encode_char): Use them to manage metric cache.
7550 (w32font_text_extents): Cache metrics for all glyphs on demand.
7551 Delay converting glyph indices to WORD until needed.
7552 (w32font_open_internal): Initialize metric cache to empty.
7553 (registry_to_w32_charset): Charset should always be a symbol.
7554 (fill_in_logfont, list_all_matching_fonts): Family should
7555 always be a symbol.
7556
75572008-04-06 Jason Rumney <jasonr@gnu.org>
7558
7559 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7560 Give up if glyph indices not supported. Use uniscribe obtained
7561 ABC widths for individual metrics. Map glyph clusters back to
7562 characters using fClusterStart flag. Return number of glyphs
7563 produced, not chars processed.
7564 (uniscribe_shape): Map char at FROM to current glyph.
7565
75662008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7567
7568 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7569 Use SetMenuItemHierarchicalMenu.
7570
75712008-04-05 Jason Rumney <jasonr@gnu.org>
7572
7573 * image.c (pbm_load): Allow color values up to 65535.
7574 Throw an error if max_color_idx is outside the supported range.
7575 Report an error when image size is invalid.
7576 Read two bytes at a time when raw images have max_color_idx above 255.
7577
75782008-04-05 Eli Zaretskii <eliz@gnu.org>
7579
7580 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7581 cFileName a file name that includes `?' characters, use the 8+3
7582 alias in cAlternateFileName instead.
7583
75842008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7585
7586 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7587 append "CCL: Quitted" when the CCL program is quitted.
7588 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7589
7590 * ccl.h (struct ccl_program): New member quit_silently.
7591
75922008-04-05 Chong Yidong <cyd@stupidchicken.com>
7593
7594 * search.c (compile_pattern_1): Treat non-nil and non-string of
7595 search-spaces-regexp as nil.
7596
7597 * minibuf.c (Fassoc_string): Tweak docstring.
7598
75992008-04-05 Eli Zaretskii <eliz@gnu.org>
7600
7601 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7602 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7603 2008-03-14 to force inode be positive.
7604
7605 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7606 _S_* ones, since we now use our own sys/stat.h.
7607 (stat, fstat): Don't mangle the inode number.
7608 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7609
76102008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7611
7612 * frame.h (struct frame): Give one more bit to `visible' since we use
7613 values larger than 1 to indicate obscured frames on ttys.
7614
7615 * keymap.c (Qkeymap_canonicalize): New var.
7616 (Fmap_keymap_internal): New fun.
7617 (describe_map): Use keymap-canonicalize.
7618
7619 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7620 (Fundo_boundary): Set them.
7621 (syms_of_undo): Initialize them.
7622 (record_point): Use them instead of last_point_position*.
7623 (last_undo_buffer): Change type.
7624
76252008-04-04 Jason Rumney <jasonr@gnu.org>
7626
7627 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7628 (recompute_cached_metrics): Don't set ascent and descent per char.
7629
7630 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7631 (uniscribe_check_otf): Add GC protection before consing.
7632 Rearrange loop for counting features.
7633
76342008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7635
7636 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7637 buffer with byte-size of source buffer.
7638
76392008-04-03 Chong Yidong <cyd@stupidchicken.com>
7640
7641 * callint.c (Fcall_interactively): Handle temporary region even
7642 when shift-select-mode is off.
7643
76442008-04-03 Jason Rumney <jasonr@gnu.org>
7645
7646 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7647
76482008-04-03 Kenichi Handa <handa@m17n.org>
7649
7650 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7651 (CATEGORY_MASK_UTF_16): Likewise.
7652 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7653 binary file.
7654 (detect_coding): Add null-byte detection for a binary file.
7655 (detect_coding_system): Likewise.
7656
76572008-04-03 Jason Rumney <jasonr@gnu.org>
7658
7659 * w32uniscribe.c: New file.
7660
7661 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7662
7663 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7664
7665 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7666 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7667 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7668 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7669 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7670 (Qphonetic): New symbols.
7671 (syms_of_w32font): Initialize them.
7672 (font_supported_scripts): Use them.
7673 (w32font_list_family): List all charsets.
7674 (w32font_text_extents, recompute_cached_metrics): Fix metric
7675 calculations.
7676 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7677 Give opentype fonts their own format.
7678 (font_matches_spec): New arguments backend and logfont.
7679 Handle :otf spec for uniscribe backend.
7680 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7681 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7682
7683 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7684 font backend.
7685 (globals_of_w32fns): Initialize uniscribe font backend.
7686
7687 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7688 dependencies.
7689 (w32uniscribe.$(O)): New file to build.
7690 (FONT_OBJ): Include w32uniscribe.$(O).
7691 (LIBS): Add uniscribe libraries.
7692
7693 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7694
76952008-04-02 Chong Yidong <cyd@stupidchicken.com>
7696
7697 * callint.c (Vshift_select_mode): New var.
7698 (Finteractive): Document new ^ spec.
7699 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7700 is present.
7701
7702 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7703 (command_loop_1): Avoid running the direct display versions of
7704 forward-char and backward-char if shift-selection may occur.
7705 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7706 shift-translation takes place.
7707
7708 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7709 avoid clobbering by define-minor-mode.
7710
7711 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7712 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7713
7714 * syntax.c (Fforward_word): Add ^ interactive spec.
7715
7716 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7717 (Fscroll_right): Add ^ interactive spec.
7718
77192008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7720
7721 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7722
7723 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7724
7725 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7726
77272008-03-31 Juri Linkov <juri@jurta.org>
7728
7729 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7730
77312008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7732
7733 * gtkutil.c (xg_set_geometry): Fix indentation.
7734 (xg_resize_outer_widget): Remove.
7735 (x_wm_size_hint_off): Fix indentation.
7736 (xg_frame_set_char_size): Call flush_and_sync after
7737 gtk_window_resize.
7738 (x_wm_set_size_hint): Pass NULL as geometry window to
7739 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7740 Add menu bar and tool bar height to base height.
7741 (xg_update_frame_menubar, free_frame_menubar)
7742 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7743 (update_frame_tool_bar, free_frame_tool_bar):
7744 Change xg_resize_outer_widget to xg_frame_set_char_size.
7745
77462008-03-30 Michael Albinus <michael.albinus@gmx.de>
7747
7748 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7749 (Fdbus_call_method): New parameter TIMEOUT.
7750 (dbus-send-signal): Optimize UNGCPRO call.
7751
77522008-03-29 Juri Linkov <juri@jurta.org>
7753
7754 * window.c (Fdisplay_buffer): Move call to
7755 Vsplit_window_preferred_function out of conditions that check
7756 if window is eligible for vertical splitting.
7757 When Vsplit_window_preferred_function is non-nil, call it and use
7758 its non-nil return value as window. Otherwise, continue doing
7759 vertical splitting using Fsplit_window with arg horflag=nil.
7760 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7761 default value from `split-window' to nil.
7762
77632008-03-29 Juri Linkov <juri@jurta.org>
7764
7765 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7766 for interactive code letters 'b' and 'B'.
7767
77682008-03-29 Eli Zaretskii <eliz@gnu.org>
7769
7770 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7771 multibyte string.
7772
77732008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7774
7775 * keyboard.c (pending_funcalls): New var.
7776 (timer_check): Run it.
7777 (syms_of_keyboard): Initialize it.
7778 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7779 (Vdelete_terminal_functions): New vars.
7780 (syms_of_terminal): Initialize them.
7781 (Fdelete_terminal): Run delete-terminal-functions.
7782 * xdisp.c (safe_eval): Rewrite.
7783 (safe_call2): New fun.
7784 * frame.c (Qdelete_frame_functions): New var.
7785 (syms_of_frame): Initialize it.
7786 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7787 * lisp.h (safe_call2, pending_funcalls): Declare.
7788
77892008-03-28 Andreas Schwab <schwab@suse.de>
7790
7791 * indent.c (Fmove_to_column): Move declaration before statements.
7792
77932008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7794
7795 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7796 (struct frame): Use bit fields for boolean vars.
7797
7798 * process.c (server_accept_connection): Simplify naming.
7799 (emacs_get_tty_pgrp): Use SDATA.
7800
7801 * coding.c (decode_coding_object): Fix last change.
7802
78032008-03-27 Jason Rumney <jasonr@gnu.org>
7804
7805 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7806
78072008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7808
7809 * charset.c (Fdefine_charset_internal): Change the way of
7810 registering charsets in Vcharset_order_list.
7811 (syms_of_charset): Make the charset `eight-bit' supplementary.
7812
78132008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7814
7815 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7816 operations, to avoid having the difference between pointers
7817 overflow.
7818
78192008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7820
7821 * indent.c (check_display_width): New fun.
7822 (scan_for_column): Use it.
7823
7824 * data.c (syms_of_data): Mark most-positive-fixnum and
7825 most-negative-fixnum as constants.
7826
7827 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7828
7829 * indent.c (scan_for_column): Extract from current_column_1.
7830 Merge with the same code from Fmove_to_column.
7831 (current_column_1, Fmove_to_column): Use it.
7832
78332008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7834
7835 * keymap.c (map_keymap_internal): New fun.
7836 (map_keymap): Use it.
7837 (Fmap_keymap_internal): New fun.
7838 (Fmap_keymap): Remove left-out test from before make_save_value.
7839
7840 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7841
7842 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7843 Use XCAR/XCDR.
7844
7845 * process.h (struct Lisp_Process): Remove filter_multibyte.
7846 * process.c (QCfilter_multibyte): Remove.
7847 (setup_process_coding_systems): Don't use filter_multibyte.
7848 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7849 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7850 (Fset_process_filter_multibyte): Change the coding-system to
7851 approximate the previous behavior.
7852 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7853 coding-system.
7854
7855 * coding.c (decode_coding_object): When not decoding into a buffer,
7856 obey the coding system's preference of (uni|multi)byte.
7857
78582008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7859
7860 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7861 every char is changed and has a different byte-length.
7862 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7863 Fix int -> EMACS_INT.
7864
78652008-03-23 David Hansen <david.hansen@gmx.net>
7866
7867 * dbusbind.c (xd_read_message): Remove extra copying of message
7868 strings. Check for NULL `interface' or `member'.
7869
78702008-03-22 Eli Zaretskii <eliz@gnu.org>
7871
7872 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7873 cFileName a file name that includes `?' characters, use the 8+3
7874 alias in cAlternateFileName instead.
7875
78762008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7877
7878 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7879
78802008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7881
7882 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7883 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7884 work on current_buffer only instead (that was already the case
7885 for some of the code anyway).
7886 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7887 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7888 (SET_PT, SET_PT_BOTH): Adjust.
7889 * intervals.h (set_point, temp_set_point, set_point_both)
7890 (temp_set_point_both): Remove redundant declarations.
7891
78922008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7893
7894 * fileio.c (Finsert_file_contents):
7895 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7896 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7897 when buffer != current_buffer anyway.
7898
78992008-03-20 Andreas Schwab <schwab@suse.de>
7900
7901 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7902 as default.
7903
79042008-03-19 Jason Rumney <jasonr@gnu.org>
7905
7906 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7907 (syms_of_w32fns): Initialize them.
7908 (HOURGLASS_ID): New constant.
7909 (x_window_to_frame): Don't check hourglass_window.
7910 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7911 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7912 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7913 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7914 Only change the cursor if hourglass is not active.
7915 (Fx_create_frame): Initialize frame's current_cursor.
7916 (hourglass_atimer): Remove.
7917 (hourglass_started): New function.
7918 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7919 (show_hourglass): Adapt to w32, changing argument to frame.
7920
7921 * w32term.h (struct w32_output): Remove hourglass_window.
7922 Add current_cursor.
7923
7924 * eval.c (call_debugger, Fsignal):
7925 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7926 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7927 (Fexecute_extended_command, cancel_hourglass_unwind):
7928 * minibuf.c (read_minibuf):
7929 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7930
79312008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7932
7933 * window.c (run_funs): New fun.
7934 (run_window_configuration_change_hook): Use it to run the buffer-local
7935 and the global part of the hook.
7936
7937 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7938 (unwind_format_mode_line): Restore selected window.
7939 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7940
79412008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7942
7943 * editfns.c (Fchar_equal): Check they are valid characters.
7944
7945 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7946
79472008-03-17 Andreas Schwab <schwab@suse.de>
7948
7949 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7950 against a charset.
7951
7952 * lisp.h (Fbuffer_list): Declare.
7953
79542008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7955
aac0c6e3
MR
7956 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7957 handlebox_widget is != 0.
7958
79592008-03-16 Juri Linkov <juri@jurta.org>
7960
7961 * callint.c (Fcall_interactively): For interactive code letters
7962 'b' and 'B' put the buffer list into the list of default "future"
7963 values of the minibuffer.
7964
79652008-03-16 Andreas Schwab <schwab@suse.de>
7966
7967 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7968 modifiers.
7969
7970 * regex.c (re_match_2_internal): Correct matching of a charset
7971 against latin-1 characters.
7972
79732008-03-16 Kenichi Handa <handa@m17n.org>
7974
7975 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7976 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7977 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7978 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7979 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7980 CHAR_STRING_ADVANCE.
7981 (produce_chars): Fix for the case that the source and the
7982 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7983 instead of CHAR_STRING_ADVANCE.
7984 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7985 STRING_CHAR_ADVANCE.
7986
79872008-03-15 Andreas Schwab <schwab@suse.de>
7988
7989 * regex.c (re_match_2_internal): Correct matching of eight bit
7990 characters in unibyte strings.
7991
79922008-03-15 Martin Rudalics <rudalics@gmx.at>
7993
7994 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7995 at end of range when it coincides with the end of the buffer.
7996
79972008-03-14 Eli Zaretskii <eliz@gnu.org>
7998
7999 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
8000
8001 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
8002
80032008-03-14 Jason Rumney <jasonr@gnu.org>
8004
8005 * editfns.c (initial_tz): New variable.
8006 (syms_of_editfns): Initialize it.
8007 (Fset_time_zone_rule): Set it when first called.
8008 Use it when TZSTRING is nil.
8009
8010 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8011 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8012 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8013 (globals_of_w32fns): Initialize them.
8014 (compute_tip_xy): Use them to position tooltips.
8015
80162008-03-14 Glenn Morris <rgm@gnu.org>
8017
8018 * emacs.c (main): Revert previous change.
8019 (standard_args): Revert -internal-script back to -scriptload,
8020 and remove the long-option form.
8021
80222008-03-13 Glenn Morris <rgm@gnu.org>
8023
8024 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8025 Remove option -enable-font-backend.
8026
80272008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8028
8029 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8030
80312008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8032
8033 * xterm.c (x_connection_closed): For GTK: If this is the last
8034 terminal just exit without closing the display.
8035
80362008-03-11 Jason Rumney <jasonr@gnu.org>
8037
8038 * w32font.c (w32font_full_name): Use floor to round.
8039
f0131492 80402008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
8041
8042 * sound.c (alsa_configure): Declare vol at beginning of block.
8043
8044 * fontset.c (Ffontset_info): Remove extra semicolon.
8045
80462008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8047
8048 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8049 size of resulting string.
8050
80512008-03-10 Jason Rumney <jasonr@gnu.org>
8052
8053 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8054
80552008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8056
8057 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8058 Don't pretend as if characters with display property haven't been
8059 consumed for string-replacing-string case.
8060
80612008-03-08 Kim F. Storm <storm@cua.dk>
8062
8063 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8064 (get_next_display_element, next_element_from_string)
8065 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8066
80672008-03-08 Andreas Schwab <schwab@suse.de>
8068
8069 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8070
80712008-03-06 Jason Rumney <jasonr@gnu.org>
8072
8073 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8074 when charset not specified. Only translate ANSI to unicode when
8075 font_type is truetype.
8076 (w32font_coverage_ok): New function.
8077 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8078
80792008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8080
8081 * lread.c (Fread_char): Resolve modifiers.
8082 (Fread_char_exclusive): Likewise.
8083
8084 * character.c (char_resolve_modifier_mask): New function.
8085 (char_string): Use char_resolve_modifier_mask.
8086 (Fchar_resolve_modifiers): New function.
8087 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8088 function.
8089
80902008-03-04 Jason Rumney <jasonr@gnu.org>
8091
8092 * makefile.w32-in: Always include w32font.c in the build.
8093 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8094
80952008-03-04 Andreas Schwab <schwab@suse.de>
8096
8097 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8098 (versionclean): Likewise.
8099
81002008-03-04 Juanma Barranquero <lekktu@gmail.com>
8101
8102 * .cvsignore: Add oo.
8103
81042008-03-03 Andreas Schwab <schwab@suse.de>
8105
8106 * coding.c (decode_coding_object): Inhibit gap shrinking while
8107 decoding in place.
8108
81092008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8110
8111 * w32term.c: Remove unused include "gnu.h".
8112 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8113
8114 * gnu.h: Rename to ...
8115 * emacs-icon.h: ... this.
8116 * xterm.c: Use emacs-icon.h instead of gnu.h.
8117 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8118
81192008-03-03 Juanma Barranquero <lekktu@gmail.com>
8120
8121 * w32font.c: Include math.h.
8122
81232008-03-03 Jason Rumney <jasonr@gnu.org>
8124
8125 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8126 Compute options separately.
8127 (w32font_open_internal): Set glyph_idx before caching metrics.
8128
8129 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8130 Define if system headers don't.
8131 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8132 (w32font_encode_char): Don't declare here.
8133
8134 * w32font.c (Quniscribe, QCformat): New symbols.
8135 (syms_of_w32font): Define them.
8136 (w32font_has_char): Indicate uncertainty.
8137 (w32font_encode_char): Encode as glyph point. Make static.
8138 (recompute_cached_metrics): New function.
8139 (w32font_open_internal): Use it. Set font to use glyph points
8140 initially. Set format based on type of font.
8141 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8142 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8143 on it. Set format based on information available here.
8144 (add_font_entity_to_list): Identify backend based on opentype_only.
8145
81462008-03-02 Andreas Schwab <schwab@suse.de>
8147
8148 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8149
8150 * coding.c (decode_coding_big5, produce_chars):
8151 Fix typos in last change.
8152
81532008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8154
8155 * gnu.h: New icon.
8156
81572008-03-02 Kenichi Handa <handa@m17n.org>
8158
8159 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8160 `dos', don't decode '\r' if that is the last in the source.
8161 (decode_coding_utf_16, decode_coding_emacs_mule)
8162 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8163 (decode_coding_raw_text, decode_coding_charset): Likewise.
8164 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8165
81662008-03-01 Jason Rumney <jasonr@gnu.org>
8167
8168 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8169
81702008-03-01 Kim F. Storm <storm@cua.dk>
8171
8172 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8173
81742008-03-01 Jason Rumney <jasonr@gnu.org>
8175
8176 * w32font.c (w32font_full_name): New function.
8177 (w32font_open_internal): Use it.
8178
81792008-03-01 Kim F. Storm <storm@cua.dk>
8180
8181 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8182
81832008-03-01 Jason Rumney <jasonr@gnu.org>
8184
8185 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8186
81872008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8188
8189 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8190 xg_frame_resized when the event is for the edit widget.
8191
8192 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8193
8194 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8195 set_char_size.
8196 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8197 operations on widgets here. Just set frame size if needed.
8198 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8199 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8200 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8201 the whole frame.
8202 (xg_create_tool_bar): Move attachment of the tool bar to
8203 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8204 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8205
82062008-03-01 Jason Rumney <jasonr@gnu.org>
8207
8208 * w32fns.c (w32_msg_pump): Disable debug code.
8209
82102008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8211
8212 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8213
82142008-02-29 Chong Yidong <cyd@stupidchicken.com>
8215
8216 * xdisp.c (next_overlay_string): Don't set
8217 overlay_strings_at_end_processed_p if we're currently reading from
8218 a display string.
8219
82202008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8221
8222 * xdisp.c (get_overlay_strings_1): Fix typo.
8223
82242008-02-29 Chong Yidong <cyd@stupidchicken.com>
8225
8226 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8227
82282008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8229
8230 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8231
8232 * xdisp.c (display_mode_element): Cancel the previous change.
8233 (decode_mode_spec): Likewise.
8234 (handle_auto_composed_prop): Don't make composition if it->string
8235 is a string.
8236
82372008-02-27 Kim F. Storm <storm@cua.dk>
8238
8239 * lisp.h (GLYPH): Change type from int to struct with separate char
8240 and face_id members.
8241 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8242 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8243 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8244 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8245 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8246 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8247 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8248 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8249 handle new Lisp glyph code encoding, either an integer or a cons.
8250
8251 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8252 (GLYPH_ALIAS): Delete.
8253 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8254 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8255 (GLYPH_FROM_CHAR): Replace macro by ...
8256 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8257
8258 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8259 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8260 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8261 (GLYPH_INVALID_P): New macro.
8262 (spec_glyph_lookup_face): Update prototype.
8263
8264 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8265 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8266 new glyph code encoding.
8267 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8268 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8269
8270 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8271 Adapt to new glyph type and new glyph code encoding.
8272
8273 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8274
8275 * indent.c (current_column, current_column_1, Fmove_to_column)
8276 (compute_motion): Adapt to new glyph code encoding.
8277
8278 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8279
82802008-02-27 Chong Yidong <cyd@stupidchicken.com>
8281
8282 * process.c (wait_reading_process_output): Check for window
8283 changes caused by timers.
8284 Suggested by Johan Bockgård.
8285
82862008-02-27 Glenn Morris <rgm@gnu.org>
8287
8288 * emacs.c (USAGE1): Add `--disable-font-backend'.
8289
82902008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8291
8292 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8293 is made to the buffer.
8294
82952008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8296
8297 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8298 (face_at_string_position):
8299 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8300 (face_at_string_position):
8301 * xdisp.c (display_string, next_overlay_change):
8302 * buffer.h (overlays_at):
8303 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8304 Update callers.
8305
83062008-02-26 Chong Yidong <cyd@stupidchicken.com>
8307
8308 * editfns.c (Fformat): Doc fix.
8309
83102008-02-26 Juanma Barranquero <lekktu@gmail.com>
8311
8312 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8313 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8314 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8315
83162008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8317
8318 * buffer.c (Fbuffer_swap_text): New function.
8319 (syms_of_buffer): Defsubr it.
8320
83212008-02-25 Chong Yidong <cyd@stupidchicken.com>
8322
8323 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8324
83252008-02-25 Jason Rumney <jasonr@gnu.org>
8326
8327 * w32font.c (w32font_draw): Draw one character at a time when padding.
8328
83292008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8330
8331 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8332 Handle a nil arg. Use run_window_configuration_change_hook.
8333 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8334 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8335 Use run_window_configuration_change_hook.
8336
83372008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8338
8339 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8340 1-pixel width.
8341
83422008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8343
8344 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8345 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8346 if the glyph in the font is zero pixel with.
8347
8348 * dispextern.h (struct glyph_string): New member padding_p.
8349
8350 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8351
8352 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8353
8354 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8355
8356 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8357
8358 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8359
83602008-02-25 Jason Rumney <jasonr@gnu.org>
8361
8362 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8363
83642008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8365
8366 Allow fine-grained image-cache flushing.
8367 * dispextern.h (struct image): Add `dependencies' field.
8368 (clear_image_caches): Change arg to Lisp_Object.
8369 * image.c (make_image): Initialize `dependencies' field.
8370 (clear_image_cache): Change arg to allow fine-grained flushing.
8371 Perform the flush even if image-cache-eviction-delay is nil.
8372 (clear_image_caches): Change arg to Lisp_Object.
8373 (Fclear_image_cache): Expand meaning of the argument.
8374 (mark_image): Mark `dependencies' field.
8375 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8376 (lface_hash): Use XHASH rather than XFASTINT.
8377 (face_at_buffer_position): Fix int -> EMACS_INT position.
8378 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8379 (select_frame_for_redisplay): Remove code duplication.
8380 (redisplay_internal): Adapt arg to call to clear_image_caches.
8381
83822008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8383
8384 * s/vms4-0.h:
8385 * s/vms4-2.h:
8386 * s/vms4-4.h:
8387 * s/vms5-5.h: Remove, unused.
8388
8389 * s/irix5-2.h:
8390 * s/irix6-0.h:
8391 * s/riscos5.h:
8392 * s/mach-bsd4-3.h:
8393 * m/mips4.h: Remove files for obsolete systems.
8394
8395 * Makefile.in:
8396 * filelock.c:
8397 * unexmips.c:
8398 * m/hp9000s300.h:
8399 * m/iris4d.h:
8400 * s/aix3-1.h:
8401 * s/hpux.h:
8402 * s/msdos.h:
8403 * s/usg5-0.h:
8404 * s/usg5-2-2.h:
8405 * s/usg5-2.h:
8406 * s/usg5-3.h: Remove references to obsolete variables.
8407
8408 * s/irix5-0.h: Remove, move all the contents ...
8409 * s/irix6-5.h: ... here. Simplify.
8410 * config.in: Regenerate.
8411
84122008-02-24 Jason Rumney <jasonr@gnu.org>
8413
8414 * w32term.c (x_draw_glyph_string_background): Clear the background
8415 manually when cleartype is in use.
8416 (x_draw_glyph_string_foreground): Draw text transparently when
8417 cleartype is in use.
8418
8419 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8420 a font into it unless we have to.
8421
84222008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8423
8424 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8425 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8426
aac0c6e3
MR
84272008-02-18 Jason Rumney <jasonr@gnu.org>
8428
8429 * w32fns.c (Fw32_shell_execute): Encode parameters.
8430
84312008-02-09 Eli Zaretskii <eliz@gnu.org>
8432
8433 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8434
84352008-02-05 Juanma Barranquero <lekktu@gmail.com>
8436
8437 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8438
84392008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8440
8441 * xterm.c (x_set_offset): Don't change the gravity if
8442 CHANGE_GRAVITY is -1.
8443
84442008-02-23 Chong Yidong <cyd@stupidchicken.com>
8445
8446 * fileio.c (auto_save_error_occurred): New var.
8447 (auto_save_error): Set it.
8448 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8449 error occurred.
8450
84512008-02-23 Eli Zaretskii <eliz@gnu.org>
8452
8453 * w32.c (globals_of_w32): Add initializations for
8454 g_b_init_get_sid_sub_authority and
8455 g_b_init_get_sid_sub_authority_count.
8456
84572008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8458
8459 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8460 (font_parse_xlfd): Use them for sanity check.
8461 (Finternal_set_font_style_table): Make sure the table is bijective.
8462
8463 Consolidate the image_cache to the terminal struct.
8464 * termhooks.h (P_): Remove redundant def.
8465 (struct terminal): New field `image_cache'.
8466 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8467 of FRAME_X_IMAGE_CACHE.
8468 * xterm.h (struct x_display_info): Remove image_cache field.
8469 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8470 * w32term.h (struct w32_display_info): Remove image_cache field.
8471 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8472 * macterm.h (struct mac_display_info): Remove image_cache field.
8473 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8474 * xterm.c (x_term_init):
8475 * w32term.c (w32_term_init):
8476 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8477 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8478 Remove declarations.
8479 (clear_image_caches, mark_image_cache): New declarations.
8480 * xfaces.c (clear_face_cache):
8481 * xdisp.c (redisplay_internal): Use clear_image_caches.
8482 * image.c (clear_image_cache): Don't check that a frame is on
8483 a window-system before checking if it shares the same cache.
8484 (clear_image_caches): New function.
8485 (Fclear_image_cache): Use it.
8486 (mark_image): Move from allo.c.
8487 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8488 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8489 (mark_object): Don't call mark_image_cache for frames.
8490 (mark_terminals): Call mark_image_cache.
8491
8492 * lisp.h (Fdelete_terminal): Declare.
8493
8494 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8495 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8496 wrong_type_argument.
8497
84982008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8499
8500 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8501 malayalam.el, and tamil.el. Add sinhala.el.
8502
85032008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8504
8505 * xterm.c (x_connection_closed): Consolidate identical tests.
8506 (x_delete_terminal): Don't crash if called via x_connection_closed.
8507
85082008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8509
8510 * xdisp.c (decode_mode_spec): New arg string.
8511 (display_mode_element): Adjust for the above change.
8512
85132008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8514
8515 * callint.c (Fcall_interactively): Use AREF.
8516
85172008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8518
8519 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8520
85212008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8522
8523 * xfns.c (Fx_show_tip): Set string to " " if empty.
8524
85252008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8526
8527 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8528 with Qt.
8529
85302008-02-17 Kenichi Handa <handa@m17n.org>
8531
8532 * ftfont.c (ftfont_shape): Return Lispy number.
8533
8534 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8535 for GCs.
8536 (Finternal_set_font_selection_order): Call font_update_sort_order
8537 only when enable_font_backend is set.
8538 (realize_x_face): Set face->font_info to that of default face only
8539 when enable_font_backend is set.
8540
8541 * xdisp.c (handle_composition_prop): Set it->c to the fist
8542 character of the composed region.
8543 (fill_composite_glyph_string): Set base_face->font_info to
8544 s->font_info. Get a face for ascii from base_face->ascii_face.
8545 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8546 with a face already decided.
8547 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8548 non-negative.
8549 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8550 call font_prepare_composition unconditionally.
8551
8552 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8553
8554 * xterm.h (struct x_display_info): New member font.
8555
8556 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8557 (x_set_mouse_face_gc, x_new_font): Likewise.
8558 (x_term_init): Setup display_info->font.
8559 (x_delete_terminal): Free display_info->font.
8560
8561 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8562
8563 * ftxfont.c (ftxfont_default_fid): Delete it.
8564 (ftxfont_open): Set xfont->fid to 0.
8565 (ftxfont_end_for_frame): Clear data specific to the frame and the
8566 font-driver.
8567
8568 * xftfont.c (xftfont_default_fid): Delete it.
8569 (xftfont_open): Set xfont->fid to 0.
8570
8571 * fontset.c (FONTSET_OBJLIST): New macro.
8572 (fontset_find_font): Update font-object list of the fontset.
8573 (free_realized_fontset): New function.
8574 (free_face_fontset): Call free_realized_fontset.
8575 (Ffont_info): Call font_close_object only when enable_font_backend
8576 is set.
8577
8578 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8579 [HAVE_NTGUI]: Include w32term.h.
8580 [MAC_OS]: Include macterm.ch.
8581 (font_otf_ValueRecord): Use make_number.
8582 (font_finish_cache): Fix handling of reference count.
8583 (font_clear_cache): Update num_fonts.
8584 (font_open_entity): Update smallest_char_width and
8585 smallest_font_height of the frame.
8586 (font_close_object): Update num_fonts.
8587 (Fclear_font_cache): Fix finding the target cache data.
8588
85892008-02-16 Glenn Morris <rgm@gnu.org>
8590
8591 * fontset.c (Finternal_char_font): Fix compilation warning.
8592
85932008-02-16 Eli Zaretskii <eliz@gnu.org>
8594
8595 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8596 instead of char arrays. Enlarge the size of array passed to
8597 get_token_information.
8598
8599 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8600 warnings.
8601
86022008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8603
8604 * .gdbinit: Don't set `args', it breaks gdb --args.
8605
86062008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8607
8608 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8609 within a narrowed buffer.
8610
86112008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8612
8613 * coding.c (decode_coding_object, encode_coding_object):
8614 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8615
86162008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8617
8618 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8619 hardcoding 1.
8620 (detect_coding_system):
8621 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8622 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8623 * insdel.c (insert_from_gap):
8624 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8625 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8626 (string_to_multibyte):
8627 * character.c (chars_in_text, multibyte_chars_in_text):
8628 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8629
8630 * character.h (FETCH_STRING_CHAR_ADVANCE)
8631 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8632 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8633 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8634
8635 * casefiddle.c (casify_region): Only call after-change and composition
8636 functions on the part of the region that was changed.
8637
8638 * keyboard.c (read_avail_input):
8639 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8640
86412008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8642
8643 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8644 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8645
86462008-02-11 Juanma Barranquero <lekktu@gmail.com>
8647
8648 * w32menu.c (push_submenu_start, push_submenu_end)
8649 (push_left_right_boundary, push_menu_pane, push_menu_item):
8650 * keyboard.c (read_key_sequence): Don't pass args with side effects
8651 to AREF, it fails when compiling with -DENABLE_CHECKING.
8652
86532008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8654
8655 * Makefile.in (${lispsource}international/charprop.el):
8656 Delete this target.
8657
8658 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8659 emacs-unicode-2.
8660
86612008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8662
8663 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8664
86652008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8666
8667 * frame.c (Qnoelisp): New symbol.
8668 (syms_of_frame): Initialize it.
8669 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8670 harmless Elisp code, from a strong `force' from x_connection_closed.
8671 * frame.h (Qnoelisp): Declare.
8672 * xterm.c (x_connection_closed): Pass `noelisp'.
8673
8674 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8675 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8676 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8677 rather than `int' for the type of `type'.
8678
86792008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8680
8681 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8682
8683 * Makefile.in (GNUC): Remove support for gcc-1.x.
8684
86852008-02-10 Richard Stallman <rms@gnu.org>
8686
8687 * lisp.h (ASET): Use AREF, not ASLOT.
8688
86892008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8690
8691 * lisp.h (ASET): Check bounds.
8692
86932008-02-10 Glenn Morris <rgm@gnu.org>
8694
8695 * buffer.c (mode-name): Doc fix.
8696
86972008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8698
8699 * Makefile.in:
8700 * emacs.c:
8701 * gmalloc.c:
8702 * keyboard.c:
8703 * lisp.h:
8704 * m/ibm370aix.h:
8705 * process.c:
8706 * regex.c:
8707 * s/hpux.h:
8708 * sysdep.c:
8709 * sysselect.h:
8710 * systty.h:
8711 * unexec.c:
8712 * w32term.c:
8713 * xsmfns.c:
8714 * xterm.c: Remove code that deals with obsolete variables.
8715
8716 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8717
8718 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8719 nothing else needs it anymore.
8720
87212008-02-09 Eli Zaretskii <eliz@gnu.org>
8722
8723 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8724 instead of unibyte_char_to_multibyte.
8725
87262008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8727
8728 * s/gnu-linux.h: Remove commented out code.
8729
8730 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8731
8732 * Makefile.in: Update what RMS says about using autoconf.
8733 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8734 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8735 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8736 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8737
87382008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8739
8740 * keymap.c (Fkey_description): Move side effect outside of macro call.
8741
8742 * xfaces.c (Finternal_make_lisp_face):
8743 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8744
8745 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8746 (syms_of_fontset): Use ASET.
8747
8748 * fns.c (concat): Move side effect outside of macro call.
8749 (hash_clear): Use ASET.
8750
87512008-02-08 Richard Stallman <rms@gnu.org>
8752
8753 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8754 If FORCE, and frame has a surrogate minibuffer for another frame,
8755 delete the other frame first.
8756
87572008-02-07 Timo Savola <timo.savola@iki.fi>
8758
8759 * xterm.c (x_detect_focus_change): Handle embed client message.
8760 (handle_one_xevent): Ditto.
8761 (handle_one_xevent): If embedded and we get a button press/release,
8762 request focus.
8763 (xembed_set_info, xembed_send_message): New functions.
8764 (x_make_frame_visible): Call xembed_set_info if embedded.
8765 (x_make_frame_invisible): Call xembed_set_info if embedded.
8766 (x_term_init): Initialize Xatom_XEMBED.
8767 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8768 (x_iconify_frame): Ditto.
8769
8770 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8771 (enum xembed_info, enum xembed_message, enum xembed_focus)
8772 (enum xembed_modifier, enum xembed_accelerator): New.
8773 (xembed_set_info, xembed_send_message): Declare.
8774 (FRAME_X_EMBEDDED_P): New.
8775
8776 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8777 gtk_plug_new.
8778
8779 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8780 window ID of a frame.
8781 (x_window): Reparent frame if embedded.
8782 (Fx_create_frame): Don't set border width if embedded.
8783
8784 * emacs.c (USAGE3): Add --parent-id.
8785 (standard_args): Ditto.
8786
87872008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8788
8789 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8790
87912008-02-07 Jim Meyering <meyering@redhat.com>
8792
8793 Use "do...while (0)", not "if (1)...else" in macro definitions.
8794 The latter provokes a warning from gcc about the empty else, when
8795 followed by ";". Also, without that trailing semicolon, it would
8796 silently swallow up any following statement.
8797 * syntax.h (SETUP_SYNTAX_TABLE)
8798 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8799 * buffer.h (DECODE_POSITION): Likewise.
8800 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8801 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8802 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8803 (FETCH_CHAR_ADVANCE): Likewise.
8804 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8805
88062008-02-07 Jim Meyering <meyering@redhat.com>
8807
8808 * lread.c [lint]: Don't include <sys/inode.h>.
8809
88102008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8811
8812 * xselect.c (x_handle_dnd_message):
8813 * xmenu.c (digest_single_submenu, xmenu_show):
8814 * xdisp.c (with_echo_area_buffer_unwind_data)
8815 (format_mode_line_unwind_data, unwind_format_mode_line)
8816 (display_menu_bar):
8817 * eval.c (Ffetch_bytecode):
8818 * doc.c (store_function_docstring):
8819 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8820 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8821 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8822
88232008-02-07 Kenichi Handa <handa@m17n.org>
8824
8825 * ftxfont.c (ftxfont_open): Don't set
8826 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8827
8828 * ftfont.c (ftfont_open): Fix previous change.
8829
88302008-02-06 Jason Rumney <jasonr@gnu.org>
8831
8832 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8833 Use cached metrics for ASCII characters.
8834 (w32font_open_internal): Don't set font's owning_frame.
8835 Cache metrics for ASCII characters.
8836
8837 * w32font.h (struct w32font_info): Add ascii_metrics.
8838 Remove owning_frame.
8839
88402008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8841
8842 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8843 to negative value.
8844
8845 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8846
8847 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8848
8849 * charset.c (syms_of_charset): Set QCtest and Qeq.
8850
88512008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8852
8853 * process.c (Fstart_process):
8854 * callproc.c (Fcall_process): Handle the case where
8855 Funhandled_file_name_directory returns nil.
8856
8857 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8858 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8859 * font.c (check_gstring): Use them and AREF to access the vector before
8860 we know it's really a gstring.
8861 (Ffont_shape_text): Fix typo.
8862 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8863
8864 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8865 Declare.
8866
8867 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8868
88692008-02-05 Jason Rumney <jasonr@gnu.org>
8870
8871 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8872 Set smallest_font_height and smallest_char_width in display info.
8873
88742008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8875
8876 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8877
88782008-02-05 Miles Bader <miles@gnu.org>
8879
8880 * xfaces.c (get_lface_attributes, merge_named_face)
8881 (lookup_named_face, lookup_derived_face, realize_named_face):
8882 Revert 2008-02-01 change by cyd@stupidchicken.com.
8883
88842008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8885
8886 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8887 fallback fonts.
8888 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8889
88902008-02-04 Jason Rumney <jasonr@gnu.org>
8891
8892 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8893 set full_name.
8894 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8895
88962008-02-03 Jason Rumney <jasonr@gnu.org>
8897
8898 * makefile.w32-in (OBJ1): Include font.o here.
8899 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8900
89012008-02-02 Jason Rumney <jasonr@gnu.org>
8902
8903 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8904
89052008-02-01 Jason Rumney <jasonr@gnu.org>
8906
8907 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8908
8909 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8910
89112008-02-01 Andreas Schwab <schwab@suse.de>
8912
8913 * Makefile.in (shortlisp, lisp): Update for rename of
8914 ../lisp/language/myanmar.el.
8915
89162008-02-01 Chong Yidong <cyd@stupidchicken.com>
8917
8918 * xfaces.c (get_lface_attributes): Delete function.
8919 (merge_named_face, lookup_named_face, lookup_derived_face)
8920 (realize_named_face): Call lface_from_face_name directly, and use
8921 the fact that merge_face_vectors does not alter its FROM argument.
8922
89232008-02-01 Jason Rumney <jasonr@gnu.org>
8924
8925 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8926 input in the default locale. Handle non-Unicode multibyte input.
8927
89282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8929
8930 * fontset.c (reorder_font_vector): Exclude nil elements from the
8931 font group. Don't try multiple fonts.
8932 (fontset_font): Adjust for the above change.
8933 (Finternal_char_font): Return nil if the found font doesn't
8934 contain the character ch.
8935
8936 * Makefile.in (lisp, shortlisp): Add cham.el.
8937
89382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8939
8940 * font.h (FONTP): Make it return 1 also for a font-object.
8941
8942 * .gdbinit (xfontset): New function.
8943
8944 * font.c (font_find_for_lface): Check if the character C is
8945 supported or not only for the first font.
8946
8947 * fontset.c (reorder_font_vector): Fix typo.
8948 (fontset_find_font): Don't add a font-spec specifying a script.
8949 Use 0 (not Qt) for the indication of empty font-group. Change the
8950 format of RFONT-DEF. Return Qt if no font in the font-group
8951 support the character.
8952 (fontset_font): Adjust for the above change. If no font was
8953 found the character, remember that.
8954 (face_for_char): Adjust for the change of RFONT-DEF.
8955 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8956 no font for the target.
8957 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8958
89592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8960
8961 * font.c (font_load_for_face): Handle the case that the font in
8962 face->lface is a string.
8963
89642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8965
8966 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8967
89682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8969
8970 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8971 Fix previous change. If the frame is not on a window system,
8972 signal an error.
8973
89742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8975
8976 * coding.c (decode_coding_object, encode_coding_object): Adjust
8977 marker positions after conversion.
8978
8979 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8980
89812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8982
8983 * font.c (font_find_for_lface): Fix the handling of the return
8984 value of font_has_char.
8985 (Ffont_shape_text): Fix previous change.
8986
8987 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8988 (fontset_ref_and_range): Delete it.
8989 (fontset_find_font): Call char_table_ref_and_range instead of
8990 FONTSET_REF_AND_RANGE.
8991 (make_fontset): Don't setup font groups of Latin here.
8992 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8993 (new_fontset_from_font): Make the specified font the default for
8994 all Latin characters.
8995
89962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8997
8998 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8999 is on a window system before accessing the fontset of the frame.
9000
90012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9002
9003 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
9004
9005 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9006 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9007
9008 * font.c (Ffont_shape_text): If the font driver doesn't have a
9009 shaper function, make zero-width glyphs to have at least one-pixel
9010 width. Fix setting of `to' field of glyphs.
9011
90122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9013
9014 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9015 glyphs.
9016
9017 * font.h (struct font_driver): Improve docstring of member `shape'.
9018
90192008-02-01 Kenichi Handa <handa@m17n.org>
9020
9021 * composite.c (syms_of_composite): Fix docstring of
9022 auto-composition-function.
9023
9024 * font.h (LGLYPH_SIZE): New macro.
9025
9026 * font.c (Ffont_fill_gstring): Stop filling when a character not
9027 supported by the font is found.
9028 (Ffont_shape_text): When a shape callback function returns nil,
9029 try at most two more times with larger gstring.
9030 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9031
9032 * xdisp.c (handle_auto_composed_prop): Change the argument to
9033 auto-composition-function.
9034
9035 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9036 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9037 Lispy glyph and store it in the lgstring.
9038
9039 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9040
9041 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9042
90432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9044
9045 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9046
9047 * fontset.c (Vfont_encoding_charset_alist): New variable.
9048 (syms_of_fontset): DEFVAR it.
9049 (reorder_font_vector, fontset_find_font): Optimize for the case of
9050 no need of reordering.
9051 (face_for_char): Map the charset property by
9052 Vfont_encoding_charset_alist.
9053
90542008-02-01 Jason Rumney <jasonr@gnu.org>
9055
9056 * w32font.c (logfonts_match): Don't check adstyle here.
9057 (font_matches_spec): Check here against physical font instead.
9058 (add_font_entity_to_list): Avoid some substitutions.
9059
9060 * font.c (font_parse_fcname): Default weight and slant to normal.
9061 (font_score): Prefer normal fonts if weight or slant unspecified.
9062 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9063 match freetype scores.
9064
90652008-02-01 Jason Rumney <jasonr@gnu.org>
9066
9067 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9068 font, as it may have been deleted.
9069 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9070 most common hyphenless variation.
9071 (logfonts_match): Check generic family.
9072 (font_matches_spec): Don't check generic family here.
9073 (fill_in_logfont): Set generic family based on adstyle.
9074
9075 * w32font.h (w32font_get_cache): Update declaration.
9076
90772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9078
9079 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9080
9081 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9082 If none of the new drivers are available, call font_update_drivers
9083 with the old drivers.
9084
9085 * w32font.c (w32font_get_cache): Adjust the argument type.
9086
9087 * xfont.c (xfont_get_cache): Adjust the argument type.
9088
9089 * font.h (struct font_driver): Change argument type of get_cache.
9090
9091 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9092
9093 * font.c (Ffont_get): Fix arguments to Fassoc.
9094 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9095 (font_clear_cache): New function.
9096 (font_list_entities, font_matching_entity): Use font_get_cache.
9097 (font_update_drivers): Call font_clear_cache when finishing a driver.
9098
9099 * fontset.c (fontset_find_font): Fix previous change.
9100
91012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9102
9103 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9104 dpyinfo->font_table.
9105 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9106 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9107
9108 * font.c (font_at): Handle the case that the arg C is negative.
9109 Handle the unibyte case.
9110 (Ffont_at): Call font_at with the arg C -1.
9111
9112 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9113 the position here, and call font_at with the arg C -1.
9114 Don't check the range of the existing composition at the point.
9115
91162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9117
9118 * fontset.c (fontset_add): New args charset_id and family.
9119 Change caller.
9120 (load_font_get_repertory, fontset_find_font): Assume that
9121 font_spec is always a font-spec object.
9122 (Fset_fontset_font): Always store a font-spec object in a fontset.
9123
9124 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9125 instead of get_property_and_range.
9126
91272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9128
9129 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9130 (xftfont_open): Don't keep locking face.
9131 (xftfont_close): Don't unlock face.
9132 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9133
9134 * fontset.c (fontset_find_font): Don't prefer a font of
9135 supplementary charset.
9136
91372008-02-01 Kenichi Handa <handa@m17n.org>
9138
9139 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9140 script, langsys_tag to langsys, new member script.
9141 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 9142 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
9143 listing to the script specified in that property. Fix arg to
9144 OTF_check_features.
9145
91462008-02-01 Jason Rumney <jasonr@gnu.org>
9147
9148 * w32font.h: New file.
9149
9150 * w32font.c: Include it.
9151 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9152 (w32font_open): Set owning_frame.
9153 (w32font_text_extents): Use owning_frame.
9154 (struct font_callback_data): Add opentype_only field.
9155 (add_font_entity_to_list): Use it to filter fonts.
9156 Don't check against full name.
9157 (w32font_list_internal): New function.
9158 (w32font_list): Use it.
9159 (w32font_match_internal): New function.
9160 (w32font_match): Use it.
9161 (w32font_open_internal): New function.
9162 (w32font_open): Use it.
9163 (w32font_get_cache, w32font_close, w32font_has_char)
9164 (w32font_encode_char, w32font_text_extents, w32font_draw):
9165 Make non-static.
9166
9167 * makefile.w32-in (w32font.o): Depend on w32font.h.
9168
91692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9170
9171 * charset.c (Fdefine_charset_internal): Record a supplementary
9172 charset at the tail of Vcharset_order_list.
9173
9174 * font.c (Ffont_shape_text): Fix the return value.
9175
9176 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9177
9178 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9179
91802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9181
9182 * ftfont.c (struct OpenTypeSpec): New struct.
9183 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9184 (ftfont_get_open_type_spec): New function.
9185 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9186
9187 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9188
91892008-02-01 Jason Rumney <jasonr@gnu.org>
9190
9191 * w32font.c (add_font_entity_to_list): Compare only the beginning
9192 of full name.
9193
91942008-02-01 Kenichi Handa <handa@m17n.org>
9195
9196 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9197 Never return HANDLED_RECOMPUTE_PROPS.
9198
91992008-02-01 Kenichi Handa <handa@m17n.org>
9200
9201 * font.c (font_gstring_produce): Delete it.
9202
9203 * composite.h (COMPOSITION_METHOD):
9204 Handle COMPOSITION_WITH_GLYPH_STRING.
9205
92062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9207
9208 * xfont.c (Qx): Delete.
9209 (syms_of_xfont): Don't initialize Qx.
9210
9211 * composite.h (enum composition_method):
9212 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9213
92142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9215
9216 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9217 (choose_face_font): Accept new form of font-spec.
9218
9219 * frame.h (font_driver_list): Declare it unconditionally.
9220 (struct frame): Define members font_driver_list and font_data_list
9221 unconditionally.
9222
9223 * fontset.c: Include "font.h" unconditionally.
9224 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9225 (Fset_fontset_font): Accept a font-spec object.
9226
9227 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9228 PIXEL_SIZE part a wild card.
9229
9230 * dispextern.h (struct glyph_string): Define members clip and
9231 num_clips unconditionally.
9232 (struct face): Define members font_info and extra unconditionally.
9233
9234 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9235 ftfont_info only when HAVE_LIBOTF is defined.
9236
92372008-02-01 Andreas Schwab <schwab@suse.de>
9238
9239 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9240 and end.
9241
92422008-02-01 Jason Rumney <jasonr@gnu.org>
9243
9244 * w32font.c (w32font_driver): Add new fields.
9245
92462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9247
9248 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9249 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9250 (LIBES): Add @M17N_FLT_CFLAGS@.
9251
9252 * composite.c (compose_text): Don't treat the new style
9253 composition specially.
9254
9255 * emacs.c (main): Call syms_of_font unconditionally.
9256
9257 * font.h (FONT_ENTITY_NOT_LOADABLE)
9258 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9259 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9260 (struct font_driver): New member shape.
9261 (font_registry_charsets): Extern it.
9262 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9263 (font_otf_capability, font_drive_otf): Delete their externs.
9264
9265 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9266 (font_charset_alist, font_registry_charsets): Move from xfont.c
9267 and rename.
9268 (font_prop_validate_otf): New function.
9269 (font_property_table): Register it for QCotf.
9270 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9271 (font_drive_otf): Delete.
9272 (font_prepare_composition): New arg F. Adjust for the change of
9273 lispy gstring.
9274 (font_find_for_lface): New arg C.
9275 (font_load_for_face): Adjust for the change of font_find_for_lface.
9276 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9277 lispy gstring.
9278 (Ffont_shape_text): New function.
9279 (Fopen_font): If the font size is not given, use 12-pixel.
9280 (Ffont_at): New arg STRING.
9281 (syms_of_font): Initalize font_charset_alist.
9282 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9283 conditionally.
9284
9285 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9286 fonts of the same font-spec. Change the format of RFONT-DEF.
9287 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9288 Adjust for the change of RFONT-DEF.
9289 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9290
9291 * ftfont.h: New file.
9292
9293 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9294 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9295 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9296 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9297 font_otf_capability and font_drive_otf, set ftfont_shape.
9298 (ftfont_list): Adjust for the change of :otf property value.
9299 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9300 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9301 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9302 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9303 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9304 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9305
9306 * w32term.c (x_draw_composite_glyph_string_foreground):
9307 Adjust for the change of lispy gstring.
9308
9309 * xdisp.c (handle_composition_prop): Adjust for the change of
9310 lispy gstring. Call a function for auto-composition with the
9311 third arg it->window.
9312 (fill_composite_glyph_string): Adjust for the change of lispy string.
9313 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9314
9315 * xfaces.c (set_font_frame_param): Adjust for the change of
9316 font_find_for_lface.
9317
9318 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9319 (xfont_registry_charsets): Likewise. Change caller.
9320 (syms_of_xfont): Don't handle x_font_charset_alist.
9321
9322 * xftfont.c: Include "ftfont.h".
9323 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9324 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9325 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9326 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9327 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9328 Set xftfont_driver.shape to xftfont_shape.
9329
9330 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9331 the change of lispy gstring.
9332
93332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9334
9335 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9336
93372008-02-01 Jason Rumney <jasonr@gnu.org>
9338
9339 * w32font.c (w32font_draw): Fill background manually.
9340
93412008-02-01 Jason Rumney <jasonr@gnu.org>
9342
9343 * font.c (Qfontp): Remove unused symbol.
9344 (QCantialias): New symbol.
9345 (syms_of_font): Define it.
9346 (font_property_table): Set a validator for QCantialias.
9347
9348 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9349 Define if not already.
9350 (QCfamily): Share with xfaces.c.
9351 (Qstandard, Qsubpixel, Qnatural): New symbols.
9352 (syms_of_w32font): Define them. Don't define QCfamily here.
9353 (w32_antialias_type, lispy_antialias_type): New functions.
9354 (w32_enumfont_pattern_entity): New arg requested_font.
9355 Set antialias parameter if non-default was requested.
9356 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9357
93582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9359
9360 * lread.c (read1): Undo the previous change.
9361
93622008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9363
9364 * frame.c (Fdelete_frame): Call font_update_drivers only when
9365 USE_FONT_BACKEND is defined.
9366
93672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9368
9369 * font.h (struct font_bitmap): New member bits_per_pixel.
9370 (struct font_driver): New members start_for_frame and end_for_frame.
9371 (struct font_data_list): New struct.
9372 (font_put_frame_data, font_get_frame_data): Extern them.
9373
9374 * frame.h (struct frame): New member font_data_list.
9375
9376 * font.c (font_update_drivers): Call driver->start_for_frame and
9377 driver->end_for_frame at proper timings.
9378 (font_put_frame_data, font_get_frame_data): New functions.
9379 (Ffont_spec): Add usage in the docstring.
9380
9381 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9382 (Fdelete_frame): Call font_update_drivers.
9383
9384 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9385 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9386 (xftfont_get_xft_draw): New function.
9387 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9388 (xftfont_end_for_frame): New function.
9389 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9390
9391 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9392 Change argument. Cache GCs in the per-frame data.
9393 (struct ftxfont_frame_data): New struct.
9394 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9395 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9396 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9397 (ftxfont_end_for_frame): New function.
9398 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9399
9400 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9401
94022008-02-01 Kenichi Handa <handa@m17n.org>
9403
9404 * xselect.c (Vselection_coding_system)
9405 (Vnext_selection_coding_system): Delete them.
9406 (syms_of_xselect): Don't declare selection-coding-system and
9407 next-selection-coding-system. They are declared in select.el.
9408
94092008-02-01 Jason Rumney <jasonr@gnu.org>
9410
9411 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9412
9413 * w32fns.c: Include imm.h.
9414 (get_composition_string_fn, get_ime_context_fn): New optional
9415 system functions.
9416 (globals_of_w32fns): Load them from imm32.dll.
9417 (ignore_ime_char): New flag.
9418 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9419 WM_IME_ENDCOMPOSITION messages.
9420
9421 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9422 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9423
94242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9425
9426 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9427 (READCHAR_REPORT_MULTIBYTE): New macro.
9428 (readchar): New 2nd arg MULTIBYTE.
9429 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9430 Make symbol's name multibyte according to the multibyteness of the
9431 source.
9432
94332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9434
9435 * xfaces.c (face_for_overlay_string): Call lookup_face with
9436 correct arguments (fix of synching with the trunk).
9437
94382008-02-01 Kenichi Handa <handa@m17n.org>
9439
9440 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9441 (font_prop_validate_non_neg, font_prop_validate_spacing):
9442 Delete argument prop_index.
9443 (font_property_table): Change arguments to validater. Change Callers.
9444 (font_lispy_object): Delete.
9445 (font_at): Use font_find_object instead fo font_lispy_object.
9446
94472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9448
9449 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9450 and file names.
9451
94522008-02-01 Jason Rumney <jasonr@gnu.org>
9453
9454 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9455 (font_matches_spec): Remove debug output.
9456 (add_font_entity_to_list): Avoid using substituted fonts.
9457
94582008-02-01 Jason Rumney <jasonr@gnu.org>
9459
9460 * doc.c (Fsnarf_documentation):
9461 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9462
94632008-02-01 Miles Bader <miles@gnu.org>
9464
9465 * dispextern.h (struct glyph_row): Only define "clip" field if
9466 HAVE_WINDOW_SYSTEM is defined.
9467
94682008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9469
9470 Fix up multi-tty merge.
9471
9472 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9473 and indentation.
9474
9475 * xfaces.c (free_realized_face, clear_face_gcs):
9476 Include font_done_for_face in the input_blocked section, just in case.
9477
9478 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9479 (get_char_face_and_encoding): Undo last change and remove the *other*
9480 duplicate definition (i.e. keep the one that's better scoped and that
9481 includes code for the font-backend).
9482
9483 * terminal.c (create_terminal): Default keyboard_coding to
9484 `no-conversion' and terminal_coding to `undecided'.
9485
9486 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9487
9488 * fontset.c (free_realized_fontsets): Check that the table entry does
9489 contain a fontset before trying to compare it to `base'.
9490
9491 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9492 syms_of_charset, and syms_of_coding earlier because init_window_once
9493 now needs Vcoding_system_hash_table to be setup.
9494
9495 * coding.h (default_buffer_file_coding): Remove.
9496
9497 * coding.c (default_buffer_file_coding): Remove.
9498 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9499 than ->symbol, and use the terminal-local coding system.
9500 (syms_of_coding): Don't setup the coding-systems that are not
9501 terminal-local.
9502 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9503
9504 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9505 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9506
9507 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9508 in chartab.c and were re-added here by mistake.
9509 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9510
9511 * doc.c (Fsnarf_documentation):
9512 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9513 src to etc.
9514
9515 * ChangeLog.10: Add mistakenly removed entry.
9516
95172008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9518
9519 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9520
95212008-02-01 Miles Bader <miles@gnu.org>
9522
9523 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9524 Add extra args to FACE_FOR_CHAR.
9525
95262008-02-01 Kenichi Handa <handa@m17n.org>
9527
9528 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9529 in sequence.
9530
9531 * chartab.c (map_sub_char_table, map_char_table): If the range
9532 contains just one character, call the function with that character
9533 even if the depth is not 3.
9534
95352008-02-01 Jason Rumney <jasonr@gnu.org>
9536
9537 * w32font.c (w32font_text_extents): Calculate metrics for the
9538 whole string.
9539
95402008-02-01 Jason Rumney <jasonr@gnu.org>
9541
9542 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9543
95442008-02-01 Jason Rumney <jasonr@gnu.org>
9545
9546 * w32term.c (x_set_glyph_string_clipping): Use
9547 get_glyph_string_clip_rects.
9548 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9549 Adjust for the change of struct glyph_string.
9550
9551 * w32font.c (w32font_draw): Do clipping here.
9552
95532008-02-01 Kenichi Handa <handa@m17n.org>
9554
9555 * xftfont.c (xftfont_draw): Adjust for the change of struct
9556 glyph_string.
9557
9558 * xterm.c (x_set_glyph_string_clipping): Use
9559 get_glyph_string_clip_rects.
9560 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9561 Adjust for the change of struct glyph_string.
9562
9563 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9564 the resulting clip(s}.
9565 (expose_overlaps): Add arg r. Change callers. Set it to
9566 row->clip temporarily.
9567 (expose_window): Redraw rows overlapping the exposed area.
9568
9569 * dispextern.h (struct glyph_row): New member clip.
9570 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9571 clip_height, new member clip, and num_clips.
9572
95732008-02-01 Kenichi Handa <handa@m17n.org>
9574
9575 * data.c (Fchar_or_string_p): Fix docstring.
9576
95772008-02-01 Kenichi Handa <handa@m17n.org>
9578
9579 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9580 create a temporary XftDraw object.
9581
95822008-02-01 Kenichi Handa <handa@m17n.org>
9583
9584 * font.c (Ffontp): Fix docstring.
9585
9586 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9587 strong evidence of ISO-2022.
9588
95892008-02-01 Kenichi Handa <handa@m17n.org>
9590
9591 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9592 SYNTAX_ENTRY_FOLLOW_PARENT.
9593
95942008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9595
9596 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9597 its type.
9598 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9599 Update to the new type of weak_hash_tables and next_weak.
9600
9601 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9602 a plain C pointer to Lisp_Hash_Table.
9603
9604 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9605 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9606 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9607 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9608 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9609 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9610 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9611 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9612 (GC_EQ): Remove since they've been identical to their non-GC_
9613 alter-egos ever since the markbit was eradicated.
9614
9615 * alloc.c:
9616 * buffer.c:
9617 * buffer.h:
9618 * data.c:
9619 * fileio.c:
9620 * filelock.c:
9621 * fns.c:
9622 * frame.h:
9623 * lisp.h:
9624 * macterm.c:
9625 * print.c:
9626 * process.c:
9627 * w32fns.c:
9628 * w32menu.c:
9629 * w32term.c:
9630 * xfns.c:
9631 * xmenu.c:
9632 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9633
96342008-02-01 Kenichi Handa <handa@m17n.org>
9635
9636 * chartab.c (map_sub_char_table): Make it work for the top-level
9637 char-table. Fix handling of parent char-table.
9638 (map_char_table): Adjust for the above change.
9639
96402008-02-01 Jason Rumney <jasonr@gnu.org>
9641
9642 * w32font.c (Qgdi): Rename from Qw32.
9643
96442008-02-01 Jason Rumney <jasonr@gnu.org>
9645
9646 * w32bdf.c (get_quoted_string): Make function static.
9647
96482008-02-01 Kenichi Handa <handa@m17n.org>
9649
9650 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9651 bigger ascent and descent than those of the font, use them as
9652 font's ascent and descent.
9653
96542008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * Makefile.in (${lispsource}international/charprop.el): Move this
9657 target within "#ifdef HAVE_UNIDATA" and "#endif".
9658
96592008-02-01 Kenichi Handa <handa@m17n.org>
9660
9661 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9662 (shortlisp): Add ../lisp/language/tai-viet.el.
9663
96642008-02-01 Ulrich Mueller <ulm@gentoo.org>
9665
9666 * Makefile.in (${lispsource}international/charprop.el): Depend on
9667 temacs${EXEEXT}.
9668
96692008-02-01 Jason Rumney <jasonr@gnu.org>
9670
9671 * w32font.c (w32font_close): Delete the GDI font object.
9672
9673 * w32menu.c: Include character.h.
9674
9675 * w32proc.c: Likewise.
9676
9677 * w32select.c: Likewise.
9678
9679 * makefile.w32-in (w32proc.o): Depend on character.h.
9680
96812008-02-01 Jason Rumney <jasonr@gnu.org>
9682
9683 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9684
9685 * w32menu.c (syms_of_w32menu): Likewise.
9686
9687 * w32proc.c (syms_of_ntproc): Likewise.
9688
9689 * w32select.c (syms_of_w32select): Likewise.
9690
9691 * w32term.c (syms_of_w32term): Likewise.
9692
96932008-02-01 Jason Rumney <jasonr@gnu.org>
9694
9695 * w32font.c (w32font_draw): Delete brush after using it.
9696
96972008-02-01 Jason Rumney <jasonr@gnu.org>
9698
9699 * w32font.c (w32font_open): Don't set font_idx.
9700 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9701 to font settings.
9702 (w32font_draw): Fill background explicitly.
9703
97042008-02-01 Jason Rumney <jasonr@gnu.org>
9705
9706 * w32term.c (w32_initialize): Don't call w32font_initialize.
9707
9708 * w32font.c (w32font_info): Remove subranges.
9709 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9710 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9711 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9712 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9713 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9714 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9715 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9716 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9717 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9718 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9719 New symbols.
9720 (font_callback_data): New struct.
9721 (w32font_list, w32font_match): Use it.
9722 (w32font_open): Don't populate subranges.
9723 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9724 (w32font_encode_char): Always return unicode code-point as-is.
9725 (w32font_text_extents): Supply a transformation matrix to
9726 GetGlyphOutline. Never look up by glyph index. Avoid looping
9727 twice. Use unicode version of GetTexExtentPoint32 instead of
9728 glyph index version.
9729 (set_fonts_frame): Remove.
9730 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9731 set frame parameter. Use backward compatible fake foundries.
9732 Save generic family in extra slot under QCfamily. Make width slot
9733 constant. Save QCspacing value. Save list of scripts instead of
9734 binary subranges.
9735 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9736 (add_font_entity_to_list): Use font_callback_data struct. Filter
9737 unwanted fonts.
9738 (add_one_font_entity_to_list): Use font_callback_data struct.
9739 (w32_registry): Default to iso10646_1.
9740 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9741 string font registries. Don't fill in font name if it is a generic
9742 family name, fill family instead. Use spacing, family and script
9743 extra info to fill pitch, family and charset fields.
9744 (list_all_matching_fonts): Use font_callback_data struct.
9745 (unicode_range_for_char): Remove.
9746 (font_supported_scripts): New function.
9747 (w32font_initialize): Remove.
9748 (syms_of_w32font): Update which symbols are defined.
9749
97502008-02-01 Jason Rumney <jasonr@gnu.org>
9751
9752 * font.c (font_pixel_size): Reverse assq_no_quit args.
9753
9754 * w32term.h (FONT_WIDTH): Report max width, not average.
9755 (FONT_MAX_WIDTH): Remove.
9756 (FONT_AVG_WIDTH): New macro.
9757
9758 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9759 redefinition of FONT_WIDTH.
9760
9761 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9762 (w32_cache_char_metrics): Use FONT_WIDTH.
9763
9764 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9765
97662008-02-01 Jason Rumney <jasonr@gnu.org>
9767
9768 * w32font.c (w32font_open): Make lfHeight negative.
9769
9770 * w32fns.c (x_default_font_parameter): Use new style font name.
9771 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9772
97732008-02-01 Jason Rumney <jasonr@gnu.org>
9774
9775 * w32font.c (QCsubranges): New symbol.
9776 (w32font_open, w32font_has_char): Get subranges from subproperty
9777 of extra.
9778 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9779 (syms_of_w32font): Define :subranges symbol.
9780
9781 * font.c (font_put_extra): Expose externally.
9782
9783 * font.h (font_put_extra): Move declaration from font.c.
9784
9785 * font.c (Ffont_get): Use font driver to determine otf capability.
9786 (adjust_anchor): Check if driver defines anchor_point before using.
9787
9788 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9789 (w32font_draw): Use options.
9790 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9791 Fix detection of truetype fonts.
9792 (registry_to_w32_charset): Handle charsets other than iso8859-1
9793 expressed as lisp symbols.
9794 (w32_registry): Express charset as lisp symbol.
9795 (fill_in_logfont): Reverse pixel and point height logic.
9796 Don't set width here. Set quality to default.
9797
9798 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9799 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9800
9801 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9802 Remove redundant loop and allocation.
9803
9804 * makefile.w32-in (font.o, w32font.o): New objects.
9805 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9806 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9807
9808 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9809 STORE_XCHARB a valid l-value.
9810
9811 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9812 calculations for non-Truetype fonts.
9813 (x_draw_glyph_string): Sync with xterm.c.
9814 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9815 Remove redundant code.
9816 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9817
9818 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9819 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9820
9821 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9822 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9823
9824 * w32font.c: New file for w32 font backend.
9825
98262008-02-01 Kenichi Handa <handa@m17n.org>
9827
9828 * term.c: Don't include "buffer.h" twice.
9829
98302008-02-01 Kenichi Handa <handa@m17n.org>
9831
9832 * character.c (Funibyte_string): New function.
9833 (syms_of_character): Defsubr it.
9834
98352008-02-01 Jason Rumney <jasonr@gnu.org>
9836
9837 * w32term.c [USE_FONT_BACKEND]:
9838 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9839 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9840 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9841 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9842 (x_free_frame_resources): Sync with xterm.c.
9843
98442008-02-01 Andreas Schwab <schwab@suse.de>
9845
9846 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9847 char-table size.
9848
98492008-02-01 Kenichi Handa <handa@m17n.org>
9850
9851 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9852
98532008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9856 font_otf_gpos, add font_drive_otf.
9857
9858 * fontset.c (fontset_find_font): Pay attention to font size
9859 specified for a font.
9860 (reorder_font_vector): Check contents of font_def.
9861
9862 * font.c (struct otf_list): Delete it.
9863 (otf_list): Make it a lisp variable.
9864 (otf_open): Use lispy otf_list.
9865 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9866 (check_otf_features): New function.
9867 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9868 New functions.
9869 (font_drive_otf): New function merging font_otf_gsub and
9870 font_otf_gpos.
9871 (font_open_for_lface): New arg spec. Change argument order.
9872 (font_load_for_face): Adjust for the change of font_open_for_lface.
9873 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9874 Ffont_otf_gpos.
9875 (syms_of_font): Staticpro otf_list. Delete defsubr of
9876 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9877
9878 * xfaces.c (set_font_frame_param): Adjust for the change of
9879 font_open_for_lface.
9880
9881 * font.h (font_open_for_lface): Adjust prototype.
9882 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9883 member otf_drive.
9884 (font_otf_gsub, font_otf_gpos): Delete externs.
9885 (font_drive_otf): Extern it.
9886
98872008-02-01 Kenichi Handa <handa@m17n.org>
9888
9889 * font.c (font_at): If the window W is not on a window system,
9890 return Qnil.
9891
9892 * coding.c (produce_chars, encode_coding): Don't call
9893 insert_from_gap if no characters to produce.
9894
98952008-02-01 Kenichi Handa <handa@m17n.org>
9896
9897 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9898 Fclear_face_cache.
9899
9900 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9901
99022008-02-01 Miles Bader <miles@gnu.org>
9903
9904 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9905 Parse "--disable-font-backend" option.
9906 (standard_args): Add "--disable-font-backend" option.
9907
99082008-02-01 Kenichi Handa <handa@m17n.org>
9909
9910 * fontset.c (fontset_find_font): New function.
9911 (fontset_font): Use fontset_find_font.
9912 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9913 Register the specified font for all Latin characters.
9914 (new_fontset_from_font): Register the specified font for all Latin
9915 characters.
9916 (dump_fontset): For a realized fontset, include the base fontset
9917 name in the returned vector.
9918
99192008-02-01 Kenichi Handa <handa@m17n.org>
9920
9921 * character.h (CHAR_STRING): Cast C to unsigned on calling
9922 char_string.
9923
9924 * character.c (char_string): Type of arg C changed to unsigned.
9925 Signal an error if C is an invalid character code.
9926
9927 * editfns.c (general_insert_function, Fchar_to_string):
9928 Use CHARACTERP, not INTEGERP.
9929
99302008-02-01 Kenichi Handa <handa@m17n.org>
9931
9932 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9933 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9934
9935 * regex.c (analyse_first): Fix for multibyte characters in "case
9936 charset:" and "case categoryspec:".
9937
99382008-02-01 Andreas Schwab <schwab@suse.de>
9939
9940 * Makefile.in (LIBES): Move standard libraries to the end.
9941
99422008-02-01 Kenichi Handa <handa@m17n.org>
9943
9944 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9945 nonzero, don't shrink the buffer nextb.
9946
9947 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9948
9949 * coding.c (coding_alloc_by_making_gap): New arg offset.
9950 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9951 offset.
9952 (decode_coding_iso_2022): Update coding->safe_charsets.
9953 (decode_coding_gap): Temporarily set
9954 current_buffer->text->inhibit_shrinking to 1.
9955
99562008-02-01 Kenichi Handa <handa@m17n.org>
9957
9958 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9959 indexing into elements of s->cmp and s->char2b.
9960
99612008-02-01 Juanma Barranquero <lekktu@gmail.com>
9962
9963 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9964
99652008-02-01 Kenichi Handa <handa@m17n.org>
9966
9967 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9968 target_multibyte instead of multibyte.
9969 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9970 (bcmp_translate): Change the argument name from multibyte to
9971 target_multibyte.
9972
99732008-02-01 Kenichi Handa <handa@m17n.org>
9974
9975 These changes are to compile a regexp into a pattern that can be
9976 used both for multibyte and unibyte targets.
9977
9978 * Makefile.in (search.o): Depend on charset.h.
9979
9980 * character.c (multibyte_char_to_unibyte_safe): New function.
9981
9982 * search.c: Include "charset.h".
9983 (compile_pattern_1): Delete argument multibyte. Don't set
9984 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9985 (compile_pattern): Don't compare cp->buf.target_multibyte.
9986 Compare cp->buf.charset_unibyte.
9987 (compile_pattern): Set cp->buf.target_multibyte.
9988
9989 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9990
9991 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9992
9993 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9994 multibyte. Change callers.
9995 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9996 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9997 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9998 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9999 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
10000 (regex_compile): Make the compiled pattern usable both for
10001 multibyte and unibyte targets.
10002 (analyse_first): Make the fastmap usable both for multibyte and
10003 unibyte targets.
10004 (TRANSLATE_VIA_MULTIBYTE): Delete.
10005 (re_match_2_internal): Pay attention to the case that the
10006 multibyteness of bufp and target may be different.
10007
100082008-02-01 Kenichi Handa <handa@m17n.org>
10009
10010 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10011 empty box occupy at least one column width.
10012
100132008-02-01 Miles Bader <miles@gnu.org>
10014
10015 * Makefile.in: Remove redundant HAVE_XFT clause.
10016
100172008-02-01 Kenichi Handa <handa@m17n.org>
10018
10019 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10020
100212008-02-01 Kenichi Handa <handa@m17n.org>
10022
10023 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10024 being nil.
10025
100262008-02-01 Kenichi Handa <handa@m17n.org>
10027
10028 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10029
100302008-02-01 Kenichi Handa <handa@m17n.org>
10031
10032 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10033
100342008-02-01 Kenichi Handa <handa@m17n.org>
10035
10036 * search.c (simple_search): Fix previous change.
10037
100382008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * xftfont.c (ftfont_font_format): Extern declaration.
10041
10042 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10043
10044 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10045 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10046
10047 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10048 (ftfont_font_format): Fix previous change.
10049
10050 * font.h (Ffont_xlfd_name): EXFUN it.
10051
10052 * font.c (font_parse_xlfd): Fix the array size of `f'.
10053 (register_font_driver): Use EQ to compare driver->type.
10054
10055 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10056 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10057 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10058
100592008-02-01 Kenichi Handa <handa@m17n.org>
10060
10061 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10062 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10063
100642008-02-01 Kenichi Handa <handa@m17n.org>
10065
10066 * xfont.c (xfont_open): Set font->format.
10067
10068 * xftfont.c (xftfont_open): Set font->format.
10069
10070 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10071 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10072 (ftfont_open): Set font->format.
10073 (ftfont_font_format): New function.
10074
10075 * font.h (struct font): New member format.
10076
10077 * font.c (Qopentype): New variable.
10078 (syms_of_font): Defsym it.
10079 (Fquery_font): Change the format of the last element of the return
10080 value.
10081
100822008-02-01 Kenichi Handa <handa@m17n.org>
10083
10084 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10085 last resort.
10086
100872008-02-01 Kenichi Handa <handa@m17n.org>
10088
10089 * coding.c (detect_coding_charset): Fix detection of multi-byte
10090 charset.
10091
100922008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10093
10094 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10095
100962008-02-01 Kenichi Handa <handa@m17n.org>
10097
10098 * xdisp.c (get_next_display_element): Set it->face_id for the
10099 first component of a composition.
10100 (x_produce_glyphs): Check if the font is changed or not for composition.
10101
101022008-02-01 Kenichi Handa <handa@m17n.org>
10103
10104 * fontset.c (Qlatin): New variable.
10105 (syms_of_fontset): Define it as a lisp symbol.
10106 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10107
101082008-02-01 Kenichi Handa <handa@m17n.org>
10109
10110 * font.c (font_unparse_fcname): Pay attention to the case that
10111 some of font property is a null string.
10112
101132008-02-01 Kenichi Handa <handa@m17n.org>
10114
10115 * term.c: Include "composite.h".
10116 (encode_terminal_code): Output all components of composition.
10117 Check the size of encode_terminal_src.
10118 (produce_glyphs): For composition, call produce_composite_glyph.
10119 (append_composite_glyph, produce_composite_glyph): New functions.
10120
10121 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10122 is not found, get font_info from the current ascii face.
10123
101242008-02-01 Kenichi Handa <handa@m17n.org>
10125
10126 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10127 buffer-file-name to Qnil before calling insert_from_buffer.
10128
10129 * font.c (font_unparse_fcname): Pay attention to the case that
10130 foundry is a null string.
10131
101322008-02-01 Kenichi Handa <handa@m17n.org>
10133
10134 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10135
10136 * font.c (Qunicode_sip): New variable.
10137 (syms_of_font): Declare it as a Lisp symbol.
10138
10139 * font.h (Qunicode_sip): Extern it.
10140
101412008-02-01 Kenichi Handa <handa@m17n.org>
10142
10143 * composite.c (get_composition_id): Pay attention to TAB component.
10144
10145 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10146 TAB. Adjust for the change of s->char2b which always points to
10147 the first element of allocated memory.
10148
10149 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10150
10151 * xdisp.c (handle_composition_prop): Set it->c to the first
10152 non-TAB component.
10153 (fill_composite_glyph_string): Change argument.
10154 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10155 (x_produce_glyphs): Fix handling of left/right padding.
10156
101572008-02-01 Kenichi Handa <handa@m17n.org>
10158
10159 * coding.c (detect_coding_system): Fix for handling off
10160 inhibit_iso_escape_detection. Fix for the case that no coding
10161 system is defined for a specific coding category.
10162
101632008-02-01 Kenichi Handa <handa@m17n.org>
10164
10165 * font.c (font_matching_entity): Delete unused local var.
10166
10167 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10168 opening a font.
10169
10170 * fileio.c (Finsert_file_contents): On recovering a file, assume
10171 Unix-like eol.
10172 (choose_write_coding_system): On auto-saving a file, force
10173 Unix-like eol.
10174
10175 * coding.c (setup_coding_system): Fix setting of
10176 coding->common_flags based on eol_type.
10177 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10178 inherit from it.
10179
101802008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * alloc.c (NSTATICS): Increas to 0x600.
10183
101842008-02-01 Kenichi Handa <handa@m17n.org>
10185
10186 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10187 (ftfont_list): Don't check :name property.
10188 (ftfont_match): New function.
10189 (ftfont_pattern_entity): If the pattern doesn't contain
10190 FC_SPACING, don't assume FC_MONO.
10191
10192 * font.h (struct font_driver): New member `match'.
10193 (font_update_drivers): Adjust prototype.
10194
10195 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10196 property of FONT.
10197 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10198 them unconditionally.
10199 (font_matching_entity): New function.
10200 (font_open_by_name): Try font_matching_entity if exact match is
10201 not found.
10202 (font_update_drivers): Delete the arg FONT. Return a list of
10203 actually used backends. Don't free faces, font caches here.
10204 Don't store data in frame parameters. Don't call x_set_font.
10205 (Ffont_spec): Store :name property as is.
10206 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10207 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10208 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10209 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10210 Call font->driver->otf_gsub instead of font_otf_gsub.
10211
10212 * frame.c (x_set_font_backend): Do more works that were done in
10213 font_update_drivers before.
10214
10215 * xfont.c (xfont_match): New function.
10216 (xfont_driver): Set xfont_driver.match to xfont_match.
10217 (xfont_draw): Set font in GC if necessary.
10218
10219 * ftxfont.c (ftxfont_match): New function.
10220 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10221
10222 * xftfont.c (xftfont_match): New function.
10223 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10224
102252008-02-01 Kenichi Handa <handa@m17n.org>
10226
10227 * font.h (struct font): New member scalable.
10228 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10229 (font_otf_gsub): Adjust prototype.
10230
10231 * font.c (font_otf_capability): Fix handling of the default langsys.
10232 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10233 Check the contents of SPEC.
10234 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10235 (check_gstring): New function.
10236 (REPLACEMENT_CHARACTER): New macro.
10237 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10238 glyph codes of GSTRING.
10239 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10240 (font_prepare_composition): Set cmp->glyph_len.
10241 (font_open_entity): Set font->scalable.
10242 (Ffont_get): Handle :otf property.
10243 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10244 functions.
10245 (Fquery_font): Use font->font.full_name.
10246 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10247 Sfont_otf_alternates.
10248
10249 * ftfont.c (ftfont_open): Set font->font.full_name and
10250 font->font.name properly. Fix calculation of font->font.height
10251 and font->min_width.
10252
10253 * ftxfont.c (ftxfont_create_gcs): New function.
10254 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10255 (ftxfont_draw_backgrond): Fix filling region.
10256 (ftxfont_default_fid): New function.
10257 (ftxfont_open): Set xfont->fid to the return value of
10258 ftxfont_default_fid.
10259 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10260 (ftxfont_done_face): Free only GCs that are created by
10261 ftxfont_create_gcs.
10262 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10263
10264 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10265 Clip to src->width, etc (not src->clip_XXX).
10266
10267 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10268 FontBackend frame parameter.
10269
102702008-02-01 Kenichi Handa <handa@m17n.org>
10271
10272 * font.h (struct font_driver_list): New member `on'.
10273 (Fclear_font_cache): EXFUN it.
10274 (font_update_drivers): Extern it.
10275
10276 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10277 (font_list_entities): Check driver_list->on.
10278 (register_font_driver): Initalize `on' member to 0.
10279 (font_update_drivers): New function.
10280 (Fclear_font_cache): Check driver_list->on.
10281
10282 * frame.h (Qfont_backend): Extern it.
10283 (x_set_font_backend): Extern it.
10284
10285 * frame.c (Qfont_backend): New variable.
10286 (frame_parms): New element for font-backend.
10287 (x_set_font_backend): New function.
10288
10289 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10290 FontBackend frame parameter.
10291 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10292 x_set_font_backend.
10293
10294 * xfont.c (xfont_list): Don't try listing by :name property if the
10295 name is not for XLFD.
10296
102972008-02-01 Kenichi Handa <handa@m17n.org>
10298
10299 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10300 (LGLYPH_SET_TO): New macros.
10301 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10302 element of G is vector or not.
10303 (font_at): Extern it.
10304
10305 * font.c: Include window.h.
10306 (font_lispy_object): New function.
10307 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10308 end of valid glyph.
10309 (font_close_object): Fix getting (struct font *).
10310 (font_at): New function.
10311 (Ffont_get): If FONT is a font-object, get entity from it.
10312 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10313 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10314 range check.
10315 (Ffont_at): New function.
10316 (syms_of_font): Defsubr Sfont_at.
10317
10318 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10319 before the entry for Qcomposition.
10320 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10321 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10322 the font in gstring.
10323 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10324 LGLYPH_FORM (g) to detect the end of valid glyph.
10325 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10326 we are composing with gstring.
10327
10328 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10329 Check if adjustment is vector or not.
10330
10331 * Makefile.in (font.o): Make it depends on window.h.
10332
103332008-02-01 Kenichi Handa <handa@m17n.org>
10334
10335 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10336 adjustment is vector or not.
10337
103382008-02-01 Miles Bader <miles@gnu.org>
10339
10340 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10341
103422008-02-01 Kenichi Handa <handa@m17n.org>
10343
10344 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10345 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10346 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10347
10348 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10349 (DEVICE_DELTA): Fix typo.
10350 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10351 LGLYPH format.
10352
10353 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10354 the change of LGLYPH format.
10355
103562008-02-01 Kenichi Handa <handa@m17n.org>
10357
10358 * ftfont.c (ftfont_list): Fix typo.
10359 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10360
103612008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10362
10363 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10364
10365 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10366 xftface_info is non-NULL.
10367
103682008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10369
10370 * ftfont.c (ftfont_list): Move misplaced #endif.
10371
103722008-02-01 Kenichi Handa <handa@m17n.org>
10373
10374 * ftfont.c (ftfont_list): Pay attention to the case that
10375 FC_CAPABILITY is not defined.
10376
103772008-02-01 Kenichi Handa <handa@m17n.org>
10378
10379 * xftfont.c (xftfont_open): Set charset related members to -1.
10380
10381 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10382 QCname.
10383 (ftfont_open): Set charset related members to -1.
10384
10385 * fontset.c (Votf_script_alist): New variable.
10386 (syms_of_fontset): Initialize it.
10387 (fontset_font): Delete unused variable.
10388
10389 * fontset.h (Votf_script_alist): Extern it.
10390
10391 * font.c (font_find_for_lface): Optimize code.
10392
10393 * font.h (font_close_object, font_merge_old_spec): Extern them.
10394
103952008-02-01 Kenichi Handa <handa@m17n.org>
10396
10397 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10398 (syms_of_font): Initialize them.
10399 (font_pixel_size): Allow float value in dpi.
10400 (font_prop_validate_type): Delete.
10401 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10402 Change caller.
10403 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10404 (font_prop_validate_extra): Delete.
10405 (font_prop_validate_spacing): New function.
10406 (font_property_table): Add elements for all known properties.
10407 (get_font_prop_index): Rename from check_font_prop_name. New
10408 argument FROM. Change caller.
10409 (font_prop_validate): Validate all known properties.
10410 (font_put_extra): Delete argument force. Change caller.
10411 (font_expand_wildcards): Make it static. Fix the way of shrinking
10412 the possible range.
10413 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10414 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10415 Change caller.
10416 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10417 (font_parse_fcname): Delete argument merge. Fix parsing of point
10418 size. Don't validate properties values here. Change caller.
10419 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10420 (font_open_by_name): Delete unused variable.
10421 (Ffont_spec): Likewise. Validate property values.
10422 (Ffont_match_p): New function.
10423
10424 * font.h (QCscalable): Extern it.
10425 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10426
10427 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10428
10429 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10430 (xfont_list_pattern): New function.
10431 (xfont_list): Use xfont_list_pattern.
10432
104332008-02-01 Kenichi Handa <handa@m17n.org>
10434
10435 * font.h (Flist_fonts): EXFUN it.
10436
104372008-02-01 Jason Rumney <jasonr@gnu.org>
10438
10439 * w32term.c (w32_initialize): Add back smoothing_type and
10440 smoothing_enabled definitions.
10441
104422008-02-01 Kenichi Handa <handa@m17n.org>
10443
10444 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10445 s->face->font on determining underline position.
10446
104472008-02-01 Kenichi Handa <handa@m17n.org>
10448
10449 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10450 (font_has_char): Accept font-object too.
10451 (font_find_for_lface): Try at first with a size specified in face.
10452
104532008-02-01 Kenichi Handa <handa@m17n.org>
10454
10455 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10456 font_open_by_name.
10457
104582008-02-01 Kenichi Handa <handa@m17n.org>
10459
10460 * font.h (QCspacing, QCdpi): Extern them.
10461 (enum font_spacing): New enum.
10462 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10463
10464 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10465 (QCspacing, QCdpi): New variables.
10466 (syms_of_font): Initialize them.
10467 (font_pixel_size): New function.
10468 (font_put_extra): New function.
10469 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10470 in FONT_EXTRA.
10471 (font_parse_fcname): Handle enumerated values (e.g. bold).
10472 Fix handling font size. Add QCname property that contains only
10473 unknown properties.
10474 (font_score): Change argument. Change caller. Pay attention to
10475 FONT_PIXEL_SIZE_QUANTUM.
10476 (font_sort_entites, font_list_entities, font_find_for_lface)
10477 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10478 (Ffont_spec): Add QCname property that contains only unknown properties.
10479
10480 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10481 include weight in listing pattern, instead check weight of each
10482 listed font. Don't include scalable in pattern. Pay attention to
10483 FONT_PIXEL_SIZE_QUANTUM.
10484
104852008-02-01 Kenichi Handa <handa@m17n.org>
10486
10487 * font.c (font_parse_fcname): Fix parsing of point-size.
10488 (font_unparse_fcname): Produce symbolic names for style properties.
10489 (font_list_entities): Handle float size correctly.
10490 (font_open_by_name): Prefer `normal' property values if the name
10491 doesn't specify them.
10492
10493 * fontset.c (Finternal_char_font): Use font_get_name, not
10494 Ffont_xlfd_name.
10495
10496 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10497 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10498 pattern. Don't force scalable.
10499
10500 * xftfont.c (xftfont_open): For generating a name, start from
10501 96-byte buffer.
10502
105032008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10504
10505 * frame.h (x_new_fontset2): Fix prototype.
10506
105072008-02-01 Kenichi Handa <handa@m17n.org>
10508
10509 * font.h (struct font_driver): Delete member parse_name.
10510 (font_match_p, font_get_spec, font_parse_fcname)
10511 (font_unparse_fcname): Extern them.
10512 (font_get_name): Adjust prototype.
10513
10514 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10515 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10516 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10517 unnecessary checks for weight, slant, and swidth.
10518 (font_parse_fcname): New function.
10519 (font_unparse_fcname): New function.
10520 (font_parse_name): New function.
10521 (font_match_p): New function.
10522 (font_get_name): Change return value to Lisp string.
10523 (font_get_spec): New function.
10524 (Qunspecified, Qignore_defface): Don't extern them.
10525 (font_find_for_lface): Assume that LFACE is fully specified.
10526 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10527 object, use it for FACE.
10528 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10529 driver->parse_name.
10530 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10531
10532 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10533 prototype.
10534
10535 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10536 argument F. Don't call Fnew_fontset. Instead, directly call
10537 make_fontset.
10538
10539 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10540
10541 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10542 of x_new_fontset2.
10543
10544 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10545 (Qsans__serif): New variables.
10546 (ftfont_generic_family_list): New variable.
10547 (syms_of_ftfont): Initialize the above variables.
10548 (ftfont_pattern_entity): Delete argument NAME.
10549 (ftfont_list_generic_family): New function.
10550 (ftfont_parse_name): Delete this function.
10551 (ftfont_list): Try generic family only when FcFontList found no font.
10552 (ftfont_list_family): Fix args to FcObjectSetBuild.
10553
10554 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10555 object in attrs[LFACE_FONT_INDEX].
10556 (set_lface_from_font_name): Cancel all changes for font-backend.
10557 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10558 function.
10559 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10560 font object in QCfont attribute.
10561 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10562 (realize_default_face) [USE_FONT_BACKEND]: Call
10563 set_lface_from_font_and_fontset.
10564
10565 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10566 "fixed", and signal error here if no suitable font was found.
10567
10568 * xfont.c (xfont_parse_name): Delete this function.
10569
10570 * xftfont.c (xftfont_open): Change coding style of error
10571 handling. Generate fontconfig's fontname pattern.
10572
10573 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10574 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10575
10576 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10577 Both args FONTSET and FONT_OBJECT must be existing ones.
10578
105792008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10580
10581 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10582
105832008-02-01 Kenichi Handa <handa@m17n.org>
10584
10585 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10586
10587 * font.h (struct font): Fix typo.
10588
10589 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10590 XLFD_XXX_INDEX.
10591 (enum xlfd_field_mask): New enum.
10592 (intern_font_field): Changed argument. Change caller. If digits
10593 are followed by non-digits, return a symbol.
10594 (font_expand_wildcards): New function.
10595 (font_parse_xlfd): Fix wildcard handling.
10596 (Ffont_spec): If :name is specified, reflect the info in the other
10597 properties.
10598
10599 * ftfont.c (ftfont_pattern_entity): Fix typo.
10600 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10601 locale.
10602
106032008-02-01 Kenichi Handa <handa@m17n.org>
10604
10605 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10606
10607 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10608 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10609 registry doesn't specify encoding part.
10610 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10611 (font_open_by_name): At first try parsing the name.
10612 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10613 as Lisp symbols.
10614
10615 * fontset.c (reorder_font_vector): Pay attention to the case that
10616 the 3rd element of font_def is nil.
10617 (fontset_font): For the default fontset, append one more fontset
10618 elements for a script-based font specification. Don't add script
10619 attribute on finding a font.
10620 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10621 font name.
10622 (fontset_ascii_font): If a font can't be opened, return nil.
10623
10624 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10625 (ftfont_pattern_entity): New function.
10626 (ftfont_get_cache): Assume that freetype_font_cache is already
10627 initialized.
10628 (ftfont_list): Handle the case that a file is specified in font
10629 name. Use ftfont_pattern_entity to generate entities.
10630 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10631 (syms_of_ftfont): Initialize freetype_font_cache.
10632
10633 * xftfont.c (xftfont_open): Make the font name fontconfig's
10634 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10635 (xftfont_close): Free font->font.name if not NULL.
10636
10637 * xfont.c (xfont_list): If script is specified for a font, return
10638 null_vector.
10639 (xfont_list_family): Declare argument type.
10640
10641 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10642 name, set LFACE_FONT (lface) to nil.
10643
10644 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10645 return Qnil.
10646
106472008-02-01 Kenichi Handa <handa@m17n.org>
10648
10649 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10650 (standard_args): Add "-enable-font-backend".
10651
106522008-02-01 Kenichi Handa <handa@m17n.org>
10653
10654 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10655 (struct xftdraw_list, xftdraw_list): Delete them.
10656 (register_xftdraw, check_xftdraw): Delete them.
10657 (xftfont_prepare_face): Don't call register_xftdraw.
10658 (xftfont_done_face): Don't call check_xftdraw.
10659 (xftfont_draw): Get background color only when with_background is
10660 nonzero.
10661
10662 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10663
106642008-02-01 Kenichi Handa <handa@m17n.org>
10665
10666 These changes are for the new font handling codes.
10667
10668 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10669 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10670 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10671 (FONTSRC, FONTOBJ): New variables.
10672 (obj): Add $(FONTOBJ).
10673 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10674 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10675 @LIBOTF_LIBS@.
10676 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10677 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10678
10679 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10680
10681 * character.h (Vscript_representative_chars): Extern it.
10682
10683 * character.c (Vscript_representative_chars): New variable.
10684 (syms_of_character): Declare it as a Lisp variable.
10685
10686 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10687 enable_font_backend is nonzero, accept the composition method
10688 COMPOSITION_WITH_GLYPH_STRING.
10689
10690 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10691 enumeration COMPOSITION_WITH_GLYPH_STRING.
10692
10693 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10694 members clip_x, clip_y, clip_width, and clip_height.
10695 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10696
10697 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10698 --enable-font-backend. Call syms_of_font.
10699
10700 * fns.c (assoc_no_quit): New function.
10701
10702 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10703 (face_for_font, new_fontset_from_font)
10704 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10705
10706 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10707 (fontset_font, fontset_ascii, face_for_char)
10708 (make_fontset_for_ascii_face, Ffont_info)
10709 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10710 is nonzero, use font-backend mechanism.
10711 (find_font_encoding): Make it non-static.
10712 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10713 New functions.
10714
10715 * frame.h (struct frame): New members resx and resy.
10716 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10717 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10718
10719 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10720 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10721
10722 * lisp.h (assoc_no_quit): Extern it.
10723
10724 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10725 Through out the file, use FONT_INFO_FROM_FACE instead of
10726 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10727 rif->per_char_metric.
10728 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10729 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10730 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10731 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10732 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10733 nonzero, use font-backend mechanism.
10734 (get_per_char_metric): New function.
10735
10736 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10737 (set_lface_from_font_name)
10738 (set_font_frame_param, free_realized_face)
10739 (prepare_face_for_display, clear_face_gcs)
10740 (Finternal_set_font_selection_order, realize_x_face)
10741 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10742 font-backend mechanism.
10743 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10744 (load_face_font) [USE_FONT_BACKEND]: Abort.
10745 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10746 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10747
10748 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10749 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10750 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10751 nonzero, register all available font drivers. Call
10752 x_default_font_parameter for deciding a font.
10753 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10754
10755 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10756 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10757 (x_set_glyph_string_clipping_exactly)
10758 (x_compute_glyph_string_overhangs)
10759 (x_draw_glyph_string_foreground)
10760 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10761 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10762 enable_font_backend is nonzero, use font-backend mechanism.
10763 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10764
107652008-02-01 Kenichi Handa <handa@m17n.org>
10766
10767 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10768 system_eol_type.
10769 (syms_of_coding): Initialize system_eol_type.
10770
10771 * process.c (Fset_process_coding_system): Inherit system's eol
10772 format if necessary.
10773
107742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10775
10776 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10777
107782008-02-01 Kenichi Handa <handa@m17n.org>
10779
10780 * coding.c (decode_eol): Pay attention to buffer relocation in
10781 del_range_2.
10782 (decode_coding): Call decode_eol before restoring undo_list.
10783
107842008-02-01 Kenichi Handa <handa@m17n.org>
10785
10786 * charset.c (Fdefine_charset_internal): Fix setting of
10787 emacs_mule_bytes.
10788
107892008-02-01 Kenichi Handa <handa@m17n.org>
10790
10791 * keyboard.c (read_char): Check if C is a character or not before
10792 looking up Vkeyboard_translate_table.
10793
107942008-02-01 Kenichi Handa <handa@m17n.org>
10795
10796 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10797 condition to terminate the loop.
10798
107992008-02-01 Kenichi Handa <handa@m17n.org>
10800
10801 * coding.c (produce_composition): Compare charbuf[i] instead of
10802 args[i] against 0.
10803 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10808 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10809 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10810 detect_coding.
10811 (emacs_mule_char): Handle old style (Emacs 20) component character
10812 of a composition.
10813 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10814 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10815 composition rule.
10816 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10817
108182008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * coding.c (encode_coding_ccl): Allocate destination dynamically
10821 when necessary.
10822
108232008-02-01 Kenichi Handa <handa@m17n.org>
10824
10825 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10826 the loop. When quitted, show a proper error message.
10827
108282008-02-01 Kenichi Handa <handa@m17n.org>
10829
10830 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10831 src->clip_head and src->clip_tail temporarily instead of src->hl.
10832
10833 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10834 character sequence.
10835 (Fccl_execute_on_string): Use ASET, not XSET.
10836
108372008-02-01 Kenichi Handa <handa@m17n.org>
10838
10839 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10840
108412008-02-01 Kenichi Handa <handa@m17n.org>
10842
10843 * coding.c (decode_coding): Fix the condition of terminating the
10844 decoding loop.
10845
108462008-02-01 Kenichi Handa <handa@m17n.org>
10847
10848 * data.c (Faset): On setting a character bigger than 255 in a
10849 unibyte string, signal an error instead of make the string multibyte.
10850
108512008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10854 made by a mapping table.
10855
108562008-02-01 Kenichi Handa <handa@m17n.org>
10857
10858 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10859 not.
10860 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10861 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10862
10863 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10864 s->face is NULL or not.
10865
108662008-02-01 Kenichi Handa <handa@m17n.org>
10867
10868 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10869 (x_draw_glyph_string): Fix drawing of right_overhang and
10870 left_overhang around/on cursor.
10871
10872 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10873
108742008-02-01 Kenichi Handa <handa@m17n.org>
10875
10876 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10877
108782008-02-01 Kenichi Handa <handa@m17n.org>
10879
10880 * coding.c (Fdefine_coding_system_internal)
10881 (Fdefine_coding_system_alias): Avoid a duplicated element in
10882 Vcoding_system_alist.
10883
108842008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10887
10888 * coding.c (Qcoding_system_define_form): New variable.
10889 (syms_of_coding): Intern and staticpro it.
10890 (Fcoding_system_p): Check Qcoding_system_define_form.
10891 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10892
10893 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10894 Fcoding_system_p.
10895 (CHECK_CODING_SYSTEM): If ID is not available, call
10896 Fcheck_coding_system.
10897 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10898 Try also Fcheck_coding_system.
10899
109002008-02-01 Kenichi Handa <handa@m17n.org>
10901
10902 * coding.c (code_conversion_restore): GCPRO arg.
10903
109042008-02-01 Kenichi Handa <handa@m17n.org>
10905
10906 * character.c (lisp_string_width): Check multibyteness of STRING.
10907
109082008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10909
10910 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10911 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10912 (decode_mac_font_name): Use decode_coding_c_string instead of
10913 decode_coding.
10914 (x_load_font): Initialize fontp->fontset to -1. Set
10915 fontp->encoding_type.
10916
109172008-02-01 Kenichi Handa <handa@m17n.org>
10918
10919 * search.c (search_buffer): Give up BM search on case-fold-search
10920 if one of a target character has a case-equivalence of different
10921 byte length even if that target charcter is an ASCII.
10922 (simple_search): Fix calculation of byte length of matched text.
10923 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10924
109252008-02-01 Kenichi Handa <handa@m17n.org>
10926
10927 * coding.c (decode_coding): Fix handling of invalid bytes.
10928
109292008-02-01 Kenichi Handa <handa@m17n.org>
10930
10931 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10932 Unicode characters.
10933
109342008-02-01 Kenichi Handa <handa@m17n.org>
10935
10936 * coding.c (encode_coding_object): If a pre-write-conversion
10937 function makes a new buffer, kill it.
10938
109392008-02-01 Kenichi Handa <handa@m17n.org>
10940
10941 * coding.c (QCascii_compatible_p): New variable.
10942 (syms_of_coding): Initialize it.
10943 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10944 calling string_char.
10945 (record_conversion_result): Add `default:' case.
10946 (coding_charset_list): Delete unused variable `coding_type'.
10947 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10948 property in the plist of the coding system.
10949 (Fcoding_system_put): Check QCascii_compatible_p.
10950
109512008-02-01 Miles Bader <miles@gnu.org>
10952
10953 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10954 removed calculation of frame `f', as it's now used.
10955
109562008-02-01 Kenichi Handa <handa@m17n.org>
10957
10958 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10959 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10960 (UNIDATA): New variable.
10961 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10962 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10963 $(RUN_TEMACS) unconditionally.
10964
109652008-02-01 Kenichi Handa <handa@m17n.org>
10966
10967 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10968 (admindir): New variable.
10969 ($(lispsource)international/charprop.el): New target.
10970
109712008-02-01 Miles Bader <miles@gnu.org>
10972
10973 * character.c (chars-in-region): Remove obsolete function.
10974 (syms_of_character): Remove its initialization.
10975
109762008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10977
10978 * w32select.c (validate_coding_system)
10979 (setup_windows_coding_system): New functions.
10980 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10981 setup_windows_coding_system.
10982 (setup_config, Fw32_get_clipboard_data): Use
10983 validate_coding_system.
10984 (Fx_selection_exists): Move call to setup_config to a place
10985 where signals are allowed.
10986
10987 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10988 (Fcheck_coding_system): Add declarations.
10989
109902008-02-01 Kenichi Handa <handa@m17n.org>
10991
10992 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10993
109942008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10995
10996 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10997 string as the second argument for x_new_fontset.
10998
109992008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
11002 (encode_coding_object): Use safe_call instead of call2.
11003
110042008-02-01 Kenichi Handa <handa@m17n.org>
11005
11006 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11007
11008 * Makefile.in (lisp): Include charprop.el.
11009
110102008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11011
11012 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11013 Not sure if it's unnecessary.
11014
110152008-02-01 Steven Tamm <steventamm@mac.com>
11016
11017 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11018 some possibly unnecessary fontset checking code that crashed
11019 when creating a new frame.
11020
110212008-02-01 Kenichi Handa <handa@m17n.org>
11022
11023 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11024 lookup_face.
11025
11026 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11027
11028 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11029
110302008-02-01 Kenichi Handa <handa@m17n.org>
11031
11032 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11033 (coding_charset_list): New function.
11034
11035 * coding.h (coding_charset_list): Extern it.
11036
110372008-02-01 Kenichi Handa <handa@m17n.org>
11038
11039 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11040 concatenation of family and registry.
11041
110422008-02-01 Kenichi Handa <handa@m17n.org>
11043
11044 * character.h (BYTE8_STRING): Fix typo.
11045
11046 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11047 string to multibyte (sync to HEAD).
11048
11049 * casefiddle.c (casify_region): Handle changes in byte-length
11050 using replace_range_2 (sync to HEAD).
11051
110522008-02-01 Andreas Schwab <schwab@suse.de>
11053
11054 * chartab.c (map_char_table): GCPRO table and arg.
11055
110562008-02-01 Kenichi Handa <handa@m17n.org>
11057
11058 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11059 already at limit.
11060
110612008-02-01 Kenichi Handa <handa@m17n.org>
11062
11063 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11064 instead of fast_c_string_match_ignore_case.
11065 (find_font_encoding): Change argument to Lisp_Object. Use
11066 fast_string_match_ignore_case instead of
11067 fast_c_string_match_ignore_case. Change caller.
11068
110692008-02-01 Kenichi Handa <handa@m17n.org>
11070
11071 * xdisp.c (get_next_display_element): In unibyte case, decide to
11072 display in octal form by checking a character by
11073 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11074
11075 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11076
11077 * character.c (unibyte_has_multibyte_table): New variable.
11078
11079 * character.h (unibyte_has_multibyte_table): Extern it.
11080 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11081
110822008-02-01 Kenichi Handa <handa@m17n.org>
11083
11084 * coding.c (encode_coding_iso_2022): Fix handling of charset
11085 annotation.
11086
110872008-02-01 Kenichi Handa <handa@m17n.org>
11088
11089 * coding.c (setup_coding_system): If coding_system is nil, use
11090 Qundecided.
11091 (Fterminal_coding_system): Return nil if terminal coding system is
11092 `undecided'.
11093 (syms_of_coding): Define coding-system `undecided' here. Setup
11094 terminal_coding as `undecided'.
11095
110962008-02-01 Kenichi Handa <handa@m17n.org>
11097
11098 * xdisp.c (message_dolog, set_message_1): Call
11099 unibyte_char_to_multibyte with arg type int.
11100
11101 * lread.c (read1): Fix reading of a char-table.
11102
11103 * print.c (print_object): Include sub char-table in circularities
11104 detection.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11109 Append the found sequences in car of ARGS instead of prepending.
11110
111112008-02-01 Kenichi Handa <handa@m17n.org>
11112
11113 * fileio.c (report_file_error): Make a unibyte string from
11114 strerror (errorno).
11115 (Fsubstitute_in_file_name): Fix the arg to
11116 unibyte_char_to_multibyte. It is evaluated twice.
11117
111182008-02-01 Kenichi Handa <handa@m17n.org>
11119
11120 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11121
111222008-02-01 Kenichi Handa <handa@m17n.org>
11123
11124 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11125 BOM is not found.
11126 (detect_coding, detect_coding_system): Optimization for ISO-2022
11127 when no 8-bit data is found.
11128
111292008-02-01 Jason Rumney <jasonr@gnu.org>
11130
11131 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11132
111332008-02-01 Kenichi Handa <handa@m17n.org>
11134
11135 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11136 CHARS.
11137
111382008-02-01 Steven Tamm <steventamm@mac.com>
11139
11140 * macterm.c (mac_encode_char): Add charset argument and update
11141 to use encoding_type.
11142 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11143 switch to pure fontset.
11144 (decode_mac_font_name): Temporarily remove decoding.
11145 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11146 (x_load_font): Temporarily remove encoding.
11147
111482008-02-01 Kenichi Handa <handa@m17n.org>
11149
11150 * xfaces.c (Fface_font): If frame is not on a window system,
11151 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11152 refer to face->font.
11153 (split_font_name_into_vector, build_font_name_from_vector)
11154 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11155 when HAVE_WINDOW_SYSTEM is defined.
11156
111572008-02-01 Kenichi Handa <handa@m17n.org>
11158
11159 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11160 (x_produce_glyphs): Fix setting of members of cmp in case
11161 cmp->glyph_len is zero.
11162
11163 * fontset.c (Fset_fontset_font): Fix docstring.
11164 (Ffontset_info): Make it backward compatible. New arg ALL.
11165
111662008-02-01 Kim F. Storm <storm@cua.dk>
11167
11168 * process.c (read_process_output): Grow decoding_buf when needed;
11169 this could cause a crash in allocate_string and compact_small_strings.
11170
111712008-02-01 Kenichi Handa <handa@m17n.org>
11172
11173 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11174
111752008-02-01 Kenichi Handa <handa@m17n.org>
11176
11177 * coding.c (setup_coding_system): Set coding->common_flags
11178 correctly for raw-text.
11179 (consume_chars): On encoding unibyte text by raw-text, don't check
11180 multibyte form.
11181 (encode_coding): On encoding by raw-text, never use translation tables.
11182
11183 * fileio.c (e_write): Short cut for the case of no encoding.
11184
111852008-02-01 Kenichi Handa <handa@m17n.org>
11186
11187 * coding.c (detect_coding, detect_coding_system): Delete unused
11188 variables.
11189
111902008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11193 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11194
111952008-02-01 Kenichi Handa <handa@m17n.org>
11196
11197 * coding.c (Ffind_coding_systems_region_internal): Include
11198 raw-text and no-conversion in the result.
11199
112002008-02-01 Kenichi Handa <handa@m17n.org>
11201
11202 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11203 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11204 FONT_DEF.
11205 (font_def_arg, add_arg, from_arg, to_arg): New args.
11206 (set_fontset_font): Change argument.
11207 (Fset_fontset_font): Fix for the case that TARGET is a script
11208 name and charset name.
11209 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11210
112112008-02-01 Kenichi Handa <handa@m17n.org>
11212
11213 * fontset.c (fontset_font): Rename from fontset_face. Change return
11214 value.
11215 (face_suitable_for_char_p, face_for_char): Adjust for the change
11216 of fontset_font.
11217 (make_fontset_for_ascii_face): Fix setting of the fontset element
11218 for ASCII.
11219 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11220 to get a font name.
11221 (Ffontset_info): Adjust for the change of fontset_font.
11222
11223 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11224
11225 * character.h (LEADING_CODE_LATIN_1_MIN)
11226 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11227
112282008-02-01 Kenichi Handa <handa@m17n.org>
11229
11230 * editfns.c (check_translation): New function.
11231 (Ftranslate_region_internal): Handle M:N mapping.
11232
112332008-02-01 Kenichi Handa <handa@m17n.org>
11234
11235 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11236
112372008-02-01 Kenichi Handa <handa@m17n.org>
11238
11239 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11240 goto invalid_code.
11241 (decode_coding_iso_2022): Fix handling of invalid designation.
11242
11243 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11244 after calling code_conversion_save.
11245
112462008-02-01 Kenichi Handa <handa@m17n.org>
11247
11248 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11249
11250 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11251
11252 * fontset.c: Include "intervals.h".
11253 (fontset_face): Fix comparing of Lisp_Objects.
11254 (free_face_fontset, new_fontset_from_font_name): Fix
11255 Lisp_Object/int mixup.
11256
11257 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11258
11259 * coding.c: Add many prototypes for static functions.
11260 (get_translation_table): Allow max_lookup to be NULL.
11261 (decode_coding, Ffind_coding_systems_region_internal)
11262 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11263 get_translation_table with max_lookup NULL.
11264
112652008-02-01 Kenichi Handa <handa@m17n.org>
11266
11267 * coding.c (get_translation_table): Declare it as Lisp_Object.
11268 (LOOKUP_TRANSLATION_TABLE): New macro.
11269 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11270 instead of CHAR_TABLE_REF.
11271
112722008-02-01 Kenichi Handa <handa@m17n.org>
11273
11274 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11275 annotation data format.
11276 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11277 Change arguments FROM and TO to single argument NCHARS. Change caller.
11278 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11279 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11280 (decode_coding_ccl, decode_coding_charset): Pay attention to
11281 coding->charbuf_used.
11282 (get_translation): New function.
11283 (produce_chars): New arguments translation_table and last_block.
11284 Translate characters here. Return number of carryover chars.
11285 Change caller.
11286 (produce_composition): New argument pos. Change caller.
11287 Adjust for the change of annotation data format.
11288 (produce_charset, produce_annotation): Likewise.
11289 (decode_coding, encode_coding): Don't call translate_chars.
11290 (consume_chars): New arg translation_table. Change caller.
11291 (translate_chars): Delete.
11292 (syms_of_coding): Make translation-table's number of extra slots 2.
11293
112942008-02-01 Kenichi Handa <handa@m17n.org>
11295
11296 * search.c (simple_search): Fix setting this_pos_byte in backward
11297 search.
11298
11299 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11300 byte sequence.
11301 (detect_coding_ccl): Fix setting of the variable valids.
11302
113032008-02-01 Kenichi Handa <handa@m17n.org>
11304
11305 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11306
11307 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11308
11309 * editfns.c (Ftranslate_region_internal): Rename from
11310 Ftranslate_region. Accept a char-table in TABLE.
11311 (syms_of_editfns): Defsubr Stranslate_region_internal.
11312
11313 * xfaces.c (set_lface_from_font_name): If a font is specified for
11314 a frame, generate a fontset from the font.
11315 (build_scalable_font_name): If the scalable font is requested for
11316 a specific size, don't change that size.
11317 (try_font_list): Try a scalable font also in the case that a
11318 pattern string is specified.
11319
113202008-02-01 Kenichi Handa <handa@m17n.org>
11321
11322 * xfaces.c (Fface_font): New optional arg CHARACTER.
11323
113242008-02-01 Kenichi Handa <handa@m17n.org>
11325
11326 * charset.h (CHARSET_OFFSET): New macro.
11327
113282008-02-01 Kenichi Handa <handa@m17n.org>
11329
11330 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11331
11332 * fontset.c (fontset_face): Handle the case that repertory is a
11333 char-table.
11334 (find_font_encoding): Return nil for unknown encoding.
11335 (Fset_fontset_font): Ignore a font of unknown encoding.
11336
113372008-02-01 Kenichi Handa <handa@m17n.org>
11338
11339 * keymap.c (describe_vector): Handle default value of a char table.
11340
11341 * fontset.c (fontset_face): Handle fallback fonts correctly.
11342 (Ffontset_info): Return infomation about fallback fonts.
11343
113442008-02-01 Kenichi Handa <handa@m17n.org>
11345
11346 * fontset.c (FONTSET_DEFAULT): New macro.
11347 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11348 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11349 the case that it is nil.
11350 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11351 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11352
11353 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11354 subset or superset.
11355
113562008-02-01 Kenichi Handa <handa@m17n.org>
11357
11358 * emacs.c (main): Call init_charset after syms_of_XXX.
11359
11360 * charset.c (Vcharset_map_directory): Delete.
11361 (Vcharset_map_path): New variable.
11362 (load_charset_map_from_file): Use Vcharset_map_path instead.
11363 (init_charset): Initialize Vcharset_map_path.
11364 (syms_of_charset): Delete declaration of "charset-map-directory",
11365 add declaration of "charset-map-path".
11366
113672008-02-01 Kenichi Handa <handa@m17n.org>
11368
11369 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11370 ASCII only string.
11371
11372 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11373
11374 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11375 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11376
113772008-02-01 Kenichi Handa <handa@m17n.org>
11378
11379 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11380
11381 * coding.c (QCmnemonic, QCdefalut_char)
11382 (QCdecode_translation_table, QCencode_translation_table)
11383 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11384 (get_translation_table): Return a list of translation tables if
11385 necessary.
11386 (decode_coding): Call get_translation_table with ENCODEP 0.
11387 (char_encodable_p): If translation_table is non-nil, always call
11388 translate_char.
11389 (Fdefine_coding_system_internal): Accept list of translation
11390 tables as :encode-translation-table and :decode-translation-table.
11391 (Fcoding_system_put): New function.
11392 (syms_of_coding): Declare new symbols. Defsubr
11393 Scoding_system_put.
11394 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11395 typically JISX0212.
11396
11397 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11398 when the charset is superset type.
11399
11400 * character.c (translate_char): Accept list of translation tables.
11401
114022008-02-01 Kenichi Handa <handa@m17n.org>
11403
11404 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11405 (CODING_ATTR_TRANS_TBL): New macro.
11406
11407 * coding.c (get_translation_table): New function.
11408 (translate_chars): Fix the bug of skipping annotation data.
11409 (decode_coding, encode_coding): Utilize get_translation_table.
11410 (char_encodable_p, Funencodable_char_position): Translate char if
11411 necessary.
11412 (Ffind_coding_systems_region_internal)
11413 (Fcheck_coding_systems_region): Setup translation table for encode
11414 in a coding system attribute vector in advance.
11415 (Fdefine_coding_system_internal): Allow a symbol as translation
11416 table. For shift-jis type coding system, allow 4th charset.
11417
114182008-02-01 Kenichi Handa <handa@m17n.org>
11419
11420 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11421
11422 * xdisp.c (get_next_display_element): Pass -1 as POS to
11423 FACE_FOR_CHAR if displaying a C-string.
11424
114252008-02-01 Kenichi Handa <handa@m17n.org>
11426
11427 * composite.c (get_composition_id): Handle xoff and yoff in a
11428 composition rule.
11429
11430 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11431 (struct composition): New member lbearing and rbearing.
11432
11433 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11434 (x_get_glyph_overhangs): Handle a composition glyph.
11435 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11436
11437 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11438 composition glyph.
11439
114402008-02-01 Kenichi Handa <handa@m17n.org>
11441
11442 * print.c: Include charset.h.
11443 (Vprint_charset_text_property): New variable.
11444 (Qdefault): Extern it.
11445 (PRINT_STRING_NON_CHARSET_FOUND)
11446 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11447 (print_check_string_result): New variable.
11448 (print_check_string_charset_prop): New function.
11449 (print_prune_charset_plist): New variable.
11450 (print_prune_string_charset): New function.
11451 (print_object): Call print_prune_string_charset if
11452 Vprint_charset_text_property is not t.
11453 (print_interval): Print nothing if interval->plist is nil.
11454 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11455 variable. Init and staticpro print_prune_charset_plist.
11456
114572008-02-01 Kenichi Handa <handa@m17n.org>
11458
11459 * fontset.c (new_fontset_from_font_name): Use the specified font
11460 for all characters in the new fontset.
11461
11462 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11463 OBJECT args.
11464
11465 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11466 OBJECT args for composition too.
11467
11468 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11469 OBJECT args.
11470
114712008-02-01 Kenichi Handa <handa@m17n.org>
11472
11473 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11474
11475 * fontset.c (reorder_font_vector): Adjust for the change of
11476 FONT_DEF format.
11477 (fontset_face): New arg id. Change caller.
11478 (face_for_char): New args pos and object.
11479 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11480 (fs_query_fontset): Check NAME by Fassoc too.
11481 (Fset_fontset_font): Allow non-XLFD font name.
11482 (Ffontset_info): Adjust for the change of FONT_DEF format.
11483
11484 * fontset.h (face_for_char): Adjust prototype.
11485
11486 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11487 (append_space, extend_face_to_end_of_line)
11488 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11489 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11490
11491 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11492 POS and OBJECT args.
11493
11494 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11495 POS and OBJECT args.
11496
114972008-02-01 Jason Rumney <jasonr@gnu.org>
11498
11499 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11500 of GlobalAlloc'ed memory.
11501
115022008-02-01 Kenichi Handa <handa@m17n.org>
11503
11504 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11505
11506 * charset.h (charset_table_used): Delete extern.
11507
11508 * charset.c (charset_table_used): Make it static.
11509 (map_charset_chars): Fix args to c_function with.
11510
11511 * chartab.c (map_sub_char_table_for_charset): Fix args to
11512 c_function with.
11513
11514 * coding.h (enum coding_result_code): Delete
11515 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11516
11517 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11518 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11519 (Vlast_code_conversion_error): New variables.
11520 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11521 (ONE_MORE_BYTE): Record error if any instead of signaling an
11522 error. If non-ASCII multibyte char is found, return the negative
11523 value of the code. All callers changed to check it.
11524 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11525 (record_conversion_result): New function. Change all codes setting
11526 coding->result to call this function.
11527 (detect_coding_utf_8, decode_coding_utf_8)
11528 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11529 Don't use the local variable incomplete.
11530 (emacs_mule_char): Change the second arg to `const'.
11531 (decode_coding): Fix of flushing out unprocessed data.
11532 (make_conversion_work_buffer): Fix making of a work buffer.
11533 (decode_coding_object): Return coding->dst_object.
11534
11535 * fontset.c (set_fontset_font): Fix args.
11536
11537 * lisp.h (CHARACTERBITS): Define as 22.
11538
11539 * process.c (send_process): Be sure to set coding->src_multibyte.
11540
11541 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11542
115432008-02-01 Kenichi Handa <handa@m17n.org>
11544
11545 * xdisp.c (handle_auto_composed_prop): Give limit to
11546 Fnext_single_char_property_change.
11547
115482008-02-01 Kenichi Handa <handa@m17n.org>
11549
11550 * composite.c (syms_of_composite): Don't make the composition hash
11551 table weak.
11552
11553 * fontset.c (Fset_fontset_font): Fix docstring.
11554
11555 * lisp.h (detect_coding_system): Adjust prototype.
11556
11557 * fileio.c (kill_workbuf_unwind): Delete this function.
11558 (Finsert_file_contents): Adjust the call of detect_coding_system.
11559 Get conversion_buffer by code_conversion_save. Use the macro
11560 CODING_MAY_REQUIRE_DECODING. After decoding, update
11561 coding_system.
11562
11563 * coding.h (make_conversion_work_buffer): Delete extern.
11564 (code_conversion_save): Extern it.
11565
11566 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11567 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11568 (decode_coding_utf_8): Don't do eol converion.
11569 (detect_coding_utf_16): Check coding->src_chars, not
11570 coding->src_bytes. Add heuristics for those that have no signature.
11571 (decode_coding_emacs_mule, decode_coding_iso_2022)
11572 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11573 Don't do eol converion.
11574 (adjust_coding_eol_type): Return a new coding system.
11575 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11576 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11577 each change.
11578 (decode_coding): Pay attention to undo_list. Do eol conversion for
11579 all types of coding-systems (if necessary).
11580 (Vcode_conversion_work_buf_list): Delete it.
11581 (Vcode_conversion_reused_workbuf): Rename from
11582 Vcode_conversion_reused_work_buf.
11583 (Vcode_conversion_workbuf_name): New variable.
11584 (reused_workbuf_in_use): New variable.
11585 (make_conversion_work_buffer): Delete the arg DEPTH.
11586 (code_conversion_restore): Change argument to cons.
11587 (code_conversion_save): Delete the argument BUFFER. Change callers.
11588 (detect_coding_system): New argument src_chars. Change callers.
11589 Fix for utf-16 detection.
11590 (init_coding_once): Don't use ISO_carriage_return.
11591 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11592 reused_workbuf_in_use.
11593
115942008-02-01 Kenichi Handa <handa@m17n.org>
11595
11596 * keymap.c (store_in_keymap): Pay attention to the case that idx
11597 is a cons specifying a character range.
11598
115992008-02-01 Kenichi Handa <handa@m17n.org>
11600
11601 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11602 HANDLED_RECOMPUTE_PROPS.
11603
11604 * coding.c (Fdefine_coding_system_internal): Fix checking of
11605 ascii compatibility.
11606
116072008-02-01 Kenichi Handa <handa@m17n.org>
11608
11609 * charset.c (find_charsets_in_text): Delete unused locale variable.
11610 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11611
11612 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11613 Resync charset_list to Vemacs_mule_charset_list.
11614
11615 * keymap.c (store_in_keymap): Pay attention to the case that idx
11616 is a cons specifying a character range.
11617
116182008-02-01 Kenichi Handa <handa@m17n.org>
11619
11620 * composite.c (update_compositions): Bind inhibit-read-only, etc
11621 to t before calling remove-list-of-text-properties.
11622
11623 * print.c (print_object): Always print ASCII chars as is.
11624
116252008-02-01 Kenichi Handa <handa@m17n.org>
11626
11627 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11628
11629 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11630 is a char table.
11631
116322008-02-01 Kenichi Handa <handa@m17n.org>
11633
11634 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11635
116362008-02-01 Kenichi Handa <handa@m17n.org>
11637
11638 * xfaces.c (set_lface_from_font_name): Fix for the case that
11639 FONTNAME is not fontset name.
11640
116412008-02-01 Kenichi Handa <handa@m17n.org>
11642
11643 * fns.c (base64_encode_1): Fix previous change.
11644
116452008-02-01 Kenichi Handa <handa@m17n.org>
11646
11647 * fontset.c (set_fontset_font): New function.
11648 (Fset_fontset_font): If a font is specified for a charset, use
11649 map_charset_chars to store the font spec in a fontset.
11650
116512008-02-01 Kenichi Handa <handa@m17n.org>
11652
11653 * fontset.c (fontset_face): Create a fallback fontset on demand.
11654 (make_fontset): Don't create a fallback fontset here.
11655 (free_face_fontset): Free a fallback fontset (if any) too.
11656 (n_auto_fontsets): Delete this variable.
11657 (auto_fontset_alist): New variable.
11658 (new_fontset_from_font_name): Check auto_fontset_alist.
11659 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11660 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11661 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11662 Defsubr Sfontset_list_all.
11663
116642008-02-01 Kenichi Handa <handa@m17n.org>
11665
11666 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11667
116682008-02-01 Kenichi Handa <handa@m17n.org>
11669
11670 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11671
116722008-02-01 Kenichi Handa <handa@m17n.org>
11673
11674 * editfns.c (Fgoto_char): Fix docstring.
11675
116762008-02-01 Kenichi Handa <handa@m17n.org>
11677
11678 * insdel.c (insert_from_gap): Adjust intervals correctly.
11679
116802008-02-01 Jason Rumney <jasonr@gnu.org>
11681
11682 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11683 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11684 (w32_initialize): Try to load it.
11685 (x_get_font_repertory): Use it if available.
11686 (w32_encode_char): Add shortcut for unicode output.
11687
11688 * w32fns.c (w32_load_system_font): Default charset to -1.
11689 (x_to_w32_charset): Match all fonts for unicode.
11690 (w32_to_x_charset): New parameter matching. Don't return partial
11691 or wildcard charsets.
11692 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11693 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11694 (w32_to_x_font): Match charset to real charset.
11695 (enum_font_cb2): Always list unicode versions.
11696
11697 * makefile.w32-in (temacs): Increase EMHEAP.
11698
116992008-02-01 Jason Rumney <jasonr@gnu.org>
11700
11701 * w32term.c (w32_encode_char): New charset parameter.
11702 font_info.encoding becomes encoding_type.
11703 (x_get_font_repertory): New function. Warning: stub only!
11704 (x_new_font): Return quickly if font already set.
11705 (x_new_fontset): fontsetname parameter is Lisp_Object.
11706 Use new fs_query_fontset. Try new_fontset_from_font_name.
11707 Use fontset_name for return value.
11708
11709 * w32term.h: Declare x_get_font_repertory.
11710
11711 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11712 place of find_charset_in_text. Use encode_coding_object in place
11713 of encode_coding.
11714 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11715 decode_coding.
11716
11717 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11718 of x_new_fontset.
11719 (w32_load_system_font): Initialize charset as unicode.
11720 font_info.encoding becomes encoding_type.
11721 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11722 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11723 (syms_of_w32fns): Set get_font_repertory_func.
11724
11725 * w32console.c: Include character.h. Use terminal_encode_buffer
11726 from term.c.
11727 (write_glyphs): Use new version of encode_terminal_code. Use
11728 encode_coding_object in place of encode_coding.
11729
11730 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11731 encoding becomes encoding_type.
11732
11733 * term.c (terminal_encode_buffer): Make externally visible.
11734
11735 * makefile.w32-in: Add character.h dependancies.
11736 (character.o, chartab.o): New targets.
11737
117382008-02-01 Kenichi Handa <handa@m17n.org>
11739
11740 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11741 CODING_ID_EOL_TYPE.
11742
117432008-02-01 Andreas Schwab <schwab@suse.de>
11744
11745 * coding.c (produce_chars): Revert last change.
11746
117472008-02-01 Kenichi Handa <handa@m17n.org>
11748
11749 * charset.h (charset_unicode): Extern it.
11750
11751 * charset.c (string_xstring_p): Check by (C >= 0x100).
11752 (find_charsets_in_text): Change format of the arc CHARSETS. New
11753 arg MULTIBYTE.
11754 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11755 change of find_charsets_in_text.
11756 (Fsplit_char): Fix doc. Never return unknown.
11757
11758 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11759
11760 * coding.c (Fdefine_coding_system_alias): Update
11761 Vcoding_system_list.
11762
11763 * fontset.c (load_font_get_repertory): Pay attention to the case
11764 that ENCODING of a font is specified by a char-table.
11765
11766 * xterm.c (x_get_font_repertory): Handle the case that the
11767 encoding of font is other than Unicode.
11768
117692008-02-01 Kenichi Handa <handa@m17n.org>
11770
11771 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11772 if a character is encodable by the terminal coding system. If
11773 not, produces proper number of `?'s. Update
11774 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11775 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11776
117772008-02-01 Kenichi Handa <handa@m17n.org>
11778
11779 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11780 variables.
11781 (encode_terminal_code): Change argument. Encode multiple
11782 characters at once. Store the result of encoding in
11783 terminal_encode_buffer.
11784 (write_glyphs, insert_glyphs): Adjust for the change of
11785 encode_terminal_code.
11786 (term_init): Initialize terminal_encode_buffer and
11787 terminal_encode_buf_size.
11788
11789 * coding.c (consume_chars): If coding->src_object is nil, don't
11790 check annotation.
11791
117922008-02-01 Kenichi Handa <handa@m17n.org>
11793
11794 * character.c (char_string): Use ASCII_CHAR_P instead of
11795 SINGLE_BYTE_CHAR_P.
11796
117972008-02-01 Kenichi Handa <handa@m17n.org>
11798
11799 * xdisp.c (handle_auto_composed_prop): Check if the last
11800 characters of auto-composed region is newly composed with the
11801 following characters.
11802 (handle_composition_prop): Fix checking of point being inside
11803 composition.
11804
118052008-02-01 Kenichi Handa <handa@m17n.org>
11806
11807 * fns.c (concat): Don't change multibyteness of the result by
11808 concatenating an 8-bit character.
11809
11810 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11811 multibyteness of the result when newelt is an 8-bit character.
11812
118132008-02-01 Dave Love <fx@gnu.org>
11814
11815 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11816 EMACS_INT.
11817
11818 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11819
11820 * xfaces.c (face_numeric_value): Declare dim size_t.
11821 (Finternal_lisp_face_equal_p): Remove unused f.
11822
11823 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11824 (MATRIX_ROW): Remove unused vars.
11825 (draw_glyphs, x_insert_glyphs, fast_find_position)
11826 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11827 byte/char counts.
11828
11829 * regex.c (regex_compile): Remove unused var.
11830
11831 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11832
11833 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11834 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11835
11836 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11837
11838 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11839
11840 * fileio.c (Fwrite_region): Remove unused var.
11841
11842 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11843 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11844
11845 * composite.c (Fremove_list_of_text_properties): Declare.
11846
11847 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11848 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11849 (coding_inherit_eol_type): Remove unused attrs.
11850 (detect_coding): Cast arg of detect_eol.
11851
11852 * charset.c (syms_of_charset): Remove unused var p.
11853 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11854 byte/char counts.
11855
11856 * casetab.c (set_case_table): Remove unused var.
11857
11858 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11859 unused vars.
11860
118612008-02-01 Dave Love <fx@gnu.org>
11862
11863 * xterm.c (x_bitmap_mask): Declare.
11864
118652008-02-01 Dave Love <fx@gnu.org>
11866
11867 * xterm.c (x_term_init): Fix type error.
11868
11869 * lisp.h: Add Funibyte_char_to_multibyte.
11870
11871 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11872 (Fset_coding_system_priority): Doc fix.
11873
11874 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11875
11876 * indent.c (check_composition): Make start and end EMACS_INT.
11877
11878 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11879
11880 * xdisp.c (handle_composition_prop, check_point_in_composition):
11881 Make buffer positions EMACS_INT.
11882
11883 * composite.c (find_composition, run_composition_function)
11884 (update_compositions, Ffind_composition_internal): Make buffer
11885 positions EMACS_INT.
11886
11887 * composite.h (find_composition, update_compositions): Make
11888 position args EMACS_INT.
11889
11890 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11891
11892 * intervals.c (get_property_and_range):
11893 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11894
11895 * unexalpha.c: Don't include varargs.h.
11896
118972008-02-01 Dave Love <fx@gnu.org>
11898
11899 * coding.h (ENCODE_UTF_8): New.
11900
11901 * Makefile.in (gtkutil.o): Depend on coding.h.
11902
11903 * coding.c (Fset_coding_system_priority): Doc fix.
11904
119052008-02-01 Kenichi Handa <handa@m17n.org>
11906
11907 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11908 the case of auto saving.
11909
119102008-02-01 Andreas Schwab <schwab@suse.de>
11911
11912 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11913 `range' from GC.
11914
119152008-02-01 Kenichi Handa <handa@m17n.org>
11916
11917 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11918
119192008-02-01 Kenichi Handa <handa@m17n.org>
11920
11921 * fileio.c (choose_write_coding_system): Return a decided coding system.
11922 (Fwrite_region): Set Vlast_coding_system_used to the return value
11923 of choose_write_coding_system.
11924
119252008-02-01 Kenichi Handa <handa@m17n.org>
11926
11927 * charset.c (Fset_charset_priority): Pay attention to duplicated
11928 arguments.
11929
11930 * coding.c (QCcategory): New variable.
11931 (syms_of_coding): Defsym it. Set all elements of
11932 Vcoding_category_table and their symbol values.
11933 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11934 coding-category-XXX, and coding-category-list.
11935 (Fdefine_coding_system_internal): Add category in the plist.
11936
119372008-02-01 Kenichi Handa <handa@m17n.org>
11938
11939 * callproc.c (Fcall_process): Handle carryover correctly.
11940
11941 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11942 (raw_text_coding_system): Check NILP (coding_system).
11943 (coding_inherit_eol_type): Check NILP (coding_system) and
11944 NILP (parent).
11945 (consume_chars): Fix for the case of raw-text.
11946
11947 * process.c (read_process_output): Handle carryover correctly.
11948
119492008-02-01 Dave Love <fx@gnu.org>
11950
11951 * regex.c (re_search_2): Fix last change.
11952
119532008-02-01 Kenichi Handa <handa@m17n.org>
11954
11955 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11956 target_multibyte. Even in a unibyte case, return a converted
11957 multibyte char.
11958 (GET_CHAR_AFTER): New macro.
11959 (PATFETCH): Translate via multibyte char.
11960 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11961 (SETUP_MULTIBYTE_RANGE): New macro.
11962 (regex_compile): Setup compiled code so that its multibyteness
11963 matches that of a target. Fix the handling of "[X-YZ]" using
11964 SETUP_MULTIBYTE_RANGE.
11965 (analyse_first) <charset>: For filling fastmap for all multibyte
11966 characters, don't check by BASE_LEADING_CODE_P.
11967 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11968 the same as RE_MULTIBYTE_P (bufp) now.
11969 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11970 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11971 (TRANSLATE_VIA_MULTIBYTE): New macro.
11972 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11973 It is the same as RE_MULTIBYTE_P (bufp) now.
11974 <exactn>: Translate via multibyte.
11975 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11976 translate it.
11977 <charset, charset_not>: Fetch a character by
11978 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11979 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11980 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11981 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11982 by GET_CHAR_AFTER.
11983 (bcmp_translate): Likewise.
11984
11985 * search.c (compile_pattern): Check the member target_multibyte,
11986 not the member multibyte of buf.
11987
11988 * lread.c (read1): While reading a string, set force_singlebyte
11989 and force_multibyte correctly.
11990
11991 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11992 up of unibyte_to_multibyte_table.
11993
119942008-02-01 Kenichi Handa <handa@m17n.org>
11995
11996 * coding.c (setup_coding_system): If coding has
11997 post-read-conversion or pre-write-conversion, set
11998 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11999 respectively.
12000 (decode_coding_gap): Run post-read-conversion if any.
12001
12002 * fileio.c (Finsert_file_contents): Even if we read into a
12003 unibyte buffer, check if we must decode the result or not.
12004
120052008-02-01 Kenichi Handa <handa@m17n.org>
12006
12007 * coding.c (make_conversion_work_buffer): Change the work buffer
12008 name to the same one as that of Emacs 21.
12009
120102008-02-01 Kenichi Handa <handa@m17n.org>
12011
12012 * coding.h (make_conversion_work_buffer): Adjust prototype.
12013 (code_conversion_restore): Don't extern it.
12014
12015 * coding.c (detected_mask): Delete unused variable.
12016 (decode_coding_iso_2022): Pay attention to the byte sequence of
12017 CTEXT extended segment, and retain those bytes as is.
12018 (decode_coding_ccl): Delete unused variable `valids'.
12019 (setup_coding_system): Delete unused variable `category'.
12020 (consume_chars): Delete unused variable `category'. Make it work
12021 for non-multibyte case.
12022 (make_conversion_work_buffer): Change argument.
12023 (saved_coding): Delete unused variable.
12024 (code_conversion_restore): Don't check saved_coding->destination.
12025 (code_conversion_save): New function.
12026 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12027 instead of record_unwind_protect.
12028 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12029 (detect_coding_system): Delete unused variable `mask'.
12030 (Fdefine_coding_system_internal): Delete unused variable id.
12031
12032 * fileio.c (kill_workbuf_unwind): New function.
12033 (Finsert_file_contents): On replacing, call
12034 make_conversion_work_buffer with correct args, and call
12035 record_unwind_protect with the first arg kill_workbuf_unwind.
12036
12037 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12038
120392008-02-01 Kenichi Handa <handa@m17n.org>
12040
12041 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12042 (fontset_add): Fix for the case that TO is less than TO1.
12043 (Ffontset_info): Don't use fallback fontset on checking the
12044 default fontset.
12045 (dump_fontset): New function for debugging.
12046
12047 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12048 coding_type is Qcharset.
12049
120502008-02-01 Kenichi Handa <handa@m17n.org>
12051
12052 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12053 (map_char_table): Don't inherit the value from the parent on
12054 initializing VAL. Adjust for the above change.
12055
120562008-02-01 Kenichi Handa <handa@m17n.org>
12057
12058 * coding.c (Qsignature, Qendian): Delete these variables.
12059 (syms_of_coding): Don't initialize them.
12060 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12061 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12062 detect_info->found.
12063 (decode_coding_utf_16): Don't detect BOM here.
12064 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12065 is NOT utf_16_without_bom.
12066 (setup_coding_system): For a coding system of type utf-16, check
12067 if the attribute :endian is Qbig or not (not nil or not), and set
12068 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12069 (detect_coding): If coding type is utf-16 and BOM detection is
12070 required, detect it.
12071 (Fdefine_coding_system_internal): For a coding system of type
12072 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12073
120742008-02-01 Kenichi Handa <handa@m17n.org>
12075
12076 * coding.c (coding_set_source): Fix for the case that the current
12077 buffer is different from coding->src_object.
12078 (decode_coding_object): Don't use the conversion work buffer if
12079 DST_OBJECT is a buffer.
12080
120812008-02-01 Dave Love <fx@gnu.org>
12082
12083 * lread.c (read_emacs_mule_char) [len==2]: Index
12084 emacs_mule_charset correctly.
12085
120862008-02-01 Dave Love <fx@gnu.org>
12087
12088 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12089 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12090 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12091 treated specially.)
12092 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12093 (detected_mask): Remove Big5 bits.
12094
120952008-02-01 Kenichi Handa <handa@m17n.org>
12096
12097 The following changes are to make the font rescaling facility
12098 compatible with Emacs 21.
12099
12100 * xfaces.c (Vface_font_rescale_alist): Rename from
12101 Vface_resizing_fonts.
12102 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12103 (font_rescale_ratio): Rename from font_resizing_ratio.
12104 (split_font_name): Set font->rescale_ratio.
12105 (better_font_p): Pay attention to font->rescale_ratio.
12106 (build_scalable_font_name): Likewise. Change RESX, and RESY
12107 fields.
12108 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12109
121102008-02-01 Kenichi Handa <handa@m17n.org>
12111
12112 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12113 (Qutf_16_le): Remove these variables.
12114 (syms_of_coding): Don't DEFSYM them.
12115 (decode_coding_utf_16): Fix handling of BOM.
12116 (encode_coding_utf_16): Fix handling of BOM.
12117
121182008-02-01 Kenichi Handa <handa@m17n.org>
12119
12120 * fileio.c (Finsert_file_contents): On replacing, before decoding
12121 the file into the work buffer, set point of the work buffer to the end.
12122
121232008-02-01 Dave Love <fx@gnu.org>
12124
12125 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12126
121272008-02-01 Dave Love <fx@gnu.org>
12128
12129 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12130 and fix C types.
12131
121322008-02-01 Kenichi Handa <handa@m17n.org>
12133
12134 * xdisp.c (SKIP_GLYPHS): New macro.
12135 (set_cursor_from_row): Pay attention to string display properties.
12136
12137 * category.c (copy_category_entry): Fix for the case that RANGE
12138 is an integer.
12139
12140 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12141
12142 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12143
121442008-02-01 Kenichi Handa <handa@m17n.org>
12145
12146 * charset.c (Fcharset_id_internal): New function.
12147 (syms_of_charset): Defsubr it.
12148
12149 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12150 with the last arg charset_list acquired from coding.
12151 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12152 the attribute coding_attr_ccl_valids.
12153
12154 * coding.h (enum define_coding_ccl_arg_index): Set the first
12155 member coding_arg_ccl_decoder to coding_arg_max.
12156
12157 * ccl.h (ccl_driver): Adjust prototype.
12158
12159 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12160 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 12161 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
12162 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12163 last arg Qnil.
12164
121652008-02-01 Kenichi Handa <handa@m17n.org>
12166
12167 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12168 call encode_char.
12169
12170 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12171
121722008-02-01 Dave Love <fx@gnu.org>
12173
12174 * composite.c (syms_of_composite): Make composition_hash_table weak.
12175
121762008-02-01 Kenichi Handa <handa@m17n.org>
12177
12178 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12179 (font_name_registry): Don't extern them.
12180 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12181
12182 * fontset.h (Qfontset): Don't extern it.
12183 (new_fontset_from_font_name): Extern it.
12184
12185 * fontset.c: Give 8 extra slots to fontset objects.
12186 (Qfontset_info): New variable.
12187 (syms_of_fontset): Defsym it.
12188 (FONTSET_FALLBACK): New macro.
12189 (fontset_face): Try also the default fontset.
12190 (make_fontset): Realize a fallback fontset from the default fontset.
12191 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12192 using split_font_name_into_vector and build_font_name_from_vector.
12193 (Fset_fontset_font): Access the elements of font_spec by enum
12194 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12195 name by using split_font_name_into_vector.
12196 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12197 generate a proper font name from the fontset name. Update
12198 Vfontset_alias_alist.
12199 (n_auto_fontsets): New variable.
12200 (new_fontset_from_font_name): New function.
12201 (Ffont_info): Store the information about fonts generated from the
12202 default fontset in the first extra slot of the returned char-table.
12203
12204 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12205 (font_name_registry): Delete function.
12206 (split_font_name_into_vector): New function.
12207 (build_font_name_from_vector): New function.
12208 (font_list): The argument REGISTRY is now a list of registry names.
12209 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12210 specifies an explicit font name, return the name as is. Make a
12211 list of registy names.
12212
12213 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12214 of x_new_fontset.
12215 (Fx_create_frame): Don't call x_new_fontset here. Just use
12216 x_list_fonts to check the existence of fonts.
12217
12218 * xterm.h (x_new_fontset): Adjust prototype.
12219
12220 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12221 string. Use new_fontset_from_font_name to create a fontset from a
12222 font name.
12223
122242008-02-01 Kenichi Handa <handa@m17n.org>
12225
12226 * syntax.c (Vfind_word_boundary_function_table): New name for
12227 Vnext_word_boundary_function_table.
12228 (find-word-boundary-function-table): New name for
12229 next-word-boundary-function-table.
12230
122312008-02-01 Dave Love <fx@gnu.org>
12232
12233 * Makefile.in: Fix some dependencies.
12234
12235 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12236 set it to nil before returning.
12237
12238 * composite.c (update_compositions): Fix type error.
12239
12240 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12241
122422008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * xterm.c (x_new_font): Optimize for the case that the font is
12245 already set for the frame.
12246
122472008-02-01 Kenichi Handa <handa@m17n.org>
12248
12249 * chartab.c (char_table_ascii): Check if the char table contents
12250 is sub-char-table or not.
12251 (char_table_set, char_table_set_range): Fix argument to
12252 char_table_ascii.
12253
12254 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12255 (detect_coding_utf_8, detect_coding_utf_16)
12256 (detect_coding_emacs_mule, detect_coding_iso_2022)
12257 (detect_coding_sjis, detect_coding_big5)
12258 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12259 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12260 sequence is valid in this coding system. Change callers.
12261 (MAX_ANNOTATION_LENGTH): New macro.
12262 (ADD_ANNOTATION_DATA): New macro.
12263 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12264 ADD_ANNOTATION_DATA. Change the format of annotation data.
12265 (ADD_CHARSET_DATA): New macro.
12266 (emacs_mule_char): New argument ID. Change callers.
12267 (decode_coding_emacs_mule, decode_coding_iso_2022)
12268 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12269 Produce charset annotation data in coding->charbuf.
12270 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12271 to charset annotation data in coding->charbuf.
12272 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12273 coding->common_flags if the coding system is iso-2022 based and
12274 uses designation.
12275 (produce_composition): Adjust for the new annotation data format.
12276 (produce_charset): New function.
12277 (produce_annotation): Handle charset annotation.
12278 (handle_composition_annotation, handle_charset_annotation): New
12279 functions.
12280 (consume_chars): Handle charset annotation. Utilize the above two
12281 functions.
12282 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12283 buffer, get the deleted text as a string and set
12284 coding->src_object to that string.
12285 (detect_coding, detect_coding_system): Use the new struct
12286 coding_detection_info.
12287
12288 * coding.h (struct coding_detection_info): New structure.
12289 (struct coding_system): Adjust prototype of the member `detector'.
12290 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12291
122922008-02-01 Kenichi Handa <handa@m17n.org>
12293
12294 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12295
122962008-02-01 Dave Love <fx@gnu.org>
12297
12298 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12299 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12300 to new local and nullify apropos_accumulate before returning.
12301 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12302
123032008-02-01 Kenichi Handa <handa@m17n.org>
12304
12305 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12306 correctly.
e3eea1fc 12307
aac0c6e3
MR
123082008-02-01 Dave Love <fx@gnu.org>
12309
12310 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12311
123122008-02-01 Kenichi Handa <handa@m17n.org>
12313
12314 The following changes are to make character composition happen
12315 automatically on displaying.
12316
12317 * Makefile.in (lisp, shortlisp): Add composite.elc.
12318
12319 * composite.h (Qauto_composed, Vauto_composition_function)
12320 (Qauto_composition_function): Extern them.
12321
12322 * composite.c (Vcomposition_function_table)
12323 (Qcomposition_function_table): Delete variables.
12324 (Qauto_composed, Vauto_composition_function)
12325 (Qauto_composition_function): New variables.
12326 (run_composition_function): Don't call
12327 compose-chars-after-function.
12328 (update_compositions): Clear `auto-composed' text property.
12329 (compose_chars_in_text): Delete this function.
12330 (syms_of_composite): Staticpro Qauto_composed and
12331 Qauto_composition_function. Declare Vauto_composition_function as
12332 a Lisp variable.
12333
12334 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12335
12336 * xdisp.c (it_props): Add an entry for Qauto_composed.
12337 (handle_auto_composed_prop): New function.
12338
12339 * xselect.c (selection_data_to_lisp_data): Don't call
12340 compose_chars_in_text.
12341
123422008-02-01 Dave Love <fx@gnu.org>
12343
12344 * keyboard.c (read_char): Modify checking around use of
12345 Vkeyboard_translate_table.
12346
12347 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12348 and fix C types.
12349
123502008-02-01 Kenichi Handa <handa@m17n.org>
12351
12352 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12353 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12354 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12355 the case that the last byte is '\r' correctly.
12356 (decode_coding): Flush out the unprocessed data correctly.
12357 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12358
123592008-02-01 Dave Love <fx@gnu.org>
12360
12361 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12362 Add XK_ISO... case.
12363 (xaw_scroll_callback): Revert last change.
12364
123652008-02-01 Kenichi Handa <handa@m17n.org>
12366
12367 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12368
123692008-02-01 Kenichi Handa <handa@m17n.org>
12370
12371 * xfaces.c (Vface_resizing_fonts): New variable.
12372 (struct font_name): New member `resizing_ratio'.
12373 (font_resizing_ratio): New function.
12374 (split_font_name): Set font->resizing_ratio.
12375 (better_font_p): Pay attention to font->resizing_ratio.
12376 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12377 RESX, and RESY fields.
12378 (try_alternative_families): Try scalable fonts if
12379 Vscalable_fonts_allowed is not Qt.
12380 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12381
123822008-02-01 Dave Love <fx@gnu.org>
12383
12384 * xterm.c (xaw_scroll_callback): Cast correctly.
12385
123862008-02-01 Dave Love <fx@gnu.org>
12387
12388 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12389 (lispy_kana_keys): Comment out.
12390 (make_lispy_event) [XK_kana_A]: Comment out.
12391
12392 * xterm.c (xaw_scroll_callback): Cast call_data.
12393 (XTread_socket): Deal with ASCII keysyms.
12394 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12395
123962008-02-01 Dave Love <fx@gnu.org>
12397
12398 * xterm.c (Vx_keysym_table): New.
12399 (syms_of_xterm): Initialize it.
12400 (XTread_socket): Use it.
12401 From head: Eliminate incorrect optimization that tried to avoid
12402 decoding the output of X*LookupString.
12403 (x_get_font_repertory): Delete charset declaration.
12404
124052008-02-01 Kenichi Handa <handa@m17n.org>
12406
12407 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12408 return 0.
12409 (Fdefine_coding_system_internal): Setup
12410 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12411
124122008-02-01 Dave Love <fx@gnu.org>
12413
12414 * coding.c (Fcheck_coding_system): Doc fix.
12415
12416 * editfns.c (Finsert_byte): Return a proper value.
12417
124182008-02-01 Kenichi Handa <handa@m17n.org>
12419
12420 * coding.c (decode_coding): Fix args to translate_chars. Pay
12421 attention to Vstandard_translation_table_for_decode.
12422 (encode_coding): Fix args to translate_chars. Pay attention to
12423 Vstandard_translation_table_for_encode.
12424
12425 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12426 SINGLE_BYTE_CHAR_P.
12427
12428 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12429 not by SINGLE_BYTE_CHAR_P.
12430
12431 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12432 SINGLE_BYTE_CHAR_P.
12433
12434 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12435 SINGLE_BYTE_CHAR_P.
12436
12437 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12438 by SINGLE_BYTE_CHAR_P.
12439
12440 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12441 SINGLE_BYTE_CHAR_P.
12442
124432008-02-01 Dave Love <fx@gnu.org>
12444
12445 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12446
124472008-02-01 Dave Love <fx@gnu.org>
12448
12449 * fns.c (Flanginfo): Fix typo.
12450
12451 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12452
124532008-02-01 Kenichi Handa <handa@m17n.org>
12454
12455 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12456 (detect_coding_emacs_mule, detect_coding_iso_2022)
12457 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12458 incomplete byte sequence. Don't update *mask when correctly detected.
12459 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12460 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12461 (detect_coding, detect_coding_system): Adjust for the changes above.
12462
124632008-02-01 Kenichi Handa <handa@m17n.org>
12464
12465 * character.c (char_string): Rename from
12466 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12467 (string_char): Rename from string_char.
12468
12469 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12470 if C is greater than MAX_3_BYTE_CHAR.
12471 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12472 string_char instead of string_char_with_unification.
12473
124742008-02-01 Dave Love <fx@gnu.org>
12475
12476 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12477
124782008-02-01 Kenichi Handa <handa@m17n.org>
12479
12480 * keymap.c (push_key_description): Pay attention to force_multibyte.
12481
12482 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12483
124842008-02-01 Dave Love <fx@gnu.org>
12485
12486 * charset.c (define_charset_internal): Rename `supprementary'.
12487
12488 * Makefile.in (lisp, shortlisp): Remove latin-N.
12489
124902008-02-01 Dave Love <fx@gnu.org>
12491
12492 * xfns.c (x_window, x_window): Use use_xim.
12493
12494 * xterm.c (use_xim): Initialize.
12495 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12496 (x_term_init): Maybe set use_xim.
12497
12498 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12499
125002008-02-01 Kenichi Handa <handa@m17n.org>
12501
12502 * search.c (search_buffer): Fix case-fold-search of multibyte
12503 characters.
12504 (boyer_moore): Rename the last argument to char_high_bits.
12505
125062008-02-01 Kenichi Handa <handa@m17n.org>
12507
12508 * xdisp.c (display_string): Fix for the case of zero width glyph.
12509
12510 * xfns.c (x_set_font): Change the error message of the case that
12511 x_new_fontset returns Qt.
12512
12513 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12514 (Finternal_set_lisp_face_attribute): Use signal_error for the
12515 error of invalid fontset.
12516
12517 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12518 fontset, return Qt.
12519
125202008-02-01 Dave Love <fx@gnu.org>
12521
12522 * unexelf.c (unexec): Make .got handling not SGI-specific.
12523
12524 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12525
12526 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12527
12528 * keyboard.c (read_key_sequence): Fix type error.
12529
12530 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12531 type error.
12532
12533 * fontset.c (fontset_add): Return Lisp_Object.
12534
125352008-02-01 Dave Love <fx@gnu.org>
12536
12537 * charset.h (charset_ordered_list_tick): Declare extern.
12538
125392008-02-01 Kenichi Handa <handa@m17n.org>
12540
12541 The following changes (and some of 2008-02-01 changes of mine) are
12542 for handling syntax, category, and case conversion for unibyte
12543 characters by converting them to multibyte on the fly. With these
12544 changes, we don't have to setup syntax and case tables for unibyte
12545 characters in each language environment.
12546
12547 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12548 multibyte if necessary.
12549
12550 * bytecode.c (Fbyte_code): Likewise.
12551
12552 * character.h (LEADING_CODE_LATIN_1_MIN)
12553 (LEADING_CODE_LATIN_1_MAX): New macros.
12554 (unibyte_to_multibyte_table): Extern it.
12555 (unibyte_char_to_multibyte): New macro.
12556 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12557 (CHAR_LEADING_CODE): New macro.
12558 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12559
12560 * character.c (unibyte_to_multibyte_table): New variable.
12561 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12562 (multibyte_char_to_unibyte): If C is an eight-bit character,
12563 convert it to the corresponding byte value.
12564
12565 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12566 not 1, signals an error. Update the elements of
12567 unibyte_to_multibyte_table.
12568 (init_charset_once): Initialize unibyte_to_multibyte_table.
12569 (syms_of_charset): Define the charset `iso-8859-1'.
12570
12571 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12572 as is without converting it to unibyte. In a unibyte buffer,
12573 convert C to multibyte before checking the syntax.
12574
12575 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12576
12577 * minibuf.c (Fminibuffer_complete_word): Use the macro
12578 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12579
12580 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12581
12582 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12583 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12584 that is zero, convert an eight-bit char to multibyte.
12585 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12586 non-emacs case.
12587 (PATFETCH): Convert an eight-bit char to multibyte.
12588 (HANDLE_UNIBYTE_RANGE): New macro.
12589 (regex_compile): Setup the compiled pattern for multibyte chars
12590 even if the given regex string is unibyte. Use PATFETCH_RAW
12591 instead of PATFETCH in many places. To handle `charset'
12592 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12593 only for ASCII chars.
12594 (analyse_first) <exactn>: Simplify because the compiled pattern
12595 is multibyte.
12596 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12597 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12598 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12599 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12600 multibyte always 1.
12601 (re_search_2): In emacs, set the locale variable multibyte to 1,
12602 otherwise to 0. New local variable target_multibyte. Check it
12603 to decide the multibyteness of STR1 and STR2. If
12604 target_multibyte is zero, convert unibyte chars to multibyte
12605 before translating and checking fastmap.
12606 (TARGET_CHAR_AND_LENGTH): New macro.
12607 (re_match_2_internal): In emacs, set the locale variable multibyte
12608 to 1, otherwise to 0. New local variable target_multibyte. Check
12609 it to decide the multibyteness of STR1 and STR2. Use
12610 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12611 <charset, charset_not>: If multibyte is nonzero, check fastmap
12612 only for ASCII chars. Call bcmp_translate with
12613 target_multibyte, not with multibyte.
12614 <begline>: Declare the local variable C as `unsigned'.
12615 (bcmp_translate): Change the last arg name to target_multibyte.
12616
12617 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12618 the regexp pattern and the matching target. Set cp->buf.multibyte
12619 to the multibyteness of the regexp pattern. Set
12620 cp->but.target_multibyte to the multibyteness of the matching target.
12621 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12622 FETCH_STRING_CHAR_ADVANCE.
12623 (Freplace_match): Convert unibyte chars to multibyte.
12624
12625 * syntax.c (char_quoted, back_comment, scan_words)
12626 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12627 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12628 unibyte chars to multibyte.
12629 (skip_chars): Delete the arg syntaxp, and move the code for
12630 handling syntaxes to skip_syntaxes. Change callers.
12631 Fix the case that the multibyteness of STRING and the current
12632 buffer doesn't match.
12633 (skip_syntaxes): New function.
12634 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12635 SINGLE_BYTE_CHAR_P.
12636
126372008-02-01 Kenichi Handa <handa@m17n.org>
12638
12639 * xfaces.c (QCfontset): New variable.
12640 (LFACE_FONTSET): New macro.
12641 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12642 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12643 (Finternal_set_lisp_face_attribute)
12644 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12645 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12646 check also LFACE_FONTSET_INDEX.
12647 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12648 attrs[LFACE_FONT_INDEX].
12649 (syms_of_xfaces): Intern and staticpro QCfontset.
12650
12651 * dispextern.h (enum lface_attribute_index): New member
12652 LFACE_FONTSET_INDEX.
12653
12654 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12655
126562008-02-01 Kenichi Handa <handa@m17n.org>
12657
12658 * coding.c (coding_set_destination): Fix coding->destination for
12659 the case converting a region.
12660 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12661 (encode_coding_object): Fix coding->dst_pos and
12662 coding->dst_pos_byte for the case converting a region.
12663
12664 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12665
12666 * character.h (BYTE8_STRING): New macro.
12667
12668 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12669
126702008-02-01 Kenichi Handa <handa@m17n.org>
12671
12672 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12673 characters by octal form.
12674
12675 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12676
12677 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12678 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12679 _fetch_multibyte_char_len.
12680 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12681
12682 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12683
12684 * casefiddle.c (casify_object): Simplify. Handle the case that
12685 the case conversion change the byte length.
12686 (casify_region): Likewise.
12687
12688 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12689
12690 * character.c (_fetch_multibyte_char_len): Delete this variable.
12691 (syms_of_character): Setup Vprintable_chars.
12692
12693 * editfns.c (Fchar_equal): Fix for the unibyte case.
12694 (Finsert_byte): New function.
12695 (syms_of_editfns): Defsubr it.
12696
12697 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12698 of direct code 0x3ffff.
12699
12700 * search.c (Freplace_match): Fix for the unibyte case.
12701
127022008-02-01 Kenichi Handa <handa@m17n.org>
12703
12704 * lread.c (safe_to_load_p): Fix the logic.
12705
12706 * syntax.c (scan_words): Don't treat characters belonging to
12707 different scripts as constituting a word.
12708
12709 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12710
12711 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12712
12713 * emacs.c (main): In the case of --unibyte, instead of aborting on
12714 finding non-empty buffer, make it unibyte.
12715
127162008-02-01 Kenichi Handa <handa@m17n.org>
12717
12718 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12719 to create a fontset.
12720
127212008-02-01 Dave Love <fx@gnu.org>
12722
12723 * character.c (Funibyte_char_to_multibyte): Doc fix.
12724
12725 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12726
127272008-02-01 Kenichi Handa <handa@m17n.org>
12728
12729 * fontset.c (fontset_add): Make the type `int'.
12730 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12731
12732 * character.c (unibyte_char_to_multibyte)
12733 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12734 charset_unibyte, not charset_primary.
12735
12736 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12737
12738 * charset.c (charset_unibyte): Rename from charset_primary.
12739 (Funibyte_charset): Rename from Fprimary_charset.
12740 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12741 (syms_of_charset): Adjust for the above changes.
12742
12743 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12744 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12745 it->multibyte_p is zero.
12746
12747 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12748 Delete extern.
12749
127502008-02-01 Kenichi Handa <handa@m17n.org>
12751
12752 * coding.c (Fdefine_coding_system_internal): Fix category setting
12753 for a coding system of type iso-2022.
12754
127552008-02-01 Kenichi Handa <handa@m17n.org>
12756
12757 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12758
127592008-02-01 Kenichi Handa <handa@m17n.org>
12760
12761 * syntax.c (Vnext_word_boundary_function_table): New variable.
12762 (next-word-boundary-function-table): Declare it as a Lisp variable
12763 in syms_of_syntax.
12764 (scan_words): Call functions in Vnext_word_boundary_function_table
12765 if any.
12766
12767 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12768
12769 * fontset.c (fs_load_font): If fontp->charset is not negative,
12770 return fontp without setting its members.
12771
127722008-02-01 Dave Love <fx@gnu.org>
12773
12774 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12775
12776 * m/sparc.h (HAVE_ALLOCA): Delete.
12777
12778 * s/irix6-5.h: Don't include strings.h.
12779 (bcopy, bzero, bcmp): Don't undef.
12780
12781 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12782
12783 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12784 (TIOCSIGSEND): Don't test IRIX6.
12785 (bcopy, bzero, bcmp): Define conditionally.
12786
127872008-02-01 Kenichi Handa <handa@m17n.org>
12788
12789 * buffer.c (Qas, Qmake, Qto): New variables.
12790 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12791 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12792
12793 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12794 we are inserting a process output into a multibyte buffer.
12795
12796 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12797 multibyte_char_to_unibyte.
12798
12799 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12800 by the primary charset, make it eight-bit char.
12801 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12802
12803 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12804 (charset_8_bit__control, charset_8_bit_graphic)
12805 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12806 (define_charset_internal): New function.
12807 (syms_of_charset): Call define_charset_internal for pre-defined
12808 charsets.
12809
12810 * charset.h (charset_8_bit): Extern it.
12811
12812 * coding.c (make_conversion_work_buffer): Adjust for the change
12813 of Fset_buffer_multibyte.
12814 (encode_coding_raw_text): Increment p0 in the loop.
12815
12816 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12817
12818 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12819 for the change of Fset_buffer_multibyte.
12820
12821 * fns.c (Fstring_to_multibyte): New function.
12822 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12823
128242008-02-01 Dave Love <fx@gnu.org>
12825
12826 * xfns.c (x_put_x_image): Declare args.
12827
12828 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12829 (try_font_list): Declare an arg.
12830
12831 * xdisp.c (message2_nolog, set_message): Declare an arg.
12832
12833 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12834
12835 * syntax.c (scan_sexps_forward): Declare an arg.
12836
12837 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12838 Declare an arg.
12839
12840 * lisp.h (Fnew_fontset): Declare.
12841
12842 * keymap.c (push_key_description): Call CHARACTERP correctly.
12843
12844 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12845 (face_for_char): Delete unused vars.
12846 (Fset_fontset_font): Doc fix. Delete unused vars.
12847
12848 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12849
12850 * composite.c (update_compositions): Declare arg.
12851
12852 * cm.c (calccost, cmgoto): Declare args.
12853
12854 * charset.c: Remove `emacs' conditional. Doc fixes.
12855 (map_char_table_for_charset): Declare.
12856
12857 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12858
12859 * ccl.c: Remove `emacs' conditional.
12860
128612008-02-01 Kenichi Handa <handa@m17n.org>
12862
12863 The following changes are to allow specifying multiple font
12864 patterns for a character range (specified by script or charset).
12865
12866 * Makefile.in (abbrev.o): Depend on syntax.h.
12867 (xfaces.o): Depend on charset.h.
12868
12869 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12870 SINGLE_BYTE_CHAR_P.
12871
12872 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12873
12874 * character.h (Vchar_script_table): Extern it.
12875
12876 * character.c (Vscript_alist): Delete.
12877 (Vchar_script_table, Qchar_script_table): New variable.
12878 (syms_of_character): Declare Vchar_script_table as a lisp variable
12879 and initialize it.
12880
12881 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12882 have property char-table-extra-slots, make no extra slot.
12883
12884 * dispextern.h (struct face): Delete member `charset'.
12885 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12886 SINGLE_BYTE_CHAR_P.
12887 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12888 Add prototypes.
12889 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12890 (generate_ascii_font_name): Rename from generate_ascii_font.
12891
12892 * fontset.h (get_font_repertory_func): New prototype.
12893 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12894 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12895
12896 * fontset.c (Qprepend, Qappend): New variables.
12897 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12898 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12899 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12900 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12901 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12902 (load_font_get_repertory): New functions.
12903 (fontset_set): Delete.
12904 (fontset_face): New arg FACE. Return face ID, not face.
12905 Complete re-write to handle new fontset structure. Change caller.
12906 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12907 (face_for_char): Don't call lookup_face.
12908 (make_fontset_for_ascii_face): New arg FACE.
12909 (fs_load_font): New arg CHARSET_ID. Don't check
12910 Vfont_encoding_alist here.
12911 (find_font_encoding): New function.
12912 (list_fontsets): Use STRINGP, not ! NILP.
12913 (accumulate_script_ranges): New function.
12914 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12915 re-written to handle new fontset structure.
12916 (Ffontset_font): Return a copy of element.
12917 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12918 docstring of font-encoding-alist.
12919
12920 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12921 (Fset_fotset_font): Fix arguments to 5.
12922
12923 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12924
12925 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12926 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12927 (highlight_trailing_whitespace): Adjust for the change of
12928 lookup_named_face.
12929
12930 * xfaces.c: Include charset.h.
12931 (load_face_font): Delete argument C. Change caller.
12932 (generate_ascii_font_name): Rename from generate_ascii_font.
12933 (font_name_registry): New function.
12934 (cache_face): Store ascii faces before non-ascii faces in buckets.
12935 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12936 Lookup only ascii faces.
12937 (lookup_non_ascii_face): New function.
12938 (lookup_named_face): Delete argument C. Change caller.
12939 (lookup_derived_face): Delete argument C. Change caller.
12940 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12941 a string, just call font_list with it.
12942 (choose_face_font): Delete arguments FACE and C. New arg
12943 FONT_SPEC. Change caller.
12944 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12945 Change caller.
12946 (realize_non_ascii_face): New function.
12947 (realize_x_face): Call load_face_font here.
12948 (realize_tty_face): Delete argument C. Change caller.
12949 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12950 get a face ID.
12951 (dump_realized_face): Don't print charset of FACE.
12952
12953 * xfns.c (x_set_font): Always call x_new_fontset and
12954 store_frame_parameter.
12955 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12956 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12957
12958 * xterm.h (x_get_font_repertory): Extern it.
12959
12960 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12961 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12962 it->multibyte_p is zero.
12963 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12964 (x_new_fontset): If FONTSETNAME doesn't match any existing
12965 fontsets, create a new one.
12966 (x_get_font_repertory): New function.
12967
129682008-02-01 Kenichi Handa <handa@m17n.org>
12969
12970 * coding.c (Ffind_coding_systems_region_internal): Detect an
12971 ASCII only string correctly.
12972
12973 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12974 version is 0.
12975
129762008-02-01 Kenichi Handa <handa@m17n.org>
12977
12978 * lread.c: Include "coding.h".
12979 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12980 (load_each_byte, unread_char): New variables.
12981 (readchar_backlog): Delete.
12982 (readchar): Return a character unless load_each_byte is nonzero.
12983 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12984 cons. If unread_char is not -1, simply return it.
12985 (unreadchar): Handle the case that readcharfun is
12986 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12987 (read_multibyte): Delete.
12988 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12989 (read_emacs_mule_char): New functions.
12990 (Fload): Even if the file doesn't have the extension ".elc", if
12991 safe_to_load_p returns a positive version number, assume that the
12992 file contains bytecompiled code. If the version is less than 22,
12993 load the file while decoding multibyte sequences by emacs-mule.
12994 (readevalloop): Don't use readchar_backlog.
12995 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12996 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12997 (read_escape): Delete the arg BYTEREP.
12998 (read1): Set load_each_byte to 1 temporarily while handling
12999 #@NUMBER. Don't call read_multibyte.
13000 (read_vector): Call Fread with a cons. If readcharfun is
13001 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
13002 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
13003 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
13004 and Qload_force_doc_strings.
13005
130062008-02-01 Kenichi Handa <handa@m17n.org>
13007
13008 * xdisp.c (face_before_or_after_it_pos): Call
13009 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13010
130112008-02-01 Kenichi Handa <handa@m17n.org>
13012
13013 * character.h (TRAILING_CODE_P): New macro.
13014 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13015 (string_char_with_unification): Fix prototype.
13016 (Vscript_alist): Extern it.
13017
13018 * character.c (Vscript_alist): New variable.
13019 (string_char_with_unification, str_as_unibyte)
13020 (string_escape_byte8): Add `const' to local variables.
13021 (syms_of_character): Declare script-alist as a Lisp variable.
13022
13023 * charset.h (Vcharset_ordered_list): Extern it.
13024 (charset_ordered_list_tick): Extern it.
13025 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13026 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13027 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13028 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13029 (Funify_charset): Adjust for the change of Funify_charset.
13030
13031 * charset.c (charset_ordered_list_tick): New variable.
13032 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13033 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13034 deunify intead of unify a charset.
13035 (string_xstring_p): Add `const' to local variables.
13036 (find_charsets_in_text): Add `const' to arguments and local variables.
13037 (encode_char): Adjust for the change of Funify_charset. Fix
13038 detecting of invalid code.
13039 (Fset_charset_priority): Increment charset_ordered_list_tick.
13040 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13041 and TO_CODE.
13042
13043 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13044 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13045 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13046 (decode_coding_ccl, consume_chars)
13047 (Ffind_coding_systems_region_internal)
13048 (Fcheck_coding_systems_region): Add `const' to local variables.
13049
13050 * print.c (print_object): Use octal form for printing the
13051 contents of a bool vector.
13052
130532008-02-01 Dave Love <fx@gnu.org>
13054
13055 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13056 <version == 20>: Refuse to load.
13057
130582008-02-01 Dave Love <fx@gnu.org>
13059
13060 * fns.c: Move coding.h.
13061 (Qcodeset, Qdays, Qmonths): New.
13062 (concat): Use CHARACTERP instead of INTEGERP.
13063 (Flocale_codeset): Delete.
13064 (Flanginfo): New function.
13065 (syms_of_fns): Change accordingly.
13066
13067 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13068
130692008-02-01 Dave Love <fx@gnu.org>
13070
13071 * casetab.c (init_casetab_once, init_casetab_once): Fix
13072 CHAR_TABLE_SET call.
13073
13074 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13075
13076 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13077
13078 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13079 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13080 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13081
13082 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13083
13084 * coding.c (ENCODE_DESIGNATION, decode_eol)
13085 (make_conversion_work_buffer, code_conversion_restore)
13086 (Fdefine_coding_system_internal): Convert Lisp types.
13087 (code_conversion_restore): Use EQ, not ==.
13088 (Fencode_coding_string): Fix code_convert_string call.
13089
13090 * coding.h (code_convert_region): Fix prototype.
13091
13092 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13093
13094 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13095 (Ffontset_info): Convert Lisp types.
13096
13097 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13098
13099 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13100
13101 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13102
13103 * chartab.c: Include "...h", not <...h> in some cases.
13104
13105 * callproc.c (Fcall_process): Remove unused variables.
13106
131072008-02-01 Dave Love <fx@gnu.org>
13108
13109 * coding.c (Fset_coding_system_priority): Allow null arg list.
13110
131112008-02-01 Dave Love <fx@gnu.org>
13112
13113 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13114 (Fself_insert_and_exit): Use CHARACTERP.
13115
13116 * callproc.c (Fcall_process): Remove unused vars.
13117
13118 * xterm.c (XTread_socket): Add extra dead keysyms.
13119
13120 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13121
13122 * dispextern.h: Remove prototypes for redraw_frame,
13123 redraw_garbaged_frames.
13124
13125 * cmds.c (Fself_insert_command): Use CHARACTERP.
13126
13127 * chartab.c (make_sub_char_table): Remove unused var.
13128 (Fset_char_table_default, Fmap_char_table): Doc fix.
13129
13130 * keymap.c (access_keymap): Remove generic char code.
13131 (push_key_description): Use CHARACTERP.
13132
131332008-02-01 Dave Love <fx@gnu.org>
13134
13135 * charset.c: Doc fixes.
13136 (Funify_charset): Extra checking.
13137
131382008-02-01 Dave Love <fx@gnu.org>
13139
13140 * lread.c: Remove some unused variables.
13141 (safe_to_load_p): If safe, return the magic number version byte.
13142 (Fload): Maybe use load-with-code-conversion.
13143
131442008-02-01 Kenichi Handa <handa@m17n.org>
13145
13146 * category.c (Fmodify_category_entry): Don't modify the contents
13147 of category_set for characters out of the range. Avoid
13148 unnecessary modification.
13149
13150 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13151 Vchar_unify_table. The default value of the table is now nil.
13152
13153 * character.c (syms_of_character): Setup Vchar_width_table for
13154 eight-bit-control and raw-byte chars.
13155
13156 * charset.h (enum define_charset_arg_index): Delete
13157 charset_arg_parents and add charset_arg_subset and
13158 charset_arg_superset.
13159 (enum charset_attr_index): Delete charset_parents and add
13160 charset_subset and charset_superset.
13161 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13162 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13163 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13164 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13165 (CHARSET_SUPERSET): New macros.
13166 (charset_work): Extern it.
13167 (ENCODE_CHAR): Use charset_work.
13168 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13169 (map_charset_chars): Extern it.
13170
13171 * charset.c (load_charset_map): Set the default value of encoder
13172 and deunifier char-tables to nil.
13173 (map_charset_chars): Change argument. Change callers. Use
13174 map_char_table_for_charset instead of map_char_table.
13175 (Fmap_charset_chars): New optional args from_code and to_code.
13176 (Fdefine_charset_internal): Adjust for the change of
13177 `define-charset' (:parents -> :subset or :superset).
13178 (charset_work): New variable.
13179 (encode_char, syms_of_charset): Adjust for the change of
13180 Fdefine_charset_internal.
13181 (Ffind_charset_string): Setup the vector `charsets' correctly.
13182
13183 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13184 the previous change.
13185 (char_table_ref_and_range): Adjust for the above change.
13186 (map_sub_char_table_for_charset): New function.
13187 (map_char_table_for_charset): New function.
13188
13189 * keymap.c (describe_vector): Handle a char-table directly here.
13190 (describe_char_table): Delete.
13191
13192 * lisp.h (map_charset_chars): Delete.
13193
131942008-02-01 Dave Love <fx@gnu.org>
13195
13196 * fns.c (count_combining): Comment out (unused).
13197 (Flocale_codeset): New.
13198 (syms_of_fns): Defsubr it.
13199
13200 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13201 (size_t): Remove.
13202
132032008-02-01 Dave Love <fx@gnu.org>
13204
13205 * Makefile.in (chartab.o): Depend on charset.h.
13206
132072008-02-01 Kenichi Handa <handa@m17n.org>
13208
13209 * character.c (syms_of_character): Set the default value of
13210 Vprintable_chars to Qnil.
13211
132122008-02-01 Dave Love <fx@gnu.org>
13213
13214 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13215
132162008-02-01 Kenichi Handa <handa@m17n.org>
13217
13218 * charset.c (load_charset_map): Handle the case that from < to
13219 correctly.
13220
13221 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13222 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13223 Pay attention to raw-8-bit chars.
13224
132252008-02-01 Kenichi Handa <handa@m17n.org>
13226
13227 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13228 It is not bytecompiled now.
13229
13230 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13231 (charset_jisx0208): New variables.
13232 (Fdefine_charset_internal): Setup them if appropriate.
13233 (init_charset_once): Initialize them to -1.
13234
13235 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13236 (charset_jisx0208): Extern them.
13237
13238 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13239 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13240 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13241 (setup_iso_safe_charsets): Fix arguments to Fassq.
13242 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13243 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13244 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13245 (encode_coding_iso_2022): Change the 1st arg to
13246 ENCODE_ISO_CHARACTER to a variable.
13247
132482008-02-01 Kenichi Handa <handa@m17n.org>
13249
13250 * charset.h (enum define_charset_arg_index): New enums
13251 charset_arg_min_code and charset_arg_max_code.
13252 (struct charset): New member char_index_offset.
13253
13254 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13255 Take charset->char_index_offset into account.
13256 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13257 args[charset_arg_max_code]. Setup charset.char_index_offset.
13258 (syms_of_charset): Fix args to Fdefine_charset_internal.
13259
132602008-02-01 Dave Love <fx@gnu.org>
13261
13262 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13263
132642008-02-01 Dave Love <fx@gnu.org>
13265
13266 * coding.c: Doc fixes.
13267 (Fcoding_system_aliases): Fix return value.
13268 (Qmac): Remove (duplicated) definition.
13269
132702008-02-01 Dave Love <fx@gnu.org>
13271
13272 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13273 functions.
13274
13275 * character.c (Fstring): Doc fix.
13276
13277 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13278
13279 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13280 ids.
13281 (font-encoding-alist): Doc fix.
13282
132832008-02-01 Dave Love <fx@gnu.org>
13284
13285 * term.c (costs_set): Declare static, non-initialized for pcc.
13286 (encode_terminal_code): Remove unused var.
13287
13288 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13289 for K&R.
13290
13291 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13292
13293 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13294 (suffixes): Move out of make_subsidiaries for K&R.
13295
13296 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13297
13298 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13299
133002008-02-01 Dave Love <fx@gnu.org>
13301
13302 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13303
13304 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13305
133062008-02-01 Yong Lu <lyongu@asia-infonet.com>
13307
13308 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13309
13310 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13311
133122008-02-01 Kenichi Handa <handa@m17n.org>
13313
13314 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13315 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13316
133172008-02-01 Kenichi Handa <handa@m17n.org>
13318
13319 * coding.c (decode_coding_charset): Adjust for the change of
13320 Fdefine_coding_system_internal.
13321 (Fdefine_coding_system_internal): For a coding system of
13322 `charset' type, store a list of charset IDs in
13323 `charset_attr_charset_valids' element of coding attributes.
13324
133252008-02-01 Kenichi Handa <handa@m17n.org>
13326
13327 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13328 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13329 caller. Handle 2-byte and 3-byte charsets correctly.
13330 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13331 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13332 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13333 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13334 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13335 sequence.
13336 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13337 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13338 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13339 and alt&rule composition.
13340 (decode_coding_iso_2022): Handle composition correctly.
13341 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13342
13343 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13344 re-defining a charset. If the charset has :emacs-mule-id, setup
13345 emacs_mule_bytes.
13346 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13347
133482008-02-01 Kenichi Handa <handa@m17n.org>
13349
13350 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13351 (encode_coding_big5, encode_coding_charset): If coding requires safe
13352 encoding, produce a character specified by
13353 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13354
133552008-02-01 Dave Love <fx@gnu.org>
13356
13357 * xterm.c (XSetIMValues): Declare.
13358
13359 * process.c: Conditionally include sys/wait.h, pty.h.
13360
13361 * print.c (print_object): Fix print format for 64-bit systems.
13362
13363 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13364
13365 * buffer.c (emacs_strerror): Declare.
13366
13367 * fontset.c (Fclear_face_cache): Declare.
13368 (accumulate_font_info): Comment-out (unused).
13369 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13370 variables.
13371
13372 * character.h (string_escape_byte8): Declare.
13373
13374 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13375 unused vars.
13376 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13377 (Fmap_charset_chars): Doc fix.
13378
13379 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13380 (Fset_coding_system_priority, Fset_coding_system_priority)
13381 (Fdefine_coding_system_internal): Doc fix.
13382
133832008-02-01 Dave Love <fx@gnu.org>
13384
13385 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13386
133872008-02-01 Kenichi Handa <handa@m17n.org>
13388
13389 * character.c (string_escape_byte8): Make multibyte string with
13390 correct size.
13391
13392 * charset.c (Fmake_char): Delete unnecessary code.
13393
133942008-02-01 Kenichi Handa <handa@m17n.org>
13395
13396 * xfns.c (x_encode_text): Allocate coding.destination here, and
13397 call encode_coding_object with dst_object Qnil.
13398
13399 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13400 multibyte form correctly.
13401
13402 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13403 against Vfont_encoding_alist.
13404
13405 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13406 handling of charset list.
13407 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13408 (decode_coding_object): Move point to coding->dst_pos before
13409 calling post-read-conversion function.
13410 (encode_coding_object): Give correct arguments to
13411 pre-write-conversion. Ignore the return value of
13412 pre-write-conversion function. Pay attention to the case that
13413 pre-write-conversion changes the current buffer. If dst_object is
13414 Qt, even if coding->src_bytes is zero, allocate at least one byte
13415 to coding->destination.
13416
13417 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13418
13419 * charset.c (Fmake_char): Make it more backward compatible.
13420 (Fmap_charset_chars): Fix docstring.
13421
134222008-02-01 Dave Love <fx@gnu.org>
13423
13424 * coding.c: Doc fixes.
13425 (Fdefine_coding_system_alias): Use names, not symbols, in
13426 coding-system-alist.
13427
134282008-02-01 Kenichi Handa <handa@m17n.org>
13429
13430 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13431 of calling free_realized_face.
13432
134332008-02-01 Yong Lu <lyongu@asia-infonet.com>
13434
13435 * charset.c (read_hex): Don't treat SPC as a comment starter.
13436 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13437 (Fdecode_char): Fix typo.
13438
134392008-02-01 Kenichi Handa <handa@m17n.org>
13440
13441 * charset.h (struct charset): New member `code_space_mask'.
13442
13443 * coding.c (coding_set_source): Delete the local variable beg_byte.
13444 (encode_coding_charset, Fdefine_coding_system_internal):
13445 Delete the local variable charset.
13446 (Fdefine_coding_system_internal): Setup
13447 attrs[coding_attr_charset_valids] correctly.
13448
13449 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13450 member to check if CODE is valid or not.
13451 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13452 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13453 is within the range of charset->min_code and carset->max_code.
13454
134552008-02-01 Dave Love <fx@gnu.org>
13456
13457 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13458
13459 * dispextern.h (generate_ascii_font): Fix return type.
13460
13461 * xfaces.c (generate_ascii_font): Fix arg declaration.
13462
13463 * coding.c (coding_inherit_eol_type)
13464 (Fset_terminal_coding_system_internal)
13465 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13466
134672008-02-01 Kenichi Handa <handa@m17n.org>
13468
13469 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13470 multiple charsets correctly.
13471
134722008-02-01 Kenichi Handa <handa@m17n.org>
13473
13474 * search.c (boyer_moore): Fix handling of multibyte character
13475 translation.
13476
13477 * xdisp.c (display_mode_element): When the variable `elt' is
13478 changed, update `this' and `lisp_string'.
13479
134802008-02-01 Kenichi Handa <handa@m17n.org>
13481
13482 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13483
13484 * callproc.c (Fcall_process): Be sure to give the current buffer
13485 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13486
13487 * charset.c (struct charset_map_entries): New struct.
13488 (load_charset_map): Rename from parse_charset_map. New args
13489 entries and n_entries. Change caller.
13490 (load_charset_map_from_file): Rename from load_charset_map.
13491 Change caller. New arg control_flag. Call load_charset_map at
13492 the tail.
13493 (load_charset_map_from_vector): New function.
13494 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13495 (encode_char): If the charset is compact, change a character index
13496 to a code point.
13497
13498 * coding.c (coding_alloc_by_making_gap): Check the case that the
13499 source and destination are the same correctly.
13500 (decode_coding_raw_text): Set coding->consumed_char and
13501 coding->consumed to 0.
13502 (produce_chars): If coding->chars_at_source is nonzero, update
13503 coding->consumed_char and coding->consumed before calling
13504 alloc_destination.
13505 (Fdefine_coding_system_alias): Register ALIAS in
13506 Vcoding_system_alist.
13507 (syms_of_coding): Define `no-conversion' coding system at the tail.
13508
13509 * fileio.c (Finsert_file_contents): Set coding_system instead of
13510 val. If the current buffer is multibyte, always call
13511 decode_coding_gap.
13512
13513 * xfaces.c (try_font_list): Give higher priority to fontset's
13514 family than face's family.
13515
135162008-02-01 Kenichi Handa <handa@m17n.org>
13517
13518 * callproc.c (Fcall_process): Be sure to give the current buffer
13519 to decode_coding_c_string.
13520
13521 * xfaces.c (try_font_list): Give a family specified in a fontset
13522 higher priority than a family specified in a face.
13523
135242008-02-01 Kenichi Handa <handa@m17n.org>
13525
13526 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13527 Fix arguments to insert_from_buffer.
13528
13529 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13530
135312008-02-01 Kenichi Handa <handa@m17n.org>
13532
13533 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13534 (decode_coding_gap): Set coding->dst_multibyte correctly.
13535
135362008-02-01 Kenichi Handa <handa@m17n.org>
13537
13538 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13539 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13540 (encode_coding_utf_16): Substitute coding->default_char for
13541 non-Unicode characters.
13542 (decode_coding): Don't call record_insert here.
13543 (setup_coding_system): Initialize `surrogate' of
13544 coding->spec.utf_16 to 0.
13545 (EMIT_ONE_BYTE): Fix for multibyte case.
13546
13547 * insdel.c (insert_from_gap): Call record_insert.
13548
135492008-02-01 Kenichi Handa <handa@m17n.org>
13550
13551 * casefiddle.c (casify_region): Fix multibyte case.
13552
13553 * character.c (c_string_width): Add return type `int'.
13554 (char_string_with_unification): Delete arg ADVANCED.
13555
13556 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13557 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13558 (CHAR_STRING_ADVANCE): Make it do-while statement.
13559
13560 * chartab.c (sub_char_table_set_range): Optimize for the case
13561 DEPTH == 3. Add workaround code for a GCC optimization bug.
13562
13563 * charset.c (parse_charset_map): Remove an unused variable.
13564
13565 * coding.c: Delete unused variables.
13566
13567 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13568 earlier. If inserted is zero and the coding system doesn't
13569 require flushing, don't call decode_coding_gap.
13570
13571 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13572
135732008-02-01 Kenichi Handa <handa@m17n.org>
13574
13575 The following changes are for using Unicode as an internal
13576 character model, and use UTF-8 format for buffer/string
13577 representation.
13578
13579 * .gdbinit (xchartable): Adjust for the change of char table structure.
13580 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13581
13582 * Makefile.in (obj): Add character.o and chartab.o.
13583 (lisp, shortlisp): Remove utf-8.elc.
13584 (*.o): For many files, change dependency on charset.h to
13585 character.h, and add dependency on character.h.
13586 (character.o, chartab.o): New targets.
13587
13588 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13589 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13590 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13591 of "charset.h".
13592
13593 * dired.c, filelock.c: Include "character.h".
13594
13595 * alloc.c: Include "character.h" instead of "charset.h".
13596 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13597 (syms_of_alloc): Remove defsubr for Smake_char_table.
13598
13599 * buffer.c: Include "character.h" instead of "charset.h", don't
13600 include "coding.h".
13601 (Fset_buffer_multibyte): Adjust for UTF-8.
13602
13603 * buffer.h: EXFUN Fbuffer_live_p.
13604
13605 * callproc.c: Include "character.h" instead of "charset.h".
13606 (Fcall_process): Big change for the new code-conversion APIs.
13607
13608 * casetab.c: Include "character.h" instead of "charset.h".
13609 (set_canon, set_identity, shuffle): Adjust for the new
13610 map_char_table spec.
13611 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13612 accessing the char table structure.
13613
13614 * chartab.c: New file that implements char table.
13615
13616 * category.c: Include "character.h".
13617 (copy_category_entry): New function.
13618 (copy_category_table): Call map_char_table and copy_category_entry.
13619 (Fmake_category_table): Initialize all top-level slots.
13620 (char_category_set): New function.
13621 (modify_lower_category_set): Delete.
13622 (Fmodify_category_entry): Call char_table_ref_and_range.
13623
13624 * category.h (CATEGORY_SET): Just call char_category_set.
13625
13626 * ccl.c: Include "character.h".
13627 (Qccl, Qcclp): New variables.
13628 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13629 it's less than 256.
13630 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13631 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13632 and DST type.
13633 (ccl_driver): Change types of argument, adjust code accordingly.
13634 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13635 ccl_driver.
13636 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13637
13638 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13639 New members src_multibyte, dst_multibyte, consumed, and produced.
13640 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13641 (CODING_SPEC_CCL_PROGRAM): New macro.
13642 (ccl_driver): Update prototype.
13643 (Qccl, Qcclp, Fccl_program_p): Extern them.
13644 (CHECK_CCL_PROGRAM): New macro.
13645
13646 * character.c, character.h, chartab.c: New files.
13647
13648 * charset.c: Mostly re-written. Move character and multibyte sequence
13649 handling codes to character.c.
13650
13651 * charset.h: Mostly re-written. Move character and multibyte sequence
13652 handling codes to character.h.
13653
13654 * coding.c, coding.h: Mostly re-written.
13655
13656 * composite.c: Include "character.h" instead of "charset.h".
13657 (CHAR_WIDTH): Move to character.h.
13658 (HASH_KEY, HASH_VALUE): Delete.
13659
13660 * composite.h (enum composition_method): Change order of enumeration
13661 symbols.
13662
13663 * data.c: Include "character.h" instead of "charset.h".
13664 (Faref): Call CHAR_TABLE_REF for a char table.
13665 (Faset): Call CHAR_TABLE_SET for a char table.
13666
13667 * dispextern.h (free_realized_face, check_face_attribytes)
13668 (generate_ascii_font): Extern them.
13669 (free_realized_multibyte_face): Delete extern.
13670
13671 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13672 table structure.
13673
13674 * editfns.c: Include "character.h" instead of "charset.h".
13675 (Fchar_to_string): Always call CHAR_STRING.
13676
13677 * emacs.c (main): Call init_charset_once, init_charset,
13678 syms_of_chartab, and syms_of_character.
13679
13680 * fileio.c: Include "character.h" instead of "charset.h".
13681 (Finsert_file_contents): Big change for the new code-conversion API.
13682 (choose_write_coding_system, Fwrite_region): Likewise.
13683 (build_annotations_2): Delete.
13684 (e_write): Big change for the new code-conversion API.
13685
13686 * fns.c: Include "character.h" instead of "charset.h".
13687 (copy_sub_char_table): Move to chartab.c.
13688 (Fcopy_sequence): Call copy_char_table for a char table.
13689 (concat): Delete codes calling count_multibyte.
13690 (string_char_to_byte, string_byte_to_char): Adjust for the new
13691 multibyte form.
13692 (internal_equal): Adjust for the change of char table structure.
13693 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13694 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13695 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13696 (char_table_translate, optimize_sub_char_table)
13697 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13698 chartab.c.
13699 (char_table_ref_and_index): Delete.
13700 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13701 (Fmd5): Call preferred_coding_system instead of accessing
13702 Vcoding_category_list. Adjust for the new code-conversion API.
13703 (syms_of_fns): Move defsubr for char table related functions to
13704 chartab.c.
13705
13706 * fontset.c: Mostly re-written.
13707
13708 * fontset.h (struct font_info): Change type of the member encoding_type.
13709 (enum FONT_SPEC_INDEX): New enum.
13710 (fontset_font_pattern, fs_load_font): Update prototype.
13711 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13712
13713 * indent.c: Include "character.h" instead of "charset.h".
13714 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13715
13716 * insdel.c: Include "character.h" instead of "charset.h".
13717 (copy_text): Don't refer to Vnonascii_translation_table.
13718 (insert_from_gap): New function.
13719
13720 * keyboard.c: Include "character.h" instead of "charset.h".
13721 (command_loop_1): Never call direct_output_forward_char before
13722 a non-ASCII character.
13723 (read_char): If Vkeyboard_translate_table is a char table, always
13724 translate a character.
13725
13726 * keymap.c: Include "character.h".
13727 (store_in_keymap): Handle the case that IDX is a cons.
13728 (Fdefine_key): Handle the case that KEY is a cons and the car part
13729 is also a cons (range).
13730 (push_key_description): Adjust for the new character code.
13731 (describe_vector): Call describe_char_table for a char table.
13732 (describe_char_table): New function.
13733
13734 * keymap.h (describe_char_table): Extern it.
13735
13736 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13737 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13738 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13739 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13740 Delete.
13741 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13742 structure.
13743 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13744 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13745 (CHARTAB_SIZE_BITS_3): New macros.
13746 (chartab_size): Extern it.
13747 (struct Lisp_Char_Table): Re-design.
13748 (struct Lisp_Sub_Char_Table): New structure.
13749 (HASH_KEY, HASH_VALUE): Move from fns.c.
13750 (CHARACTERBITS): Define as 22.
13751 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13752 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13753 (GC_SUB_CHAR_TABLE_P): New macro.
13754 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13755 (code_convert_string_norecord): Deleted extern.
13756 (init_character_once, syms_of_character, init_charset)
13757 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13758
13759 * lread.c: Include "character.h".
13760 (read_multibyte): New arg NBYTES.
13761 (read_escape): Change the meaning of returned *BYTEREP.
13762 (to_multibyte): Delete.
13763 (read1): Adjust the handling of char table and string.
13764
13765 * print.c: Include "character.h" instead of "charset.h".
13766 (print_string): Convert 8-bit raw bytes to octal form by
13767 string_escape_byte8.
13768 (print_object): Adjust for the new multibyte form. Print 8-bit
13769 raw bytes always in octal form. Handle sub char table correctly.
13770
13771 * process.c: Include "character.h" instead of "charset.h".
13772 (read_process_output, send_process): Adjust for the new
13773 code-conversion API.
13774
13775 * puresize.h (BASE_PURESIZE): Increase.
13776
13777 * regex.c: Include "character.h" instead of "charset.h".
13778 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13779 (regex_compile): Accept a range whose starting and ending
13780 character have different leading bytes.
13781 (analyse_first): Adjust for the above change.
13782
13783 * search.c: Include "character.h" instead of "charset.h".
13784 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13785 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13786
13787 * syntax.c: Include "character.h" instead of "charset.h".
13788 (syntax_parent_lookup): Delete.
13789 (Fmodify_syntax_entry): Accept a cons as CHAR.
13790 (skip_chars): Adjust for the new multibyte form.
13791 (init_syntax_once): Call char_table_set_range instead of directly
13792 accessing the structure of a char table.
13793
13794 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13795 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13796 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13797 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13798
13799 * term.c: Include "buffer.h" and "character.h".
13800 (encode_terminal_code, write_glyphs): Adjust for the new
13801 code-conversion API.
13802 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13803
13804 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13805
13806 * xdisp.c: Include "character.h".
13807 (get_next_display_element): Adjust for the new multibyte form.
13808 (disp_char_vector): Adjust for the new char table structure.
13809 (decode_mode_spec_coding): Adjust for the new structure of
13810 coding system.
13811 (decode_mode_spec): Adjust for the new code-conversion API.
13812
13813 * xfaces.c: Include "character.h" instead of "charset.h".
13814 (load_face_font): Adjust for the change of choose_face_font and
13815 FS_LOAD_FONT.
13816 (generate_ascii_font): New function.
13817 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13818 (set_font_frame_param): Adjust for the change of choose_face_font.
13819 (free_realized_face): Make it public.
13820 (free_realized_faces_for_fontset): Rename from
13821 free_realized_multibyte_face. Free also faces realized for ASCII.
13822 (choose_face_font): Change arguments. Adjust for the change of
13823 fontset_font_pattern and FS_LOAD_FONT.
13824
13825 * xfns.c: Include "character.h".
13826 (x_encode_text): Adjust for the new code-conversion API.
13827
13828 * xselect.c: Don't include "charset.h".
13829 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13830
13831 * xterm.c: Include "character.h".
13832 (x_encode_char): New argument CHARSET. Change caller.
13833 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13834 Call ENCODE_CHAR instead of SPLIT_CHAR.
13835 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13836 CHAR_WIDTH instead of CHARSET_WIDTH.
13837 (XTread_socket): Adjust for the new code-conversion API.
13838 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13839 (x_load_font): Adjust for the change of struct font.
13840
138412008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13842
13843 * xfaces.c (face_at_buffer_position): Remove unused vars.
13844
138452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13846
13847 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13848 Fix overflow checking.
13849
138502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13851
13852 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13853 Cancel previous change.
13854
138552008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13856
13857 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13858 ccl->eight_bit_control. Fix check for buffer overflow.
13859 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13860 (ccl_driver): Initialize extra_bytes to 0.
13861
138622008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13863
13864 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13865 return it ORed with ctrl_modifier.
13866
138672008-01-29 Miles Bader <miles@gnu.org>
13868
13869 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13870
138712008-01-28 Jason Rumney <jasonr@gnu.org>
13872
13873 * w32.c (stat): Don't double check for networked drive.
13874
138752008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13876
13877 * window.c (run_window_configuration_change_hook): New function.
13878 Code extracted from set_window_buffer. Set the selected frame.
13879 (set_window_buffer): Use it.
13880 * window.h (run_window_configuration_change_hook): Declare.
13881 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13882
13883 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13884
138852008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13886
13887 * Makefile.in: Remove references to unused macros.
13888
138892008-01-26 Eli Zaretskii <eliz@gnu.org>
13890
13891 * w32.c (g_b_init_get_sid_sub_authority)
13892 (g_b_init_get_sid_sub_authority_count): New static variables.
13893 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13894 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13895 (init_user_info): Use them to retrieve uid and gid.
13896 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13897 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13898 st_uid and st_gid of the file.
13899
139002008-01-26 Jason Rumney <jasonr@gnu.org>
13901
13902 * w32.c (logon_network_drive): New function.
13903 (stat): Use it.
13904
139052008-01-26 Chong Yidong <cyd@stupidchicken.com>
13906
13907 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13908 invisible text covered with an ellipsis.
13909
139102008-01-25 Richard Stallman <rms@gnu.org>
13911
13912 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13913 jump back to beginning. Move some other initializations after that.
13914 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13915 New variables.
13916 (syms_of_xdisp): Init them.
13917
13918 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13919
13920 * buffer.c (reset_buffer_local_variables):
13921 Implement `permanent-local-hook'.
13922 (Qpermanent_local_hook): New variable.
13923 (syms_of_buffer): Init and staticpro it.
13924
139252008-01-25 Michael Albinus <michael.albinus@gmx.de>
13926
13927 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13928
139292008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13930
13931 * fns.c (Fclrhash): Return TABLE.
13932
139332008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13934
13935 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13936 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13937 is set even without positional changes.
13938 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13939
13940 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13941
139422008-01-23 Jason Rumney <jasonr@gnu.org>
13943
13944 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13945
13946 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13947 the unicode range available in MULE by locale-coding-system.
13948 Improve dbcs lead byte detection. Set event timestamp and modifiers
13949 earlier.
13950
139512008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13952
13953 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13954 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13955 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13956 when used on child processes.
13957
139582008-01-21 Michael Albinus <michael.albinus@gmx.de>
13959
13960 * dbusbind.c (Fdbus_method_return_internal): Rename from
13961 Fdbus_method_return.
13962 (Fdbus_unregister_object): Move to dbus.el.
13963 (Fdbus_call_method, Fdbus_method_return_internal)
13964 (Fdbus_send_signal): Improve debug messages.
13965
139662008-01-20 Martin Rudalics <rudalics@gmx.at>
13967
13968 * undo.c (undo_inhibit_record_point): New variable.
13969 (syms_of_undo): Initialize it.
13970 (record_point): Don't record point when undo_inhibit_record_point
13971 is set.
13972
139732008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13974
13975 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13976
13977 * xdisp.c (Qauto_hscroll_mode): New var.
13978 (syms_of_xdisp): Initialize it.
13979 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13980 window's buffer.
13981 (hscroll_windows): Don't check automatic_hscrolling_p here.
13982
13983 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13984 vscroll if we're setting window-buffer to the value it already has.
13985
139862008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13987
13988 * m/intel386.h: Remove references to XENIX.
13989
139902008-01-17 Andreas Schwab <schwab@suse.de>
13991
13992 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13993 instead of HAVE_X86_64_LIB64_DIR.
13994 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13995
139962008-01-17 Glenn Morris <rgm@gnu.org>
13997
13998 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13999 to HAVE_X86_64_LIB64_DIR.
14000
140012008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
14002
14003 * s/irix3-3.h:
14004 * s/irix4-0.h:
14005 * s/386-ix.h:
14006 * s/domain.h:
14007 * s/hpux9-x11r4.h:
14008 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14009
14010 * sysdep.c: Remove code containing references to symbols defined
14011 by unsupported systems.
14012
140132008-01-16 Glenn Morris <rgm@gnu.org>
14014
14015 * coding.c (select-safe-coding-system-function): Doc fix.
14016
140172008-01-15 Glenn Morris <rgm@gnu.org>
14018
14019 * config.in: Revert 2008-01-13 change: this is a generated file.
14020
140212008-01-13 Tom Tromey <tromey@redhat.com>
14022
14023 * lisp.h: Fix typo.
14024
140252008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14026
14027 * m/sequent-ptx.h:
14028 * m/sequent.h:
14029 * s/ptx.h:
14030 * s/ptx4-2.h:
14031 * s/ptx4.h: Remove files for systems no longer supported.
14032
14033 * callproc.c (Fcall_process): Fix previous change.
14034
140352008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14036
14037 * unexsunos4.c: Remove file, system not supported anymore.
14038
14039 * m/mips.h:
14040 * m/intel386.h:
14041 * callproc.c:
14042 * config.in:
14043 * ecrt0.c:
14044 * emacs.c:
14045 * fileio.c:
14046 * frame.c:
14047 * getpagesize.h:
14048 * keyboard.c:
14049 * lread.c:
14050 * process.c:
14051 * puresize.h:
14052 * sysdep.c:
14053 * systty.h:
14054 * syswait.h:
14055 * unexec.c:
14056 * xdisp.c:
14057 * alloc.c: Remove code containing references to symbols defined by
14058 unsupported systems.
14059
140602008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14061
14062 * coding.c (detect_coding_mask): Fix previous change.
14063
140642008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14065
14066 * coding.c (detect_coding_iso2022): New arg
14067 latin_extra_code_state. Allow Latin extra codes only
14068 when *latin_extra_code_state is nonzero.
14069 (detect_coding_mask): If there is a NULL byte, detect the encoding
14070 as UTF-16 or binary. If Latin extra codes exist, detect the
14071 encoding as ISO-2022 only when there's no other proper encoding is
14072 found.
14073
140742008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14075
14076 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14077 #ifdef MAC_OS.
14078
140792008-01-08 Richard Stallman <rms@gnu.org>
14080
14081 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14082
140832008-01-06 Nick Roberts <nickrob@snap.net.nz>
14084
14085 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14086 menu bar in parentheses.
14087
140882008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14089
14090 * m/7300.h:
14091 * m/acorn.h:
14092 * m/alliant-2800.h:
14093 * m/alliant.h:
14094 * m/alliant1.h:
14095 * m/alliant4.h:
14096 * m/altos.h:
14097 * m/amdahl.h:
14098 * m/apollo.h:
14099 * m/att3b.h:
14100 * m/aviion-intel.h:
14101 * m/aviion.h:
14102 * m/celerity.h:
14103 * m/clipper.h:
14104 * m/cnvrgnt.h:
14105 * m/convex.h:
14106 * m/cydra5.h:
14107 * m/delta88k.h:
14108 * m/dpx2.h:
14109 * m/dual.h:
14110 * m/elxsi.h:
14111 * m/f301.h:
14112 * m/gould-np1.h:
14113 * m/gould.h:
14114 * m/i860.h:
14115 * m/ibmps2-aix.h:
14116 * m/ibmrt-aix.h:
14117 * m/ibmrt.h:
14118 * m/irist.h:
14119 * m/is386.h:
14120 * m/isi-ov.h:
14121 * m/mega68.h:
14122 * m/mg1.h:
14123 * m/news-r6.h:
14124 * m/news-risc.h:
14125 * m/news.h:
14126 * m/nh3000.h:
14127 * m/nh4000.h:
14128 * m/ns16000.h:
14129 * m/ns32000.h:
14130 * m/nu.h:
14131 * m/orion.h:
14132 * m/orion105.h:
14133 * m/paragon.h:
14134 * m/pfa50.h:
14135 * m/plexus.h:
14136 * m/pyramid.h:
14137 * m/pyrmips.h:
14138 * m/sh3el.h:
14139 * m/sps7.h:
14140 * m/sr2k.h:
14141 * m/stride.h:
14142 * m/sun1.h:
14143 * m/sun2.h:
14144 * m/sun3-68881.h:
14145 * m/sun3-fpa.h:
14146 * m/sun3-soft.h:
14147 * m/sun3.h:
14148 * m/sun386.h:
14149 * m/symmetry.h:
14150 * m/tad68k.h:
14151 * m/tahoe.h:
14152 * m/targon31.h:
14153 * m/tek4300.h:
14154 * m/tekxd88.h:
14155 * m/tower32.h:
14156 * m/tower32v3.h:
14157 * m/ustation.h:
14158 * m/wicat.h:
14159 * m/xps100.h:
14160 * s/cxux.h:
14161 * s/cxux7.h:
14162 * s/dgux.h:
14163 * s/dgux4.h:
14164 * s/dgux5-4-3.h:
14165 * s/dgux5-4r2.h:
14166 * s/esix.h:
14167 * s/esix5r4.h:
14168 * s/hiuxmpp.h:
14169 * s/hiuxwe2.h:
14170 * s/iris3-5.h:
14171 * s/iris3-6.h:
14172 * s/isc2-2.h:
14173 * s/isc3-0.h:
14174 * s/isc4-0.h:
14175 * s/isc4-1.h:
14176 * s/newsos5.h:
14177 * s/newsos6.h:
14178 * s/osf1.h:
14179 * s/osf5-0.h:
14180 * s/riscix1-1.h:
14181 * s/riscix12.h:
14182 * s/sco4.h:
14183 * s/sco5.h:
14184 * s/sunos4-0.h:
14185 * s/sunos4-1.h:
14186 * s/sunos413.h:
14187 * s/sunos4shr.h:
14188 * s/umax.h:
14189 * s/unipl5-2.h:
14190 * s/xenix.h:
14191 * cxux-crt0.s:
14192 * unexapollo.c:
14193 * unexconvex.c:
14194 * unexenix.c:
14195 * unexsni.c: Remove files for systems no longer supported.
14196
14197 * m/intel386.h: Remove references to unsupported systems.
14198
14199 * w32.c (get_emacs_configuration): Remove reference to i860.
14200
14201 * sysdep.c: Remove dead code.
14202
142032008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14204
14205 * s/rtu.h:
14206 * m/masscomp.h: Remove files. Platform is obsolete.
14207
142082008-01-04 Michael Albinus <michael.albinus@gmx.de>
14209
14210 * dbusbind.c (Fdbus_method_return): New function.
14211 (xd_read_message): Add the serial number to the event.
14212 (Fdbus_register_method): Activate the function.
14213
142142008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14215
14216 * keyboard.c (read_key_sequence): Fix typo.
14217
142182008-01-03 Michael Albinus <michael.albinus@gmx.de>
14219
14220 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14221 (xd_signature, xd_append_arg): Handle element type detection for
14222 empty arrays.
14223 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14224 SDATA () calls; this must be solved more general.
14225 (Fdbus_register_signal): Use SBYTES instead of strlen.
14226
142272008-01-03 Magnus Henoch <magnus@zemdatav>
14228
14229 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14230 unsigned int for byte values (necessary for big-endian platform).
14231 (Fdbus_call_method): Handle the case of no returned arguments.
14232
142332007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14234
14235 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14236
142372007-12-31 Magnus Henoch <mange@freemail.hu>
14238
14239 * dbusbind.c (xd_signature): Signature of variant is just "v".
14240
142412007-12-30 Michael Albinus <michael.albinus@gmx.de>
14242
14243 * dbusbind.c: Fix several errors and compiler warnings.
14244 Reported by Tom Tromey <tromey@redhat.com>.
14245 (XD_ERROR, XD_DEBUG_MESSAGE)
14246 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14247 (xd_append_arg): Part for basic D-Bus types rewritten.
14248 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14249 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14250 appropriate.
14251 (xd_read_message): Return Qnil. Don't signal an error; it is not
14252 useful during event reading.
14253 (Fdbus_register_signal): Signal an error if the check for
14254 FUNCTIONP fails.
14255 (Fdbus_register_method): New function. The implementation is not
14256 complete, the call of the function signals an error therefore.
14257 (Fdbus_unregister_object): New function, renamed from
14258 Fdbus_unregister_signal. The initial check signals an error, if
14259 the object is not well formed.
14260
142612007-12-30 Richard Stallman <rms@gnu.org>
14262
14263 * textprop.c (get_char_property_and_overlay):
14264 Signal error if POSITION is out of range in a buffer.
14265
142662007-12-29 Martin Rudalics <rudalics@gmx.at>
14267
14268 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14269 because the original parameters are in pure storage now.
14270
142712007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14272
14273 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14274
142752007-12-22 Eli Zaretskii <eliz@gnu.org>
14276
14277 * callint.c (syms_of_callint) <command-history>: Add reference to
14278 history-length in the doc string.
14279
142802007-12-17 Jason Rumney <jasonr@gnu.org>
14281
14282 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14283 before passing as wParam.
14284
142852007-12-22 Michael Albinus <michael.albinus@gmx.de>
14286
14287 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14288 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14289 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14290 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14291 as number.
14292 (Fdbus_call_method): Fix docstring.
14293
142942007-12-21 Michael Albinus <michael.albinus@gmx.de>
14295
14296 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14297 New macros.
14298 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14299 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14300 Simplify.
14301 (xd_signature): New function.
14302 (xd_append_arg): Compute also signatures. Major rewrite.
14303 (xd_retrieve_arg): Make debug messages friendly.
14304 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14305 Check for signatures of arguments.
14306
143072007-12-19 Michael Albinus <michael.albinus@gmx.de>
14308
14309 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14310 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14311 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14312 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14313 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14314 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14315 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14316 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14317 (xd_retrieve_value): Remove. Functionality included in ...
14318 (xd_append_arg): New function.
14319 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14320
143212007-12-16 Michael Albinus <michael.albinus@gmx.de>
14322
14323 * dbusbind.c (top): Include <stdio.h>.
14324 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14325 dbus_message_new_method_call and dbus_message_new_signal.
14326 (Fdbus_register_signal): Rename unique_name to uname.
14327 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14328 non-existing unique name. Fix typos in matching rule. Return an
14329 object which is useful in Fdbus_unregister_signal.
14330 (Fdbus_unregister_signal): Reimplementation, in order to remove
14331 only the corresponding entry.
14332 (Vdbus_registered_functions_table): Change the order of entries.
14333 Apply these changes in xd_read_message and Fdbus_register_signal.
14334
143352007-12-16 Andreas Schwab <schwab@suse.de>
14336
14337 * fileio.c (Finsert_file_contents): Fix overflow check to not
14338 depend on undefined integer overflow.
14339
143402007-12-14 Jason Rumney <jasonr@gnu.org>
14341
14342 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14343 for characters above 127.
14344
143452007-12-13 Jason Rumney <jasonr@gnu.org>
14346
14347 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14348 before dereferencing array.
14349 (lookup_vk_code): Remove zero comparison.
14350
143512007-12-14 Michael Albinus <michael.albinus@gmx.de>
14352
14353 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14354 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14355 Use `unsigned int' instead of `uint'.
14356 (xd_read_message, Fdbus_register_signal): Split expressions into
14357 multiple lines before operators "&&" and "||", according to the
14358 GNU Coding Standards.
14359
143602007-12-14 Eli Zaretskii <eliz@gnu.org>
14361
14362 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14363
143642007-12-12 Juri Linkov <juri@jurta.org>
14365
14366 * buffer.c (Frename_buffer): In interactive spec replace
14367 `read-buffer' with `read-string' that uses `buffer-name-history'
14368 as history, and the current buffer's name as default.
14369
143702007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14371
14372 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14373 manipulating the backtrace manually.
14374 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14375 (struct backtrace, backtrace_list): Remove.
14376 (command_loop_1): Remove dead var `no_direct'.
14377
14378 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14379 preserve non-built-in buffer-local variables.
14380 (Fkill_all_local_variables): Don't re-create&re-set permanent
14381 buffer-local variables.
14382
143832007-12-09 Juri Linkov <juri@jurta.org>
14384
14385 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14386 Lisp code that uses `read-buffer' with current buffer as default.
14387
143882007-12-08 Michael Albinus <michael.albinus@gmx.de>
14389
14390 * dbusbind.c (xd_read_message): Generate an event for every
14391 registered handler. There might be several handlers registered
14392 for the same signal.
14393 (Fdbus_register_signal): Don't overwrite a registration for the
14394 same signal. Add a new registration if handlers are different.
14395 (Vdbus_registered_functions_table): Rework doc string.
14396
143972007-12-07 Michael Albinus <michael.albinus@gmx.de>
14398
14399 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14400 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14401 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14402 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14403 Unify argument lists.
14404 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14405 arguments and hash table keys. Use unique name for service.
14406 (Fdbus_unregister_signal): Remove checks.
14407 (Vdbus_registered_functions_table): Fix doc string.
14408
144092007-12-05 Magnus Henoch <mange@freemail.hu>
14410
14411 * process.c (make_process): Initialize pty_flag to 0.
14412
144132007-12-05 Jason Rumney <jasonr@gnu.org>
14414
14415 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14416 specified XBMs.
14417
144182007-12-05 Richard Stallman <rms@gnu.org>
14419
14420 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14421
144222007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14423
14424 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14425 New variable.
14426 (mac_try_close_socket) [MAC_OSX]: New function.
14427 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14428 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14429
14430 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14431 Use mac_try_close_socket.
14432
144332007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14434
14435 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14436 reloc_base.
14437 (copy_dysymtab): Compute relocation base here.
14438 (rebase_reloc_address) [__ppc64__]: New function.
14439 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14440 changed.
14441
144422007-12-05 Jason Rumney <jasonr@gnu.org>
14443
14444 * w32proc.c (sys_spawnve): Quote args with wildcards.
14445
144462007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14447
14448 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14449 __objc_* sections.
14450 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14451
144522007-12-05 Michael Albinus <michael.albinus@gmx.de>
14453
14454 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14455 Move check for Vdbus_registered_functions_table to
14456 xd_read_queued_messages.
14457 (xd_read_queued_messages): Protect xd_read_message calls by
14458 internal_condition_case_1.
14459
144602007-12-04 Michael Albinus <michael.albinus@gmx.de>
14461
14462 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14463 Qdbus_system_bus and Qdbus_session_bus, respectively.
14464 (Vdbus_intern_symbols): Remove.
14465 (Vdbus_registered_functions_table): New hash table.
14466 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14467 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14468 Rewrite in order to manage registered functions by hash table
14469 Vdbus_registered_functions_table.
14470
144712007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14472
14473 * xterm.c: Update URL to Window Manager Specification in comment.
14474
144752007-12-02 Michael Albinus <michael.albinus@gmx.de>
14476
14477 * config.in (HAVE_DBUS): Add.
14478
14479 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14480 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14481 (obj): Add $(DBUS_OBJ).
14482 (LIBES): Add $(DBUS_LIBS).
14483 (dbusbind.o): New target.
14484
14485 * dbusbind.c: New file.
14486
14487 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14488
14489 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14490 (Qdbus_event): New Lisp symbol.
14491 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14492 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14493 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14494
14495 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14496
144972007-12-01 Richard Stallman <rms@gnu.org>
14498
14499 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14500
145012007-11-30 Jason Rumney <jasonr@gnu.org>
14502
14503 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14504 (w32con_reset_terminal_modes): Clear screen buffer.
14505 (w32_face_attributes): Don't use color indexes that are out of range.
14506 Only reverse the default colors.
14507
14508 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14509 WINDOWSNT.
14510
14511 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14512
145132007-11-29 Jason Rumney <jasonr@gnu.org>
14514
14515 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14516 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14517 if the terminal colors are initialized.
14518 (unspecified_fg, unspecified_bg): Remove unused declarations.
14519
145202007-11-29 Andreas Schwab <schwab@suse.de>
14521
14522 * keyboard.c (apply_modifiers): Fix typo.
14523
145242007-11-29 Richard Stallman <rms@gnu.org>
14525
14526 * keymap.c (Fcurrent_local_map): Doc fix.
14527
145282007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14529
14530 * s/gnu-kfreebsd.h: New file.
14531
145322007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14533
14534 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14535 Don't cast redundantly.
14536
14537 * keyboard.c (KEY_TO_CHAR): New macro.
14538 (parse_modifiers, apply_modifiers): Accept integer arguments.
14539 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14540 for chars and symbol keys.
14541 After doing such remapping, apply function-key-map again.
14542
145432007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14544
14545 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14546 compiled anymore.
14547
145482007-11-26 Andreas Schwab <schwab@suse.de>
14549
14550 * process.c (list_processes_1): Fix indentation level of the
14551 command column.
14552
145532007-11-23 Andreas Schwab <schwab@suse.de>
14554
14555 * editfns.c (Fformat): Handle %c specially since it requires the
14556 argument to be of type int.
14557
145582007-11-23 Markus Triska <markus.triska@gmx.at>
14559
14560 * emacs.c (main): Call init_editfns before init_process, since
14561 init_process sets Vprocess_connection_type depending on OS release.
14562
145632007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14564
14565 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14566 (find_symbol_value): Use do_symval_forwarding.
14567
14568 * data.c (set_internal): Set the value in the `cons-cell' (for
14569 Buffer_Local_values) not only for frame-local variables.
14570
145712007-11-22 Andreas Schwab <schwab@suse.de>
14572
14573 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14574 values to sprintf.
14575 * keymap.c (Fsingle_key_description): Likewise.
14576 * print.c (print_object): Likewise.
14577
145782007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14579
14580 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14581 file for image is nil.
14582
145832007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14584
14585 * term.c: Include stdarg.h.
14586 (fatal): Implement using varargs.
14587 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14588
145892007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14590
14591 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14592 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14593 Update call to buffer_slot_type_mismatch.
14594 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14595 (buffer_slot_type_mismatch): Update.
14596 * buffer.c (buffer_local_types): Remove.
14597 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14598 (defvar_per_buffer): Set the type in the buffer_objfwd.
14599
146002007-11-21 Jason Rumney <jasonr@gnu.org>
14601
14602 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14603 CreateFileMapping returns NULL on failure.
14604
146052007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14606
14607 * search.c (Fset_match_data): Remove the `evaporate' feature.
14608 (unwind_set_match_data): Don't use the `evaporate' feature.
14609
146102007-11-21 Jason Rumney <jasonr@gnu.org>
14611
14612 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14613
14614 * w32console.c (w32con_write_glyphs): Remove unused variables.
14615
146162007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14617
14618 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14619
14620 * s/darwin.h (MULTI_KBOARD): Remove.
14621
14622 * macfns.c (x_create_tip_frame, Fx_create_frame)
14623 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14624
146252007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14626
14627 * buffer.c (Fbuffer_local_value): Remove redundant test.
14628 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14629 than in `current-buffer' to match the comment.
14630 Do the swap using swap_in_global_binding.
14631
14632 * data.c (store_symval_forwarding, set_internal):
14633 * eval.c (specbind): Remove dead code.
14634
14635 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14636 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14637 Since we do not want to see internal Lisp_*fwd objects here.
14638
146392007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14640
14641 * sysdep.c (init_system_name): Use getaddrinfo if available.
14642
14643 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14644 (x_scroll_bar_note_movement): start, end, with, height in struct
14645 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14646
146472007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14648
14649 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14650
146512007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14652
14653 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14654 This undoes Richard's change of 14-Oct-2002.
14655
14656 * alloc.c (allocate_other_vector):
14657 * lisp.h (allocate_other_vector): Remove.
14658
14659 * window.c (struct save_window_data): Move non-lisp data to the end
14660 and make it `int' rather than Lisp_Object.
14661 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14662 Done wrap/unwrap integer values.
14663 (Fset_window_configuration, compare_window_configurations):
14664 Update use of fields to their new types.
14665
14666 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14667 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14668 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14669 (SET_SCROLL_BAR_X_WINDOW): Remove.
14670 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14671 Access the new x_window field directly.
14672 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14673 Don't wrap/unwrap integers into Lisp_Objects.
14674 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14675 (x_scroll_bar_report_motion):
14676 Don't wrap/unwrap integers into Lisp_Objects.
14677 (x_term_init): Use SDATA.
14678 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14679 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14680 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14681 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14682 * xfns.c (x_set_background_color):
14683 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14684 Access the new x_window field directly.
14685
14686 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14687 (allocate_pseudovector): Make non-static.
14688
14689 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14690 (allocate_pseudovector): Declare.
14691 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14692
146932007-11-15 Andreas Schwab <schwab@suse.de>
14694
14695 * editfns.c (Fformat): Correctly format EMACS_INT values.
14696 Also take precision into account when formatting an integer.
14697
14698 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14699
147002007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14701
14702 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14703 (syms_of_keyboard): Defsubr it.
14704
14705 * data.c (swap_in_global_binding): Fix longstanding bug where
14706 store_symval_forwarding was not called with the right second argument,
14707 thus causing objfwd-ing from being dropped.
14708
147092007-11-14 Juanma Barranquero <lekktu@gmail.com>
14710
14711 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14712 (Fx_display_pixel_height, Fx_display_planes)
14713 (Fx_display_color_cells, Fx_server_max_request_size)
14714 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14715 (Fx_display_visual_class, Fx_display_save_under):
14716 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14717 (Fx_display_pixel_height, Fx_display_planes)
14718 (Fx_display_color_cells, Fx_server_max_request_size)
14719 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14720 (Fx_display_mm_height, Fx_display_mm_width)
14721 (Fx_display_backing_store, Fx_display_visual_class)
14722 (Fw32_select_font, Fx_display_save_under):
14723 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14724 (Fx_display_pixel_height, Fx_display_planes)
14725 (Fx_display_color_cells, Fx_server_max_request_size)
14726 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14727 (Fx_display_save_under): Fix typos in docstrings.
14728
147292007-11-14 Juanma Barranquero <lekktu@gmail.com>
14730
14731 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14732 corresponding to deleted entries; they are an implementation detail.
14733 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14734 Remove variables.
14735 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14736 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14737 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14738 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14739 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14740 (Fw32_define_rgb_color, Fw32_load_color_file)
14741 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14742 Fix typos in docstrings.
14743 (Fx_server_version): Reflow docstring.
14744 (Fw32_shell_execute): Doc fixes.
14745
147462007-11-13 Juanma Barranquero <lekktu@gmail.com>
14747
14748 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14749 if w32_parse_hot_key returned nil.
14750
147512007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14752
14753 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14754
147552007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14756
aac0c6e3
MR
14757 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14758
14759 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14760
14761 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14762 Remove W32_SCROLL_BAR_CLICK_EVENT.
14763
14764 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14765 Add MULTIMEDIA_KEY_EVENT.
14766
14767 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14768 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14769 (make_lispy_event) [WINDOWSNT]: Use it to translate
14770 MULTIMEDIA_KEY_EVENT.
14771
14772 * w32term.h (WM_APPCOMMAND): Define if not already.
14773 (GET_APPCOMMAND_LPARAM): Likewise.
14774
14775 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14776 WM_APPCOMMAND.
14777
14778 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14779 (syms_of_w32fns): Export and initialize it.
14780 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14781
147822007-11-09 Chong Yidong <cyd@stupidchicken.com>
14783
14784 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14785 twice.
14786
14787 * xdisp.c (handle_face_prop): Fix last change.
14788
147892007-11-09 Richard Stallman <rms@gnu.org>
14790
14791 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14792 not just for after-strings and before-strings.
14793 Call face_for_overlay_string and pass the overlay to it.
14794 (handle_display_prop): Determine whether property came from an overlay.
14795 Pass OVERLAY arg to handle_single_display_spec.
14796 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14797 (load_overlay_strings): Fill in it->string_overlays.
14798 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14799
14800 * xfaces.c (face_for_overlay_string): Function renamed from
14801 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14802
14803 * dispextern.h (struct it): New elt string_overlays.
14804 New elt from_overlay, also in stack.
14805 Rearrange a few elements.
14806 (face_for_overlay_string): Decl renamed from
14807 face_at_buffer_position_no_overlays, and add argument.
14808
148092007-11-09 Richard Stallman <rms@gnu.org>
14810
14811 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14812 to get the base face for an overlay string.
14813
14814 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14815
14816 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14817
14818 * xdisp.c (handle_stop): Move some code out of loop.
14819
148202007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14821
14822 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14823 Fix conversion from Lisp object to ATSUFontID.
14824
148252007-11-09 Jason Rumney <jasonr@gnu.org>
14826
14827 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14828
148292007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14830
14831 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14832 Don't assume regions are aligned to page boundary.
14833 (print_load_command_name): Add LC_UUID if defined.
14834
148352007-11-09 Richard Stallman <rms@gnu.org>
14836
14837 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14838
148392007-11-07 Jason Rumney <jasonr@gnu.org>
14840
14841 * s/windows95.h: Remove.
14842
148432007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14844
14845 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14846 abort with a message on unhandled store_type values.
14847
148482007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14849
14850 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14851 Remove HAVE_X11R5 and HAVE_X11R4.
14852
148532007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14854
14855 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14856
148572007-11-01 Johan Bockgård <bojohan@gnu.org>
14858
14859 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14860 Don't set s->stippled_p here, since it has already been set by
14861 x_set_glyph_string_gc from x_draw_glyph_string.
14862
148632007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14864
14865 * sunfns.c: Remove file.
14866
14867 * m/sun386.h:
14868 * m/sun2.h:
14869 * m/sparc.h: Remove Sun windows code.
14870
148712007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14872
14873 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14874 (init_keyboard): Set current_kboard's window-system to nil.
14875 (tty_read_avail_input): Typo.
14876 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14877
148782007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14879
14880 * s/usg5-4.h:
14881 * s/usg5-3.h:
14882 * s/ptx.h:
14883 * m/is386.h:
14884 * m/ibmps2-aix.h:
14885 * Makefile.in: Remove all mentions of X10.
14886
14887 * dispnew.c (syms_of_display): Don't mention version 10.
14888
148892007-10-28 Juanma Barranquero <lekktu@gmail.com>
14890
14891 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14892 ($(BLD)/abbrev.$(O)): Remove.
14893
148942007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14895
14896 Rewrite abbrev.c in Elisp.
14897 * image.c (Qcount): Don't declare as extern.
14898 (syms_of_image): Initialize and staticpro `Qcount'.
14899 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14900 * emacs.c (main): Don't call syms_of_abbrev.
14901 * Makefile.in (obj): Remove abbrev.o.
14902 (abbrev.o): Remove.
14903 * abbrev.c: Remove.
14904
149052007-10-26 Martin Rudalics <rudalics@gmx.at>
14906
14907 * window.c (window_min_size_2): Don't count header-line.
14908
149092007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14910
14911 * frame.h (struct frame): Move all bit fields after the first bit
14912 field to take advantage of the available space. Group all the
14913 chars together to reduce wasted space due to padding.
14914
149152007-10-26 Juanma Barranquero <lekktu@gmail.com>
14916
14917 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14918
14919 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14920 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14921 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14922 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14923 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14924 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14925 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14926 (last_marked, mark_object_loop_halt): Make static.
14927
14928 * frame.c (syms_of_frame) <delete-frame-functions>:
14929 Fix typo in docstring.
14930
149312007-10-25 Juanma Barranquero <lekktu@gmail.com>
14932
14933 * w32.c (init_environment): Fix tiny memory leak.
14934 (w32_get_resource): Remove unused variable `ok'.
14935
149362007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14937
14938 Make `window-system' into a keyboard-local variable (rather than
14939 frame-local as done originally by multi-tty).
14940
14941 * keyboard.h (struct kboard): Add Vwindow_system.
14942 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14943 (mark_kboards): Mark Vwindow_system.
14944
14945 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14946 (init_display): Don't set the obsolete `window-system' frame-param.
14947
14948 * xterm.c (x_term_init):
14949 * w32term.c (w32_create_terminal):
14950 * term.c (init_tty): Set Vwindow_system.
14951 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14952 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14953
14954 * xfns.c (Fx_create_frame, x_create_tip_frame):
14955 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14956 * macfns.c (Fx_create_frame):
14957 Don't set the obsolete `window-system' frame-param.
14958
14959 * frame.h (Qwindow_system): Remove.
14960 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14961 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14962
149632007-10-24 Richard Stallman <rms@gnu.org>
14964
14965 * frame.c (x_figure_window_size): For fullscreen case,
14966 set USPosition | PPosition without clobbering rest of window_prompting.
14967
14968 * keyboard.c (Fcurrent_idle_time): Doc fix.
14969
14970 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14971
149722007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14973
14974 * process.c (unwind_request_sigio): Only define if __ultrix__.
14975
14976 * callproc.c (child_setup): Remove spurious *.
14977
14978 * lisp.h (Fget_text_property): Declare.
14979 (have_menus_p): Declare it here rather than in sys-dep header files.
14980 * macterm.h (have_menus_p):
14981 * msdos.h (have_menus_p):
14982 * xterm.h (have_menus_p): Remove.
14983
14984 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14985 (Fmake_variable_frame_local): Just check the variable's const-ness
14986 rather than checking nil or t.
14987
149882007-10-22 Jason Rumney <jasonr@gnu.org>
14989
14990 * w32fns.c: Include math.h.
14991 (w32_abort): Declaration moved to nt/config.nt.
14992
14993 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14994 (abort): Redefinition moved to nt/config.nt.
14995
14996 * m/windowsnt.h: Remove.
14997
149982007-10-22 Juanma Barranquero <lekktu@gmail.com>
14999
15000 * emacs.c (Fdump_emacs): Fix typo in message.
15001 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
15002 <installation-directory>: Reflow docstring.
15003
150042007-10-22 Juri Linkov <juri@jurta.org>
15005
15006 * minibuf.c: Allow minibuffer default to be a list of default values.
15007 With empty input use the first element of this list as returned default.
15008 (string_to_object)
15009 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15010 (read_minibuf): If defalt is cons, set histstring to its car.
15011 (Fread_string): If default_value is cons, set val to its car.
15012 (Fread_buffer): If def is cons, use its car.
15013 (Fcompleting_read): If defalt is cons, set val to its car.
15014
150152007-10-21 Michael Albinus <michael.albinus@gmx.de>
15016
15017 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15018
150192007-10-20 Juanma Barranquero <lekktu@gmail.com>
15020
15021 * doc.c (Fdocumentation): Check for advice in all cases.
15022
150232007-10-19 Chong Yidong <cyd@stupidchicken.com>
15024
15025 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15026
150272007-10-19 Richard Stallman <rms@gnu.org>
15028
15029 * doc.c (Fdocumentation): Check for and handle an advised function.
15030
150312007-10-19 Juanma Barranquero <lekktu@gmail.com>
15032
15033 * process.c (Fset_process_filter): Doc fix.
15034
150352007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15036
15037 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15038 which caused key-translation-map to applied repeatedly (thus breaking
15039 double-mode).
15040
150412007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15042
15043 * xselect.c (x_own_selection, x_handle_selection_clear)
15044 (x_clear_frame_selections):
15045 * w32menu.c (list_of_panes, list_of_items):
15046 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15047 * textprop.c (validate_plist, interval_has_all_properties)
15048 (interval_has_some_properties, interval_has_some_properties_list)
15049 (add_properties, text_property_list):
15050 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15051 * minibuf.c (Fassoc_string):
15052 * macselect.c (x_own_selection, x_clear_frame_selections)
15053 (Fx_disown_selection_internal):
15054 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15055 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15056
150572007-10-17 Chong Yidong <cyd@stupidchicken.com>
15058
15059 * process.c: Link to libs for calling res_init() if available.
15060 (Fmake_network_process): Call res_init() before getaddrinfo or
15061 gethostbyname, if possible.
15062
150632007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15064
15065 * lread.c (read1): Set pvectype for char_tables.
15066
15067 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15068 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15069 Add type checks.
15070 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15071
15072 * alloc.c (free_misc): Use XMISCTYPE.
15073 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15074
150752007-10-17 Glenn Morris <rgm@gnu.org>
15076
15077 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15078 (syms_of_minibuf): Add Qcompletion_ignore_case.
15079 * dired.c (Qcompletion_ignore_case): Change to external.
15080 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15081 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15082 (Fread_file_name): Use it rather than intern'ing.
15083
15084 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15085 (Fread_coding_system): Ignore case of user input.
15086
150872007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15088
15089 * xdisp.c (handle_display_prop): Ignore display specs after
15090 replacing one when string text is being replaced.
15091 (handle_single_display_spec): Pretend as if characters with display
15092 property haven't been consumed only when buffer text is being replaced.
15093
150942007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15095
15096 * xfns.c (Fx_create_frame, Fx_display_list):
15097 * window.c (window_fixed_size_p, enlarge_window)
15098 (shrink_window_lowest_first):
15099 * macterm.c (init_font_name_table):
15100 * macfns.c (Fx_create_frame, Fx_display_list):
15101 * lread.c (close_load_descs):
15102 * keyboard.c (read_char_x_menu_prompt):
15103 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15104 * coding.c (code_convert_region_unwind): Test the type of an object
15105 rather than just !NILP before extracting data from it.
15106
15107 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15108
15109 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15110 (XMISCANY): New macro.
15111 (XMISCTYPE): Use it.
15112 (struct Lisp_Misc_Any): New type.
15113 (union Lisp_Misc): Use it.
15114 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15115 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15116 (find_symbol_value, set_internal, default_value, Fset_default)
15117 (Fmake_variable_buffer_local, Fmake_local_variable)
15118 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15119 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15120 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15121 * alloc.c (allocate_buffer): Set the size and tag.
15122 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15123 Use XMISCANY.
15124 (die): Follow the GNU convention for error messages.
15125 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15126 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15127 tag any more.
15128 (set_buffer_internal_1):
15129 * frame.c (store_frame_param):
15130 * eval.c (specbind):
15131 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15132
15133 * doc.c (Fsnarf_documentation): Simplify.
15134
151352007-10-14 Juanma Barranquero <lekktu@gmail.com>
15136
15137 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15138 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15139
151402007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15141
15142 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15143
151442007-10-14 Juanma Barranquero <lekktu@gmail.com>
15145
15146 * eval.c (do_autoload): Don't save autoloads.
15147
15148 * data.c (Ffset): Save autoload of the function being set.
15149
151502007-10-07 John Paul Wallington <jpw@pobox.com>
15151
15152 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15153 parameter before setting up faces.
15154
151552007-10-13 Eli Zaretskii <eliz@gnu.org>
15156
15157 * ccl.c (Fregister_code_conversion_map):
15158 * keyboard.c (append_tool_bar_item): Reformat last change.
15159
15160 * lisp.h (eabs): Rename from `abs'. All callers changed.
15161
151622007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15163
15164 * buffer.c (add_overlay_mod_hooklist):
15165 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15166 * fontset.c (make_fontset):
15167 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15168 (append_tool_bar_item):
15169 * macmenu.c (grow_menu_items):
15170 * w32menu.c (grow_menu_items):
15171 * xmenu.c (grow_menu_items): Use larger_vector.
15172
151732007-10-13 Eli Zaretskii <eliz@gnu.org>
15174
15175 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15176 selected frame'' on MSDOS).
15177
151782007-10-12 Martin Rudalics <rudalics@gmx.at>
15179
15180 * frame.c (Qexplicit_name): New variable.
15181 (x_report_frame_params): Report it in parameter alist.
15182 (syms_of_frame): Intern and staticpro it.
15183
151842007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15185
15186 * macfns.c (x_create_tip_frame): Set terminal for frame.
15187
151882007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15189
15190 * frame.c (Qenvironment): Remove.
15191 (syms_of_frame) <Qenvironment>: Don't initialize.
15192 (Fdelete_frame): Don't treat the `environment' param specially.
15193 * frame.h (Qenvironment): Don't declare.
15194 * callproc.c (set_initial_environment): Don't set unused frame param.
15195
15196 * frame.c (Fframe_with_environment): Remove.
15197 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15198
15199 * lisp.h (Fframe_with_environment): Don't declare.
15200
152012007-10-10 Juanma Barranquero <lekktu@gmail.com>
15202
15203 * indent.c (indent_tabs_mode, last_known_column)
15204 (last_known_column_modified): Make static.
15205 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15206
152072007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15208
15209 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15210
152112007-10-09 Jason Rumney <jasonr@gnu.org>
15212
15213 * w32term.c (x_set_window_size): Disable code that attempts to tell
15214 Lisp code about a size change before it actually happens.
15215
152162007-10-09 Richard Stallman <rms@gnu.org>
15217
15218 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15219 return HANDLED_RETURN.
15220
152212007-10-08 Martin Rudalics <rudalics@gmx.at>
15222
15223 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15224 when there's an unread command event.
15225
15226 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15227 window autoselection act appropriately when leaving selected frame.
15228 (syms_of_frame): Initialize focus_follows_mouse.
15229 * frame.h (focus_follows_mouse): Extern it.
15230 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15231 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15232 * msdos.c (dos_rawgetc): Likewise.
15233 * w32term.c (w32_read_socket): Likewise.
15234 * xterm.c (handle_one_xevent): Likewise.
15235 * xdisp.c (syms_of_xdisp): In doc-string of
15236 mouse-autoselect-window mention focus-follows-mouse.
15237
152382007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15239
15240 * macterm.c (mac_load_query_font): Fix missing return value.
15241 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15242 Add BLOCK_INPUT.
15243
152442007-10-08 Richard Stallman <rms@gnu.org>
15245
15246 * xdisp.c (get_window_cursor_type): Implement documented behavior
15247 for cursor-in-non-selected-windows = t.
15248
152492007-10-08 Jason Rumney <jasonr@gnu.org>
15250
15251 * w32.c (w32_get_resource): Always close registry keys.
15252
152532007-10-08 Jason Rumney <jasonr@gnu.org>
15254
15255 * makefile.w32-in (LIBS): Add COMCTL32.
15256
15257 * w32fns.c (globals_of_w32fns): Init common controls.
15258
152592007-10-08 Richard Stallman <rms@gnu.org>
15260
15261 * image.c (our_memory_buffer): Rename from omfib_buffer.
15262
152632007-10-08 Richard Stallman <rms@gnu.org>
15264
15265 * buffer.c (Foverlays_at): Doc fix.
15266
152672007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15268
15269 * fns.c (Fplist_put): Preserve uneven tail data.
15270
152712007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15272
15273 * termhooks.h (enum event_kind): Remove trailing comma.
15274
15275 * frame.h (enum): Remove trailing comma.
15276
152772007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15278
15279 * w32proc.c (delete_child): Don't terminate threads of zombies.
15280
152812007-10-08 Martin Rudalics <rudalics@gmx.at>
15282
15283 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15284
15285 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15286 last-repeatable-command.
15287 (init_kboard): Initialize Vlast_repeatable_command.
15288 (command_loop_1): Set it to real_this_command unless that was
15289 bound to an input event.
15290 (mark_kboards): Mark it.
15291
152922007-10-08 Richard Stallman <rms@gnu.org>
15293
15294 * eval.c (condition-case): Doc fix.
15295
152962007-10-08 Masatake YAMATO <jet@gyve.org>
15297
15298 * xfaces.c (tty_supports_face_attributes_p): Fix code
15299 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15300 was copied and not edited.
15301
153022007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15303
15304 Add new `input-decode-map' keymap and use it for terminal
15305 escape sequences.
15306 * keyboard.h (struct kboard): Add Vinput_decode_map.
15307 Remove Vlocal_key_translation_map.
15308 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15309 (init_kboard): Init input-decode-map.
15310 Replace local-key-translation-map back with key-translation-map.
15311 (syms_of_keyboard): Declare input-decode-map.
15312 Remove local-key-translation-map. Update docstrings.
15313 (mark_kboards): Mark Vinput_decode_map.
15314 Don't mark Vlocal_key_translation_map.
15315 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15316 Replace local-key-translation-map back with key-translation-map.
15317 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15318 Bind in input-decode-map rather than function-key-map.
15319
15320 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15321 This was made redundant by the previous introduction of XSETPVECTYPE.
15322
153232007-10-09 Richard Stallman <rms@gnu.org>
15324
15325 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15326
153272007-09-29 Richard Stallman <rms@gnu.org>
15328
15329 * eval.c (internal_condition_case_2, internal_condition_case_1)
15330 (internal_condition_case): Reenable abort if x_catching_errors ()
15331 to see if that really happens and why.
15332
153332007-10-06 Andreas Schwab <schwab@suse.de>
15334
15335 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15336
153372007-10-04 Juanma Barranquero <lekktu@gmail.com>
15338
15339 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15340
153412007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15342
15343 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15344
153452007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15346
15347 * window.h (struct window):
15348 * window.c (struct save_window_data, struct saved_window):
15349 * termhooks.h (struct terminal):
15350 * process.h (struct Lisp_Process):
15351 * frame.h (struct frame):
15352 * buffer.h (struct buffer):
15353 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15354 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15355 The size field of (pseudo)vectors is now unsigned.
15356 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15357
15358 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15359 Turn `count' into an integer.
15360
15361 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15362 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15363 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15364 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15365 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15366
15367 * alloc.c (allocate_pseudovector): New fun.
15368 (ALLOCATE_PSEUDOVECTOR): New macro.
15369 (allocate_window, allocate_terminal, allocate_frame)
15370 (allocate_process): Use it.
15371 (mark_vectorlike): New function.
15372 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15373 (mark_terminals): Use it.
15374 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15375 (Fmake_byte_code): Use XSETPVECTYPE.
15376
15377 * frame.c (Fframe_parameters): Minor simplification.
15378
15379 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15380
15381 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15382
15383 * buffer.c (Fget_buffer_create, init_buffer_once):
15384 * lread.c (defsubr):
15385 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15386
15387 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15388 defined differently in the m/*.h files.
15389 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15390 (XSETPVECTYPE): New macro.
15391 (XSETPSEUDOVECTOR): Use it.
15392
15393 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15394 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15395
15396 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15397 * lread.c (defvar_per_buffer):
15398 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15399
15400 * window.c (candidate_window_p): Only consider as visible frames that
15401 are on the same terminal.
15402
15403 * m/ibms390x.h (MARKBIT): Remove unused macro.
15404
154052007-10-01 Juanma Barranquero <lekktu@gmail.com>
15406
15407 * lread.c (Fload): Fix typo in docstring.
15408
154092007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15410
15411 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15412 of a non-zero value can't yield zero.
15413
154142007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15415
15416 * term.c (term_clear_mouse_face, term_mouse_highlight)
15417 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15418
15419 * print.c (safe_debug_print): Use XHASH.
15420
15421 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15422 Lisp elements such as tags.
15423 (XHASH): New macro.
15424 (EQ): Use it.
15425 (SREF, SSET, STRING_COPYIN): Use SDATA.
15426 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15427
15428 * alloc.c (mark_terminal): Remove left-over declaration.
15429 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15430 (allocate_vectorlike): Remove type argument. Adjust callers.
15431 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15432 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15433
15434 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15435 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15436 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15437 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15438 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15439 Use them.
15440
15441 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15442 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15443 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15444
154452007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15446
15447 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15448 loaded by default.
15449
154502007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15451
15452 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15453 on this tty.
15454 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15455
15456 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15457 Update all users.
15458 (handle_one_term_event): Use Gpm_DrawPointer.
15459 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15460 Signal errors instead of returning nil. Always return nil.
15461 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15462 Make it a noop if gpm-mouse was not activated.
15463 (syms_of_term): Update names.
15464
154652007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15466
15467 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15468 (init_sys_modes): Check that gpm_tty is the current tty.
15469
15470 * alloc.c (allocate_terminal): Set the vector size to only count the
15471 lisp fields. Initialize those to nil.
15472 (mark_object): Don't treat terminals specially.
15473 (mark_terminal): Remove.
15474 (mark_terminals): Use mark_object instead.
15475
15476 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15477 the GC to the beginning.
15478
15479 * indent.h:
15480 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15481
15482 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15483
154842007-09-25 Jason Rumney <jasonr@gnu.org>
15485
15486 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15487
15488 * w32console.c (create_w32cons_output): Remove.
15489
15490 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15491
15492 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15493 (reset_sys_modes): Use reset_terminal_modes_hook.
15494
154952007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15496
15497 * eval.c (do_autoload): Don't output any message.
15498
154992007-09-24 Juri Linkov <juri@jurta.org>
15500
15501 * emacs.c (standard_args): Change priority of "--no-splash"
15502 from 40 to 3. Add "--no-desktop" with the same priority.
15503
155042007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15505
15506 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15507 and optimize the case where they are all 1.
15508
155092007-09-23 Johannes Weiner <hannes@saeurebad.de>
15510
15511 * lisp.h (abs): Define if not defined.
15512 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15513 Don't define `abs', since it's defined in lisp.h.
15514
155152007-09-22 Eli Zaretskii <eliz@gnu.org>
15516
15517 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15518 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15519 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15520 (init_tty): Use DEV_TTY instead of "/dev/tty".
15521 [WINDOWSNT]: No need to protect from NAME arg being null.
15522
155232007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15524
15525 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15526 up the tty state.
15527
155282007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15529
15530 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15531 (gpm_tty): Change its type.
15532 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15533 (gpm_tty): Change its type and initialize it.
15534 (Fterm_open_connection): Check the frame is indeed a tty.
15535 Use the new gpm_tty.
15536 (Fterm_close_connection): Use the new gpm_tty.
15537 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15538 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15539
155402007-09-21 Juanma Barranquero <lekktu@gmail.com>
15541
15542 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15543 underline_color, to draw strike-through.
15544
155452007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15546
15547 * lisp.h (allocate_terminal): Declare.
15548
15549 * window.c (candidate_window_p): Consider frames that are being placed
15550 by the user as somewhere between visible and iconified.
15551 (window_loop): Prefer windows on the current frame.
15552 (Fselect_window): Move the use of select-frame to the beginning so we
15553 can just delegate all the work (it'll call us back anyway).
15554
15555 * frame.c (Qdisplay_environment_variable):
15556 * frame.h (Qdisplay_environment_variable): Delete.
15557
15558 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15559 of the first arg, since that value may be a union.
15560
15561 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15562 parameter rather than Qdisplay_environment_variable. If all else
15563 fails, look for DISPLAY in initial-environment.
15564
155652007-09-21 Glenn Morris <rgm@gnu.org>
15566
15567 * Makefile.in (emacstool): Remove target.
15568 (lisp, shortlisp): Remove termdev.elc.
15569
155702007-09-21 Markus Triska <markus.triska@gmx.at>
15571
15572 * xterm.c (x_delete_display): Compile session management conditionally.
15573
155742007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15575
15576 * callproc.c (getenv_internal_1): New function.
15577 (getenv_internal): Use it.
15578 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15579
15580 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15581 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15582 (Fset_terminal_parameter): Work with dead terminals as well.
15583 (Fmodify_terminal_parameters): Remove.
15584
15585 * terminal.c (get_terminal): Handle terminals.
15586 Make sure the terminal returned is live.
15587 (create_terminal): Use allocate_terminal.
15588 (mark_terminals): Move to alloc.c.
15589 (delete_terminal): Use terminal->name as liveness status.
15590 NULL out fields after freeing their contents.
15591 Don't deallocate the object.
15592 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15593 rather than an int.
15594 (Fterminal_live_p): Accept non-integer arguments.
15595 (Fterminal_list): Return terminal objects rather than an ints.
15596
15597 * alloc.c (enum mem_type): New member for `terminal' objects.
15598 (allocate_terminal): New function.
15599 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15600 Handle terminals.
15601 (mark_terminal): New fun.
15602 (mark_terminals): Move from terminal.c.
15603
15604 * term.c (get_tty_terminal): Don't treat output_initial specially.
15605 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15606 (delete_tty): Use terminal->name as liveness status.
15607
15608 * termhooks.h (struct terminal): Make it into a pseudovector.
15609 Remove `deleted' replaced by checking `name's nullness.
15610
15611 * print.c (print_object): Handle terminals.
15612
15613 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15614 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15615
15616 * frame.c (make_terminal_frame):
15617 * keyboard.c (tty_read_avail_input):
15618 * w32term.c (x_delete_terminal):
15619 * xfns.c (Fx_create_frame, x_create_tip_frame):
15620 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15621
156222007-09-20 Glenn Morris <rgm@gnu.org>
15623
15624 * process.c (Fmake_network_process): Doc fix.
15625
156262007-09-19 Jason Rumney <jasonr@gnu.org>
15627
15628 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15629
156302007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15631
15632 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15633 Fix a C warning regarding variable constness.
15634
15635 * xterm.c (handle_one_xevent): Fix a C warning.
15636
156372007-09-18 Jason Rumney <jasonr@gnu.org>
15638
15639 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15640
156412007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15642
15643 * gtkutil.c (gdpy_def): New variable.
15644 (xg_initialize): Initialize gdpy_def.
15645 (xg_display_close): If no other display exists, set gdpy_def to a
15646 new connection.
15647
156482007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15649
15650 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15651 when we have no file name for the icon.
15652 (xg_tool_bar_expose_callback): Remove.
15653 (xg_create_tool_bar): Don't connect expose signal to
15654 xg_tool_bar_expose_callback.
15655 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15656
156572007-09-16 Andreas Schwab <schwab@suse.de>
15658
15659 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15660 values instead of zapping them.
15661
156622007-09-14 Glenn Morris <rgm@gnu.org>
15663
15664 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15665 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15666 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15667 scope and rename to omfib_buffer for clarity.
15668 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15669
156702007-09-14 Kenichi Handa <handa@m17n.org>
15671
15672 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15673
156742007-09-13 Jason Rumney <jasonr@gnu.org>
15675
15676 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15677
15678 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15679
15680 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15681 (mac_term_init): Call here instead, passing rif.
15682
156832007-09-13 Glenn Morris <rgm@gnu.org>
15684
15685 * s/hpux.h: No longer define `static' as nothing.
15686
156872007-09-13 Johan Bockgård <bojohan@gnu.org>
15688
15689 * callint.c (Fcall_interactively): Remove unused var `fun'.
15690
156912007-09-12 Romain Francoise <romain@orebokech.com>
15692
15693 * window.c (prefer_window_split_horizontally, display_buffer):
15694 Revert 2007-09-08 change.
15695
156962007-09-12 Glenn Morris <rgm@gnu.org>
15697
15698 * alloca.c: Remove file.
15699 * Makefile.in (alloca): Do not undef.
15700 (allocaobj, alloca.o): Remove.
15701 (otherobj): Remove allocaobj.
15702 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15703 * regex.c (C_ALLOCA): Remove all references and code that was only
15704 used when this was defined.
15705 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15706 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15707 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15708
15709 * Makefile.in (SOURCES, unlock, relock): Delete.
15710
15711 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15712 (menu_grab_callback): All uses changed.
15713
15714 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15715 (x_reply_selection_request): All uses changed.
15716
157172007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15718
15719 * lread.c (load_warn_old_style_backquotes): Change message to look
15720 better when it appears in the middle of byte-compiler messages.
15721
157222007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15723
15724 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15725
15726 * xterm.c (x_create_terminal): Add comment.
15727
15728 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15729
157302007-09-10 Richard Stallman <rms@gnu.org>
15731
15732 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15733
157342007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15735
15736 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15737 (DEFUN): Document `intspec', use it instead of `prompt'.
15738
15739 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15740
15741 * data.c (Finteractive_form): If the interactive specification starts
15742 with a `(', use it as a Lisp form.
15743
15744 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15745 name and file modes.
15746
15747 * callint.c (Fcall_interactively): Comment fixes.
15748
157492007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15750
15751 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15752 and compiled functions.
15753
157542007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15755
15756 * window.c (prefer_window_split_horizontally): New variable.
15757 (display_buffer): Consider splitting window horizontally depending
15758 on prefer_window_split_horizontally.
15759
157602007-09-08 Eli Zaretskii <eliz@gnu.org>
15761
15762 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15763
157642007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15765
15766 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15767
15768 * frame.c (x_set_frame_parameters): Check number is positive before
15769 using XFASTINT.
15770
15771 * window.c (freeze_window_start): Don't presume selected_window holds
15772 a window object.
15773 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15774
157752007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15776
15777 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15778
157792007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15780
15781 * window.c (Vsplit_window_preferred_function): New var.
15782 (Fdisplay_buffer): Use it.
15783 (syms_of_window): Export, and initialize it.
15784
157852007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15786
15787 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15788
157892007-09-06 Glenn Morris <rgm@gnu.org>
15790
15791 * gtkutil.c (menu_grab_callback) <cnt>:
15792 * xselect.c (x_reply_selection_request) <cnt>: Move static
15793 variable to file scope.
15794
157952007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15796
15797 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15798 consistent values of selected_frame and selected_window.
15799
158002007-09-04 Jason Rumney <jasonr@gnu.org>
15801
15802 * w32console.c (initialize_w32_display): Zero unused hooks.
15803
158042007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15805
15806 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15807 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15808
158092007-09-04 Jason Rumney <jasonr@gnu.org>
15810
15811 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15812 in w32console.c. Set up input. Remove XXX comments that have been
15813 confirmed as correct.
15814
15815 * s/ms-w32.h (MULTI_KBOARD): Define.
15816
15817 * w32console.c (one_and_only_w32cons): Remove.
15818 (initialize_w32_display): Take terminal argument.
15819
15820 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15821 initialize_w32_display.
15822 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15823
15824 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15825
15826 * keyboard.c (discard_mouse_events): Discard it.
15827 (make_lispy_event): Translate it to a lisp event.
15828 (lispy_wheel_names): Add wheel-left and right events.
15829 (syms_of_keyboard): Enlarge wheel_syms.
15830
15831 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15832 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15833
15834 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15835
15836 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15837 from WM_MOUSEHWHEEL.
15838 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15839
15840 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15841 terminal.
15842
15843 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15844 keyboard for the terminal.
15845
158462007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15847
15848 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15849 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15850 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15851 and resume-tty-function to resume-tty-hook.
15852 (Fsuspend_tty, Fresume_tty): Use new names.
15853
158542007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15855
15856 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15857 if it starts with "n:".
15858
158592007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15860
15861 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15862
158632007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15864
15865 * frame.h:
15866 * frame.c (Qterm_environment_variable): Remove.
15867 (syms_of_frame): Don't init and staticpro it.
15868
15869 * callproc.c (getenv_internal): Remove special case for $TERM.
15870
15871 * callproc.c (Vinitial_environment): New variable.
15872 (set_initial_environment): Initialize it.
15873 (syms_of_callproc): Declare it.
15874 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15875 TERM under which a process runs is never related to the TERM in which
15876 Emacs is running.
15877
158782007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15879
15880 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15881 * s/darwin.h: ... do it here.
15882
158832007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15884
15885 * lisp.h (set_initial_environment): Rename from set_global_environment.
15886
15887 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15888 removed by mistake on the multi-tty branch.
15889
15890 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15891 (Fmodify_frame_parameters): Return a value.
15892
15893 * image.c (png_load): Comment-out var only used in commented-out code.
15894
15895 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15896 before passing it to mark_object.
15897
15898 * xfaces.c (internal_resolve_face_name): Return a value.
15899 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15900
15901 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15902 (x_icon): Comment-out var only used in commented-out code.
15903
159042007-08-29 Romain Francoise <romain@orebokech.com>
15905
15906 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15907 QUIT hasn't been provided.
15908
159092007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15910
15911 * callproc.c (child_setup, getenv_internal): Use the
15912 display-environment-variable and term-environment-variable frame params.
15913 (set_initial_environment): Initialise Vprocess_environment.
15914
15915 * config.in: Disable multi-keyboard support on a mac.
15916
15917 * frame.c (Qterm_environment_variable)
15918 (Qdisplay_environment_variable): New variables.
15919 (syms_of_frame): Intern and staticpro them.
15920 (Fmake_terminal_frame): Disable output method test.
15921
15922 * frame.h: Declare them here.
15923
15924 * macfns.c (x_set_mouse_color): Get rif from the frame.
15925 (x_set_tool_bar_lines): Don't use updating_frame.
15926 (mac_window): Add 2 new parameters for consistency with other systems.
15927 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15928 frame parameters following what is done in X11 and w32. Don't use
15929 FRAME_MAC_DISPLAY_INFO.
15930 (Fx_open_connection, start_hourglass): Remove window-system check.
15931 (x_create_tip_frame): Get the keyboard from the terminal.
15932
15933 * macmenu.c: Reorder includes.
15934 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15935
15936 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15937 terminal parameter.
15938 (x_clear_frame): Add a frame parameter.
15939 (note_mouse_movement): Get rif from the frame.
15940 (mac_term_init): Initialize the terminal.
15941 (mac_initialize): Make static and move terminal initialization ...
15942 (mac_create_terminal): ... to this new function.
15943
15944 * macterm.h (struct mac_display_info): Add terminal.
15945 (mac_initialize): Delete declaration.
15946
15947 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15948
15949 * sysdep.c: Comment out text after #endif.
15950
15951 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15952 is defined. Better initialize ttys in windows. Use terminal
15953 specific mouse_position_hook.
15954
15955 * termhooks.h (union display_info): Add mac_display_info.
15956
15957 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15958 Set the default minibuffer frame, window_system and the rest of the
15959 frame parameters following what is done in X11.
15960
15961 * w32term.c (w32_initialize): Make static.
15962
15963 * xselect.c (x_handle_selection_clear): Only access
15964 terminal->kboard when MULTI_KBOARD is defined.
15965
15966 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15967 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15968
159692007-08-29 Jason Rumney <jasonr@gnu.org>
15970
15971 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15972 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15973
15974 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15975 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15976
15977 * keyboard.c (restore_kboard_configuration): Only define when
15978 MULTI_KBOARD defined.
15979
15980 * makefile.w32-in: Update dependancies from Makefile.in.
15981 (OBJ1): Add terminal.$(O)
15982
15983 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15984 Don't define function body.
15985 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15986
15987 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15988
15989 * w32.c (request_sigio, unrequest_sigio): Remove.
15990
15991 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15992 (w32con_clear_frame, w32con_clear_end_of_line)
15993 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15994 (w32con_delete_glyphs, w32con_set_terminal_window)
15995 (scroll_line, w32_sys_ring_bell): Add frame arg.
15996 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15997 Add terminal arg.
15998 (PICK_FRAME): Remove.
15999 (w32con_write_glyphs): Use frame specific terminal coding.
16000 (one_and_only_w32cons): New global variable.
16001 (initialize_w32_display): Use it for storing hooks.
16002 (create_w32cons_output): New function.
16003
16004 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16005 arg a frame.
16006
16007 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16008 Set window_system.
16009 (x_set_tool_bar_lines): Don't use updating_frame.
16010 (Fx_create_frame): Set terminal and ref count.
16011 (Fx_open_connection): Remove window-system check.
16012
16013 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16014
16015 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16016 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16017 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16018 Add frame arg.
16019 (x_delete_terminal, w32_create_terminal): New functions.
16020 (w32_term_init): Create a terminal.
16021 (w32_initialize): Move terminal specific initialization to
16022 w32_create_terminal.
16023
16024 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16025 (w32_clear_rect, w32_clear_area): Use background from frame.
16026 (w32_display_info): Add terminal.
16027 (w32_sys_ring_bell, x_delete_display): Declare here.
16028
16029 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16030
16031 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16032
160332007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16034
16035 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16036 Fix get_named_tty calls for the controlling tty.
16037
160382007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16039
16040 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16041
160422007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16043
16044 * term.c (tty_insert_glyphs): Add missing first parameter.
16045
160462007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16047
16048 * buffer.c (Fbuffer_list, Fbury_buffer):
16049 Take frame->buried_buffer_list into account.
16050
16051 * cm.c (current_tty): New variable, for cmputc().
16052 (cmputc): Use it.
16053 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16054 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16055 (cmgoto): Add tty parameter. Pass it on to calccost().
16056 Use emacs_tputs() instead of tputs().
16057
16058 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16059 tputs().
16060 (current_tty): New variable, for cmputc().
16061 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16062
16063 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16064 (internal_condition_case, internal_condition_case_1)
16065 (internal_condition_case_2): Don't abort when x_catching_errors.
16066
16067 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16068 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16069 prevent crashes caused by bogus longjmps in read_char.
16070
16071 * keymap.h (Fset_keymap_parent): Add EXFUN.
16072
16073 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16074 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16075 Remove redundant definition.
16076
16077 * macfns.c (x_set_mouse_color, x_make_gc):
16078 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16079
16080 * w32term.c (x_free_frame_resources):
16081 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16082 (w32_initialize): Use the accessor macros for terminal characteristics.
16083
16084 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16085 Use the accessor macros for terminal characteristics.
16086 * msdos.c (internal_terminal_init): Use the accessor macros for
16087 terminal characteristics.
16088 (ScreenVisualBell, internal_terminal_init):
16089 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16090
16091 * termopts.h (no_redraw_on_reenter): Declare.
16092
16093 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16094 (mark_terminals, mark_ttys): Declare.
16095 (Fgarbage_collect): Call them.
16096 (mark_object): Mark buried_buffer_list.
16097
16098 * prefix-args.c: Include stdlib.h for exit.
16099
16100 * syssignal.h: Add comment.
16101
16102 * indent.c: Include stdio.h.
16103
16104 * window.h (Vinitial_window_system): Declare.
16105 (Vwindow_system): Delete declaration.
16106
16107 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16108
16109 * image.c (lookup_image): Don't initialize `c' until the xasserts
16110 have been run.
16111
16112 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16113 FRAME_FOREGROUND_PIXEL.
16114
16115 * print.c (print_preprocess): Don't lose print_depth levels while
16116 iterating.
16117
16118 * widget.c (update_from_various_frame_slots):
16119 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16120
16121 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16122 frames.
16123 (window_internal_height): Remove bogus make_number call.
16124 (init_window_once): Call make_terminal_frame with two zero parameters.
16125
16126 * fileio.c (Fread_file_name): Update comment.
16127
16128 * callint.c (Fcall_interactively):
16129 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16130 Make sure it is correctly unwound.
16131
16132 * xsmfns.c (x_session_close): New function.
16133
16134 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16135 Delete declarations.
16136
16137 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16138 (x_output): Remove background_pixel and foreground_pixel fields.
16139 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16140 (x_delete_device, x_session_close): Declare.
16141
16142 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16143 (read_filtered_event): Call `read_char' with a local
16144 `wrong_kboard_jmpbuf'.
16145
16146 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16147 Don't call single_kboard_state. Use FRAME_RIF.
16148
16149 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16150 systems.
16151
16152 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16153 (Fframe_with_environment, Fset_input_meta_mode)
16154 (Fset_quit_char): EXFUN.
16155 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16156 (init_sys_modes, reset_sys_modes): Update prototypes.
16157 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16158
16159 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16160 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16161 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16162 Delete declarations.
16163 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16164 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16165 New declarations.
16166
16167 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16168 already does that during init_display(). Call syms_of_keymap
16169 before syms_of_keyboard. Call `syms_of_terminal'.
16170 Call set_initial_environment, not set_process_environment.
16171 (shut_down_emacs): Call reset_all_sys_modes() instead of
16172 reset_sys_modes().
16173
16174 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16175 (internal_resolve_face_name, resolve_face_name_error): New functions.
16176 (resolve_face_name): Protect against loops and errors thrown by Fget.
16177 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16178 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16179
16180 * scroll.c: Replace CURTTY() with local variables throughout the
16181 file (where applicable).
16182 (calculate_scrolling, calculate_direct_scrolling)
16183 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16184 characteristics.
16185
16186 * keymap.c (Vfunction_key_map): Remove.
16187 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16188 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16189 (Vkey_translation_map): Remove.
16190 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16191 (Fdescribe_buffer_bindings)
16192 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16193 Update for terminal-local key-translation-map.
16194
16195 * Makefile.in (callproc.o): Update dependencies.
16196 (lisp, shortlisp): Add termdev.elc.
16197 (obj): Add terminal.o.
16198 (terminal.o): Add dependencies.
16199 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16200 (data.o, fns.o): Add termhooks.h dependency.
16201 (SOME_MACHINE_LISP): Add dnd.elc.
16202 (minibuf.o): Fix typo.
16203 Update dependencies.
16204
16205 * data.c (do_symval_forwarding, store_symval_forwarding)
16206 (find_symbol_value): Use the selected frame's keyboard, not
16207 current_kboard.
16208
16209 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16210 Vwindow_system.
16211
16212 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16213 Fmenu_bar_open.
16214 (syms_of_xmenu): Update defsubr.
16215 (mouse_position_for_popup, Fx_popup_menu)
16216 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16217 (set_frame_menubar, free_frame_menubar)
b97439ce 16218 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16219 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16220 an X frame.
16221
16222 * xselect.c (x_own_selection): Abort if not an X frame.
16223 (some_frame_on_display): Check if it is an X frame.
16224 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16225
16226 * coding.c: Include frame.h and termhooks.h.
16227 (terminal_coding, keyboard_coding): Delete.
16228 (Fset_terminal_coding_system_internal)
16229 (Fset_keyboard_coding_system_internal)
16230 (Fkeyboard_coding_system)
16231 (Fterminal_coding_system): Add a terminal parameter.
16232 Get terminal_coding from the terminal.
16233 (init_coding_once): Don't call setup_coding_system here.
16234
16235 * dispextern.h (set_scroll_region, turn_off_insert)
16236 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16237 (tty_clear_end_of_line, tty_setup_colors)
16238 (delete_tty, updating_frame)
16239 (produce_special_glyphs, produce_glyphs, write_glyphs)
16240 (insert_glyphs): Remove.
16241 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16242 (tty_turn_off_highlight, get_tty_size): Add declaration.
16243 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16244
16245 * frame.h (enum output_method): Add output_initial.
16246 (struct x_output): Delete.
16247 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16248 Access foreground_pixel and background_pixel directly from the frame.
16249 (tty_display): Delete.
16250 (struct frame): Add buried_buffer_list, foreground_pixel,
16251 background_pixel and terminal. Delete kboard.
16252 (union output_data): Add tty.
16253 (FRAME_KBOARD): Get the kboard from the terminal.
16254 (FRAME_INITIAL_P): New macro.
16255 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16256 (Qterm_environment_variable, Qdisplay_environment_variable)
16257 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16258 New declarations.
16259
16260 * termchar.h (tty_output, tty_display_info): New structures.
16261 (tty_list): Declare.
16262 (FRAME_TTY, CURTTY): New macros.
16263 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16264 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16265 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16266 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16267
16268 * callproc.c: Include frame.h and termhooks.h, for terminal
16269 parameters.
16270 (add_env): New function.
16271 (child_setup): Use it.
16272 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16273 (getenv_internal): Fix get_terminal_param call.
16274 (Fgetenv_internal, egetenv): Update doc.
16275 (syms_of_callproc): Initialize Vprocess_environment to nil.
16276 Register and initialize them. Remove obsolete defvars. Update doc
16277 strings.
16278 (child_setup): Handle Vlocal_environment_variables.
16279 (getenv_internal): Add terminal parameter.
16280 Handle Vlocal_environment_variables.
16281 (Fgetenv_internal): Add terminal parameter.
16282 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16283 environment in a frame (not terminal) parameter. Update doc strings.
16284 (set_initial_environment): Rename from set_global_environment.
16285 Store Emacs environment in initial frame parameter.
16286
16287 * xdisp.c (redisplay_internal): Update references to
16288 `previous_terminal_frame'.
16289 (display_mode_line, Fformat_mode_line): Replace calls to
16290 `push_frame_kboard' with `push_kboard'.
16291 (get_glyph_string_clip_rects): Add extra parentheses and
16292 braces to prevent compiler warnings.
16293 (calc_pixel_width_or_height): Add xassert to check that the
16294 frame is alive. Don't call `lookup_image' on a termcap frame.
16295 (message2_nolog, message3_nolog, redisplay_internal)
16296 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16297 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16298 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16299 (Fx_display_pixel_width, Fx_display_pixel_height)
16300 (Fx_display_planes, Fx_display_color_cells)
16301 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16302 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16303 (Fx_display_backing_store, Fx_display_visual_class)
16304 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16305 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16306
16307 * xfns.c (x_set_foreground_color x_set_background_color)
16308 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16309 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16310 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16311 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16312 terminal that is being deleted.
16313 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16314 frame parameter, and make sure it overrides any user-supplied setting.
16315 (Fx_close_connection, Fx_synchronize): Unify argument names with
16316 the rest of the DEFUNs.
16317
16318 * dispnew.c (Fsend_string_to_terminal): Update call to
16319 `get_tty_terminal'.
16320 (Fredraw_frame, Fsend_string_to_terminal)
16321 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16322 FRAME_TERMCAP_P and FRAME_TTY.
16323 (window_change_signal): Don't believe width/height values that are
16324 impossibly small.
16325 (Vinitial_window_system): Rename from Vwindow_system.
16326 (termscript, Wcm, rif): Delete.
16327
16328 * termhooks.h (struct terminal): New struct containing the
16329 previously global text display hooks and new members NAME,
16330 DELETED and PARAM_ALIST.
16331 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16332 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16333 (FRAME_RIF): New macros.
16334 (get_terminal_param, get_device): New declarations.
16335 (termscript): Delete declaration.
16336
16337 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16338 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16339 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16340 FRAME_FOREGROUND_PIXEL.
16341 (x_fully_uncatch_errors): Disable definition.
16342 (x_scroll_bar_expose): Fix reference to foreground pixel.
16343 (XTread_socket): Disable loop on all X displays.
16344 (x_delete_terminal): Don't set terminal->deleted and let
16345 delete_terminal delete the frames on the terminal.
16346 (x_delete_display): Doc update to reflect changes in
16347 delete_terminal.
16348 (x_display_info) <terminal>: Move member earlier in the struct.
16349 (deleting_tty): Remove old variable.
16350 (Fsuspend_tty): Call clear_tty_hooks.
16351 (Fresume_tty, init_tty): Call set_tty_hooks.
16352 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16353 errors on X frames.
16354 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16355 (handle_one_xevent): Initialize `f' to NULL.
16356 (x_delete_terminal, x_create_terminal): New functions.
16357 (XTset_terminal_modes, XTreset_terminal_modes)
16358 (XTread_socket, x_connection_closed, x_term_init)
16359 (x_term_init, x_delete_display): Add terminal parameter.
16360 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16361 X connections.
16362
16363 * frame.c: Include termchar.h.
16364 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16365 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16366 (Qdisplay_environment_variable): New vars.
16367 (Fframep): Deal with output_initial.
16368 (Fframe-live-p): Doc fix.
16369 (Fwindow-system): New function.
16370 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16371 (make_terminal_frame): Don't create frames on a terminal that is
16372 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16373 (store_frame_param): Check for found_for_frame before calling XFRAME.
16374 (Fmake_terminal_frame): Handle NULL tty names correctly.
16375 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16376 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16377 frames to refer to a deleted frame in their 'environment parameter.
16378 (Fframe_with_environment): New function.
16379 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16380 (get_future_frame_param): New function.
16381 (Fmake_terminal_frame): Use it.
16382 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16383
16384 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16385 * sysdep.c (reset_sys_modes): Update for renames.
16386
16387 * keyboard.c (tty_read_avail_input): New function.
16388 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16389 (syms_of_keyboard): Defsubr them.
16390 (Fset_input_meta_mode, Fset_quit_char): New functions.
16391 (Fset_input_mode): Split to above functions.
16392 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16393 parameter. Use it in call to `read_char'.
16394 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16395 Set wrong_kboard_jmpbuf correctly in recursive calls.
16396 Use current_kboard to access Vkeyboard_translate_table.
16397 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16398 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16399 Update longjmp invocations. Remember the original current_kboard,
16400 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16401 changes it. Comment out unnecessary calls to
16402 `record_single_kboard_state' and `any_kboard_state'.
16403 Update recursive calls.
16404 (wrong_kboard_jmpbuf): Remove global variable.
16405 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16406 Handle deleted interrupted_kboards correctly; that is a legal
16407 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16408 and read_char calls. Abort if interrupted_kboard died in read_char.
16409 (any_kboard_state, single_kboard_state)
16410 (push_frame_kboard): Remove function.
16411 (pop_kboard): Switch out of single_kboard mode if the kboard has
16412 been deleted. Remove unused variable. Help debugging by not
16413 changing current_kboard unnecessarily. Set current_kboard to the
16414 kboard of the selected frame when the stored kboard object has
16415 been deleted before pop_kboard.
16416 (temporarily_switch_to_single_kboard): Change first parameter to a
16417 frame pointer. Throw an error when caller wants to change kboards
16418 while in single_kboard mode. Don't push_kboard if we weren't in
16419 single kboard state. Don't pop_kboard if we popped into any
16420 kboard state.
16421 (restore_kboard_configuration): Abort if pop_kboard changed the
16422 kboard in single_kboard mode. Call pop_kboard only after setting
16423 up single_kboard mode.
16424 (Frecursive_edit): Switch to single_kboard mode only in nested
16425 command loops.
16426 (cmd_error, command_loop, command_loop_1, timer_check):
16427 Comment out unnecessary call to `any_kboard_state' and
16428 `record_single_kboard_state'.
16429 (delete_kboard): Exit single_kboard mode if we have just deleted
16430 that kboard. Use FRAME_KBOARD.
16431 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16432 `fatal_error_signal'.
16433 (record_single_kboard_state): Don't push_kboard if we weren't in
16434 single kboard state. Don't pop_kboard if we popped into any
16435 kboard state.
16436 (push_frame_kboard): Rename to push_kboard.
16437 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16438 (read_avail_input): Read input from all terminals.
16439 (mark_kboards): Also mark Vkeyboard_translate_table.
16440 (kbd_buffer_store_event_hold): Simplify condition.
16441 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16442 (Vkeyboard_translate_table): Move to struct kboard.
16443 (init_kboard): Initialize Vkeyboard_translate_table.
16444 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16445 Vkeyboard_translate_table. Update doc strings. Update docs of
16446 local-function-key-map and function-key-map.
16447
16448 * terminal.c: New file.
16449
16450 * term.c: Include errno.h.
16451 (Vring_bell_function, device_list, initial_device)
16452 (next_device_id, ring_bell, update_begin, update_end)
16453 (set_terminal_window, cursor_to, raw_cursor_to)
16454 (clear_to_end, clear_frame, clear_end_of_line)
16455 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16456 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16457 (syms_of_term): Move their initialization to terminal.c.
16458 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16459 (Ftty_display_color_cells)
16460 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16461 (clear_tty_hooks, set_tty_hooks)
16462 (init_tty, maybe_fatal): New functions.
16463 (Ftty_type): Return nil if terminal is not on a tty instead of
16464 throwing an error. Doc update.
16465 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16466 Doc update. Initialize new subrs and variables.
16467 (delete_tty): Use terminal->deleted.
16468 (tty_set_terminal_modes): Rename from set_terminal_modes.
16469 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16470 (set_scroll_region): Rename to `tty_set_scroll_region'.
16471 (turn_on_insert): Rename to `tty_turn_on_insert'.
16472 (turn_off_insert): Rename to `tty_turn_off_insert'.
16473 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16474 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16475 (toggle_highligh): Rename to `tty_toggle_highlight'.
16476 (background_highlight): Rename to `tty_background_highlight'.
16477 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16478 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16479 (tty_set_scroll_region, tty_background_highlight)
16480 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16481 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16482 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16483 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16484 Add static modifier.
16485 (tty_reset_terminal_modes, tty_set_terminal_window)
16486 (tty_set_scroll_region, tty_background_highlight)
16487 (tty_highlight_if_desired, tty_cursor_to)
16488 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16489 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16490 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16491 renames.
16492
164932007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16494
16495 * keyboard.c: Qrtl is new.
16496 (parse_tool_bar_item): Handle :rtl keyword.
16497 (syms_of_keyboard): Intern :rtl keyword.
16498
16499 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16500
16501 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16502 so no Lisp code is executed.
16503 (file_for_image, find_rtl_image): New functions.
16504 (xg_get_image_for_pixmap): Use file_for_image.
16505 (update_frame_tool_bar): If direction is RTL, use RTL image if
16506 defined. Use Gtk stock images if defined.
16507
165082007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16509
16510 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16511 for nonexistent or zero-width glyph in composition glyph.
16512
165132007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16514
16515 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16516
16517 * xdisp.c (Finvisible_p): New function.
16518 (syms_of_xdisp): defsubr it.
16519
165202007-08-24 Juanma Barranquero <lekktu@gmail.com>
16521
16522 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16523 Doc fixes.
16524
165252007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16526
16527 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16528
165292007-08-24 Martin Rudalics <rudalics@gmx.at>
16530
16531 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16532 whether decoding has modified buffer contents.
16533
165342007-08-24 Jason Rumney <jasonr@gnu.org>
16535
16536 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16537 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16538 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16539 (init_svg_functions) [HAVE_NTGUI]: New function.
16540 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16541 (svg_load_image): Use them.
16542 (svg_load_image) [HAVE_NTGUI]: Implement background.
16543
165442007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16545
16546 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16547 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16548 (LIBX): Remove @RSVG_LIBS@.
16549 (LIBES): Add $(RSVG_LIBS).
16550
16551 * image.c (svg_load_image): Blend with specified background if exists.
16552 Use IMAGE_BACKGROUND. Add Mac OS Support.
16553
16554 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16555 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16556 Remove macros.
16557 [MAC_OSX] (socket_callback): Do nothing.
16558 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16559 ReceiveNextEvent.
16560 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16561 socket_callback.
16562 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16563
165642007-08-22 Glenn Morris <rgm@gnu.org>
16565
16566 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16567
165682007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16569
16570 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16571
16572 * image.c: Add support for SVG images. Some additional comments
16573 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16574 (svg_image_p): New function to test for SVG image.
16575 (svg_load): New function to load SVG image.
16576 (svg_load_image): New function, helper for svg_load.
16577 (Qsvg): New Lisp_object.
16578 (svg_keyword_index): New enum.
16579 (svg_format): New static `image_keyword' struct.
16580 (svg_type): New static `image_type' struct.
16581 (librsvg/rsvg.h): Include it.
16582
165832007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16584
16585 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16586
165872007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16588
16589 * lread.c (Qold_style_backquotes): New var.
16590 (syms_of_lread): Init and staticpro it.
16591 (load_warn_old_style_backquotes): New fun.
16592 (Fload): Use them to warn about old style backquotes.
16593 (end_of_file_error, Fload): Remove unused vars.
16594
16595 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16596
16597 * lread.c (Vold_style_backquotes): New var.
16598 (syms_of_lread): Init and export it to Elisp.
16599 (read1): Set it when we find an old-style (back)quote.
16600
166012007-08-22 Jason Rumney <jasonr@gnu.org>
16602
16603 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16604
166052007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16606
16607 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16608
166092007-08-19 Richard Stallman <rms@gnu.org>
16610
16611 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16612
166132007-08-19 Andreas Schwab <schwab@suse.de>
16614
16615 * alloc.c (pure): Round PURESIZE up.
16616
166172007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16618
16619 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16620 active frame.
16621
166222007-08-16 Richard Stallman <rms@gnu.org>
16623
16624 * eval.c (Fcommandp): Add parens to clarify.
16625
16626 * minibuf.c (Fall_completions): Use enum for type of table.
16627
16628 * emacs.c (USAGE2): Improve text.
16629
166302007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16631
16632 * term.c (tty_default_color_capabilities): Declare static
16633 variables in file scope, to avoid HPUX compiler problem.
16634
166352007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16636
16637 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16638 to gtk_toolbar_insert.
16639
166402007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16641
16642 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16643
16644 * insdel.c (reset_var_on_error): New fun.
16645 (signal_before_change, signal_after_change):
16646 Use it to reset (after|before)-change-functions to nil in case of error.
16647 Bind inhibit-modification-hooks to t.
16648 Don't bind (after|before)-change-functions to nil while they run.
16649
166502007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16651
16652 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16653 filling pixmap with stippled background.
16654
166552007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16656
16657 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16658 Don't use invisible frame as parent window for repositioning.
16659
166602007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16661
16662 * print.c (new_backquote_output): Rename from old_backquote_output.
16663 (print): Inverse its logic (according to its name) so as to match the
16664 behavior of new_backquote_flag in lread.c.
16665
166662007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16667
16668 * gmalloc.c (posix_memalign): New function.
16669
16670 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16671 ActivateControl/DeactivateControl here.
16672 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16673 frame-notice-user-settings is non-nil.
16674 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16675 for kEventParamFMFontStyle.
16676 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16677 mac_pass_command_to_system and mac_pass_control_to_system here.
16678 (XTread_socket): Call ActivateControl/DeactivateControl here.
16679 (XTread_socket) [TARGET_API_MAC_CARBON]:
16680 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16681 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16682 for window repositioning.
16683
166842007-08-08 Glenn Morris <rgm@gnu.org>
16685
16686 * Replace `iff' in doc-strings and comments.
16687
166882007-08-07 Chong Yidong <cyd@stupidchicken.com>
16689
16690 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16691
166922007-08-07 Martin Rudalics <rudalics@gmx.at>
16693
16694 * fileio.c (Finsert_file_contents): Run format-decode and
16695 after_insert_file_functions on entire buffer when REPLACE is
16696 non-nil and inhibit modification_hooks and point_motion_hooks.
16697 For consistency, run after_insert_file_functions iff something
16698 got inserted. Move signal_after_change and update_compositions
16699 after code running after_insert_file_functions. Make sure that
16700 undo_list doesn't record intermediate steps of the decoding process.
16701
167022007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16703
16704 * emacs.c (main)
16705 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16706 Call malloc_enable_thread on interactive startup.
16707
16708 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16709 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16710 [USE_PTHREAD]: Conditionalize with it.
16711 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16712 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16713 New functions.
16714
167152007-08-06 Chong Yidong <cyd@stupidchicken.com>
16716
16717 * xdisp.c (redisplay_window): When restoring original buffer
16718 position, make sure it is still valid.
16719
16720 * image.c (png_load): Ignore png-supplied background color.
16721
167222007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16723
16724 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16725 Use kCFAbsoluteTimeIntervalSince1970.
16726
16727 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16728 New variable.
16729 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16730 event loop should be quit.
16731 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16732 Quit dialog event loop if quit_dialog_event_loop is set.
16733
16734 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16735 (Selection): New typedef. Use instead of ScrapRef.
16736 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16737 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16738 (mac_clear_selection): Rename from clear_scrap.
16739 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16740 scrap_has_target_type. All uses changed.
16741 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16742 (mac_selection_has_target_p): New functions.
16743 (mac_put_selection_value): Rename from put_scrap_string.
16744 (mac_get_selection_value): Rename from get_scrap_string.
16745 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16746 (put_scrap_private_timestamp, scrap_has_target_type)
16747 (get_scrap_private_timestamp): Remove functions.
16748 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16749 (x_own_selection, x_get_local_selection):
16750 Use mac_valid_selection_value_p.
16751 (x_own_selection): Don't use put_scrap_private_timestamp.
16752 Record OWNERSHIP-INFO into Vselection_alist instead.
16753 (x_get_local_selection): Don't check type if request is local.
16754 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16755 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16756
167572007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16758
16759 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16760 add comment explaining why.
16761
167622007-08-03 Richard Stallman <rms@gnu.org>
16763
16764 * fileio.c (Fvisited_file_modtime): Use make_time.
16765
167662007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16767
16768 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16769 build.
16770
167712007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16772
16773 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16774
167752007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16776
16777 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16778
167792007-07-30 Richard Stallman <rms@gnu.org>
16780
16781 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16782
167832007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16784
16785 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16786
167872007-07-28 Nick Roberts <nickrob@snap.net.nz>
16788
16789 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16790 remote default-directory.
16791
16792 * buffer.c (mode-line-format): Update doc string.
16793
167942007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16795
16796 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16797 scroll bar gap.
16798 (x_scroll_bar_create): Set bar->fringe_extended_p.
16799 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16800 on frame edge. Check fringe background extension. Don't clear
16801 extended fringe background area.
16802
16803 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16804 (w32_fill_area): Enclose multiple statements with do ... while (0).
16805
16806 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16807 Extend fringe background to scroll bar gap.
16808 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16809 Set bar->fringe_extended_p.
16810 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16811 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16812 background extension. Don't clear extended fringe background area.
16813
16814 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16815 New member fringe_extended_p.
16816
168172007-07-25 Glenn Morris <rgm@gnu.org>
16818
16819 * Relicense all FSF files to GPLv3 or later.
16820
16821 * COPYING: Switch to GPLv3.
16822
168232007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16824
16825 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16826
16827 * data.c (Finteractive_form): Check for the presence of an
16828 `interactive-form' symbol property more thoroughly.
16829
16830 * data.c (Finteractive_form): Use an `interactive-form' property if
16831 present, analogous to the function-documentation property.
16832
168332007-07-24 Jason Rumney <jasonr@gnu.org>
16834
16835 * w32fns.c (x_real_positions): Get real position from OS instead of
16836 calculating it.
16837
168382007-07-23 Jason Rumney <jasonr@gnu.org>
16839
16840 * filelock.c (current_lock_owner): Allow for @ sign in username.
16841
168422007-07-22 Nick Roberts <nickrob@snap.net.nz>
16843
16844 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16845 remote default-directory.
16846
16847 * buffer.c (mode-line-format): Describe above case in doc string.
16848
168492007-07-20 Eli Zaretskii <eliz@gnu.org>
16850
16851 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16852 Define if not defined.
16853
168542007-07-18 Jason Rumney <jasonr@gnu.org>
16855
16856 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16857
168582007-07-18 Richard Stallman <rms@gnu.org>
16859
16860 * data.c (Fsetq_default): Doc fix.
16861
16862 * eval.c (Fsetq): Doc fix.
16863
168642007-07-18 Juanma Barranquero <lekktu@gmail.com>
16865
16866 * coding.c (Ffind_operation_coding_system):
16867 * eval.c (For, Fand): Doc fixes.
16868 Reported by Johan Bockgård.
16869
168702007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16871
16872 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16873
16874 * xterm.h: Declare x_ewmh_activate_frame.
16875
16876 * xterm.c (x_ewmh_activate_frame): New function.
16877 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16878
168792007-07-17 Martin Rudalics <rudalics@gmx.at>
16880
16881 * window.c (Fdisplay_buffer): If largest or LRU window is the
16882 only window, split it even if it is not eligible for splitting.
16883 This restores the original behavior broken by the 2007-07-15
16884 change.
16885
168862007-07-17 Glenn Morris <rgm@gnu.org>
16887
16888 * abbrev.c (abbrev_check_chars): New function.
16889 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16890 Call abbrev_check_chars to check abbrev characters are word
16891 constituents. Doc fix.
16892
168932007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16894
16895 * process.c (Fstart_process, Fmake_network_process)
16896 (read_process_output): Fix up last changes.
16897
168982007-07-16 Eli Zaretskii <eliz@gnu.org>
16899
16900 * makefile.w32-in (clean): Don't delete *~.
16901
169022007-07-16 Andreas Schwab <schwab@suse.de>
16903
16904 * window.c (Fdisplay_buffer): Use NILP.
16905 (Fset_window_scroll_bars): Likewise.
16906
169072007-07-15 Martin Rudalics <rudalics@gmx.at>
16908
16909 * window.c (window_min_size_2): New function.
16910 (window_min_size_1, size_window, Fdisplay_buffer)
16911 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16912 windows without mode- or header-lines when window-min-height is
16913 too small.
16914 (size_window): Reset nodelete_p after testing it, following an
16915 earlier note by Kim F. Storm.
16916 (display_buffer): Do not set split_height_threshold to twice the
16917 value of window_min_height to avoid changing the value of a
16918 customizable variable. Rather explicitly check whether the
16919 height of the window that shall be splitted is at least as large
16920 as split_height_threshold.
16921 (Fwindow_full_width_p): New defun.
16922 (syms_of_window): Defsubr it.
16923
16924 * window.h: Add EXFUN for Fwindow_full_width_p.
16925
169262007-07-14 Jason Rumney <jasonr@gnu.org>
16927
16928 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16929
169302007-07-14 Richard Stallman <rms@gnu.org>
16931
16932 * eval.c (maybe_call_debugger): New function.
16933 (find_handler_clause): Use maybe_call_debugger.
16934 Call it when the handler says `debug'.
16935 Eliminate DEBUGGER_VALUE_PTR.
16936 (Fsignal): Eliminate debugger_value.
16937 (Qdebug): New variable.
16938 (syms_of_eval): Initialize it.
16939
169402007-07-14 Juanma Barranquero <lekktu@gmail.com>
16941
16942 * eval.c (Fprogn):
16943 * keyboard.c (Ftrack_mouse):
16944 * print.c (Fwith_output_to_temp_buffer):
16945 * window.c (Fsave_window_excursion): Doc fix.
16946
169472007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16948
16949 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16950
169512007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16952
16953 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16954 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16955 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16956 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16957 Remove unused encoding_carryover.
16958 * process.c: Adjust all functions accordingly.
16959
169602007-07-12 Richard Stallman <rms@gnu.org>
16961
16962 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16963
169642007-07-11 Jason Rumney <jasonr@gnu.org>
16965
16966 * makefile.w32-in (LIBS): Include OLE32.
16967
16968 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16969 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16970
169712007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16972
16973 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16974 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16975 from a Lisp_Object into a bare pointer.
16976 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16977 Adjust the code correspondingly.
16978
16979 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16980
16981 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16982 (term_show_mouse_face): Remove unused var `j'.
16983 (handle_one_term_event): Remove unused vars `i' and `j'.
16984 Don't cast return value of ttyname since it's not necessary.
16985
169862007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16987
16988 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16989 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16990
16991 * fns.c (map_char_table): Use an array of int for `indices' rather than
16992 an array of Lisp_Objects (which are only ever integers anyway).
16993 (Fmap_char_table): Update caller.
16994 * lisp.h: Update prototype.
16995 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16996 * fontset.c (Ffontset_info):
16997 * casetab.c (set_case_table): Update callers.
16998
16999 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
17000
17001 * keymap.c (struct accessible_keymaps_data)
17002 (struct where_is_internal_data): New structures.
17003 (accessible_keymaps_1, where_is_internal_1): Use them to change
17004 interface to adhere to the one used by map_keymap.
17005 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17006 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17007
17008 * keymap.h (map_keymap_function_t): More informative prototype.
17009
170102007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17011
17012 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17013 (looking_at_1): Don't change search_regs and last_thing_searched
17014 if `inhibit-changing-match-data' is non-nil.
17015 (string_match_1, search_buffer, set_search_regs): Likewise.
17016 (syms_of_search): Add Lisp level definition for
17017 `inhibit-changing-match-data' and set it to nil.
17018 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17019 start and end of the match, instead of using values in search_regs.
17020
170212007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17022
17023 * minibuf.c (Fcompleting_read): New value `confirm-only'
17024 for `require-match'.
17025
170262007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17027
17028 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17029 part of the 2007-06-27 change to syms_of_fileio.
17030
170312007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17032
17033 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17034 Check WINDOWP before using XWINDOW. Consolidate return statements.
17035
170362007-06-27 Richard Stallman <rms@gnu.org>
17037
17038 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17039
170402007-06-27 Juanma Barranquero <lekktu@gmail.com>
17041
17042 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17043
170442007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17045
17046 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17047 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17048 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17049 (_free_internal, memalign): Use them.
17050 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17051 Initialize to PTHREAD_MUTEX_INITIALIZER.
17052 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17053 (morecore_nolock): Rename from morecore. All uses changed.
17054 Use only nolock versions of internal allocation functions.
17055 (_malloc_internal_nolock, _realloc_internal_nolock)
17056 (_free_internal_nolock): New functions created from
17057 _malloc_internal, _realloc_internal, and _free_internal.
17058 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17059 Copy hook value to automatic variable before its use.
17060 (memalign): Copy hook value to automatic variable before its use.
17061
170622007-06-26 Kenichi Handa <handa@m17n.org>
17063
17064 * coding.c (Ffind_operation_coding_system): Docstring improved.
17065 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17066
170672007-06-25 David Kastrup <dak@gnu.org>
17068
17069 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17070 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17071 cater for additional parameter.
17072
17073 * keymap.h: Adjust number of parameters to `current-active-maps'.
17074
17075 * doc.c (Fsubstitute_command_keys): Adjust call of
17076 `current-active-maps'.
17077
170782007-06-25 David Kastrup <dak@gnu.org>
17079
17080 * callint.c (Fcall_interactively): Make the parsing of interactive
17081 specs somewhat more readable.
17082
170832007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17084
17085 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17086 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17087 if extended background has already been filled.
17088
170892007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17090
17091 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17092 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17093
17094 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17095 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17096 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17097 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17098 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17099 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17100 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17101 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17102 Run timers during dialog popup.
17103 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17104
171052007-06-21 Jason Rumney <jasonr@gnu.org>
17106
17107 * image.c (convert_mono_to_color_image): Swap fore and background.
17108
171092007-06-20 Jason Rumney <jasonr@gnu.org>
17110
17111 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17112 (w32_free_bdf_font): Unmap memory not handle.
17113
171142007-06-20 Sam Steingold <sds@gnu.org>
17115
17116 * gmalloc.c (__morecore): Fix the declaration to comply with the
17117 definition.
17118
171192007-06-20 Juanma Barranquero <lekktu@gmail.com>
17120
17121 * w32term.c (w32_delete_display): Remove leftover declaration.
17122 (w32_define_cursor, w32_initialize): Make static.
17123
17124 * w32.c (_wsa_errlist): Fix typo in error message.
17125 (init_environment): Ignore any environment variable from the
17126 registry having a null value.
17127
171282007-06-20 Glenn Morris <rgm@gnu.org>
17129
17130 * Makefile.in (LIBGIF): Default to -lgif.
17131
171322007-06-17 Jason Rumney <jasonr@gnu.org>
17133
17134 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17135 unicode strings.
17136
171372007-06-16 Juanma Barranquero <lekktu@gmail.com>
17138
17139 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17140 Fix typo in docstring.
17141
171422007-06-16 Eli Zaretskii <eliz@gnu.org>
17143
17144 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17145 and their keybindings.
17146
171472007-06-15 Chong Yidong <cyd@stupidchicken.com>
17148
17149 * composite.c (update_compositions): Fix last fix.
17150
171512007-06-14 Jason Rumney <jasonr@gnu.org>
17152
17153 * w32.c (get_process_times_fn): New function pointer.
17154 (globals_of_w32): Intialize it if present in kernel32.dll.
17155 (w32_get_internal_run_time): New function.
17156
17157 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17158
171592007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17160
17161 * composite.c (update_compositions): Check the validness of
17162 compositions.
17163
171642007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17165
17166 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17167 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17168
17169 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17170 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17171
17172 * macgui.h (USE_MAC_TOOLBAR): New define.
17173
17174 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17175 Return immediately unless popup is activated.
17176
17177 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17178 background to scroll bar gap.
17179 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17180 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17181 scroll bars on frame edge. Check fringe background extension.
17182 Don't clear extended fringe background area.
17183 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17184 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17185 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17186 [USE_MAC_TOOLBAR]: New macros.
17187 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17188 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17189 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17190 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17191 [USE_MAC_TOOLBAR]: New functions.
17192 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17193 manually if previous repositioning has failed.
17194 (mac_handle_keyboard_event): Use precomputed event kind.
17195 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17196 as tool bar item click. Handle mouse movement over tool bar items.
17197
17198 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17199 toolbar_win_gravity.
17200 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17201 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17202 Add externs.
17203
17204 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17205 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17206
172072007-06-14 Chong Yidong <cyd@stupidchicken.com>
17208
17209 * image.c (search_image_cache): Remove unused variable.
17210
172112007-06-13 Chong Yidong <cyd@stupidchicken.com>
17212
17213 * xfns.c, xmenu.c: Link to xaw3d if available.
17214
172152007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17216
17217 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17218 frame_foreground and frame_background.
17219
17220 * image.c (lookup_image): Save frame foreground and background colors.
17221 (search_image_cache): Check if saved and current frame colors match.
17222
172232007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17224
17225 * regex.c (regex_compile): Remove the `regnum' counter.
17226 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17227
172282007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17229
17230 * term.c: Include intervals.h to declare Fget_text_property.
17231
172322007-06-10 Jason Rumney <jasonr@gnu.org>
17233
17234 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17235
172362007-06-08 Juanma Barranquero <lekktu@gmail.com>
17237
17238 * callint.c (Fcall_interactively):
17239 * editfns.c (Fdelete_and_extract_region):
17240 * fileio.c (Fread_file_name):
17241 * fns.c (Fmapconcat):
17242 * keyboard.c (cmd_error_internal):
17243 * keymap.c (Fkey_description):
17244 * lread.c (openp):
17245 * minibuf.c (read_minibuf):
17246 * search.c (wordify):
17247 * sunfns.c (sel_read):
17248 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17249 * xfns.c (x_default_scroll_bar_color_parameter):
17250 * xmenu.c (menu_help_callback):
17251 * xselect.c (Fx_get_atom_name):
17252 * xterm.c (x_term_init): Use empty_unibyte_string.
17253
172542007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17255
17256 * alloc.c (init_strings): Initialize canonical empty strings.
17257 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17258 canonical empty string when the requested size is 0.
17259
17260 * emacs.c (empty_unibyte_string): Rename from empty_string.
17261 (empty_multibyte_string): New canonical empty string.
17262 (syms_of_emacs): Don't initialize empty_string.
17263
17264 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17265 string, if appropriate.
17266 (empty_unibyte_string, empty_multibyte_string): New externs.
17267 (empty_string): Remove extern.
17268
17269 * lread.c (syms_of_lread): Use empty_unibyte_string.
17270
172712007-06-07 Jason Rumney <jasonr@gnu.org>
17272
17273 * s/ms-w32.h: Don't define HAVE_TZNAME.
17274
17275 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17276
172772007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17278
17279 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17280
17281 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17282 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17283
17284 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17285 Don't call next handler.
17286 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17287 Remove argument. Install handler to application.
17288 (set_frame_menubar): Don't change deep_p.
17289 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17290 FRAME_OUTER_TO_INNER_DIFF_Y.
17291 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17292 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17293 [HAVE_DIALOGS]: New macros.
17294 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17295 Use them.
17296 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17297
17298 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17299 init_service_handler. All callers changed. Return OSStatus value.
17300
17301 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17302 All callers changed so as not to call SetPortWindowPort.
17303 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17304 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17305 mac_draw_string_common.
17306 (mac_draw_image_string_qd): Likewise.
17307 (mac_draw_string_common): Use them. Add INLINE.
17308 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17309 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17310 GetGlobalMouse.
17311 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17312 and FRAME_OUTER_TO_INNER_DIFF_Y.
17313 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17314 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17315 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17316 repositioning window to mac_handle_window_event.
17317 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17318 saving window location to mac_handle_window_event
17319 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17320 (install_menu_target_item_handler): Remove argument in extern.
17321 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17322 Also accept command events.
17323 (do_keystroke): New function created from XTread_socket.
17324 (init_command_handler): Remove functions.
17325 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17326 and save window location by kEventWindowShowing and kEventWindowHiding
17327 handlers here. Don't call next handler for window state change and
17328 focus events.
17329 (mac_handle_application_event, mac_handle_keyboard_event)
17330 [TARGET_API_MAC_CARBON]: New functions.
17331 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17332 kEventWindowShowing and kEventWindowHiding events. Move installation
17333 of mouse, font, text input and menu target item handlers to
17334 install_application_handler.
17335 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17336 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17337 New function.
17338 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17339 Register it.
17340 (XTread_socket) [TARGET_API_MAC_CARBON]:
17341 Consolidate SendEventToEventTarget calls.
17342 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17343 Move application activation handler to mac_handle_application_event.
17344 Move keyboard handler to mac_handle_keyboard_event.
17345 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17346 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17347 init_command_handler. Call install_application_handler.
17348
17349 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17350 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17351
173522007-06-07 Glenn Morris <rgm@gnu.org>
17353
17354 * emacs.c (main): Use `emacs-copyright' in --version output.
17355
173562007-06-06 Chong Yidong <cyd@stupidchicken.com>
17357
17358 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17359
173602007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17361
17362 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17363
17364 * macgui.h: Replace WindowPtr with WindowRef.
17365
17366 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17367 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17368 Replace ControlHandle with ControlRef.
17369 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17370
17371 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17372 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17373 Replace ControlHandle with ControlRef.
17374 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17375 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17376
17377 * macterm.h (struct scroll_bar): Rename member control_handle_low
17378 and control_handle_high to control_ref_low and control_ref_high.
17379 All uses changed.
17380 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17381 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17382 respectively. All uses changed.
17383 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17384 (install_window_handler, remove_window_handler): Replace WindowPtr
17385 with WindowRef in externs.
17386
173872007-06-05 Juanma Barranquero <lekktu@gmail.com>
17388
17389 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17390
173912007-06-03 Nick Roberts <nickrob@snap.net.nz>
17392
17393 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17394
17395 * frame.c (Fmouse_position, Fmouse_pixel_position):
17396 Condition on HAVE_GPM too.
17397
17398 * term.c (term_mouse_highlight): Remove unused variables.
17399 (Fterm_open_connection): Set gpm_zerobased to 1.
17400 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17401 Use zero based co-ordinates.
17402 (handle_one_term_event): Report a drag as mouse movement too.
17403
17404 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17405
174062007-06-03 Chong Yidong <cyd@stupidchicken.com>
17407
17408 * image.c (search_image_cache): New function. Require background
17409 color match if background color is unspecified in the image spec.
17410 (uncache_image, lookup_image): Use it.
17411
174122007-06-01 Juanma Barranquero <lekktu@gmail.com>
17413
17414 * window.c (Fshrink_window): Reflow docstring.
17415
174162007-06-02 Chong Yidong <cyd@stupidchicken.com>
17417
17418 * Version 22.1 released.
17419
174202007-06-01 Richard Stallman <rms@gnu.org>
17421
17422 * xfns.c (x_encode_text): Add GCPRO.
17423
174242007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17425
17426 * xfns.c (x_set_name_internal): Save encoded name before
17427 x_encode_text in case string data is relocated.
17428
174292007-05-31 Richard Stallman <rms@gnu.org>
17430
17431 * buffer.c (syms_of_buffer): Doc fix.
17432
174332007-05-30 Nick Roberts <nickrob@snap.net.nz>
17434
17435 * sysdep.c (init_sys_modes): Add rather than replace with
17436 O_NONBLOCK.
17437
17438 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17439 term_mouse_moveto.
17440
17441 * termhooks.h (term_mouse_moveto): New extern.
17442
17443 * term.c (mouse_face_window): Rename...
17444 (Qmouse_face_window): ...to this.
17445 (term_show_mouse_face, term_clear_mouse_face)
17446 (term_mouse_highlight): Use Qmouse_face_window.
17447 (term_mouse_moveto): New function.
17448 (term_mouse_position): Make it work.
17449 (syms_of_term): Uncomment assignment to mouse_position_hook.
17450 Staticpro Qmouse_face_window.
17451
174522007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17453
17454 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17455 around current_column call.
17456
174572007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17458
17459 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17460 * xdisp.c (next_element_from_buffer):
17461 * window.c (delete_window):
17462 * term.c (term_mouse_highlight):
17463 * msdos.c (getdefdir):
17464 * macterm.c (mac_create_bitmap_from_bitmap_data)
17465 (init_font_name_table):
17466 * fns.c (Fsxhash):
17467 * data.c (Fmake_local_variable):
17468 * ccl.c (ccl_driver): Likewise.
17469
174702007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17471
17472 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17473 Call mac_wakeup_from_rne on window size change.
17474
174752007-05-25 Chong Yidong <cyd@stupidchicken.com>
17476
17477 * image.c (uncache_image): Fix typo.
17478
174792007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17480
17481 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17482
174832007-05-22 Richard Stallman <rms@gnu.org>
17484
17485 * xterm.c (x_connection_closed): Remove NO_RETURN.
17486
174872007-05-22 Martin Rudalics <rudalics@gmx.at>
17488
17489 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17490
174912007-05-21 Chong Yidong <cyd@stupidchicken.com>
17492
17493 * image.c (uncache_image): New function.
17494 (Fimage_refresh): New function.
17495
174962007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17497
17498 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17499
175002007-05-20 Nick Roberts <nickrob@snap.net.nz>
17501
17502 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17503 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17504
175052007-05-20 Nick Roberts <nickrob@snap.net.nz>
17506
17507 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17508 conditional on [HAVE_GPM_H].
17509
175102007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17511
17512 * syntax.c (skip_chars): Update syntax-table only after we checked that
17513 the new location is valid.
17514
175152007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17516
17517 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17518 mac_get_window_bounds.
17519
175202007-05-20 Nick Roberts <nickrob@snap.net.nz>
17521
17522 * Makefile.in (LIBGPM): Allow it to be set from configure.
17523 If set then link Emacs with it.
17524
17525 * config.in: Regenerate.
17526
17527 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17528 New externs.
17529
17530 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17531 Include gpm.h.
17532 (handle_one_term_event, term_gpm): New externs.
17533
17534 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17535 and allow it to be interrupted by SIGIO.
17536
17537 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17538 (wait_reading_process_output): Wait on gpm_fd too.
17539 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17540 (add_gpm_wait_descriptor_called_flag): New variable.
17541 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17542
17543 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17544 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17545 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17546 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17547 (make_lispy_event): Add case GPM_CLICK_EVENT.
17548 (read_avail_input): Handle mouse input.
17549
17550 * term.c (write_glyphs_with_face): New function.
17551 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17552 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17553 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17554 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17555 (last_mouse_x, last_mouse_y): New variables.
17556 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17557 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17558 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17559 (Fterm_close_connection): New functions.
17560 (term_init): Initialise mouse_face_window.
17561
175622007-05-19 Chong Yidong <cyd@stupidchicken.com>
17563
17564 * xdisp.c (redisplay_window): If first window line is a
17565 continuation line, recompute the new window start instead of
17566 recentering.
17567
175682007-05-18 Glenn Morris <rgm@gnu.org>
17569
17570 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17571 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17572
175732007-05-17 Glenn Morris <rgm@gnu.org>
17574
17575 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17576
175772007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17578
17579 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17580 dead key repeat and up events.
17581
175822007-05-14 Chong Yidong <cyd@stupidchicken.com>
17583
17584 * image.c (pbm_load): Check image size for monochrome pbm.
17585
175862007-05-13 Chong Yidong <cyd@stupidchicken.com>
17587
17588 * xterm.c (XTread_socket): Revert last change.
17589
175902007-05-12 Chong Yidong <cyd@stupidchicken.com>
17591
17592 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17593
17594 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17595
175962007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17597
17598 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17599 mixup (YAILOM).
17600
176012007-05-07 Andreas Schwab <schwab@suse.de>
17602
17603 * keymap.c (Flookup_key): Fix typo in last change.
17604
176052007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17606
17607 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17608 mapping for unibyte strings.
17609
176102007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17611
17612 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17613 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17614
176152007-04-29 Richard Stallman <rms@gnu.org>
17616
17617 * insdel.c (replace_range): For undo, record insertion first.
17618
176192007-04-29 Andreas Schwab <schwab@suse.de>
17620
17621 * lisp.h (VECSIZE): Use OFFSETOF.
17622
176232007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17624
17625 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17626 disabled lines.
17627
176282007-04-28 Richard Stallman <rms@gnu.org>
17629
17630 * lread.c (read_escape): In a string, \s is always space.
17631
176322007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17633
17634 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17635
17636 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17637 submenu for menu bar items.
17638
17639See ChangeLog.10 for earlier changes.
17640
17641;; Local Variables:
17642;; coding: utf-8
17643;; add-log-time-zone-rule: t
17644;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17645;; End:
17646
76b6f707 17647 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17648
17649 This file is part of GNU Emacs.
17650
17651 GNU Emacs is free software: you can redistribute it and/or modify
17652 it under the terms of the GNU General Public License as published by
17653 the Free Software Foundation, either version 3 of the License, or
17654 (at your option) any later version.
17655
17656 GNU Emacs is distributed in the hope that it will be useful,
17657 but WITHOUT ANY WARRANTY; without even the implied warranty of
17658 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17659 GNU General Public License for more details.
17660
17661 You should have received a copy of the GNU General Public License
17662 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17663
17664;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40